è±åºå®€ã®éçºè ãšããŠãç§ã¯ãããã®ããã€ãã®å®è£ ãèŠãŠããŸããã éåžžãã¯ãšã¹ãã¯ç¡é¢ä¿ãªãããã¯ã«åå²ãããããããäžç·ã«ãªã£ãŠééã®å¯èœæ§ãå®çŸããŸãã ãã ããç§ãã¡ã®æ¢æ±ã§ã¯ãéäžåã¢ãŒããã¯ãã£ã䜿çšããŸããã ãããã®ã¢ãããŒãã®é·æãšçæã説æããå®éã«ã¯ãšã¹ããäœæãããæè¡è ããåãçµãã¿ã¹ã¯ã説æããŸãã ãã®ãããã¯ã¯ã€ã³ã¿ãŒãããäžã§ååã«å ¬éãããŠããŸããã
æšæºçãªã¢ãããŒã
è«ççã«ãã¯ãšã¹ãã·ããªãªã¯ã¿ã¹ã¯ã«åå²ãããŸãã ããšãã°ã顧客ã¯ãããŒããŒãã«ã³ãŒããå ¥åããâã©ã€ããç¹ç¯ãããããšãæãã§ããŸãã ãããã£ãŠãããã§ã®æè¡è ã®ã¿ã¹ã¯ã¯ãæ£ãããã¹ã¯ãŒããå ¥åãããšé»çãç¹ç¯ãããããŒããŒããäœæããããšã§ãã Arduinoã¯ããã«æãæµ®ãã³ãé»çãšããŒããŒããå¶åŸ¡ããŸãã ããã¯éåžžè¡ãããŸãã
æšæºã¢ãŒããã¯ãã£
ãã®çµæãç§ãã¡ã¯å¥ã ã®ã¿ã¹ã¯ãååŸããŸããããããã¯äºãã«ä»ã®ã¿ã¹ã¯ãšã¯ãŸã£ããé¢ä¿ãªããäžç·ã«ã¯ãšã¹ãã§ãã ãã®ã¢ãããŒãã«ã¯é倧ãªãã€ãã¹ç¹ããããŸããæè»æ§ã®æ¬ åŠã§ãã å€æŽãå ããå¿ èŠããããšãä¿®çãé·ããªããæãå±ãã«ããå Žæã«ç»ã£ããã倧åãªã³ã³ããŒãã³ãã«ã¢ã¯ã»ã¹ããããã«å£ã倩äºãå£ãããããå¿ èŠããããŸãã ã¯ãšã¹ãã®å€æŽã®åå ïŒ
- ã¹ã¯ãªããã®å€æŽã 建èšããã»ã¹ã¯é²è¡äžã§ãã
- ç Žæã ã³ã³ããŒãã³ãã¯å®äŸ¡ãªã®ã§ããããé »ç¹ã«çºçããŸã
- ã¯ãšã¹ããäœæãã人ã ã®èŠä»¶ïŒãã«ããŒããã³ã¬ãŒã¿ãŒã...
ç°¡åãªäŸïŒã¿ã¹ã¯ã®æºåãã§ããŸããã ãã ãã管ç察象ã¹ãããã©ã€ãã®è²ãå€æŽããå¿ èŠããããŸãã ãããè¡ãã«ã¯ãarduinãã€ã³ã¹ããŒã«ãããŠããå Žæã«ç§»åããã©ããããããæ¥ç¶ããã¿ã¹ã¯ã®ã³ãŒããæ¢ããŠå€æŽããããŒãããŠãããã¹ãããŸãã ãŸãããããåããŠåäœããå Žåã ç§ã®çµéšã§ã¯ããã®ãããªäžèŠçŽ æŽãªå€æŽãé倧ãªçµæãããããããŸããªã±ãŒã¹ã¯ãããŸããã誀ã£ãŠã¯ã€ã€ã«ã¶ã€ãã£ãããã¿ã¹ã¯å šäœãã¯ã©ãã·ã¥ããããã³ã³ããŒãã³ããçŒãããããŸãã ã¯ãšã¹ãã¯åæ¢ããããŒã ã¯ããããããèµ·ãããŸãã
å¥ã®äŸã ãªãã¬ãŒã¿ãŒïŒã¯ãšã¹ããæ åœãããã¬ã€ã€ãŒãåãåãæ åœè ïŒãé»è©±ããããŠãäœããå£ããŠãããšèšããŸãïŒããšãã°ãã³ãŒããå ¥åããåŸãã©ã€ããç¹ç¯ããªã-çç¶ïŒã ãããä¿®æ£ããã«ã¯ããã®å Žæã«æ¥ãŠã©ããããããæ¥ç¶ããç解ãå§ããå¿ èŠããããŸãã çµå±ã®ãšãããäœãå£ããã®ãã¯ããããŸãããé»çãã¯ã€ã€ãŒãã³ã³ãããŒã©ãŒãªã©ã§ãã å¯èœæ§ãé€ããŠãããã€ãã®ãã¹ããå®è¡ããå¿ èŠããããŸãã ããã¯ãç¹ã«ãã€ãŸãããã®åŸããšããåé¡ãã€ãŸã ã©ã€ããç¹ç¯ããããšãããã°ïŒãã¹ãŠé 調ã§ãïŒãç¹ç¯ããªãããšããããŸãã
æªå€¢ã®ãã¯ããã¯
ãããã°ãããšãã¯ãã©ãããããã§æ°ãŸããããŒãºãæ°æéç«ãŠãå¿ èŠããããŸãã Arduinaã¯ãç§ã觊ããããªãã¯ã€ã€ãŒã®æã§ãã£ãããšåºå®ãããŠããŸãããã¹ãŠãå£ããŸãã ã»ãããæ±ããåãã®ãæãã å®æçã«ãã£ãŠæ¥ãŠããã§ã«ãããããã«äººãåŸ ã£ãŠããããšå°ãããªãã¬ãŒã¿ãŒãšã ãã®ãããªç¬éã«ãããªãã¯èªåã®æŽ»åã売æ¥ãšæ¯èŒããé©åãªãã£ãªã¢æé·ã®å¯èœæ§ãèæ ®ããŸãã
ã¯ãšã¹ãã®1ã€ã§ã®ã¿ã¹ã¯ã®1ã€ã®å®è£ ã Arduinã®äžå¿ã«ãããŸãã
ããã§ææªã®ç¶æ³ã¯æ¹ããã§ãã ããšãã°ã顧客ã¯ã¿ã¹ã¯1ã®ããŒããŒããã¿ã¹ã¯2ã®é»çã«åœ±é¿ããããšãæãã§ããŸããã€ãŸããããarduinoããå¥ã®arduinoã«ã¯ã€ã€ãåŒã£åŒµããäž¡æ¹ã®ã³ãŒããå€æŽããå¿ èŠããããŸãã
ãã®ããããã®ãããªã¯ãšã¹ãã«æè»æ§ããªããããäœæãšã¡ã³ããã³ã¹ãéåžžã«å°é£ã«ãªããŸãã 顧客ã«ãåé¡ãçºçããŸãã ä¿®çãé ãã30ååŸ ã£ãŠãããã¬ãŒã€ãŒã¯æ²žéš°ãå§ããŸãã
äžå åãããã¢ãããŒã
ãã®åé¡ã解決ããã«ã¯ïŒ ãã¹ãŠã®ããã€ã¹ãžã®è¿ éãªã¢ã¯ã»ã¹ãããã³ããŸããŸãªã³ã³ããŒãã³ãéã®é¢ä¿ãè¿ éã«å€æŽããæ©èœãæäŸããã«ã¯ã©ãããã°ããã§ããïŒ ãã¹ãŠã®ããã€ã¹ããããã¯ãŒã¯ã«æ¥ç¶ãã1å°ã®ã³ã³ãã¥ãŒã¿ãŒãã管çããããšã¯è«ççã§ã ã
åã€ãã³ãïŒäžèšã®äŸã§ã¯ãã¿ã³ãæŒãïŒã¯äžå€®ã³ã³ãã¥ãŒã¿ãŒã«ãã£ãŠåŠçããããã¿ã³ãæŒããšæ£ãããã¹ã¯ãŒããäœæããããšãé»çãç¹ç¯ããã³ãã³ããçºè¡ãããŸãã å€æŽãå¿ èŠãªå ŽåïŒããšãã°ããã¹ã¯ãŒããå€æŽãããã5ç§ã§ã¯ãªã3ç§éã©ã€ãããªã³ã«ããããå¥ã®éšå±ã®ã©ã€ãããªã³ã«ãããããå ŽåïŒãã³ã³ãã¥ãŒã¿ãŒã®ã³ãŒããå€æŽããã ãã§ãã å£ãå£ãå¿ èŠã¯ãããŸããã
ã¯ãšã¹ãã§ã¯ãã®ã¢ãŒããã¯ãã£ã䜿çšããŠããŸãã ãããã©ã®ããã«å®è£ ãããã®ããéçºäžã«ã©ã®ãããªå°é£ãçããã®ãã詳ãã説æããããšããŸãã
å®è£
ãŸããåšèŸºæ©åšã®ãªã¹ãïŒ
- GPIOå¶åŸ¡ïŒã©ã€ããããã¯ïŒã
- GPIOã«ããæ å ±ïŒãã¿ã³ãã»ã³ãµãŒïŒ
- LED RGBã¹ãããã©ã€ã
- é床ãå€æŽããã©ã³ã¿ã€ã ã«ããã¹ããè¿œå ããæ©èœã«ããããããªãåæçã«è¡šç€ºããã¢ãã¿ãŒïŒãããªãŠã©ãŒã«ïŒ
- ã€ã¡ãŒãžã®ãã¢ã®ããç©Ž
- IRã¬ã·ãŒããŒ
- å£ã«ãã倧ããªããŒããŒããæã®ã²ãã§è§Šããå¿ èŠããããã¿ã³
- RFIDã»ã³ãµãŒ
- ãããªãã¯ã¹ããŒããŒã
- ããã¹ãä»ãLEDãã£ã¹ãã¬ã€
- æ©æ¢°åŒãœããšãæèšçšã¹ãããã³ã°ã¢ãŒã¿ãŒ
ãããã¯ãã¹ãŠ6ã€ã®éšå±ã«ã¹ã ãŒãºã«æ£ãã°ã£ãŠããŸãã
ããã«èšããŸãïŒé¡§å®¢
å¶åŸ¡ããã€ã¹ãšããŠãDebianãæèŒããéåžžã®PCã䜿çšãããŸãã ã¯ãšã¹ãå šäœãå¶åŸ¡ããããŒã¢ã³ãå®è¡ããŸãã ãããã¯ãŒã¯ã¯ã€ãŒãµããããšUDPãããã³ã«ã䜿çšããŸãã ã€ãŒãµãããã¯ãã³ã³ãã¥ãŒã¿ãŒãšåšèŸºæ©åšïŒavrïŒã®äž¡æ¹ã§ååã«ãµããŒããããŠããŸãã UDPã¯ç°¡åã«å®è£ ã§ãããããMKã«ã¯UDPããµããŒãããåªããã©ã€ãã©ãªããããŸãã
ãµãŒããŒã¯ãšã¹ãã 1å°ã®ã³ã³ãã¥ãŒã¿ãŒïŒå·ŠäžïŒããã¹ãŠãå¶åŸ¡ããæ®ãã¯ãããªã衚瀺ããããã«å¿ èŠã§ãã
ããŸããŸãªåšèŸºæ©åšã¯ããããã¯ãŒã¯ã«æ¥ç¶ããå¿ èŠããã3çš®é¡ã®ããã€ã¹ããããããŸãã ããã¯Arduino MegaãRaspberry Piãããã³éåžžã®Debianã³ã³ãã¥ãŒã¿ãŒã§ãã æåŸã®2ã€ã¯åé¡ãæèµ·ããŸããããæåã®1ã€ã¯ãããã¹ãã§ãã
AVR
C ++ïŒavr-g ++ã³ã³ãã€ã©ïŒãããã°ã©ãã³ã°èšèªãšããŠéžæãããCMakeãã¢ã»ã³ããªãŠãŒãã£ãªãã£ãšããŠéžæãããŸããã Arduino IDEãšã¯ç°ãªããããã«ãããã«ãããã»ã¹ãèªååããæè»æ§ãé«ããããšãã§ããŸããã ããšãã°ãã¯ãšã¹ãã¿ã¹ã¯ã®å®è£ ã«å¿ èŠãªã¿ã€ããŒãšå²ã蟌ã¿ã«ã¢ã¯ã»ã¹ã§ããŸãããããã©ã«ãã§ã¯Arduinoã³ãŒãã§ããžãŒã§ãã
ã€ãŒãµãããã¢ãžã¥ãŒã«ãšããŠãå®äŸ¡ãªMicrochip ENC28J60ïŒã250rïŒãéžæãããŸããã ã©ã€ãã©ãªã¯EtherCardã§ãã pinModeãªã©ã®arduinoã¹ã¿ã€ã«ã®é¢æ°ãæããŸãã ã©ã€ãã©ãªãæžãæãã代ããã«ãå¿ èŠãªæ©èœã®å®è£ ãArduinoã³ãŒãããååŸããŠãArduinoã³ã¢ã®ãããããŒãžã§ã³ããååŸããŸããã CMakeã䜿çšãããšããããã³ã¢ãããããžã§ã¯ãã«ç°¡åã«æ¥ç¶ã§ããŸãã
ã©ã€ãã©ãªã«ã¯å€ãã®ã¡ãœããããããŸããããã®ãã¡ã®ããã€ãã ããå¿ èŠã§ããUDPãã±ãããéä¿¡ããUDPãã±ãããåä¿¡ããããã«ã³ãŒã«ããã¯ãèšå®ããŸãã ããã°ããŒã¿ã¯ãããã¯ãŒã¯ã«éãããªããããããŒã¿ã¯åžžã«1ã€ã®ããã±ãŒãžã«æ ŒçŽããããšèããŠããŸãã
ã³ã³ãããŒã©ã®ãã¡ãŒã ãŠã§ã¢ãå€æŽãããããªã¢ãŒãã§åèµ·åãããã§ããªãå Žåãã·ã¹ãã ã¯æå³ããªããŸããã åãšåãããã«ãå£ãç Žã£ãŠã©ããããããæ¥ç¶ããå¿ èŠããããŸãã ãã®åé¡ã¯avr-etherbootãããžã§ã¯ãã䜿çšããŠè§£æ±ºããMega 2560ã§åäœããããã«ãããã«å€æŽããŸããã次ã®ããã«åäœããŸãããã¡ãŒã ãŠã§ã¢ä»ãã®.hexãã¡ã€ã«ã¯äžå€®ã³ã³ãã¥ãŒã¿ãŒã«ä¿åãããTFTPçµç±ã§ã¢ã¯ã»ã¹ã§ããŸãã Avr-etherbootã¯ãISPãä»ããŠåã³ã³ãããŒã©ãŒã«ãã©ãã·ã¥ãããããŒãããŒããŒãçæããŸãã ããã¯ISPã§ã USB-UARTãã¡ãŒã ãŠã§ã¢ã¯ArduinoããŒãããŒããŒã«ãã£ãŠå®è£ ãããŸããããã§ã«ååšããªãå ŽåããããŸãã ã³ã³ãããŒã©ãããŒããéå§ãããšãããŒãããŒããŒãèµ·åãããããã¯ãŒã¯ã«æ¥ç¶ããŠãTFTPãä»ããŠãã¡ãŒã ãŠã§ã¢ãããŠã³ããŒãããŸãïŒããŒãããŒããŒã¯å°ãç°ãªããããåã³ã³ãããŒã©ãŒã¯ç¬èªã«ããŠã³ããŒãããŸãïŒã 次ã«ããã¡ãŒã ãŠã§ã¢ã¯åMKã§æ©èœããŸãã èšè¿°ãããã¹ã¯ãªããã䜿çšãããšãã¯ãšã¹ãã®åMKã«å¯ŸããŠããŒãããŒããŒãçæãã1ã€ã®ã³ãã³ãã§ããããã©ãã·ã¥ã§ããŸãã
ãããããã¡ãŒã ãŠã§ã¢ã«ãšã©ãŒãããã亀æããå¿ èŠãããå Žåã¯ã©ãã§ããããïŒ ãã¹ãŠã®MKãåèµ·åããæ¹æ³ã¯ïŒ ãããè¡ãã«ã¯ããªã¬ãŒã䜿çšããŸãïŒã¯ãšã¹ãã«ã¯çŽ50åããããã 8ãã£ã³ãã«ã®ãªã¬ãŒã䜿çšããŸã ïŒã1ã€ãé€ããã¹ãŠã®Arduinã®é»æºãééããŸãã åŸè ã¯ãã®ãªã¬ãŒãå¶åŸ¡ããUSBçµç±ã§äžå€®ã³ã³ãã¥ãŒã¿ãŒãããã©ãã·ã¥ãããŸãã
ç°¡åã«èŠããŸããããã¹ã¯ãªãããäœæãããšãå¿ èŠã«å¿ããŠ1ã€ã®ã³ãã³ãã§ãã¹ãŠã®ããã€ã¹ãåãã©ãã·ã¥ã§ããŸãã
ãããããã§ããéèŠãªçºèšïŒç§ãã¡ã¯ããããã¯ã·ã§ã³ãã§ãããã°ããŒãã䜿çšããŠãããããåžžã«ä¿¡é Œæ§ã«ã€ããŠèããå¿ èŠããããŸãã åé¡ãæç·ããå Žåãã³ãŒãã®ãããã°ã«1æéãããããŸããã§ããã ãããã£ãŠãåšèŸºãšMKãENCãšMKãããã³é»æºã®æ¥ç¶ã¯ãã¯ã€ã€ãšç«¯åå°PLSããã³BLSã䜿çšããŠè¡ãããŸãã çµéšäžãã¯ãªã³ããªãã§ããããåžžã«ã¯ã©ã³ãã§ãããšã¯éããªãããã1ã€ã®éžæè¢ãæ®ã£ãŠããŸã-ã¯ãã ä»ãã ã¯ãšã¹ãã®å èš³ã®ã»ãšãã©ã¯ãã²ãŒã ããã£ã³ã»ã«ããå¿ èŠããããããã³ãŒããããžãã¯ã®åé¡ã§ã¯ãªããæãèœã¡ãé ç·ã§ãã
äžå€®ã³ã³ãã¥ãŒã¿ãŒ
ãã®ããããã¬ã€ã€ãŒã®è¡åãç¥èŠããããèªåã§äœãããããã§ããåšèŸºæ©åšããããŸãã ã¯ãšã¹ãã·ããªãªããããŸãã ããã¯åãªãã¢ã¯ã·ã§ã³ã®ã·ãŒã±ã³ã¹ã§ã¯ãªãããªãã·ã§ã³ã䜿çšå¯èœã§ãããšèšã䟡å€ããããŸãã ããšãã°ãæåã«éšå±Aãééãã次ã«éšå±Bãééã§ããŸããããã®éãå¯èœã§ãã ãŸãããç¬ç«ããŠãåäœããã¿ã¹ã¯ããããŸããããšãã°ããã¿ã³ãäœåºŠã§ãæŒããšãæªåé«ãã©ã€ããç¹ç¯ããŸããããã¯ãå®è¡ããæé ã«é¢ä¿ãªãããã€ã§ãå®è¡ã§ããŸãã ãããå®è£ ããæãç°¡åãªæ¹æ³ã¯äœã§ããïŒ
ããã€ãã®ããã»ã¹ã䜿çšããŸãã åããã»ã¹ã¯ãåšèŸºæ©åšãžã®å®å šãªã¢ã¯ã»ã¹æš©ãæã¡ãŸãã ãŸããããã»ã¹ã¯çžäºäœçšããŸãã å¥ã ã®ããã»ã¹ã§ãç¬ç«ããã¿ã¹ã¯ãšã€ãã³ãã®æåŸ å€ãåãåºããŸãïŒããšãã°ãæ£ãããã¹ã¯ãŒããããŒããŒãã«å ¥åãããŸãïŒã ã€ãã³ããçºçãããšãããã»ã¹ã¯å¿ èŠã«å¿ããŠå¿çããŸãã
äž»ãªã·ããªãªã¯å¥ã®ããã»ã¹ã§ãã ã€ãã³ãã¯åéšå±ãééããããšãæåŸ ããã¢ã¯ã·ã§ã³ãå®è¡ããããã®åšèŸºã³ãã³ããæäŸããŸãã
ãããã¯ãã¹ãŠC ++ããã³æšæºã©ã€ãã©ãªïŒunistd.hãsys / *ïŒã«å®è£ ãããŠããŸãã ããã»ã¹éã®çžäºäœçšã¯ãååã®ãªããã€ãã䜿çšããŠè¡ãããŸãã è€æ°ã®ããã»ã¹ã1ã€ã®UDPãœã±ããããè€æ°ã®ããã»ã¹ãèªã¿åãããšãã§ããããã«ããªã¹ãã³ã°ããã»ã¹ã®æ°ã«å¿ããŠåå²ãã€ãã䜿çšãããŸãã ç¹å®ã®ããã€ã¹ããåä¿¡ãããã±ããã¯ãããããã¹ãŠã®ãã€ãã«éä¿¡ããããªã¹ãã³ã°ããã»ã¹ã¯ãã§ã«ãã®ãã€ãããèªã¿åã£ãŠããŸãã
ããã«ãTCPãµãŒããŒããã蟌ãŸããŠãããããã¯ãšã¹ãã®ç®¡çãã€ãã³ãã®äœæããã°ã®è¡šç€ºãå¯èœã§ãã ãããä»ããŠåšèŸºæ©åšãšçŽæ¥éä¿¡ããããšãå¯èœã§ããããããã°æã«éåžžã«äŸ¿å©ã§ãã ããŒãã解æŸããŠåšèŸºæ©åšã«ã¢ã¯ã»ã¹ããããã«ãã¯ãšã¹ãããŒã¢ã³ããæ¶ããå¿ èŠã¯ãããŸããã TCPãµãŒããŒã䜿çšãããšãã¯ãšã¹ãã®Webã€ã³ã¿ãŒãã§ã€ã¹ãäœæã§ããã¿ãã¬ããããã¯ãšã¹ããå¶åŸ¡ã§ããŸãã
ä»ã®ã³ã³ããŒãã³ãã®ã³ã³ããã¹ãã§ã®ããŒã¢ã³ã¹ããŒã
äŸã ã¯ãšã¹ãã1ã€ã®ã¿ã¹ã¯ã§æ§æããŸããããŒããŒãã§ã³ãŒããå ¥åããå¿ èŠããããŸãã ãã®åŸãã©ã€ããç¹ç¯ããåºå£ã®ãã¢ãéããŸãã ãã®ã¢ãŒããã¯ãã£ã§ã¯ã次ã®ããã«æ©èœããŸãã
- ããã»ã¹1ãã¹ã¯ãªããã¯ãã¯ãšã¹ãã®éå§ãã€ãã³ããåŸ æ©ããŸãïŒåŒã³åºãã®ãããã¯ïŒ
- ãªãã¬ãŒã¿ãŒãWebã€ã³ã¿ãŒãã§ãŒã¹ã®ãã¿ã³ãæŒããŸãã ããã«ããããã§ãŒã³ã«æ²¿ã£ãŠå¯Ÿå¿ããã€ãã³ããäœæãããã¹ã¯ãªããã¯åŒãç¶ãæ©èœããŸã
- ã¹ã¯ãªããã¯ããã»ã¹2ãã¿ã¹ã¯1ããéå§ããã€ãã³ããã¿ã¹ã¯1ãééããŸããããåŸ ã¡ãŸã
- ã¿ã¹ã¯1ã¯ããã»ã¹3ãæ£ãããã¹ã¯ãŒãã®æ€çŽ¢ããéå§ããããã«å¯Ÿå¿ããã€ãã³ããåŸ ã¡ãŸã
- ãã¬ãŒã€ãŒã¯ãã¹ã¯ãŒããå ¥åããŸãã åãã¬ã¹ã¯ããã»ã¹3ã§åŠçãããŸããå ¥åã·ãŒã±ã³ã¹ã§æ£ãããã¹ã¯ãŒããèŠã€ãããšãããã»ã¹3ã¯ã€ãã³ããã¿ã¹ã¯1.å ¥åãããæ£ãããã¹ã¯ãŒãããçæããŸãã
- ããã»ã¹2ã®ããããã³ã°ã³ãŒã«ã¯çµäºããããã»ã¹2ã¯ãé»çãã³ãã³ããçºè¡ããŸãã ããã¯åšèŸºã«éä¿¡ãããŸãã ããã»ã¹2ã¯ãã€ãã³ããã¿ã¹ã¯1å®äºããçæããŸã
- ããã»ã¹1ã®ããããã³ã°ã³ãŒã«ã¯çµäºããããã»ã¹1ã¯ã³ãã³ããããã³ããã¢ãéãããçºè¡ããŸãã ã¯ãšã¹ãå®äº
äžèšã®äŸã®å³
ãã®ãããªäŸã§ã¯ãè€éãªã¢ãŒããã¯ãã£ã¯äžèŠã«èŠããŸãããå€ãã®ã¿ã¹ã¯ãããå ŽåãåšèŸºã¯ç°ãªãã¿ã€ãã§ãããã¹ã¯ãªããã¯æ§ç¯äžãšæ¢çŽ¢äžã®äž¡æ¹ã§å€åããŸãã
Quest Webã€ã³ã¿ãŒãã§ã€ã¹
ãããã°ã®äŸ¿å®äžããã¹ãŠã®ã€ãã³ãã¯ã·ã¹ãã ãã°ã«èšé²ãããŸãã
åé¡ã«ã€ããŠããå°ãèããŠã¿ããšã次ã®èããæµ®ãã³ãŸããæªéã®äœã¬ãã«ïŒåšèŸºãšã®éä¿¡ïŒãšé«ã¬ãã«ïŒã¯ãšã¹ãã€ãã³ãïŒã®éšåãåé¢ããå¿ èŠããããŸãã ããšãã°ãTCPçµç±ã ããã«ãããé«ã¬ãã«ã®èšèªã䜿çšããŠã顧客ããã®ã¹ã¯ãªãããã³ãŒãã«å€æããããšãå¯èœã«ãªããŸãã äœæãšä¿å®ãç°¡åãã€é«éã«ãªããŸãã ãã®ã¢ã€ãã¢ã¯ãã¯ãšã¹ããæ¢ã«æ©èœããŠãããšãã«æãã€ããããããŸã å®è£ ãããŠããŸããã
ã¿ã¹ã¯
ã¢ãŒããã¯ãã£ãèãçŽããããšããåšèŸºæ©åšãæ¥ç¶ããŠã¿ã¹ã¯ããã¹ãããã ãã§ãã éçºããã»ã¹ãšçµæã¯æ¬¡ã®ãšããã§ãã
åé¡è§£æ±ºãšãã©ãã
- GPIO çä¿¡UDPãã±ããã«å¿çããã³ãŒã«ããã¯ãäœæããŸãã ã³ã³ãã³ãã«å¿ããŠããã³ã®ç¶æ ãå€æŽãããããã³ãããŒãªã³ã°ããŠçµæãéä¿¡ããŸãã ç§ãã¡ã¯å³æžé€šã®åœ¢ã§äœããŸãã
- GPIOïŒé»åããã¯ã ãªã¬ãŒã«ãã£ãŠå¶åŸ¡ãããŸãã éèŠãªç¹ïŒãã€ãªãŒããè¿œå ããå¿ èŠããããŸãããã€ãªãŒãã¯ãããã¯ã®èããèªå°ã®ããã«éããšãã«çºçããé»æµãåŒãç¶ããŸãã ããããªããšããã¢ãéãããšãã«ã¯ãšã¹ãMKãã©ã³ãã ã«èœäžããŸãã
- LED RGBã¹ãããã©ã€ã ã æåã¯IRãä»ãããªã¢ãŒãã³ã³ãããŒã«ã«ãã£ãŠå¶åŸ¡ãããŸãã ããããã¯ãšã¹ãã§ã¯ã¯ã€ã€ãŒã䜿çšããæ¹ãä¿¡é Œæ§ãé«ããããArduinoã䜿çšããŠIRä¿¡å·ããšãã¥ã¬ãŒãããŸãã éèŠãªãã€ã³ãïŒã空æ°äžãã§å€èª¿ä¿¡å·ãéä¿¡ãããŸãã IRã¬ã·ãŒããŒããã¹ãããã©ã€ããŸã§ã®é
ç·ã¯ãã§ã«æ£åžžã§ãã ãããã£ãŠãããããšãã¥ã¬ãŒãããå¿
èŠããããŸãã Googleã æ¢æã®ãããžã§ã¯ããèŠã€ããŸãã ã³ãŒãã§ã¯ãå€èª¿ãåé€ããã ãã§ãã IRã¬ã·ãŒããŒãšIRãã©ã³ã¹ããã¿ãŒã®ãã¢ã®ä»£ããã«ã¯ã€ã€ãŒã䜿çšããŸãã ã©ã€ãã©ãªãšããŠèšèšããUDPãã±ããã«å¿çããã³ãŒã«ããã¯ãäœæããŠãããã€ã¹ãããžã§ã¯ãã«è¿œå ããŸãã
å°ããªæ©èœïŒé·ãé ç·ã§ã¯ãããŒã ã¯ãäžåºŠãå°éããŸãã åé¡ã¯çŽç²ã«é»æ°çãªãã®ã§ãããè©æ¬ºåž«ã¯èŸããã®ã§ãåã³ãã³ããæ°åéä¿¡ããããšã§ããã°ã©ã ã§è§£æ±ºããå¿ èŠããããŸããã - ãããªä»ãã¢ãã¿ãŒã ç§ãã¡ã®ç®çã«ãšã£ãŠãDebianãæèŒããã³ã³ãã¥ãŒã¿ãŒã¯çŽ æŽãããã§ãã ãœãããŠã§ã¢ã¯èªåã§äœæããŸãã ããã¯ã libvlcã䜿çšããŠãããªã衚瀺ããããŒã¢ã³ã«ãªããŸãã ããªã¥ãŒã ãåçé床ãªã©ã®ãã©ã¡ãŒã¿ãŒãå€æŽã§ããŸãã ã©ã³ã¿ã€ã ã§ãããªã®äžã«ããã¹ãã衚瀺ããããã«ãããã°ã©ã ãæ¢ããŠããŸã ã UDPãä»ããŠå¶åŸ¡ããŸãã åã³ã³ãã¥ãŒã¿ãŒã®rc.dã«é 眮ããŸãïŒãã¹ãŠãäžåºŠã«ç®¡çããã«ã¯ã1ã€ã®ã³ãã³ããsshçµç±ã§å®è¡ããã¹ã¯ãªãããäœæãããšäŸ¿å©ã§ãïŒã ã€ã³ã¹ããŒã«ã«ã¯checkinstallã䜿çšãããšäŸ¿å©ã§ãã åãã¡ã€ã«ã®åçæ¹åãå€æŽããæ©èœãå®çŸããããã«ãå ã®ãéã ãäœæããŸã ã
- åçä»ãã®ãã¢ã®ããç©Žã avitoïŒ500ïŒã§è³Œå ¥ããå€ããããªã«ã¡ã©ã®ãã¡ã€ã³ããŒããã®ããç©ŽãåãåºããŸãã 以åã¯ãCRTã¢ãã¿ãŒããããŸããã ç§ã¯2ã€ãè²·ããªããã°ãªããŸããã§ãã æåã¯äžé©åã§ããã 2çªç®ã®ãã¥ãŒãã¡ã€ã³ããŒã¯ããã¯ãŒããã³ã³ã³ããžãããããªçšã®å ¥åãåããç¬ç«ããã¢ãžã¥ãŒã«ãšããŠèšèšãããŸããã Googleããããªã¯ã€ã€ãé»æºãããã³ã¢ãŒã¹ïŒéå»ã®ãªãããŒãïŒã®å€å¥æ¹æ³ã Raspberry Piã«æ¥ç¶ããŸãã ã³ã³ãã¥ãŒã¿ãŒãšåãããŒã¢ã³ãlibvlcã§äœ¿çšããŸãã èŠåïŒRPIã§ããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã䜿çšããã«ã¯ã libvlcãèªåã§ãã«ãããå¿ èŠããããŸã ã
- IRã¬ã·ãŒããŒã é©åãªå€èª¿åšæ³¢æ°ã®ãªã¢ã³ã³ãšåä¿¡æ©ãæ¢ããŠããŸãã Raspberryã«æ¥ç¶ãããªã¢ãŒãã§LIRCãæ§æããŸãã UDPãä»ããŠåä¿¡ããã³ãã³ããäžå€®ã³ã³ãã¥ãŒã¿ãŒã«éä¿¡ããããŒã¢ã³ãäœæããŠããŸãã
- Raspberryã®ãããã¯ãŒã¯ã äœããã®çç±ã§ã/ etc / network / interfacesãä»ããŠèšå®ããããããã¯ãŒã¯ã¯å®æçã«èœã¡ãŸãã Network-Managerã䜿çšããŸãã
- å£ã«å€§ããªããŒããŒãã éã®èããã¬ãŒããè³Œå ¥ããã¯ã€ã€ãŒãã¯ãã ä»ãããŸãã çµæã®éé»å®¹éã»ã³ãµãŒãArduinoã«æ¥ç¶ããŸãã CapSenseããŒã¹ã®UDP ã©ã€ãã©ãªãäœæããŠããŸãã äžèŠãªãã®ããã¹ãŠåé€ããŸã å€ãã®ãã¿ã³ããããŸãããããŸãã¡ã¢ãªãŒã¯ãããŸããã
- RFIDã»ã³ãµãŒã ãããªãã¯ã¹-2ãšcp-zã®2çš®é¡ãè³Œå ¥ããŸããã ä¿¡å·ç·ãç· ããããšãå¿ããªãã§ãã ããã OneWireã«åºã¥ããUDPããŒã¹ã®ã©ã€ãã©ãªãäœæããŠããŸã ã
- ãããªãã¯ã¹ããŒããŒãã ããŒãããããŒã¹ã®UDPã©ã€ãã©ãªã®äœæ
- LEDããã¹ã衚瀺NoNameã ã³ã³ãã¥ãŒã¿ãŒããã¹ãããããã10çš®é¡ã®ã©ãã«ã衚瀺ã§ããŸãã ã³ãã³ãã§ããããåãæ¿ããããšãã§ããå¿ èŠããããŸãã å解ããããããªãŒãåãå€ããå€éšé»æºããé»åãäŸçµŠããç¢æãå€éšã«åãæ¿ããããã®ãã¿ã³ããã®ã¯ã€ã€ãŒãåºåããGPIOã«æ¥ç¶ããŸã
- æ©æ¢°åŒãœããšãæèšçšã®ã¹ãããã³ã°ã¢ãŒã¿ãŒ ïŒavito.ruã§æèšãæ¢ããŠããŸãïŒã ãšã³ãžã³ãã©ã€ããŒL293D ãæ¥ç¶ããŸãã UDPããµããŒãããSD管çã©ã€ãã©ãªãäœæããŠããŸãã ã¿ã€ããŒã䜿çšãããã€ã€ã«ãäžžãããšãåéãšæéãããããšãèæ
®ããŸãã ã¢ãŒã¿ãŒã·ã£ãããã®ã¢ãä»ããŠç¢å°ã«æ¥ç¶ãããŠããããšãèæ
®ããŸãã ã¿ã€ãã³ã°ã«èŠããããšã®ãªãããã«ãæéã¯æèšã§é²ã¿ãäžå€®ã³ã³ãã¥ãŒã¿ã¯ãããèŠæ±ããŸãã éã«ãããšãç¢å°ã¯äžåçã«ç§»åããããŒã¿è»¢éã®é
延ã«ãããžã£ãŒã¯ãçºçããŸãã
å¿ èŠãªãã©ã¡ãŒã¿ãåããã®ã¢ãæ¢ããŠããŸãïŒsoã·ã£ããã«åºå®ãããæ°æéã§ã®ã¢ã«å±ãããã«ïŒã ãŠã£ãããã£ã¢ã§ã®ã¢èšå®ã«ã€ããŠèªãã§ãã ãã ã åæ¿ãšã¯ãšã¹ããäœæãããã«ããŒã䜿çšããŠããšã³ãžã³ãæèšã«åºå®ããŸãã
泚ïŒæ¯è»ã¢ãžã¥ãŒã«ãæ°æéã§èª¿ã¹ãã«ã¯ãæ¯ã®æ°ãèæ ®ããå®èŠã§çŽåŸã枬å®ããŸãã
泚ïŒæ¯è»ã®ãããµã€ãã§ã¯ãæ€çŽ¢ã®åäœãäžååã§ãã ç§ãã¡ã¯èªåèªèº«ãæ¢ããŠããããããããŸããã ã©ãžã³ã³ããªã³ãã¿ãŒã®åºã§ã4æéã®æ€çŽ¢ã«å€±æããŠããé©åãªãã®ãèŠã€ããŸããã - æ é€ ãã¹ãŠã®èŠçŽ ãäŸçµŠããããã«ãã³ã³ãã¥ãŒã¿ãŒPSUïŒ5VïŒArduinoãªã©ïŒãšLEDã¹ããªãããä»å±ããPSUïŒ12VïŒããã¯ãLEDã¹ããªãããªã©ïŒã®2çš®é¡ã®ãœãŒã¹ã䜿çšãããŸãã
- å€ããã¬ãïŒRuby / Record / ...ïŒãšä»»æã®ãããªïŒã¯ãšã¹ãã«ã¯å«ãŸããŠããŸããïŒ ã Raspberry PIãRFå€èª¿åšãä»ããŠã¢ã³ããå ¥åã«æ¥ç¶ããŸãã å€èª¿åšã¯ãSega Mega Driveã²ãŒã ã³ã³ãœãŒã«ã«å«ãŸããŠããŸãã ç§ãã¡ã¯avito.ruãèŠãŠããŸã
éçºãããªïŒ
åèšããã€ã¹ïŒ
- 6 x PC
- 2 x Raspberry Pi
- 5 x Arduino Mega + ENC28J60
- 40ãªã¬ãŒ
äžè¬çãªã³ã¡ã³ãïŒ
ããããã
- ã³ã³ããŒãã³ããå«ããããã¯ã¯ãã¯ã€ã€ã«æµæãæãããªãããã«ãã£ãããšåºå®ããå¿
èŠããããŸãã ãããã®ç®çã«ã¯ãã¯ãã ä»ãçšã®ãããã¿ã€ãã³ã°ããŒããé©ããŠããŸãã
SDãã©ã€ããŒçšããŒã
- ãã®ãããªããŒãã«ç«¯åãããã¯ãã¯ãã ä»ããããã§ã«ã¯ã€ã€ãæ¥ç¶ããŠãããšäŸ¿å©ã§ãã
倧åããŒããŒãçšããŒã - ã¯ã€ã€ãWAGO端åå°ã«æ¥ç¶ãããšäŸ¿å©ã§ãã ãããã¯ä¿¡é Œæ§ãäœãïŒç¹ã«è匱ãªã¯ã€ã€ã®å ŽåïŒãã¯ãã ä»ãã¯é·ãæè»æ§ã«æ¬ ããŸãã
ã³ã³ããŒãã³ãã®ããå£ã èŠãç®ã¯è¯ããããŸããããããã¥ã¡ã³ãããããŸãã - ã¹ã¯ãªãŒãããããã¡ã«ãæ¥çå€ãç±åçž®ããã¹ãŠã§ãã
ç®ã®äžã®ãã¡ã€ã³ããŒ
ãããã«
ãã®ããã建èšäžã«äœåãªäœæ¥ãããããšãªããéåžžã«ç°¡åã«å€æŽã§ããã¯ãšã¹ããååŸããŸããã ãŸããWebããŒã¹ã®ç®¡çãç°¡åãªãšã©ãŒè¿œè·¡ãªã©ã®äŸ¿å©ãªæ©èœãåããŠããŸãã ãªã¢ãŒããµããŒããå¯èœã«ãªããŸããã å Žæã«ã¯å€éšIPããããŸãã
æã¡äžã以éã«çºçãããã¹ãŠã®æ éã¯ããéãã®åé¡ã«ãããã®ã§ãïŒã³ã³ãã¥ãŒã¿ãŒãæ»ãã ãã¯ã€ã€ãŒãå€ããããªã©ïŒã çæéã§ãªã¢ãŒãã³ã³ãããŒã«ã䜿çšãããšãæ£ç¢ºã«å£ãããã®ãå€å¥ã§ããŸãã ã»ãšãã©ã¯ãªã¢ãŒãã§ä¿®åŸ©ã§ãããªãã¬ãŒã¿ãŒã«äœããã¹ãããäŒããŸãã 顧客ããã®ã¯ãšã¹ããžã®å€æŽããèªå® ãããè¡ãããŸãã
ããã«æ¯ã¹ãŠãäžå åãããã¢ãŒããã¯ãã£ã¯æè¡çã«è€éãªã¯ãšã¹ãã«é©ããŠããã®ã¯æããã§ãããéåžžã«åçŽãªãã®ã«ã¯éåžžã®ã¯ãšã¹ããé©ããŠããŸãã
誰ããã³ãŒããå¿ èŠãšããå Žåãå ¬éãªããžããªãäœæããŸãã ã¡ã€ã³ã¯éããããŠããŸã ã¹ã¯ãªããããã®ä»ã®ç§å¯ã®ãã®ãå«ãŸããŠããŸãã
ãæž èŽããããšãããããŸããïŒ
UPDïŒ Arduino Mega 2560çšã®avr-etherbootã³ãŒã