ç§ã¯ã®å æ¯ãã£ãã LILYGO TTGO T-ã€ã³ã¿ãŒããã-POE ESP32 LAN8270AããŒããããããŠãã¡ããç§ã¯ããã®ãããªèå³æ·±ãç®æ°ãã§æž¡ãããšãã§ããŸããã§ããïŒESP32ãLAN8270AãPOEãSDã«ãŒããã®Wi-Fi +ã€ãŒãµããã...ããã¯æãã«é¢çœãã£ãã§ãTTXããŒãã¯ãIoTãDIYãããã³äžè¬çã«ãWi-Fi +ã€ãŒãµããããšããªããæ³åã§ãããã®ãã®åéã§äœ¿çšããããã®éåžžã«èå³æ·±ãèŠéããçŽæãããããç§èªèº«ã®æã§æãäžåœã®å€©æã®ãã®äœåãå®éã®äœåã§ãã¹ãããŸããã
ãããããã€ãã®ããã«ã売ãæãšã¡ãŒã«ãŒã®Webãµã€ãã§ãã³ãã¬ããã宣äŒããŠãããããŒããç«ã¡äžããŠãã¹ããå®æœãããŸã§ã®éã®ãã¯ãéåžžã«å°é£ã§åä»ã§ããããšãå€æããŸããã次ã«ããã®ãããã¯ã«é¢ããç§ã®é åçãªç 究ã«ã€ããŠã®ã¬ããŒãããå±ãããŸãã
åºã®ç³LILYGO
ç§ã®èŠ³å¯ã«ããã°ãïŒå€ãã®ïŒãããŒããŠã§ã¢ãã®è£œé æ¥è ã¯ã1ã€ã®äžè¬çãªç æ°ã«èŠããã§ããŸããããã¯ãããŒã±ãã£ã³ã°èœåã®å®å šãªæ¬ åŠã§ãããäžè¬ã«ã補åã人ã ã«äœãããŠããã®ãã«ã€ããŠã®åºæ¬çãªç解ã§ãã
è¯ãäŸã¯ã LILYGO TTGO T-Internet-POE ESP32 LAN8270Aã§ãïŒä»¥äžãç°¡æœã«ããããã«ããã®ããŒããT-Internet-POEãšåŒã³ãŸãïŒãã¡ãŒã«ãŒã¯é¢çœãããŒããäœããŸãããããã...ä»ã«äœãããŸããã§ããïŒ
- éåžžã®ã³ã³ãããŒã©ãŒã®ãã³é 眮ãªã
- åè·¯å³ãªã
- ããŒãã®äœ¿çšæ³ãšãã®äœ¿çšã®å žåçãªãã¿ãŒã³ã«ã€ããŠã®æ£ãã説æã¯ãããŸãã
- ããŒãã®åã ã®ã³ã³ããŒãã³ãã®æäœã«é¢ããæè¡çãªèª¬æã¯ãããŸãã
- ã³ãŒãäŸã¯ãããŸããïŒãããããç·ã®åãããããä»äºãããªãã§ãã ãããã®ã¹ã±ããã1ã€ãããŸãïŒ
- ããã¥ã¡ã³ãã®ãããŠã§ããµã€ãã¯ãããŸãã
- æèœã§ããæ°ã®ããã¢ãã¬ãŒã¿ãŒãšã®ãã©ãŒã©ã ã¯ãããŸãã
- ãã®ã³ã³ãããŒã©ãŒã«èå³ããããã圌ãèªåã®ç®çã®ããã«ãããã©ãã§äœ¿çšã§ãããããããªãïŒç解ããŠããªãïŒäººã ã®ããã®äººæ°ã®ããããæ°ãèµ·ããããèšäºã¯ãããŸãã
- ãããŠãããã¹ãã ã£ãããšããŸã ãããããããŸã
èŠããã«ãT-Internet-POEããããŠè³Œå ¥ãã人ã¯èª°ããéã®æã¡ã©ããã®ãªãDIYæŠå£«ã§ãªããã°ãªããŸããããããªããã°ã圌ã¯LILYGOãšã®ãã®æŠãã§çãæ®ããã£ã³ã¹ããããŸããããã®ãããªäººã¯ããããããŸããïŒ
ãããŠããã®ããžãã¹ãžã®ã¢ãããŒãã§ã圌ãã¯ã©ããã£ãŠäœãã売ãããšããã§ããŸããïŒãããŠãã¯ãã ããŠãå°ãèã«çœ®ããŠé¡§å®¢ãæãåºããå Žåã売äžã¯ã©ã®ãããå¢ããã§ããããã
質åã¯ä¿®èŸçã§ãããã©ãããããããããã«ç§ã¯LILYGOã®æè¡éšéãšããŒã±ãã£ã³ã°éšéã®ããã«ãã¹ãŠã®ä»äºãããªããã°ãªããŸããã
ããªãã¯ã¯äœã§ããïŒ
ç°¡åã«èšãã°ããã®ããŒãã§ã¯ãESP32ïŒWi-FiïŒãã€ãŒãµããããPOEã1ã€ã®ããã€ã¹ã«ã»ãŒããŸãçµã¿åãããmicroSDã«ãŒããªãŒããŒã®åœ¢ã§ãã®ã±ãŒãã®äžã«ãã§ãªãŒãè¿œå ããããšãã§ããŸããããããã®ã³ã³ããŒãã³ãã®1ã€ã®çµã¿åããããããã®ããŒãã䜿çšããããã®å€ãã®èå³æ·±ããªãã·ã§ã³ãããã«ç¶ããŸãã
- ã€ãŒãµããããã£ãã«ã®åœ¢åŒã®ããã¯ã¢ããã䜿çšããŠWi-Fiçµç±ã§åäœãã
- Wi-Fiæ¥ç¶ã®åœ¢åŒã§ããã¯ã¢ããã䜿çšããŠã€ãŒãµãããçµç±ã§åäœããŸã
- Wi-Fiãªã³ã¯ãšã€ãŒãµããããªã³ã¯ã®äž¡æ¹ã®ãµãŒãã¹
- äž¡æ¹åã®Wi-Fiãšã€ãŒãµãããéã®ã«ãŒã¿ãŒ
- 2ã€ã®ã€ã³ã¿ãŒãã§ãŒã¹çšã®WebãµãŒããŒ
- ç°ãªãã€ã³ã¿ãŒãã§ã€ã¹äžã®ç°ãªãWebãµãŒããŒ
- POEãä»ããïŒãªã¢ãŒãïŒã³ã³ãããŒã©ãŒã®é»æº
ãããŠãä»ã®å€ãã®èå³æ·±ããªãã·ã§ã³ïŒã¡ãªã¿ã«ããããã¯ãŒã¯ã³ã³ããŒãã³ãèªäœã«å ããŠãããŒãã«ã¯GPIOåºåããããæ¬æ¥ã®ç®çãã€ãŸãIoTã³ã³ãããŒã©ãŒãšããŠäœ¿çšã§ããããšãå¿ããªãã§ãã ããïŒã
ã芧ã®ãšãããIoTãšDIYã§ã®ãã®ããŒãã®é©çšç¯å²ã¯ãæ³ååãšããŒãºã«ãã£ãŠã®ã¿å¶éãããäžè¬ã«T-Internet-POEã¯ããã€ã¹ãšããŠéåžžã«ææã«èŠããŸãã
次ã«ãããŒãäžã®æ å ±ãã»ãŒå®å šã«äžè¶³ããŠããããšãèãããšãããã»ã©ç°¡åãªäœæ¥ã§ã¯ãªãããã®ãã¹ãŠã®çŽ æŽãããã«å¯ŸåŠããæ¹æ³ãèŠã€ããŠã¿ãŸãããã
ä»æ§
ããã§ã¯ãããŒãã®ãã¹ãŠã®æè¡çç¹æ§ã®å®å šãªãªã¹ããæäŸããããã§ã¯ãããŸãããããã¯äœã§ããã販売è ãšè£œé è ã®Webãµã€ãã§åé¡ã¯ãããŸããïŒåé¡ã¯ããããã®ç¹æ§ä»¥å€ã«äœããªãããšã§ãïŒãããŒããŒãèŠçŽ ã®ãªã¹ãã¯æ¬¡ã®ãšããã§ãã
- ESP32-WROOMïŒ4MBïŒ
- LAN8720AïŒã€ãŒãµãããPHYïŒ
- POE 802.3af
- microSDã«ãŒããªãŒããŒ
- å€éšæ¥ç¶çšã®12åã®GPIOãã³
ãã®æ§æã¯ç§ãã¡ã«äœãæããŠãããŸããïŒãã®ããŒããWebãµãŒããŒãšããŠäœ¿çšããå Žåããã¡ã€ã«ã¯microSDã¡ã¢ãªã«ãŒããšESP32ã¢ãžã¥ãŒã«ã®å éšã¡ã¢ãªã®äž¡æ¹ïŒãŸãã¯ãã®äž¡æ¹ã«åæã«ïŒã«ä¿åã§ããŸãã
åæã«ã12åã®ç¡æGPIOã¯ãããŸããªå°è±¡ãäžããŸããäžæ¹ã§ãããã¯ãã§ã«ãäœããã§ãããESP8266ãããã¯ããã«åªããŠããŸããä»æ¹ãæ°åã®GPIOãåããMega 2560ã§ã®ãããžã§ã¯ãã®åŸã 12ãã³ã¯éåžžã«æ§ããã«èŠããéçºã®å¯èœæ§ãå€§å¹ ã«å¶éããŸããããã§ã¯ãããçš®ã®ããŒããšã¯ã¹ãã³ããŒãçºæããããä»ã®ã³ã³ãããŒã©ãŒãšã¿ã³ãã ã¢ã»ã³ããªãäœæããå¿ èŠããããŸãã
ã³ã³ãããŒã©ãªãã·ã§ã³
ãã調ã¹ãŠã¿ããšãåãååã§2ã€ã®ç°ãªãã³ã³ãããŒã©ãŒããããŸãã1ã€ã¯ESP32-WROOMã«ããããã1ã€ã¯ESP32-WROVER-Bã«ãããŸãããããã«ã¯ããããŸãããããŒãã¯ã»ãŒåãããã«èŠããŸãããããŠãããªãã¯ã²ãŒã ã10ã®éããæ¢ããããã¬ã€ããããšãã§ããŸã...
ESP32-WROOMã§ã³ã³ãããŒã©ãŒãå ¥æããã®ã§ã以éã®ãã¬ãŒã·ã§ã³ã§ãããåç §ããŸãã
ããã°ã©ããŒ
LILYGOã®ãšã³ãžãã¢ã¯ãŠãŒã¶ãŒããé ãé¢ããŠããããã圌ãã®æ±ºå®ãç解ããã®ã¯å¿ ãããç°¡åã§ã¯ãããŸããããããã®ãœãªã¥ãŒã·ã§ã³ã«ã¯ãT-Internet-POEã³ã³ãããŒã©ãŒçšã«CP2104ãããäžã«å¥åã®ããã°ã©ããŒããŒããäœæããããšãå«ãŸããŸãã
äœã®ããã«ïŒãã®ããŒããã³ã³ãããŒã©ãŒããŒãèªäœã«çµ±åããããïŒä»ã®ãã¹ãŠã®ããŒããŠã§ã¢ã¡ãŒã«ãŒãšåæ§ã«ïŒæšæºã®USB-TTLã¢ããã¿ãŒã䜿çšãããã§ããã®ã«ããªãå¥ã®ããã°ã©ããŒãå¿ èŠãªã®ã§ããïŒçãã¯ãæããã«ãLILYGOéçºè ã ããç¥ã£ãŠããŸãïŒãããããã®å°ããªåµé æ§ã圌ãã«èš±ããŸãããïŒã
ããããLILYGOéçºè ã¯ç解ã§ããªãããšãããã ãã§ãªãããªããšããããæ²ããããŸããã
- ãŸãã2.0mmã®ãããã§äººã ã«æãããŠãããã³ã䜿çšããŸãã
- 第äºã«ã圌ãã¯ããŒãã®è£åŽïŒïŒïŒã«ã³ãã¯ã¿ãåãä»ããããã«æäŸããŸãã
ïŒãã®ãããªãœãªã¥ãŒã·ã§ã³ã®éçºè ã«ã¯ãä»äºã«æ°ãåãããŠäŒãæéããšãããšããå§ãããŸããïŒ
ãã®çµæãããçš®ã®å¥åŠãªæªç©ãçãŸã ãŸãããããŠãåé¡ã審çŸçãªèŠçŽ ã ãã«éå®ãããŠããã°ããã¹ãŠãããŸãããã§ãããããããã§ã¯ãã£ãšæ·±å»ãªåé¡ãçºçããŸãïŒ
- ããŒããéåžžã®äœçœ®ã«åãä»ããããŠåºå®ãããŠããå Žåãããã°ã©ããŒãã³ã¯ããŒãã®äžéšã«ãããã³ã³ãããŒã©ãŒãå解ããã«æ¥ç¶ããããšã¯ã§ããŸããã
- åºå®ããã«ããŒãã䜿çšããå Žåãããã2.0ã®ã³ãã¯ã¿ã¯ååãªåæ§ãæäŸãããæ§é å šäœããã€ã§ããã©ãã©ã«ãªããåšå²ã®ãã¹ãŠãéããæãããããŸãã
ãã®éçºè ã®ããæ±ã®å¹³æºåãšããŠãããŒãã®äžé¢ã«ãã³ã®ã©ã€ã³ãã¯ãã ä»ããã6ãã³2.0 mmãã¬ãã·ãã«ã¢ããã¿ãŒãäœæïŒãŸãã¯è²©å£²ãããŠããå Žåã¯è³Œå ¥ïŒããããšããå§ãããŸãã
ãã³é 眮
ãŸãããã³é 眮ã®ãªãªãžãã«ããŒãžã§ã³ïŒå¯èœãªéãæ œå¹ïŒãæäŸããŸãããç¥ã£ãŠããã人ã«ãšã£ãŠã¯ååãªæ å ±ããããŸãããæ®ãã®äººã¯ãã®ãäžåœã®ãªãã©ã·ãŒãããã»ãšãã©ç解ã§ããŸããã
ããããã·ã¢èªã«ç¿»èš³ããŠãèŠçŽ ã®ãã³é 眮ãšã³ã³ãããŒã©ãŒãªãœãŒã¹ã®å²ãåœãŠã§äœãèµ·ããããäžè¬çã«ç解ããŠã¿ãŸãããã
åèšã§ãESP32ã«ã¯40ãã³ïŒD0 â D39ïŒãããããã®ãã¡14ãã³
D6 â D11ãD20ãD24ãD28-D31ãD37ãD38
ã¯ãå®éã«ã¯äœ¿çšãããŠããªããããèæ ®ããé€å€ããŸãïŒããŸããŸãªçç±ãããç®çã®è©³çŽ°ãªåæãããã®ãã³ã®ãã¡ããã®èšäºã®ç¯å²ãè¶ ããŠããŸãïŒãæ®ãïŒ
LAN8720Aãããã®ã€ãŒãµãããæ¥ç¶ãã³
D18-ETH_MDIO_PIN
D19-ETH_TX_D0
D21-ETH_TX_EN
D22-ETH_TX_D1
D23-ETH_MDC_PIN
D25-ETH_RX_D0
D26-ETH_RX_D1
D27-ETH_RX_CRS
ã¯LANãããã«ã€ã³ã¹ããŒã«ãããD20AãšD23ã¯LANã«ã€ã³ã¹ããŒã«ãããŸã
ã¡ãŒã«ãŒãã³ã³ãããŒã©ãŒã®åè·¯å³ãæäŸããããšãèºèºããã®ã§ãããã§ã¯LAN8720Aã§ã®åæ§ã®å žåçãªã€ãŒãµãããç©çæ¥ç¶å³ããæäŸã§ããŸããã
LAN8720Aã«ã¯ãT-Internet-POEããŒãã®D17ã«æ¥ç¶ãããŠããã¯ããã¯ãã³ããããŸãïŒã¹ã±ããã§ãéžæãããŠããŸãïŒã
D17-ETH_CLOCK
ããã³ãªã»ãããã³
D5-NRST
microSDã«ãŒããªãŒããŒ
microSDã«ãŒããªãŒããŒã¯HSPIã«æ¥ç¶ãããŠããŸãïŒ
D2-SD_MISO
D12-SD_CS
D14-SD_SCLK
D15-SD_MOSI
䜿çšããå Žåã¯ããã³D2ãD14ãD15ãå€éšæ¥ç¶çšã«è§£æŸããããŒãã«æ¥ç¶ããŸãããã«ãŒããªãŒããŒã䜿çšããŠ12æ¬ã®ç©ºããã³ã®ãã¡3æ¬ã倱ããã3ã€ã®äœåãªGPIOãä¿æããŠã«ãŒããªãŒããŒãæŸæ£ããæ¹ãåçæ§ãé«ãããšãã質åã¯ãã象ãšéŠ¬ã®ã©ã¡ããè¯ããããšãã質åã«äŒŒãŠããŸããT-Internet-POEã«ãŒãã䜿çšãããã³ã«çããå¿ èŠããããŸãã
ãã®ä»ã®ãã³
ãã³D0ïŒETH_CLOCKããã®å®¹éã§ã¯äœ¿çšãããŸããïŒãšD1ïŒTX0ïŒããã³D3ïŒRX0ïŒããŸã ãããŸãã
ããªãŒãã³
次ã«ãæãèå³æ·±ãéšåãã€ãŸãã³ã³ãããŒã©ãŒããŒãã«æã¡èŸŒãŸããããªãŒãã³ã®èª¬æã«ç§»ããŸãããã
1ã€ç®ã¯ãå ¥å£ã§ã®ã¿æ©èœããã°ã«ãŒãD34ãD35ãD36ãD39ã§ãããã¡ãããäœããªããããå ¥åã®æ¹ãåªããŠããŸããããã®ãããªGPIOã®äžè¶³ãããå Žåã¯ããããã®4ã€ã®ãã³ãæ¬æ ŒçãªGPIOã§ãããšã¯ããã«åªããŠããŸãã
ãããŠããããžã§ã¯ãã§äœ¿çšã§ãã8ã€ã®æ¬æ ŒçãªGPIOãããã§ããããã®ãã³ã¯æ¬æ ŒçãªGPIOã§ãããäžéšã¯éåžžã«ç¹æ®ãªæ¹æ³ã§æ©èœããããšãèŠããŠããå¿ èŠããããŸãïŒããšãã°ãã³ã³ãããŒã©ãŒã®èµ·åæã«é»äœãå€åãããªã©ïŒããããã£ãŠãäœãããããã«æ¥ç¶ããåã«ããããã®ç¹ãå ·äœçã«èŠã€ããŠæ確ã«ããå¿ èŠããããŸãã
D2ïŒSD_MISOïŒ
D4
D12
D14ïŒSD_SCLKïŒ
D15ïŒSD_MOSIïŒ
D16
D32
D33
圌ããèšãããã«ããããããã°ã©ãã³ã°ãšãã€ã¯ãã³ã³ãããŒã©ãŒã®ç§ã®è¥ãå人ã§ãã8ã€ã®GPIOã§ãããèªåèªèº«ãåŠå®ãããã®ã§ã¯ãããŸããã
POE
ããã§ãPOEãµããŒãã«ã€ããŠããå°ã説æããå¿ èŠããããŸããããã¯ãã®ããŒãã®å©ç¹ã®1ã€ã§ããããã®ãããããã®1ã€ã§ãããå€ãã®äººã«ãšã£ãŠãPOEãµããŒããè³Œå ¥ããŠäœ¿çšããããšæãçç±ã«ãªãããã§ãã
ããã¯ãSI3404ãããäžã§ã®åé¢ãšé»æºç®¡çãåããPOE802.3afæšæºã®å®å šãªãµããŒããå®è£ ããŸãã
ç§ã¯ã³ã³ãããŒã©ãŒã®ãªã¢ãŒãé»æºäŸçµŠã«ã¯ããŸãèå³ããªãã®ã§ãT-Internet-POEããã©ãŒãã³ã¹ã®ãã®åŽé¢ããã¹ãããŠããŸããããæããã«ãPOEã«åé¡ã¯ãããŸããã
ãœãããŠã§ã¢ãµããŒã
ãåç¥ã®ãšããããã€ãã£ãSDKãå«ãããã®ããŒããŠã§ã¢ãèªèããŠããä»»æã®ãœãããŠã§ã¢ç°å¢ã䜿çšããŠT-Internet-POEãæäœã§ããŸãïŒãããããããæãæ£ãããªãã·ã§ã³ã§ãïŒããäœãå§çž®ã§ãããã調ã¹ãŸãã ArduinoIDEã䜿çšããŠãã®éçããã
å®éšçšã®ãœãããŠã§ã¢ç°å¢ãšããŠãArduino IDEããŒãžã§ã³1.8.5ããã³ESP32-ArduinoããŒãžã§ã³1.0.5ïŒãã®èšäºã®å·çæç¹ã§ã®ææ°ãã«ãïŒã䜿çšããŸããã
Arduino IDEã«ESP32ãµããŒããã€ã³ã¹ããŒã«ããããã»ã¹ãã®ãã®ã«ã€ããŠã¯èª¬æããŸãããããã¯ãã€ã³ã¿ãŒãããäžã®èšå€§ãªéã®è³æããã®åé¡ã«å°å¿µããŠããããã®ããã»ã¹ããããããã¥ã¢ã³ã¹ã§èª¬æããŠããããã§ãã
ããã§1ã€ã ãèšåããŸããããã«å ããŠããã®ã³ã³ãããŒã©ãŒã«ã¯ãªããã¹ãŠã®ãã®ããããESP32-ArduinoããŒãžã§ã³1.0.5ã§ã¯ãŸã ãã€ãã£ããµããŒãããããŸããããã®ãããããŒããããŒãžã£ãŒã®ã³ã³ãããŒã©ãŒãšããŠãESP32DEVã¢ãžã¥ãŒã«ãã次ââã®èšå®ã§éžæããŸããã
ãã©ãã·ã¥ã¢ãŒãïŒDIO
ãã©ãã·ã¥ãµã€ãºïŒ4MBïŒ32 MbïŒ
ããŒãã£ã·ã§ã³ã¹ããŒã ïŒ4MBïŒ1.2MB / 1.5MBïŒ
æšæºã¹ã±ãã
以äžã¯ãããŒãã¡ãŒã«ãŒã«åã°ããã¹ã±ãã ã§ããã³ã¡ã³ãããç¹å¥ãªããšã¯äœããããŸãããã€ãŒãµãããã€ã³ã¿ãŒãã§ã€ã¹ãåæåããã€ã³ã¿ãŒãããäžã®ãµãŒããŒã«èŠæ±ãéä¿¡ããã ãã§ãã
ããŒãã¡ãŒã«ãŒããã®å®å
šãªã¹ã±ããã³ãŒã
/*
This sketch shows how to configure different external or internal clock sources for the Ethernet PHY
*/
#include <ETH.h>
#include <SPI.h>
#include <SD.h>
#define SD_MISO 2
#define SD_MOSI 15
#define SD_SCLK 14
#define SD_CS 13
/*
* ETH_CLOCK_GPIO0_IN - default: external clock from crystal oscillator
* ETH_CLOCK_GPIO0_OUT - 50MHz clock from internal APLL output on GPIO0 - possibly an inverter is needed for LAN8720
* ETH_CLOCK_GPIO16_OUT - 50MHz clock from internal APLL output on GPIO16 - possibly an inverter is needed for LAN8720
* ETH_CLOCK_GPIO17_OUT - 50MHz clock from internal APLL inverted output on GPIO17 - tested with LAN8720
*/
// #define ETH_CLK_MODE ETH_CLOCK_GPIO0_OUT // Version with PSRAM
#define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT // Version with not PSRAM
// Pin# of the enable signal for the external crystal oscillator (-1 to disable for internal APLL source)
#define ETH_POWER_PIN -1
// Type of the Ethernet PHY (LAN8720 or TLK110)
#define ETH_TYPE ETH_PHY_LAN8720
// I²C-address of Ethernet PHY (0 or 1 for LAN8720, 31 for TLK110)
#define ETH_ADDR 0
// Pin# of the I²C clock signal for the Ethernet PHY
#define ETH_MDC_PIN 23
// Pin# of the I²C IO signal for the Ethernet PHY
#define ETH_MDIO_PIN 18
#define NRST 5
static bool eth_connected = false;
void WiFiEvent(WiFiEvent_t event)
{
switch (event) {
case SYSTEM_EVENT_ETH_START:
Serial.println("ETH Started");
//set eth hostname here
ETH.setHostname("esp32-ethernet");
break;
case SYSTEM_EVENT_ETH_CONNECTED:
Serial.println("ETH Connected");
break;
case SYSTEM_EVENT_ETH_GOT_IP:
Serial.print("ETH MAC: ");
Serial.print(ETH.macAddress());
Serial.print(", IPv4: ");
Serial.print(ETH.localIP());
if (ETH.fullDuplex()) {
Serial.print(", FULL_DUPLEX");
}
Serial.print(", ");
Serial.print(ETH.linkSpeed());
Serial.println("Mbps");
eth_connected = true;
break;
case SYSTEM_EVENT_ETH_DISCONNECTED:
Serial.println("ETH Disconnected");
eth_connected = false;
break;
case SYSTEM_EVENT_ETH_STOP:
Serial.println("ETH Stopped");
eth_connected = false;
break;
default:
break;
}
}
void testClient(const char *host, uint16_t port)
{
Serial.print("\nconnecting to ");
Serial.println(host);
WiFiClient client;
if (!client.connect(host, port)) {
Serial.println("connection failed");
return;
}
client.printf("GET / HTTP/1.1\r\nHost: %s\r\n\r\n", host);
while (client.connected() && !client.available());
while (client.available()) {
Serial.write(client.read());
}
Serial.println("closing connection\n");
client.stop();
}
void setup()
{
Serial.begin(115200);
WiFi.onEvent(WiFiEvent);
SPI.begin(SD_SCLK, SD_MISO, SD_MOSI, SD_CS);
if (!SD.begin(SD_CS)) {
Serial.println("SDCard MOUNT FAIL");
} else {
uint32_t cardSize = SD.cardSize() / (1024 * 1024);
String str = "SDCard Size: " + String(cardSize) + "MB";
Serial.println(str);
}
pinMode(NRST, OUTPUT);
digitalWrite(NRST, 0);
delay(200);
digitalWrite(NRST, 1);
delay(200);
digitalWrite(NRST, 0);
delay(200);
digitalWrite(NRST, 1);
ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE);
}
void loop()
{
if (eth_connected) {
testClient("baidu.com", 80);
}
delay(10000);
}
ãã®ã¹ã±ãããåããŠèŠããšãããã¡ãŒã«ãŒã¯ããã§äœãèšãããã£ãã®ãããšæããŸããããã®ã¹ã±ããã®å¯äžã®ç®çã¯ããã®ãã¯ãããžãŒãååãšããŠæ©èœããããšã瀺ãããšã§ããããã¯ç¢ºãã«è¯ãããšã§ããã次ã¯äœã§ããïŒããã¥ã¡ã³ããäŸããŸãã¯è£œé å ããã®é©åãªå¿çããªããŠããããããã¹ãŠãã©ããããïŒ
ãã£ã³ããŒã³ã®çµæãLILYGOããã®çãã¯ãããã°ã©ãã³ã°ãåŠã³ãèªåã§ãœãããŠã§ã¢ãäœæããããšã§ãïŒãŸãã¯ãã¹ããŒãã§ã¯ãããŸããããæ¢è£œã®ãã¡ãŒã ãŠã§ã¢ãæ¢ãããšã§ãïŒã
ã€ã³ã¿ãŒãã§ã€ã¹ãšping
ãããã¯ãŒã¯ã®å°é家ïŒããã³ãããã«åå ããŠãã人ïŒã®ããã«ãWi-Fiããã³ã€ãŒãµãããã€ã³ã¿ãŒãã§ã€ã¹ãä»ããäœæ¥ã®é床ãšãã®å¿çæ§ã«ã€ããŠç°¡åã«èª¬æããŸãããã¹ãã¯ç¡è² è·ã®ã®ã¬ããããããã¯ãŒã¯ã§å®è¡ãããWi-Fiç¯å²ã®ãã€ãºã¬ãã«ã¯ç¹ã«å¶åŸ¡ãããŠããŸããã§ããã
æåã®ã¹ã¯ãªãŒã³ã·ã§ããã¯ãWi-Fiã€ã³ã¿ãŒãã§ã€ã¹ãä»ããã³ã³ãããŒã©ãŒã®pingã§ããæå°24ããªç§ãæ倧105ããªç§ãå¹³å67ããªç§ã
2ã€ç®ã¯ãã€ãŒãµãããã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠã³ã³ãããŒã©ãŒã«pingãå®è¡ããããšã§ããæå°0ããªç§ãæ倧9ããªç§ãå¹³å2ããªç§ã
ã芧ã®ãšãããæç·ã€ãŒãµããããä»ããpingã¯ãWi-Fiãä»ããpingãããå€§å¹ ã«äœããªã£ãŠããŸãïŒäºæ³ã©ããïŒããããã®æ°åãè¯ããæªããã«ããããããç§ã¯èªè ã«èªåã§å€æããããšãä»»ããŸããç§ã¯ç§ã®ç®çã®ããã«ãããã«éåžžã«æºè¶³ããŠããŸãã
ãã¹ã
T-Internet-POEã®ãããªã·ã¹ãã ãã補é å ãææ¡ãããã®ãšåæ§ã®ã¹ã±ããã§ãã¹ãããããšã¯æ·±å»ã§ã¯ãªãããããã®ããŒãçšã«ç¹å¥ã«é©åãããAMSã®å°çšããŒãžã§ã³ã䜿çšããŠã³ã³ãããŒã©ãŒããã¹ãããŸããããããæ¬æ ŒçãªHTMLãCSSãJavascriptãAjaxãã°ã©ãã£ãã¯ãã¡ã€ã«ãã©ã€ãã©ãªã䜿çšãããµãŒããŒã§ããããšãèãããšãT-Internet-POEã§ãã®ãããªãµãŒããŒãæ£åžžã«åäœããããšã¯ãé©åã«èšèšãããããŒããŠã§ã¢ãšãå®éã®ãããžã§ã¯ãã
泚ïŒãã¹ãã¯ãT-Internet-POEçšã®å éšã®éå ¬éããŒãžã§ã³ã®AMSã§å®è¡ãããŸããããã®ããŒãžã§ã³ã®å ¬éãšé åžã¯èšç»ãããŠããŸãããé©åãªæ¹åãè¡ã£ãåŸãããããåŸã§è¡ãããäºå®ã§ãã
ãã¹ã1.T-Internet-POEã§AMSãµãŒããŒãå®è¡ããŸã
æ°ããããããšæ°ãããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãåããæ°ããã³ã³ãããŒã©ãŒã§AMSãèµ·åããããšã¯ç°¡åãªäœæ¥ã§ã¯ãããŸããããããã§ããé©åãªã¢ãããŒããšå®è¡å 容ã®ç解ã«ããããã¹ãŠãå¯èœã«ãªããŸãã
ããæ±çªå·1
ãã®äœæ¥ã®éçšã§ãT-Internet-POEã³ã³ãããŒã©ãŒã®ãæµ ç¬ããåºçŸãå§ããæåã«æããã«ãªã£ãã®ã¯ãmicroSDã¡ã¢ãªãŒã«ãŒããæ¿å ¥ããããšãã«ã³ã³ãããŒã©ãŒããã©ãã·ã¥ãæåŠããããšã§ããã USBããŒãã®äº€æãå¥ã®ãŠãããããã®é»æºäŸçµŠããã¿ã³ã®æŒäžãã«ãŒãã®äº€æãªã©ãäœã®åœ¹ã«ãç«ã¡ãŸãããã³ã³ãããŒã©ãŒã¯ãã¡ã¢ãªãŒã«ãŒããæ¿å ¥ããç¶æ ã§é åºã«ãã©ãã·ã¥ãæåŠããŸãã
ç¹å®ã®ã€ã³ã¹ã¿ã³ã¹ã®äžå ·åããã¹ãŠã®T-Internet-POEã³ã³ãããŒã©ãŒã®äžè¬çãªæ¬ é¥ïŒ1ã€ã®ã€ã³ã¹ã¿ã³ã¹ãèªç±ã«äœ¿çšã§ããïŒãèšãã®ã¯é£ããã§ãããåé¡ã¯100ïŒ åçŸå¯èœã§åçŸå¯èœã§ãããšããèšããŸããã
ããã¯ç§ãã¡ã«ãšã£ãŠã©ãããæå³ã§ããïŒå®éã«ã¯ãããã¯T-Internet-POEã³ã³ãããŒã©ãŒã«å®éã«ã¯ã«ãŒããªãŒããŒããªãããšãæå³ããŸããã³ã³ãããŒã©ãŒã®ãã¡ãŒã ãŠã§ã¢ããããã¯ããã«ãŒããªãŒããŒã¯ã«ãŒããªãŒããŒã§ã¯ãªãããã°ã§ãã
äœããã¹ããïŒæ®ã£ãŠããã®ã¯ãESP32ã¢ãžã¥ãŒã«ã§å©çšå¯èœãª1.5 MBSPIFFSã䜿çšããããšã ãã§ããã¯ããããã¯ããã»ã©å€ãã¯ãããŸããããååãšããŠãIoTããã€ã¹çšã®1.5MBã®ã¡ã¢ãªã¯å€ããå°ãªããã»ãšãã©ã®å Žå蚱容ãããŸãã
ããæ±çªå·2
ããŠãç§ãã¡ã¯ã«ãŒããªãŒããŒãæŸæ£ããŸãããä»åºŠã¯SPIFFSãšåéãäœãå¿ èŠããããŸããã¿ã¹ã¯ã¯åçŽã§ãªãã¿æ·±ãããã§ãããããã§åŸ ã¡äŒããããŠããŸããäœããã®çç±ã§ãESP32FSãŠãŒãã£ãªãã£ã¯ãã®ã³ã³ãããŒã©ãŒïŒãã®æ§æïŒã§æ£åžžã«åäœããããšãæåŠããŸãããã¡ã€ã«ãESP32ã¢ãžã¥ãŒã«ã¡ã¢ãªã«ç§»åãããšãSPIFFSãã£ã¹ã¯ã®ããŠã³ãäžã«ãšã©ãŒãçºçããŸãã
ããŒã...ãã¡ã€ã«ïŒãµãŒããŒïŒãSPIFFSãã£ã¹ã¯ã«æ£åžžã«è»¢éã§ããªãå Žåã¯ãã·ãªã¢ã«æ¥ç¶ãä»ããŠã€ã³ã¿ãŒãã§ã€ã¹ãåæåããWebã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠãã¡ã€ã«ãSPIFFSãã£ã¹ã¯ã«è»¢éãããšãã1ã€ã®æ¹æ³ãããããŸããããã¡ããããã®æ¹æ³ã¯ããŸã䟿å©ã§ã¯ãããŸããããæçµçµæã«ã¯ãŸã£ãã圱é¿ããŸããããµãŒããŒãã¡ã€ã«ã¯SPIFFSãã£ã¹ã¯ã«æ£åžžã«è»¢éãããŸããã
æ°ããã³ã³ãããŒã©ãŒã«ã³ãŒããé©åãããããã»ã¹ã®èª¬æã¯çç¥ããŸããããã«ã¯ãVILeninã«ããäœåã®å®å šãªã³ã¬ã¯ã·ã§ã³ã®ãããªã¢ã³ãœããžãŒãã³ã³ãã€ã«ããå¿ èŠããããããã«Tã§AMSãµãŒããŒãæ£åžžã«åäœãããšããäºå®ã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã«é²ãããã§ãã -Internet-POEïŒãããã£ãŠãT -Internet-POEã®æäœæ§ïŒã
Wi-Fiã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠããŒãžãèªã¿èŸŒãã§ããŸãã
ã€ãŒãµãããã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠããŒãžãããŒãããŠããŸãã
é床ã®åäžã¯ãåœç¶ãã€ãŒãµããããæ¯æããŠçŽ4åã§ããããã§ã¯ãæé©åãããŠããªãã³ãŒãã«ã€ããŠè©±ããŠããããšã«ãçæããå¿ èŠããããŸããé©åãªäœæ¥ãå®è¡ãããšãçµæãå€§å¹ ã«åäžããã¯ãã§ãã
LILYGO TTGO T-Internet-POE ESP32LAN8270Aã®ã€ãŒãµãããã€ã³ã¿ãŒãã§ã€ã¹ãä»ãããµãŒããŒæäœã
ãã¹ã2.2ã€ã®ã€ã³ã¿ãŒãã§ãŒã¹ã§ã®äœæ¥
ããã¯ç§ãã¡ãã£ãšããç¥è©±ã®ä»äºãããªããã°ãªããªããšããã§ããESP32ãšLAN8270Aã®ãã³ãã«ã§Wi-Fiãšã€ãŒãµããããåæã«æäœããããšã¯äžå¯èœã§ãããšããåãã€ã³ã¿ãŒãããäžã«æ ¹åŒ·ãæ®ã£ãŠããŸããããã¯åœãŠã¯ãŸããŸãããAMSãµãŒããŒã¯2ã€ã®ã€ã³ã¿ãŒãã§ã€ã¹ã§åæã«æ£åžžã«åäœããWi-Fiãšã€ãŒãµããããä»ããŠèŠæ±ãå®å šã«åŠçããŸããESP32ã®ããªãŒãºãåèµ·åã«åé¡ã¯ãããŸããã
ããã¯ãã§ã«èå³æ·±ãçµæã§ãããé åçãªèŠéããéãããŠããŸããç¬èªã®ãµãŒããŒããããããWi-Fiãä»ããŠ1ã€ã®ã³ã³ãã³ãã§äžéšã®ãµã€ãã«ãµãŒãã¹ãæäŸããããã€ãŒãµããããä»ããããããªã©ãããããæ¹æ³ã§ã€ã³ã¿ãŒãã§ã€ã¹ã®ãµãŒãã¹ã管çã§ããŸãã -ä»ã®ã³ã³ãã³ããå«ãä»ã®ãµã€ããæ¯å©çã«èšãã°ãã€ãŒãµãããçµç±ã§ç¥æ¯ã«æçã¬ã·ãã®ãµã€ããæäŸããWi-Fiçµç±ã§TSBããå«ã«éžæãããèšäºã®ãµã€ããæäŸããŸãã
ãã¹ã3.ã€ã³ã¿ãŒãã§ãŒã¹ã®1ã€ãçŠæ¢ãã
ããã§ã¯ããŠã§ããµãŒããŒã«ãã£ãŠããŸããŸãªã€ã³ã¿ãŒãã§ãŒã¹ãæäŸãããšããã¢ã€ãã¢ãå®è·µããŠã¿ãŸããããäŸãšããŠãã€ã³ã¿ãŒãã§ã€ã¹ã®1ã€ïŒã€ãŒãµãããïŒãä»ããæ¥ç¶ã«å¯ŸããŠãµãŒãã¹æåŠãå®è£ ããŠã¿ãŸãããã
ã€ãŒãµãããã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠã³ã³ãããŒã©ãŒã«æ¥ç¶ãããã¯ã©ã€ã¢ã³ãããµãŒãã¹æåŠãåããŸããã
ã€ã³ã¿ãŒãã§ã€ã¹ã®åé·æ§
ã€ã³ã¿ãŒãã§ãŒã¹äºçŽã®ã¢ã€ãã¢ãã®ãã®ãè¡šé¢åããŠãããå®è£ ãæ±ããŠããŸããå€ãã®åæ§ã®ã·ããªãªããããŸããããšãã°ãã€ãŒãµããããä»ããŠããŒã«ã«ãããã¯ãŒã¯ã«æ¥ç¶ãããŠããIoTã³ã³ãããŒã©ãŒããããŸããç·æ¥æã«æç·ãªã³ã¯ã倱ããããšãã³ã³ãããŒã©ãŒã¯èªåçã«ããã¯ã¢ããã¯ã€ã€ã¬ã¹ã«ãŒã¿ãŒã«æ¥ç¶ããäœæ¥ãç¶è¡ããŸãã
ãããã¯ãŒã¯ã«ãŒãã£ã³ã°
2ã€ã®æ©èœãããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãèªç±ã«äœ¿çšã§ããããããããã¯ãŒã¯å ã§ãã±ããã奜ããªããã«ã«ãŒãã£ã³ã°ã§ããŸããnRF24ãLoRaããŸãã¯ãã®ä»ã®ã¯ã€ã€ã¬ã¹ãããã¯ãŒã¯ãä»ããããŒã¿ã«ãŒãã£ã³ã°ãWi-Fiããã³ã€ãŒãµãããã«ãŒãã£ã³ã°ã¹ããŒã ã«è¿œå ããå¿ èŠã¯ãããŸããããããã£ãŠãIoTã·ã¹ãã çšã®ä»»æã®ã«ãŒã¿ãŒãäœæã§ããŸãã
ããŠããããŠäžèšã®ããã«ã2ã€ã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ãåããã³ã³ãããŒã©ãŒã«ã¯ãããã«å€ãã®èå³æ·±ããŠãŒã¹ã±ãŒã¹ããããŸãã
çµæ
ããã§ããã®å°ããªç 究ãèŠçŽããŸããããäžè¬ã«ãããã€ãã®ããæ±ãåäŸã®ç æ°ã«ãããããããç§ã¯LILYGO TTGO T-Internet-POE ESP32 LAN8270Aã³ã³ãããŒã©ãŒã奜ãã§ãã-ç¹ã«é©åãªè³æ Œãæã£ãŠããŠãããã§ãªãå Žåã¯ãIoTã·ã¹ãã ãæ§ç¯ããããã®åªããããŒã«ã§ãæ³ååãšããªãã®ä»äºãžã®åµé çãªã¢ãããŒããªãã§ã
LILYGO TTGO T-Internet-POE ESP32LAN8270Aã®é·æãšçæã
é·æïŒ
- ã§ããŸãïŒ
- å®å šãªçµ±åWi-Fi +ã€ãŒãµããã+ POE + GPIOãœãªã¥ãŒã·ã§ã³
- ããªãŒãºãåèµ·åã®ãªãè¯å¥œãªäœæ¥ïŒãã¹ãäžã«åé¡ã¯ç¹å®ãããŸããã§ããïŒ
- 2ã€ã®ã€ã³ã¿ãŒãã§ãŒã¹ã§ã®åæäœæ¥ã®å¯èœæ§
ãã€ãã¹ïŒ
- ããã¥ã¡ã³ããäŸã説æããŸã£ãããªã
- æ¯èŒçé«ããšã³ããªãããå€
- å®æœäžã®å°å æã®ç æ°ãšè»œåºŠã®çŸ€ã