
ESP32CAMãµã³ãã«åŒ·å Wi-Fièšå®ãšOTAãã§ããããã«ããŠã¿ã+α
ããã«ã¡ã¯ãRcatã§ãã
ESP32-CAMã䜿ã£ãç£èŠã·ã¹ãã ãæäœããŸããããArduinoåŽã®ãœãŒã¹ã¯ã»ãŒå€æŽããŠããªãã®ã§ãããã䜿ãåææªããã§ãããã
å
·äœçã«ã¯Wi-Fièšå®ãã¹ã±ããã«æžããŠããç¹ãšãã¹ã±ãããOTAã§æžã蟌ããªãç¹ã§ã
ãšããããã§ããã®èŸºãè§£æ¶ããããã«ãµã³ãã«ãæ¹é ããŸããã
ãŸããæ¬ã¹ã±ããã¯ä»¥äžã®ç£èŠã«ã¡ã©ã·ã¹ãã ã§å©çšããŠããããããã察å¿ã®æ©èœè¿œå ããããŸãã
æ¬èšäºã¯ãã®æ¹é åŸã®äœ¿ãæ¹ã®èª¬æãšãªããŸãã
ã¡ãªã¿ã«ã¢ããããŒããå ããåºŠæŽæ°ããŸã
ESP32-CAMã䜿çšãããæè»œç£èŠã·ã¹ãã ã¯ãã¡ã
ç¡éã®ESP32CAMã䜿çšããŠåæç£èŠã§ããã·ã¹ãã ã§ãïŒå®è¡ã·ã¹ãã ã®ãªãœãŒã¹ã®èš±ãéãã§ã¯ããïŒ
é
åžæ
å ±ããã¡ããã
æ¹é ãã€ã³ã解説
Wi-Fièšå®ãã¹ããããè¡ããÂ
ãµã³ãã«ã¹ã±ãããšãããã倧æµã®wi-fiæ¥ç¶ã¯ã¹ã±ããäžã«SSIDãšãã¹ã¯ãŒããçŽæ¥èšè¿°ããããšãå€ãã§ãã
ã€ãŸããåŸãã倿Žããããšãã§ããªããšããããšã§ãã
ãšããããã§ãç§ã®WEBå·¥äœãã³ãã¬ãŒãã®ããã«ã¹ããããèšå®ã§ããããã«æ¹é ããŸããã
ãã®ããã«åŸããèšå®ããããšãåæã«ããããšã§ãæ¥ç¶å
ãæè»ã«å€ããããšãã§ããã«ãªããŸããããã§ãã€ãã®éãç°å¢ã§äœ¿ãå Žåãã誰ãã®ããã«äœã£ãŠãããå Žåã§ãåé¡ãªã䜿çšã§ããŸããã

ãŸããæåã«èšå®ããªãç¶æ
ã ãšã¢ã¯ã»ã¹ãã€ã³ãã¢ãŒãã§èµ·åããŸãã®ã§ãã¹ããŒããã©ã³ãªã©wi-fiæ©èœãä»ãã端æ«ã§æ¥ç¶ããŸãã
SSIDã¯RcatESPã§ãã¹ã¯ãŒãã¯12345678ã§ãã

ããã§ESP32ã«æ¥ç¶ã§ããŸããã®ã§ãChromeãªã©ãã©ãŠã¶ã¢ããªãç«ã¡äžããŠæ¥ç¶ããŸãã
æ¥ç¶å
ã®ã¢ãã¬ã¹ã¯"192.168.0.1"ã§ãããã«"/rcat"ã«ã¢ã¯ã»ã¹ããŸãã
ãããšä»¥äžã®ãããªç»é¢ã衚瀺ãããã®ã§ãããã§wi-fiã®èšå®ã倿Žã§ãããšããä»çµã¿ã§ãã
æ¥ç¶èšå®ã®SSIDãšãã¹ã¯ãŒãã®éšåã«èªå®
ã®wi-fièšå®ãå
¥åããŠããé©çšãã¿ã³ãæŒããåèµ·åãããšèšå®ãé©çšãããŸãã

åºå®IPã¢ãã¬ã¹ã䜿çšãã
å
ã»ã©ã®wi-fièšå®ç»é¢ã®äžã«ããèšå®ããã®èšå®ã§ãã
ç¹ã«äœãèããŠããªããã°ãwi-fiã«æ¥ç¶ãããšã©ã³ãã ãªIPã¢ãã¬ã¹ãå²ãåœãŠãããŸãã
ãŸããæ©çš®ã«ãã£ãŠã¯æ¥ç¶ããããšã«IPã¢ãã¬ã¹ãå€ããããšããããŸãã
ããã ãšç£èŠã«ã¡ã©ãšããŠåäœãããå Žåããã¡ãã¡ã¢ãã¬ã¹ãèŠã€ããªããšãããªãã®ã§éåžžã«äžäŸ¿ã§ãã
ãããé²ãããšãã§ããã®ããã®åºå®IPã¢ãã¬ã¹ã®èšå®ã§ãã
ããã§èªåã®å¥œããªIPã¢ãã¬ã¹ãèšå®ããããšã§ããã®ã¢ãã¬ã¹ã«åºå®ããããšãã§ããŸãã
ãã ããã«ãŒã¿ãŒã®DHCPå²ãåœãŠç¯å²ãšè¢«ããªãããã«æ°ãã€ããŠãã ããã
DHCPãšããã®ã¯ãèªåã§IPã¢ãã¬ã¹ãå²ãåœãŠãã·ã¹ãã ã®ããšã§ãã
ãªã³ã©ã€ã³OTAã¢ããããŒãæ©èœ
次ã«ãªã³ã©ã€ã³OTAã¢ããããŒãæ©èœã§ãã
åºå®IPã®ããã«äžã«ããã®ããã®èšå®ã§ã
éåžžã¹ã±ãããæžã蟌ãå Žåãã·ãªã¢ã«å€æã¢ãžã¥ãŒã«ããæç·ã§æ¥ç¶ããŠæŽã«ã¢ãŒã倿Žãè¡ã£ãŠæžã蟌ã¿ãè¡ããŸããã
å·¥äœãããŠãæäžã¯ãŸã ãããã§ãããåºæ¥äžãã£ããã®ã«ã¢ããããŒããæœãããæããã¡ãã¡åè§£ããªãããããªããŠé¢åãããã§ãã
ãããè§£æ¶ããŠãããã®ãOTAã¢ããããŒãã§ãã
ããã¯wi-fiã䜿çšããŠç¡ç·çµç±ã§ã¹ã±ãããæžãèŸŒãæ©èœã§ãã
ããã«ä»åæèŒããŠããã®ã¯éåžžã®OTAã¢ããããŒããšã¯ç°ãªããRcatãç¬èªã«æèŒãããGoogleãã©ã€ããããã¡ãŒã ãŠã§ã¢ãååŸãããªã³ã©ã€ã³OTAã¢ããããŒãã§ãã
ããã䜿çšããããšã§ãRcatå
¬åŒã®ãã¡ãŒã ãŠã§ã¢ã§ã¯ã³ã¯ãªãã¯ã§ã¢ããããŒãã§ããŸãã

ä»åæèŒããOTAã¢ããããŒãã«ã¯äºã€ã®ããæ¹ããããŸãã
ææ°çã«ã¢ããããŒã
ãã®ãã¿ã³ãæŒããšãESP32CAMã®ã¹ã±ãããRcatå ¬åŒã®ææ°çã§ã¢ããããŒããããŸããã«ã¹ã¿ã ã¢ããããŒã
ãã¡ãã¯äžåŽã®ããã¹ãããã¯ã¹å ã«Googleãã©ã€ãã«æ ŒçŽãããã¡ã€ã«IDãå ¥åããããšã§ããã®ãã€ããªãããŠã³ããŒãããŠã¢ããããŒãããæ©èœã§ãã
ç£èŠã«ã¡ã©ãšããŠäœ¿çšããã®ããããå¥ã®ã¹ã±ãããæžã蟌ãå Žåã«äœ¿ããŸããã¡ãªã¿ã«ããã©ã«ãã§å ¥åãããŠããã®ã¯Rcatãé åžããŠãããESPå·¥äœãã³ãã¬ãŒãã®IDã«ãªããŸãããã¡ãã«ã¯çŽæ¥ãã€ããªãã¢ããããŒãããŠæžãèŸŒã¿æ©èœããspiffså ã®ãã¡ã€ã«ã管çããæ©èœãªã©æ§ã ãªæ©èœãæèŒãããŠããŸãã
ãã®ãã³ãã¬ãŒãã«ã€ããŠã¯ã以äžã®èšäºãã芧ãã ããããããã°ã¢ããããŒã
Rcatã䜿çšããéçºçã®æžã蟌ã¿ãã¿ã³ã§ãã
éçºäžã«æ£èŠãã€ããªãæžãæããããã«ã¯ãããªãã®ã§ãã¿ã³åããŠããŸãã
æŒãã°Î²çãå ¥ããããŸãããææªç¡éåèµ·åçã«ãªã£ãå ŽåOTAã§ããªããªããŸããèªå·±è²¬ä»»ã§æŒããŠãã ããã
ãªããã·ã¹ãã ãéœåäžãã¢ããããŒãã®å®äºã倱æãªã©ã®éç¥ãã§ããŸããã®ã§ã泚æãã ããã
LEDç¹ç¯æ©èœ

ããŠãESP32CAMã£ãŠLEDä»ããŠããã§ããããã§ãããããå ããããã¿ã³ãšãã¯ç¹ã«ãããŸããã§ã®ã§è¿œå ããŸããã

以äžã®ããã«å
ããååšããã³ã³ãããŒã«URLã«å¯ŸããŠLEDãæäœããé
ç®ã远å ããŸããã
ããããæäœãããããšã§ãä»å±ã®LEDã䜿çšããããšãå¯èœã«ãªããŸãã

ã¢ããããŒãæ å ±
åŸã«è¿œå ãããã¢ããããŒãã®ç޹ä»ã§ã
2軞ãµãŒãå¶åŸ¡æ©èœ
ç£èŠã«ã¡ã©ã ãšåºå®ç¹ã®ãã®ãå€ãã§ããããçå®çªã«ã¡ã©ãªããã¯ãªã¢ãŒãæäœã§ããŸãããïŒ
ãšããããã§ãæ¬äœã«ãæèŒããŸãã
SG 90ãµãŒãã¢ãŒã¿ãŒã2åæèŒããäžäžå·Šå³ã®åããæäœã§ããŸã
M-Searchã«ããèªåæ€åºæ©èœ
IPã¢ãã¬ã¹èª¿ã¹ãã®é¢åã§ããã?
ã¹ã±ããç¡ç·åããã®ã«ã¢ãã¬ã¹ã¯ã·ãªã¢ã«éä¿¡ãšãæå³ãªããããâŠ
ãšããæ©ã¿ã解決ããã®ãæ¬æ©èœã
ç¹å®ã®ãã±ããã«åå¿ããŠèªèº«ã®IPã¢ãã¬ã¹ãéç¥ããŠãããŸãã
察å¿ããã¯ã©ã€ã¢ã³ãã䜿çšããã°wi-fi ã«æ¥ç¶ããŠãã¿ã³ãæŒãã ãã§ã¢ã¯ã»ã¹ã§ããŸã
詳ããã¯ä»¥å€ã®èšäºãã確èªãã ãã
å°å ¥æ¹æ³
ãã€ããªãçŽæ¥æžã蟌ã
以äžã®èšäºã§ãPythonãšæžã蟌ã¿ããŒã«ïŒéçºããŒããã·ãªã¢ã«å€æã¢ããã¿çïŒããããã°ãArduinoãããã§æžãèŸŒãæ¹æ³ã玹ä»ããŠããŸãã
ãã®æ¹æ³ã®è¯ãç¹ã¯ããœãŒã¹ãã³ã³ãã€ã«ããããã®ç°å¢æ§ç¯ãäžåãããªãç¹ã§ãã
ä»å玹ä»ããŠããæ¹é ã¹ã±ããã®ãã€ããªããŒã¿ãšãšãã«é
åžããŠããŸãã
ã確èªãã ããã
ãŸãã以äžã®èšäºã§é
åžããŠãããã€ããªæžã蟌ã¿ããã¯ã«ã¯ãSPIFFSã®ã·ã¹ãã ã€ã¡ãŒãžãå«ãŸããŠãããŸãã®ã§ãåŸè¿°ããç¡éåèµ·ååé¡ã解決ã§ããŸãã
RcatESPå·¥äœãã³ãã¬ãŒããããªã³ã©ã€ã³OTAã¢ããããŒããè¡ã
ãã¡ãã¯ãç§ãé
åžããŠããESPå·¥äœãã³ãã¬ãŒããæžã蟌ãã åŸãããã«ãæèŒãããŠãããªã³ã©ã€ã³OTAã¢ããããŒãã§æ¬ã¹ã±ãããæžãèŸŒãæ¹æ³ã
ãªã³ã©ã€ã³OTAã®ãã€ããªã¯ãã¢ããããŒãæã«å¿
ãæŽæ°ããŸãã®ã§ããã¡ãããå§ãã
ãã³ãã¬ãŒããæžã蟌ãã§æ¥ç¶åŸããããããŒãžããã¹ã±ããã¢ããããŒã¿ãŒãã¯ãªãã¯ããŸãã

次ã«Googleãã©ã€ãããã¢ããããŒãã®éšåã§Rcatå
¬åŒãã¡ãŒã ãŠã§ã¢ãéžæããESP32CAMãéžã³ãŸãã
ãã®åŸããªã³ã©ã€ã³æžã蟌ã¿ãã¿ã³ãæŒãããšã§æžã蟌ã¿ãéå§ãããŸãã
ã¡ãªã¿ã«wi-fièšå®ãªã©ããã®ãã³ãã¬ãŒãã®æµçšã§ããããããã®ãã³ãã¬ãŒãã§èšå®ãè¡ã£ãŠããã°åŒãç¶ãããŸãã

ã¢ããããŒããã¿ã³ãæŒããŠåèªã¿èŸŒã¿ãè¡ããšã¹ã±ãããæžãå€ãããç£èŠã«ã¡ã©ãšãªã

çŽæ¥æžã蟌ã
æ¬èšäºãããã§ç޹ä»ããŠããåç»ã®èª¬ææ¬ãããœãŒã¹ã³ãŒããååŸã§ããŸãã
ãããæžã蟌ãã§äœ¿çšãããšããæ¹æ³ããããŸãã
ãã ãããœãŒã¹ã³ãŒãã¯æŽæ°ã¯ããªãã®ã§ãæžã蟌ã¿åŸã«å¿
ããªã³ã©ã€ã³OTAãå®è¡ããŠãã ããã
ç¡éåèµ·åããâŠ
ãã®ä»¶ã«é¢ããŠã¯ããåãããªãã®ã§ãããæžã蟌ã¿åŸãæåã®èµ·åã¯ç¡éã«ãªã»ãããç¹°ãè¿ããŸãã
â»ããªãæ©çš®ãããã®ã§ãããã®è£œé å
ã«ããã®ããâŠ
åå ãšããŠã¯ãwi-fiã®ããŒã¿ãªã©ãä¿åããŠããspiffsãåæåã§ããªããããšãããã®ã§ãã
æ¬ã¹ã±ããã¯ãåããŠã®èµ·åã§åæåãããŠããªãå Žåãåæåãããããªã³ãŒãã«ãªã£ãŠããã®ã§ãããCAMã«äœ¿ãããŠãã"S"ã¢ãžã¥ãŒã«or"Wrover Module?"ã¯ã©ãããããã§å€±æããŠèœã¡ãŠãã¿ããã§ãã
éåžžã®ESP32ç¡å°ãS3ãªã©ã§ã¯åé¡ãªãåæååŠçãå
¥ãã®ã§ããâŠ
解決çã¯spiffsã®ã€ã¡ãŒãžããŒã¿ãæžã蟌ãããŒã«ã䜿ã£ãŠãæç·ã§äžåºŠç©ºã®ãã¡ã€ã«ã·ã¹ãã ã€ã¡ãŒãžãæžã蟌ãããšã
äžåºŠæžã蟌ã¿ããããã°ããã®åŸã¯åé¡ãªã䜿çšã§ããŸãã
SPIFFSã€ã¡ãŒãžã®æžã蟌ã¿ã¯ä»¥äžã§ç޹ä»ããŠããŸãã
â»åç»ã§ã¯ããŒã¿ãæžã蟌ãã§ããŸãããä»åã¯ç©ºã®ãã©ã«ãã§ããã§ã
â»ãã®ããŒã«ã¯ArduinoIDE2.0é察å¿ã ããã§ãã

ãŸãšã
ä»åã¯ESP32CAMã®ãµã³ãã«ã¹ã±ãããå©äŸ¿æ§ãé«ããªãããã«æ¹é ããŸããã
ãã¯ãwi-fiã®èšå®ã倿Žã§ããªãã®ãšããã¡ãã¡é
ç·ããªããšæžã蟌ã¿ãã§ããªãã£ãã®ã䜿ãã¥ããç¹ã ã£ãã®ã§ããããè§£æ¶ã§ããã®ã倧ãããšæããŸãã
çãããç§ã®ã·ã¹ãã ã䜿çšãããªãæ¯éæžã蟌ãã§ã¿ãŠãã ãããã