ã¯ããã«
ããã§ãæåã«ããã§ã«äœåºŠãèšãããããšã®ç°¡åãªæŠèŠã ãã¹ã察象ã¯æ¬¡ã®ãšããã§ãã
åœåãããã¯USBããŒããåããäžåœã®ã«ãŒã¿ãŒã§ããã3Gã€ã³ã¿ãŒãããã®ã¢ãã€ã«ãã£ã¹ããªãã¥ãŒã¿ãŒãšããŠäœçœ®ä»ããããŠããŸãïŒ3Gã¢ãã ãUSBã«æ¥ç¶ããããšã«ãªã£ãŠããŸãïŒã USBããŒããšå°ããªãµã€ãºã®ååšã«ã€ããŠãéçºè ã«ã奜ãŸããŸãããå®éããã«LinuxïŒOpenWRTïŒãæèŒãããUSBãåããããã«ã¯ç¡æã®GPIOãåãããããã¥ã¢ã³ã³ãã¥ãŒã¿ãŒãæèŒãããŠããããã§ãã ã¢ã¹ã¯ã¯ã§çŽ850ã«ãŒãã«ã®éã§å£²ãããŸããã
圌ã®ä»²éTL-WR703Nã«ã€ããŠã¯ã ããŒããŠã§ã¢ã§ã¯ãMR3020ãšã»ãŒå®å šã«åäžã§ãããäžåœåžå Žå°çšã§ãããããããã§èŠã€ããããšã¯ã¯ããã«å°é£ã§ãã éãã®ãã¡ããµã€ãºã¯å°ããïŒã±ãŒã¹å šäœã®ã«ãŒã¿ãŒå šäœã®ãµã€ãºã¯ MR3020 ããªã³ãåè·¯åºæ¿ã®ãµã€ãºãšåãã§ãïŒãGPIOïŒ3020ã«ã¯LEDããããŸãïŒãå°ãªããç§ã®ããŒã¿ã«ãããšãWi-Fiã¢ã³ããã¯å°ãæªãã§ãã
ãããã¯ãŒã¯ã§èª¬æãããŠããããŸããŸãªMODããã³ããã¯ã«ã€ããŠã¯ãäž»ã«å€åœã®Webãµã€ãã§ããããã¯703Nã§ã®äœæ¥ã«ã€ããŠèª¬æããŠããŸããããããã®ããã¯ã®99.99ïŒ ã¯MR3020ã«é©ããŠããŸãã
ããŒããŠã§ã¢ã¯æ¬¡ã®ããã«è¡šãããŸãã
- Atheros AR7240 CPUïŒ400MhzïŒ
- Atheros AR9331ãããã»ããïŒçµ±åã¯ã€ã€ã¬ã¹ïŒ
- 802.11 b / g / n 150MbpsïŒ130Mbpsãªã¢ã«ïŒ
- ã¯ã€ã€ã¬ã¹åºå20dBm-100mW
- 4 MBãã©ãã·ã¥ã¡ã¢ãª
- 32 MBã®RAM
- USB 2.0ããŒã
ããã«ã wiki.openwrt.org / toh / tp-link / tl- mr3020ããã³wiki.openwrt.org/toh/tp-link/tl-wr703nã®èšäºãšé¢é£è³æãèªãã§ããããã®ã«ãŒã¿ãŒã«é¢ããå¿ èŠãªã¢ã€ãã¢ãåŸããã匷ããå§ãããŸãã OpenWRTãããã¯ããã®èšäºã®wikiã«ãã§ã«èšè¿°ãããŠãããã®ãåã«åå°å·ããããšã¯çŸå®çã§ã¯ãªããšæãããã§ãã
OpenWRTã®äœ¿çšã«é¢ããåºæ¬çãªç解ãããå Žåã¯ã次ã«é²ã¿ãŸãã
éçºãã¹
ããã§ã¯ããã®ã«ãŒã¿ãŒã«ã€ããŠæãäžæå¿«ãªããšã¯äœã§ããïŒ
- 0.ãŒããã€ã³ãã¯ããèªäœãçµã¿åããã£ãŠãããæ®å¿µãªãããç§ãã¡ã¯æ±ºããŠåœ±é¿ãäžããããšã¯ã§ããŸããã ããã¯ãå®éãã«ãŒã¿ãŒã®éã®èµ·æºã§ããã€ãŸããéçºè åãã§ã¯ãªããåè·¯å³ãéããããŠãããšããäºå®ã§ããäžè¬çã«ãç§ãã¡ã¯ãããä¿®æ£ããŠåçšè£œåã§äœ¿çšããæš©å©ã¯ãããŸããã ãŸããäžåœäººããããçç£ããã®ã«ç²ãããšããããã«é¢ãããã¹ãŠã®æ±ºå®ã¯äœãä»ã®ãã®ã®äžã§ç·æ¥ã«åŒãããããªããã°ãªããªããšããäºå®ã
- 1.å°éã®ROM-䜿çšå¯èœãªãã©ãã·ã¥ã¡ã¢ãªã¯4ã¡ã¬ãã€ãã®ã¿ã§ããã®ãã¡ã®çŽ1.5ããã¡ãŒã ãŠã§ã¢ã§å æãããŠããŸã
- 2. 1ã€ã®USBããŒã-å€ãã®åšèŸºæ©åšïŒã«ã¡ã©ãã¢ãã ãGPSããã©ãã·ã¥ãã©ã€ãïŒãå¿ èŠã«ãªãããšãå€ãããããããæ²ããããšã§ãã
- 3. RAMã®å®¹éãããŸã倧ãããªã-32ã¡ã¬ãã€ãã
ããã§ã¯ãé çªã«å§ããŸãããã
éã¯ã¯ãã ä»ããããŠããŸãã
ãã€ã³ã0ã«é¢ããŠã¯ãå¥ã®ããŒããŠã§ã¢ãã©ãããã©ãŒã ã«åãæ¿ããã ãã§ãã éçºè ãå©çšã§ãããã®- ã«ã©ã³ãã©ããŒãã ã«ãŒã¿ãŒã®ç¹æ§ãšã»ãŒåäžããµã€ãºãã»ãŒåäžãäŸ¡æ Œãã»ãŒåäžïŒé éãé€ãïŒã éçºè åãã«èšèšãããå€æ°ã®GPIOã衚瀺ãããããªãã®å¿ãæããã®ãã¯ãã ä»ãã§ããŸãã
æ¬ ç¹-äžè¬çãªä¿¡å¿µã«åããŠãåè·¯å³ã¯ãŸã éããããŠããŸãã ãã®ã«ã©ã³ãã©ãæ¿å ¥ãããã®ã¯ãä¹å¥³ã®ããŒãã®æŠç¥å³ã®ã¿ã§ãã
ãŸããäžå©ãªç¹ãšããŠã¯ãé éã³ã¹ããšåŸ ã¡æéãæããããŸã-ã«ãŒã¿ãŒã¯ã¯ããã«å®äŸ¡ã§é«éã§ãïŒè¿ãã®åºã§850ã«ãŒãã«ã§ããã«å ¥æã§ããŸãïŒã
ããã«ãå©ç¹ãšæ¬ ç¹ã®ãããã«ãèµ·å ããªãã«ã©ã³ãã©ã®ææ§ãªç¹æ§-USBã³ãã¯ã¿ãã€ãŒãµãããçžäºæ¥ç¶ãããŒãã«å®è£ ãããŠããªã-裞ã®ãã³ã®ã¿ã ã«ã©ã³ãã©ã貌ãä»ããããŒã¹ããŒããèšèšããŠããå Žå-ããã¯æ確ãªãã©ã¹ã§ãã ãå®æããŠæ¥ç¶ããããã®ãè³Œå ¥ãã·ãªãŒãºã®è¿ éãªãœãªã¥ãŒã·ã§ã³ãå¿ èŠãªå Žåã¯ãã¯ãã ããŠãæ¯ãå¿ èŠããããŸãã
æé 1ã«é²ã¿ãŸãã
äœROM
åºæ¬çã«ãããã¯ãã¹ãŠããªãã®ããŒãºã«äŸåããŸãã æããªãããããã®äžå¹žãª4ã¡ãŒãã«ã«åºå·ããããšãã§ããŸãããããŠãVon Neumannã«ãããã°ã©ã ããã®éããã°ãæžãçããªãããã«ããªãã§ãã ããã
å人çã«ã¯ãã¡ã¢ãªãããã«æ¡åŒµããROMãæ°žä¹ ã«å¿ããããšããå§ãããŸãã ããã¯ããèªåãã©ãã ãæ®ã£ãŠããããã絶ããèããã«äœæ¥ã®å¿«é©ããæäŸãããã®ã®1ã€ã§ããããããã®èšç»ãå®è£ ããæ¹æ³ã«ã€ããŠè©±ããŸãããã
æããšããŸããã¯ãªãã®ããå§ããŸããã-ããªãã¯ãã©ãã·ã¥ãã©ã€ãèªäœãã¯ãã ä»ãããããšãã§ããŸãã
ãœãªã¥ãŒã·ã§ã³ã®å©ç¹ã¯äœã§ããïŒ æããã«ããã¹ãŠãã«ãŒã¿ãŒããŒãã«çµ±åããããŸãŸã§ããå€éšã«ãã³ã°ã¢ãããããã®ã¯ãªããæ¶è²»éã¯äœããŸãŸã§ãã
æ¬ ç¹ã¯äœã§ããïŒ å®éã«ã¯ãSO-8æ¬äœã®äžã«ã·ãŒãããããããã察å¿ã®ãã©ãã·ã¥ãã©ã€ãã«ã¯8ã¡ãŒãã«ã®ãã®ãããããŸããã ããã¯ããå¿«é©ãªä»äºããæå³ããæ¡åŒµæ©èœã§ã¯ãããŸããã ãã ãããã®æ±ºå®ã®ãã©ã¹ãããªãã«ãšã£ãŠéèŠã§ããå Žåãããã¯ããªãå®è¡å¯èœã§ãã ããã§ããã«ã€ããŠèªãã§ãã ãã ã èŠããã«ãåã¯ãã ä»ãåŸãããŒãããŒããŒãšã«ãŒãã«ãåæ§ç¯ããå¿ èŠããããŸãããã©ãã·ã¥ã¡ã¢ãªã®å®¹éãã·ã¹ãã ã®é 眮ããããIDããããããããšãå¿ããã«ãããã€ã¹ã¯èµ·åãæåŠããŸãã
ããã«ãšããŸããã¯ãªãªãã·ã§ã³ã¯ãå€éšããŒãã®ãã³ãšäºææ§ã®ãªããã©ãã·ã¥ãã©ã€ããé 眮ããã«ãŒã¿ãŒã®ãã€ãã£ãã¡ã¢ãªãã¯ãã ä»ãããŠããªãç¶æ ã§ãå¶åŸ¡ãã³ïŒSPIãã¹ïŒãæ¿å ¥ããããšã§ãã ããã«ããã8ã¡ã¬ãã€ããè¶ ããããšãã§ããŸããããã®ãã©ãã·ã¥ãã©ã€ããèªèããã«ã¯ãLinuxçšã®å¥ã®ã«ãŒãã«ããããšããŒãããŒããŒãå¿ èŠã§ãã éåžžã«å€§ããªæ人ã®ããã®ãªãã·ã§ã³ã ãã®å€çš®ã¯ããã¹äžã®ã¹ã¬ãŒãïŒSSïŒãéžæããæ¢åã®ãã©ãã·ã¥ãã©ã€ããšäžŠåã«è¿œå ã®ãã©ãã·ã¥ãã©ã€ããæ¥ç¶ããããã®ãœãããŠã§ã¢ãã³ãšããŠç¡æã®GPIOã®1ã€ã䜿çšããããšã§ãã åè ãæ人åãã ã£ãå Žåãããã¯æ»äœã®ç Žçã§äœãããã¢ã³ã¹ã¿ãŒãæã«å ¥ãããå€æ ãã¯ããã³ãµãŒåãã§ãã ããããç§ã®æèŠã§ã¯ãå®è£ ãããŸããã
æåŸã«ãåŸæ¥ã®ãœãªã¥ãŒã·ã§ã³ã¯ãUSBã€ã³ã¿ãŒãã§ã€ã¹ã§å€éšã¡ã¢ãªã䜿çšããããšã§ãã
é·æ-é«éã§äŸ¿å©ãã«ãŒãã«ãåæ§ç¯ããå¿ èŠããªãïŒé©åãªã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããã ãïŒãããŒãããŒããŒãåæ§ç¯ããå¿ èŠããŸã£ãããããŸããã 8 GBã®ãã©ãã·ã¥ãã©ã€ããæèŒããããšã§ãã¡ã¢ãªã奜ããªã ãæ¡åŒµã§ããŸããã«ãŒã¿ãŒã®ç©ºã容éã®åé¡ãæ°žé ã«å¿ããŠããŸããã
çæ-1ã€ã®USBããŒããããžãŒã§ãããæ¶è²»é»æµã50ããªã¢ã³ãã¢å¢å ããŸããã«ãŒãFSãšããŠããŠã³ãããå ŽåïŒåŸè¿°ïŒãããŒãæéãå¢å ããŸãã ãã©ãã·ã¥ãã©ã€ãèªäœã¯å€§ããããããšãã§ããŸã-ãã®ãããªä»å±ç©ããã³ã°ãããšããããã¯åžžã«è¯ããšã¯éããŸããã
ããã§ã¯ãæåŸã®ãã€ãã¹ïŒãã©ãã·ã¥ãã©ã€ãã®ãµã€ãºïŒããå§ããŠãããã§äœãã§ããããèããŸãããã åžå Žãã¬ãã¥ãŒããåŸãç§ã¯ãç®±ããåºããŠããã«ã2ã€ã®éžæè¢ãšã¢ããã¥ã¢ç¡ç·ã«è¡ããŸããã æåã®2ã€ã«ã€ããŠã¯ãããã§ã¯ãã¹ãŠãã·ã³ãã«ã§ããåžå Žã«ã¯éåžžã«å°ããªãã©ãã·ã¥ãã©ã€ããšéåžžã«å°ããªãã€ã¯ãSDã«ãŒããªãŒããŒããããŸãã
Verbatim Netbook USBãã©ã€ã
ããã«ãŒããªãŒããŒ/ã©ã€ã¿ãŒ
ååãšããŠãäž¡æ¹ã®ãªãã·ã§ã³ã¯USBã«æ¥ç¶ãããšãã«è¿·æã«ãªããªãã»ã©å°ããã§ãããæåã¯ã±ãŒã¹ãåãé€ããããã€ã¹ãããçµ±åããããã«ã³ã³ãããŒã©ããããã¯ãã ä»ãããã«ããŒãã«é 眮ããã€ããã§ãã-ãã¹ãŠã®æ¡åŒµæ©èœãšè¿œå ã®é»æºã«ãŒã¿ãŒèªäœã®ããŒãã®ãµã€ãºã§ãã2çªç®ã®ããŒãã«é 眮ããããšãèšç»ããŸããã 容éãšèªã¿åãé床ã®ç¹ã§åªäœãéžæããå¯èœæ§ãšããã®äº€æã®ç¹ã§ããã®ãªãã·ã§ã³ã¯ããæè»ã«æããã®ã§ãã«ãŒããªãŒããŒã«æ±ºããŸããã ã«ãŒããªãŒããŒãå ¥æããåŸãã±ãŒã¹ã®äžéšãåãå€ããŸããïŒä»ã®ãã¹ãŠãUSBã³ãã¯ã¿èªäœã«ãã£ãããšåºå®ããããã«microSDã«ãŒããæ¿å ¥ããŸããïŒã以äžã®åçãã芧ãã ããã
æ®å¿µãªããšã«ãUSB-2-SDããªããžã¯ãããã¬ã¹ãããã®åœ¢ã§ãããã¯ãã ä»ããç®çãšããªãååç©ã§æºããããŠããŸããã ãããããã®ããã€ã¹ã®VIDãšPIDãååããŠãé©åãªããããèŠã€ããããšãã§ããŸããã ããã¯ãäžåœäŒæ¥ã®ã·ãªã³ã³ã¢ãŒã·ã§ã³ã®åµèšã§ããããšãå€æããŸããã ã¯ããã±ãŒã¹ããŒãžã§ã³ã§ããããã®è¶ å°ååè·¯ã補é ããŸããã ãããã圌ãã¯ç§ãã¡ãããåŸãããšãã§ããŸããã åé¡ã¯ããã®ããªããžã¯ã·ã³ã°ã«ãããã®8051ã³ã¢+ SDã³ã³ãããŒã©ãŒ+ USBã³ã³ãããŒã©ãŒã§ãããããã¯ãã®ãããªãœãªã¥ãŒã·ã§ã³ã§ã¯äŒçµ±çã§ããããããæ©èœãããã«ã¯ãããããäŒæ¥ãåäžã®é¡§å®¢ã«æäŸããŠããªããœãããŠã§ã¢ãå¿ èŠã ã£ããšããããšã§ã
ããã«åºã¥ããŠãïŒäžèšã®ã¢ããã¥ã¢ç¡ç·ãœãªã¥ãŒã·ã§ã³ïŒãçµè«ä»ããããšãã§ããŸãïŒãã®åé¡ãçŸãã解決ããèŠç¥ãã¬äººïŒéåžžã«å°åã®ã«ãŒããªãŒããŒã§ã¯ãããŸããïŒã§ã¯ãªããã³ã³ããŒãã³ããããŒãã«é 眮ãããå Žåã¯ãSD USBã€ã³ã¿ãŒãã§ã€ã¹ãæèŒããã³ã³ãããŒã©ãŒãè³Œå ¥ã§ããŸãããŒãïŒããšãã°ãST32F103ã®1ã€ïŒãããã«USBãã¹ã¹ãã¬ãŒãžã®å®è£ ã«æéãè²»ããïŒSTM USBã©ã€ãã©ãªã®äŸã§èª¬æïŒãã«ãŒã¿ãŒãŸãã¯ä»ã®åæ§ã®ãããžã§ã¯ãã®ã·ã³ã°ã«ãããUSB-2-SDããªããžãšããŠäœ¿çšããŸãã
ç§ã¯æéã®ãªãããã«ãããããŸããã§ããïŒãããããã€ãã¯æã«å ¥ããã§ããããïŒãããã«ããã®ãšã€ãªã¢ã³ã«ãŒããªãŒããŒã§ããŒãäžã®ããå°ããªãŸãã¯åçã®é åãåãããšãã§ãããã©ããå°ãçåã«æããŸãã-å°ããªéçºã¢ãžã¥ãŒã«ãŸãã¯ã·ãŒã«ããããã³ã³ããŒãã³ãïŒç»é¢ã¯ãUSBã³ãã¯ã¿ã®æ®éªžã«ãã£ãŠäœæãããŸãããããã¯ãmicro-SDã匷調ãã圹å²ãæãããŸãïŒã USBããŒãã«ã€ããŠã¯ã ãã¡ãããããããäžåœã®USBãããå©ãã«ãªããŸãã ããããå®è·µã瀺ããŠããããã«ããããã¯äž»ã«ãã©ã³ãã«é¢ä¿ãªãåããããïŒAU6256ïŒã§å®è¡ãããéåžžã«äžå¿«ãªæ©èœãåããŠããŸã-100 mA x 5VïŒååã¯ããïŒïŒ ããã¯ãççŽã«èšã£ãŠãå°ãæ°ã«ãªããŸãã-空ã®ãããUSBããŒãã«æ¥ç¶ãããšãã«ãŒã¿ãŒèªäœãããå€ãã®é»åãæ¶è²»ãå§ããŸãã
ãã¹ãŠã®ææã®ãããµã¹ã»ã€ã³ã¹ãã«ã¡ã³ãããåæ§ã®è¶ å°ååè·¯ããããŸã-äŸãã°ãïŒTUSB2046BïŒããã®ããŒã¿ã·ãŒãã«ã¯40 mAã®æ¶è²»ãèšèŒãããŠããŸã-åã³ãç§ã¯ããããã§ãã¯ãããã€ãåŸããŸã§ãç§ã¯äžåœäººãããTIãä¿¡ããåŸåããããŸãã
ã¹ããã3ã«é²ã¿ãŸãã
äœRAM
ãã®ä»¶ã«ã€ããŠã¯ã2ã€ã®ãã¥ãŒã¹ãè¡šæã§ããŸãã è¯ãããšã¯ãRAMãäºææ§ã®ãã64ã¡ã¬ãã€ãã®ãã€ã¯ãåè·¯ã§ç°¡åã«çœ®ãæããããšãã§ããããšã§ããããã¯ãã»ãšãã©ã®å Žåãå®éšã®å€§éšåã«ååãããã»ã©ã§ãã ãã®ããããã©ãã·ã¥ã¯äžèŠã§ãããŒããŒãã«ãŒãã«ã«ããããåœãŠãå¿ èŠããããŸããã ããã«ã€ããŠã¯ã ããã§è©³ãã説æããŸãã
æªããã¥ãŒã¹ã¯ãã¹ãŠãã®ãããªãœãªã¥ãŒã·ã§ã³ã§ã-äžèšã®ã«ãŒã¿ãŒãšASUSã®å åŒïŒWL-500ãªã©ïŒãããã³éçºè Karambolaã¯æãå€ãDDR1ãããäžã«æ§ç¯ãããŠãããããããšäºææ§ã®ãã64ã¡ã¬ãã€ããèŠã€ããããšã¯å€§ããªåé¡ã«ãªããŸããã å¯èœæ§ã®ãããœãŒã¹ã¯äžèšã®ãªã³ã¯ã§ç€ºãããŸã-ãããã¯å€ãRAMã¢ãžã¥ãŒã«ã§ãïŒäž»ã«ç°ãªãã©ãããããããïŒ-ããããã»ãšãã©ã®å Žåãã°ãŒã°ã«ã¯è²©å£²ã®ãªãã¡ãŒã¯ãããŸãããããã®ãªã¹ããäžèšäžå¥ãªã¹ãããåãé»åãšã³ãžãã¢ã®ããªãŒããŒã±ããã§ã®ç¥ããšå°ãªããšã1ã€ã®ãã®ãããªããŒã®ææè ã¯ãé©ãã¹ãããšã«åšå²ã®äººã ã«å¿çããããã«æ±ããããŸãã
ã¡ãªã¿ã«ãããã¯ãTexas Instrumentsã®ææ°ã®ããããããšãã°SITARAã§åæ§ã®ãœãªã¥ãŒã·ã§ã³ãæ¬åœã«èŠããçç±ã®1ã€ã§ãããããã¯ãLinuxãé·å¹Žç§»æ€ãããŠããARMã³ã¢ãåããææ°ã®ã¢ã¯ã»ã¹ããããããã»ããµã§ãã ãããã«ã¯ãä¹å¥³ãSDKãããã³ãã®ä»ã®ãã³ã®å žåçãªã¹ããŒã ãåããapnoutãä»å±ããããã«DDR3ã§åäœããŸãã ãã ãããã®ãããªããŒãã®éçºã«ã¯å€ãã®æéãšããªãã®æè³ãå¿ èŠã§ãïŒLUTã¯åœ¹ã«ç«ã¡ãŸãããå€å±€ã®ãã®ãå¿ èŠã§ãïŒãç¹ã«å ·äœçãªã¿ã¹ã¯ããŸã ãªãã®ã§ãç§ã¯ãŸã ãããæ¢ããŠããŸããã ãããã誰ãããã§ã«ãããè¡ã£ãŠãã/ãããèšç»ããŠãã-ååããããšã¯å¯èœã ãã-ç®æšã¯ãéå°ãªéãå·»ãåãããšãªããéçºè ããã®ãããªãã«ãŒã¿ãŒããœãªã¥ãŒã·ã§ã³ã眮ãæããããã®èµ·åãã©ãããã©ãŒã ãšããŠãCarambolaã«äŒŒãæå°éã®ã·ã³ã°ã«ããŒãã³ã³ãã¥ãŒã¿ãŒãäœãããšã§ãã
ããããã«ãŒã¿ãŒã«æ»ããŸãããã éã®ã¬ãã¥ãŒãçµäºããããæ§æãšåæ§ç¯ã«çŽæ¥é²ã¿ãŸãã
ã³ã¢ãåæ§ç¯ãã
ããã«å£°ãåºããã¿ã¹ã¯ã ã³ã¢ãåæ§ç¯ããŠäœãéæãããã®ã§ããïŒ
- OpenWRTã䜿çšãããšãã«ãŒãã«ã¢ãžã¥ãŒã«ãå«ãããªããžããªããå¿ èŠãªãã®ããã¹ãŠç°¡åã«ããŒãã§ãããããã·ã¹ãã ãèµ·åããããã«äžèŠãªãã®ãã¢ã»ã³ããªã«çµã¿èŸŒãå¿ èŠã¯ãããŸããã
- ãã¹ããã®ä»ã®èª€è§£ã«é¢ããäžå¿ èŠãªåé¡ãåé¿ãããããã«ãŒãFSå šäœãè¿œå ã®ãã£ã¹ã¯ãšããŠããŠã³ãããã®ã§ã¯ãªããUSBãã©ãã·ã¥ãã©ã€ãã«è»¢éããããšã«ããŸããã ããã«ãããã©ã€ãã©ãªãééã£ãå Žæã«ã€ã³ã¹ããŒã«ããããã«ã©ã€ãã©ãªããèŠã€ãããªãããšããèãããããã¹ãŠã®åé¡ã解決ãããã«ãŒã¿ãŒã®äœ¿çšããã䟿å©ã«ãªããŸãã ããã¯ãã«ãŒãã«ã«çµã¿èŸŒãŸããã¢ãžã¥ãŒã«ã®èŠä»¶ãæå³ããŸã-USBãext4ãã¡ã€ã«ã·ã¹ãã ãå€éšãã©ã€ãã®ãµããŒã
- ã«ãŒã¿ãŒã®ãã€ããŒããªã»ãã-ãã©ãã·ã¥åŸã«æåããããçŽãå¿ èŠãããå Žåã¯ç ©ãããã®ã§ããã¡ãŒã ãŠã§ã¢ã®FSã¬ãã«ã§æ¢ã«ä¿®æ£ã§ãããããæ¯åãããè¡ãå¿ èŠã¯ãããŸãã-ããšãã°ãããã©ã«ãã§ã¯MR3020ããã©ãã·ã¥åŸã«ããã«åäœããããããµãŒããŒã®ãµããããŠãå®éã®ã«ãŒã¿ãŒã蹎ãã®ã§ã¯ãªããIPãååŸããŠãããã¯ãŒã¯ã®äžéšã«ãªããŸããããã«ãããéçº/ãããã°ããã»ã¹ãç°¡çŽ åããããã€ã³ã¿ãŒããããããããšãæ¥ç¶ããããã®ã©ã¡ãããéžæããå¿ èŠããªããªããŸã MR3020»ã§
åæ§ç¯ããã»ã¹èªäœã¯ããã§è©³ãã説æãããŠããŸãã ãåçºã®åã«èªãããšããå§ãããŸããç¹°ãè¿ãã«ãªããŸããããmake menuconfigã³ãã³ããå ¥åããŠã«ãŒãã«ãèšå®ãããããšã¯ãããŸããã
ãã®æ®µèœãèªãã æç¹ã§ãåã«èšäºã§èª¬æãããã¹ãŠã®é ç®ïŒå®éã«ã¯menuconfigïŒãæ¢ã«å®äºããŠããããã¹ãŠãæ©èœããããšã確èªããŠã«ãŒãã«ããã«ãããããšããããšããããŸãã ç§ã¯ååãšããŠåããŠãããããŸãããã€ãŸããåé¡ãåŒãèµ·ããããšã¯ãããŸãã-ãã¹ãŠã®æé ã¯ããªãéæã§ãã ç§ã泚æããå¯äžã®ããšã¯ãå¥åŠãªããšã«ã dircleanãã«ããäœæããããšã§ã ãããã«ãã ãæ§ç¯ãããã®ã ãã§ãªããã·ã¹ãã èªäœãæ§ç¯ãããã®ãã€ãŸãåéããããŒã«ãã§ãŒã³ãªã©ãã¯ãªãŒã³ã¢ãããããŸãã
ããã圹ã«ç«ããªãå Žåã¯ã make distcleanãäœæãã䟡å€ããããŸããã·ã¹ãã ã«ãã£ãŠããŠã³ããŒãããããã®ãå«ããäžè¬çã«ãã¹ãŠãã¯ãªãŒã³ã¢ããããŸãã ãã®åŸããã«ãå šäœãéåžžã«é·ãéãæåããå®è¡ãããŸãããåé¡ãçºçããªããªãå¯èœæ§ããããŸãã ãã¹ãŠãçµã¿ç«ãŠããããŸã§æ°æéåŸ ã¡ãããªãå Žåã¯ãç¹å¥ãªå¿ èŠãªãã«ãããè¡ããªãã§ãã ããã
menuconfigã«ç§»åããæ£ããã¿ãŒã²ãããšã¿ãŒã²ãããããã¡ã€ã«ïŒAtheros AR7xxx / AR9xxxãTP-Link TL-MR3020ïŒãéžæããä¿åããŠãconfigã«MR3020ã®ããã©ã«ãå€ãå ¥åããããšãå¿ããªãã§ãã ããã
menuconfigã®äœæãå®äºãããã iptablesãªã©ã®ãã«ããå«ããã»ãšãã©ãã¹ãŠããã«ãããåé€ããŸããã1ã€ç®ã¯ã«ãŒã¿ãŒã§ã¯ãªãããã2ã€ç®ã¯åŸã§ç°¡åã«é ä¿¡ã§ããããã§ãã ãããã£ãŠãã¡ãã¥ãŒã調ã¹ãŠãäžèŠãªãã®ã¯ãã¹ãŠç Žæ£ããŸãã
ç§ã¯æ¬¡ã®ãã®ãæ®ããŸããïŒ
- ããŒã¹ã·ã¹ãã ã§ã¯ã ããŒã¹ãã¡ã€ã«ãbusyboxãdnsmasqãdropbearãhotplug2ãããã©ã«ãã§æ®ã£ãŠãããšããäºå®ããããã£ã¹ã¯ãæ¥ç¶ããã®ã«å¿ èŠãªãããã¯ããŠã³ããçµã¿èŸŒãŸããŠããããšã確èªããŸã ïŒUSBæ¥ç¶éç¥ãªãã§æŸçœ®ããããªãå Žåã¯å¿ããªãã§ãã ããïŒããã³ãã¿ã³ãæŒãïŒã mtdãopkgãuci
- Kernel Modulesã§ãFilesystemsã»ã¯ã·ã§ã³ã«ç§»åãã ããã§kmod-fs-ext4ãã¢ã¯ãã£ãã«ããŸãã
å¿ èŠã«å¿ããŠãä»ã®ã·ã¹ãã ãéžæã§ããŸãããext4ã¯1ã€ã§ååã§ãã ç§ãã€ã³ã¹ããŒã«ããŠããªãä»ã®ãã¹ãŠã®ã«ãŒãã«ã¢ãžã¥ãŒã«ã¯ãããã©ã«ãã®LEDã¢ãžã¥ãŒã«ããããã€ãã®é ç®ãé€ããŠïŒãã¡ãããããããåé€ãããšãã«ãŒã¿ãŒã¯LEDãç¹æ» ããããããŒãããã»ã¹ãã©ããªã£ããããããããŸããïŒã kmod-gpio-button-hotplug ãã«ãŒã¿ãŒã®ãã¿ã³ãæŒããããšãã«éç¥ãéä¿¡ããŸãïŒ1ã€ã®ãã¿ã³ãš1ã€ã®3äœçœ®ã¬ããŒãLinuxã2ã€ã®ãã¿ã³ãšèŠãªããŸãïŒãåãå Žæã«ããããã©ã«ãã®kmod-wdt-ath79 ãç§ãã¡ã«ãšã£ãŠéåžžã«éèŠãªkmod-usb -ochiãkmod-usb-storage-extrasãkmod-usb-uchiãkmod-usb2ïŒ USBãµããŒãããïŒããã³çµã¿èŸŒã¿ã®ãã©ã€ã㌠Wi -Fi-ã¯ã€ã€ã¬ã¹ãã©ã€ããŒã®kmod-ath9k ã
ãã以å€ã¯ãã¹ãŠç¡å¹ã«ãããããåŸç¶ã®ã€ã³ã¹ããŒã«ã®ããã«ã¢ãžã¥ãŒã«åœ¢åŒã§ã³ã³ãã€ã«ãããŸããã
ãã®æ®µéã§ã¯ãOpenWRT wikiã®æ瀺ã«åŸã£ãŠã«ãŒãã«ããã«ãããŠãããã©ãã·ã¥ããŠãåé¡ãããŸããã
cd /tmp wget ------.bin mtd write -.bin reboot
ãã®åŸãã«ãŒã¿ãŒãæ£åžžã«èµ·åããå Žå-MOTDïŒä»æ¥ã®ã¡ãã»ãŒãžããã°ã€ã³åŸã®æåŸ ïŒã«æ³šæããŠãã ãã-ãã«ãçªå·ãå€æŽãããã¯ãã§ã-ããã§ãšãããããŸããã«ãŒãã«ã®çµã¿ç«ãŠãšã·ã¹ãã ã®å€æŽã«æåããŸããã ã«ãŒã¿ãŒãèµ·åãæåŠããå Žå-åé¡ã§ã¯ãããŸãããã幞ããªããšã«ã¿ããããªãã£ãã¹ããŒãããŒãããŒããŒã®å©ããåããŠç¶æ³ãä¿åã§ããŸã-åã³wikiã®æ瀺ã«åŸããŸãïŒUSB-rs232ã¢ããã¿ãŒãå¿ èŠã§ãïŒã
ããã§ã¯ãèšå®ã«ç§»ããŸãããã FSããã©ãã·ã¥ã«ãã©ãã·ã¥ãããã€ã¡ãŒãžã«çµã¿èŸŒãŸããOpenWRTãœãŒã¹ã®ã©ããã«ãããšæ³å®ããã®ã¯è«ççã§ãã ããã§ããéäžã§FSãèŠã€ããããšãã§ããŸã
openwrt / trunk / build_dir / target-mips_r2_uClibc-0.9.33.2 / root-ar71xx
ïŒå°æ¥çã«ã¯ãã³ã³ãã¥ãŒã¿ãŒã«è¡šç€ºããããã¹ãŠã®æ¹æ³ãèšè¿°ããŸããopenwrtã¯ããœãŒã¹ã³ãŒãããã§ãã¯ããããã£ã¬ã¯ããªã§ãïŒ
ãã®ãã£ã¬ã¯ããªã¯ãã«ãããšã«æ°ãã«çæããããããããã§ã¯ããã«ãã·ã¹ãã ã倧ããæãªãããšãæããã«ãå¿ èŠãªãã®ãç·šéã§ããŸãã ãããã£ãŠãæåã«ã«ãŒãã«ãæ§æããã¢ã»ã³ãã«ããŠãããããã§ä¿®æ£ãè¡ããã«ãŒãã«ãåæ§ç¯ããã«å¿ èŠãªã¢ãžã¥ãŒã«ãåå¥ã«çµäºããŸãã äœããå°ç¡ãã«ããå Žåã¯ãããäžåºŠmakeãå®è¡ãããšãã£ã¬ã¯ããªã埩å ãããŸãã openwrt / trunkãã圌女ã®ã€ã¡ãŒãžããã«ãããã«ã¯ã make target / installã³ãã³ããçºè¡ããŸã
ãã ããããåºæ¬çãªæ¹æ³ããããŸã- / openwrt / trunk / package / base-files / filesãã£ã¬ã¯ããªã®å 容ãç·šéããã«ã¯-ãããããã¹ã±ã«ãã³ãããããã¿ãŒã²ããFSãçæããŸããããã¯ã«ãŒãã«ã®åæ§ç¯æã«æ¶å»ãããŸããã ããããäžèšã®æ¹æ³ãšã¯ç°ãªããFSã®å®å šãªã€ã¡ãŒãžãã¿ãŒã²ãããã·ã³äžã«ãã圢ã§èŠã€ããããšã¯äžå¯èœã§ãããäœããäžå¯éçã«å°ç¡ãã«ããã®ã¯ç°¡åãªã®ã§ãããŸãè¡ããŸããã§ããã
äžè¬ã«ããã®æ®µéã§ãã€ã¡ãŒãžã®æ§æãéå§ã§ããŸãã ãããŠãæåã«è¡ãããšã¯ãconfig / etc / config / fstabãç·šéããŠãèµ·åæã«ã·ã¹ãã ããã©ãã·ã¥ãã©ã€ããã«ãŒããšããŠèªèããããã«ããããšã§ãã
ã¡ãã£ãšããå©ãïŒããã¯overlayfsãä»ããŠè¡ãããŸãããã®æ¬è³ªã¯ããŠãŒã¶ãŒã®ééã¢ãŒãã§ã¯ãããã€ãã®ãã¡ã€ã«ã·ã¹ãã ã®ã³ã³ãã³ããææ¡ããããšã§ãã ããã¯äœã®ããã§ããïŒ ããšãã°ãUSBãã©ãã·ã¥ãã©ã€ãã䜿çšããããªãå Žåã§ããå ã ã¯OpenWRTã§äœ¿çšãããŠããŸãããSquashFSãã¡ã€ã«ã·ã¹ãã ããããèªã¿åãå°çšã®å°ããªã¹ããŒã¹ãå æããŸãã ãŠãŒã¶ãŒããã¡ã€ã«ãç·šéã§ããããã«ããããã«ïŒåæã«ãç·šéãããªãã£ããã®ã¯ãã¹ãŠäŸ¿å©ãªSquashFSã«æ®ããŸãïŒãã®ãªãŒããŒã¬ã€ã䜿çšãããŸãã 2ã€ã®FSã¯1ã€ã«ããŒãžãããŠããããã«èŠããäžè¬çã«ãããŒã¿ã¯SquashFSããååŸãããŸããããŠãŒã¶ãŒããã¡ã€ã«ãç·šéãããšããã«ãèªã¿åããšæžã蟌ã¿ãå¯èœãªã»ã¯ã·ã§ã³ã«ã³ããŒãäœæãããŸãïŒããã©ã«ãã§ã¯JFFSããããŸãïŒã ãããã®ãªãŒããŒã¬ã€ãå®è£ ããã·ã¹ãã ã¯ãå®éã«ã¯ãªãŒããŒã¬ã€JFFSã§åãååã®ã¢ã¯ã»ã¹å¯èœãªãã¡ã€ã«ãèŠã€ãããšããããæ¢ã«ãŠãŒã¶ãŒã«ãããããä»ã®ãã¹ãŠã®ãã¡ã€ã«ã¯SquashFSãã以åã®ãŸãŸã«ããŸãã
ãããã£ãŠãã«ãŒã¿ãŒã§äœãå€æŽããŠãããªãŒããŒã¬ã€ãç¡å¹ã«ãã䟡å€ããããèªã¿åãå°çšFSãå ã®åœ¢åŒã§ååŸããŸããããã¯ãã«ãŒã¿ãŒã®åŸ©æ§ã¢ãŒãã«äœ¿çšãããŸãïŒäžåºŠè©ŠããããšããããŸããã ã
ã¡ãªã¿ã«ãåãçç±ã§ããã¡ãŒã ãŠã§ã¢ã«ååšããããã±ãŒãžã®ãããããç Žå£ããããšãããšã空ãé åãæžå°ããŸã-ããã±ãŒãžã¯å ã®å Žæã«æ®ããããæ§æãã¡ã€ã«ã®ãªãŒããŒã¬ã€ã³ããŒãªã©ãåé€ã®åœ±é¿ãåãããã®ãäœæãããŸãã
åãããªãã¯ã䜿çšããŸããããã©ãã·ã¥ãã©ã€ãããã®ãã¡ã€ã«ã·ã¹ãã ã«å¯ŸããŠ-ãã©ãã·ã¥ã«ã¯ãã¡ã€ã«ã·ã¹ãã ã®å®å šãªã³ããŒãããããã¹ãŠã®èšå®ãå®äºãããããã«æºåããŸãã ããŒããããšãçµã¿èŸŒã¿ã®ãã¡ã€ã«ã·ã¹ãã ã®äžéšã«ãªãŒããŒã¬ã€ãé 眮ããããã¹ãŠã®å€æŽã¯USBãã©ãã·ã¥ãã©ã€ãã§ã®ã¿è¡ãããŸãã åæã«ãããŠã³ããŒãããåã«USBãã©ãã·ã¥ãã©ã€ããåãå€ãããå Žåãã«ãŒã¿ãŒã¯ç©ããã«èµ·åãïŒã¯ãªãŒã³ãªfsãçŸåšã€ã¡ãŒãžã§ç·šéäžã®fsïŒãæå®ããããªãŒããŒã¬ã€ãããŠã³ãã§ããªãã£ãããšãå ±åããããšãå¿ããŸããã
ãã®ããããã©ãã·ã¥ãã©ã€ããext4ã§ãã©ãŒãããããããã«2ã€ã®ããŒãã£ã·ã§ã³ãäœæããŸãã1ã€ã¯ã¹ã¯ããçšïŒ1ã€ç®ïŒã2ã€ç®ã¯ã«ãŒãFSçšã«äœæããŸããã å¿ èŠã«å¿ããŠã/ homeãŸãã¯äœãå¥ã®ããŒãã£ã·ã§ã³ãäœæã§ããŸãããããã§ååã§ããã / etc / config / fstab ïŒ openwrt / trunk / build_dir / target-mips_r2_uClibc-0.9.33.2 / root-ar71xx / etc / config / fstabãžã®ãã«ãã¹ ïŒã«æ¬¡ã®ããã«èšè¿°ããŸãã
config mount option target / option device /dev/sda2 option fstype ext4 option options rw,sync option enabled 1 option is_rootfs 1 config swap option device /dev/sda1 option enabled 1
ããã«ããããªãŒããŒã¬ã€ã«ãŒãã·ã¹ãã ã/ dev / sda2ã«ããŠã³ãããå¿ èŠãããããšãéç¥ããŸãïŒis_rootfsãªãã·ã§ã³ã¯ããããåãªãããŠã³ããã€ãŸãextrootã§ã¯ãªãããšãæå³ããŸãïŒããã³/ dev / sda1ã«ã¹ã¯ããããŸã
åºæ¬çãªããšã¯ãã¹ãŠå®äºã§ãã 次ã«ããã¹ãŠãèªç±ã«èšå®ããŸãã å人çã«ã¯ããã¹ãŠã®ããŒãã«å¯ŸããŠããã«çæããããããæ§æãã¯ãªãŒã³ã¢ããããŸããããã®ããããããã®æ§æã§ãã巚倧ãªifaçš®ã®ãããªçŽ æŽããããèŠãããŸãã
case $(ar71xx_board_name) in wzr-hp-ag300h) ar922x_disable_gpio_jtag $phyname ;;
åç· åœ¹äŒãã€ãŸãMR3020ã«é¢é£ããªãifãããã¹ãŠã®ã±ãŒã¹ã容赊ãªãåé€ã§ããŸãã ããã«ãieee1394ãJTAGã®ããããã©ã°ã«ãŒã«ãªã©ãç©ççã«ã¯ååšããªãäžéšã®æ§æãã¡ã€ã«ã¯ããã®ããŒãã«ã¯ãŸã£ããæå³ããªãããä»ã®ãã©ãããã©ãŒã ãšã®äºææ§ã®ããã«åãæ¹æ³ã§çæãããŸããã
ãŸãã / etc / configãã£ã¬ã¯ããªå ã®ããã€ãã®ãã¡ã€ã«ã¯UCIã·ã¹ãã ã«ãã£ãŠèªåçã«çæãããããšãå¿ããªãã§ãã ããã ããã¯ãã¹ãŠ/ libå ã®ã¹ã¯ãªããã«ãã£ãŠå®è£ ãããŸã-ããã«ãããã«æ°ä»ãã§ãããã ãããã«ã¯ãããšãã°ãåææ§æãå®è¡ããä»ã®ã¹ã¯ãªããããã«ããar71xx.shããã³functions.shãå«ãŸããŸãïŒç¹ã«ãããŒããæ€åºãããã®å€æ°ar71xx_board_nameãå ¥åããã ãã§ãïŒã ãããã£ãŠãããšãã°ãæåŸã®/lib/wifi/mac80211.shãã¡ã€ã«ã«ã¯ãç¡ç·ã®/ etc / configãã¡ã€ã«ã«è¿œå ãããè¡ãå«ãŸããŠããŸãã
cat <<EOF config wifi-device radio$devidx option type mac80211 option channel ${channel} option macaddr $(cat /sys/class/ieee80211/${dev}/macaddress) option hwmode 11${mode_11n}${mode_band} $ht_capab # REMOVE THIS LINE TO ENABLE WIFI: option disabled 1 config wifi-iface option device radio$devidx option network lan option mode ap option ssid OpenWrt option encryption none EOF devidx=$(($devidx + 1)) done }
ããã§ãã€ã³ã¿ãŒãã§ã€ã¹åãããã©ã«ãã®ãã€ã³ãåãæå·åãªã©ãä¿®æ£ã§ããŸãããã®åŸãæåã®èµ·åæã«ãç·šéã«åŸã£ãŠ/ etc / config / wirelessã®å 容ãçæãããŸãã
ãã¹ãŠã®èšå®ãå®äºãããããã©ãã·ã¥ãã©ã€ãã«ãã®ãã¡ã€ã«ã·ã¹ãã ã®å®å šãªã³ããŒãäœæããããããããŒãããå¿ èŠããããŸãã åæã«ããã®ãããªãã§ã€ã³ããäœæããããšã匷ããå§ãããŸããMOTDã¯/ etc / bannerã«ãããSSH / Telnetçµç±ã§ã·ã¹ãã ã«ãã°ã€ã³ãããšãã«è¡šç€ºãããŸãã ããã¯ä»»æã®æ¹æ³ã§å€æŽã§ããŸãïŒãã®åä»ãªã«ã¯ãã«ã¬ã·ããåé€ããOpenWRTããŽã®ã¿ãæ®ããŸããïŒãããããè¡ã1ã€ã®ããšã¯ééããªã䟡å€ããããŸããFSãUSBãã©ãã·ã¥ãã©ã€ãã«ã³ããŒããåŸããã¡ã€ã«ãšã¯ç°ãªããã¡ã€ã«ãè¿œå ããŸãopenwrtã§/ trunk / build_dir / target-mips_r2_uClibc-0.9.33.2 / root-ar71xx / etc / config
ããšãã°ããã®è¡ã§ã ATTITUDE ADJUSTMENTïŒBleeding Edgeãr33444ïŒã®è¡ãATTITUDE ADJUSTMENTïŒBleeding Edgeãr33444ãUSB OverlayïŒã«å€æŽããŸã
ãã®å°ããªããªãã¯ã®ãããã§ããã°ã€ã³çŽåŸã«ãªãŒããŒã¬ã€ãæ©èœãããã©ãããç¥ãããšãã§ããŸãïŒããšãã°ããã©ãã·ã¥ãã©ã€ããŸãã¯ããå šäœãçªç¶ãèœã¡ããå ŽåïŒ
ãã®åŸãå®å¿ããŠãœãŒã¹ã®ã«ãŒãïŒopenwrt / trunkïŒã«æ»ãã make target / installãšèšããŸã -ããã«ããã / openwrt / trunk / bin / ar71xxãã©ã«ããŒã«è¡šç€ºããã openwrt-ar71xx-genericãšããæçµã€ã¡ãŒãžã®çæããã»ã¹ãéå§ãããŸã -tl-mr3020-v1-squashfs-sysupgrade.bin
æ¢ç¥ã®æ¹æ³ã§ãã©ãã·ã¥ããããŒãããåŸïŒUSBãã©ãã·ã¥ãã©ã€ããã«ãŒã¿ãŒã«æ¿å ¥ããããšãå¿ããªãã§ãã ããïŒïŒãTelnetçµç±ã§ãã°ã€ã³ãããšãåŸ æã®ã°ãªãŒãã£ã³ã°ã衚瀺ãããŸãã
姿å¢èª¿æŽïŒããªãŒãã£ã³ã°ãšããžãr33444ãUSBãªãŒããŒã¬ã€ïŒ
ããã«ã dfã³ãã³ããå ¥åããŠç¢ºèªã§ããŸãã passwdã³ãã³ãã§ãã¹ã¯ãŒããèšå®ããããšãå¿ããªãã§ãã ããããã®åŸãtelnetã§ã¯ãªãSSHã§äœæ¥ããæ©äŒãåŸãããŸãã ã¡ãªã¿ã«ãã»ãã¥ãªãã£äžã®çç±ã ãã§ãªããäžéšã®ãŠãŒãã£ãªãã£ïŒä»¥äžã§èª¬æããŸãïŒã空ã®ãã¹ã¯ãŒãã䜿çšããããšããå§ãããŸãããããã¯ããã¹ã¯ãŒããèšæ¶ãããªãã·ã§ã³ãããå Žåã§ãã空ã®ãã¹ã¯ãŒãã¯èŠããŠãã䟡å€ããªããšèããŠãè¿·æãããç¶ããŸãã
éçºè ããŒã«ããã
èšäºã®æåŸã®éšåã§ã¯ããªãããããã¹ãŠå®éã«èããããŠããã®ããå¥è·¡ã®ããã€ã¹ã®éçºã«ã€ããŠèª¬æããŸãã Windowsã®ããŒã«ãæ€èšããŠãã ããã ubuntuã®äžãããã«ãŒãã«ãšã¢ãžã¥ãŒã«ã®ã¿ãã³ã³ãã€ã«ããŸãã ãã¡ãããC / C ++ã§èšè¿°ããã«ãŒãã«ãã¯ãã¹ã³ã³ãã€ã«ãããšãã«ã³ãŒããã¯ãã¹ã³ã³ãã€ã«ããæ©äŒã¯ãŸã ãããŸãããããã¯éå±ã§æè¯ã®ãªãã·ã§ã³ã§ã¯ãããŸãã-éçºé床ãšã³ãŒããµããŒãã¯ãJavaãCïŒãPythonãRubyãªã©ã®ããŸããŸãªã¹ã¯ãªããã¿ã€ãã®æ¹ãã¯ããã«é«ãã§ãã OpenWRTçšã®Javaãã·ã³ããããŸããã igor_suhorukovã®ãã¹ãã«ãããšãã»ãšãã©ã¯ããŒã«ããŸããã 確ãã« ã igor_suhorukovã¯OpenWRTã§è»œéã®phoneMEãã·ã³ãçµã¿ç«ãŠãŸããããç§ã®æã¯ããããã¹ãããããã«åœŒå¥³ã«å±ããŸããã§ããã ãã®ãããå©çšå¯èœãªãã®ããå ã«é²ã¿ãPythonãRubyãLuaãPerlãªã©ã®ã¹ã¯ãªããèšèªããã¹ãŠå©çšå¯èœã«ãªããŸãã
ççŽã«èšã£ãŠãç§ã¯äžè¬ã«åçã«åä»ããããèšèªãšã¹ã¯ãªããã®ãã¡ã³ã§ã¯ãããŸããããç§ã¯äžèšã®ã»ããããpythonãéžæããããšã«ããŸãã-ç§ã¯æé»ã®å¢åã«å©ããæ±ããŠããã®ã§ãããããå šäžçãæãããæãæåã§æé»ã®å¢åã«ããŠãã ããã
SSHçµç±ã§ã«ãŒã¿ãŒã«ã¢ã¯ã»ã¹ããå¿ èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
opkg update opkg install vsftpd python
ããã«ãããSFTPãµãŒããŒãšãå®éã«ã¯Pythonã€ã³ã¿ãŒããªã¿ãŒãã€ã³ã¹ããŒã«ãããŸãã
次ã«ã WinSCPéçºãã·ã³ã«ç¡æã®ãŠãŒãã£ãªãã£ãã€ã³ã¹ããŒã«ããŸããããã«ãããã«ãŒã¿ãŒã®ãã¡ã€ã«ã·ã¹ãã ãç°¡åã«ç»ã£ãŠãã¡ã€ã«ã亀æã§ããããã«ãªããŸãã WinSCPã§æ°ããæ§æãäœæããŸãããããã¹ãåãã£ãŒã«ãã§ãã«ãŒã¿ãŒã®IPã¢ãã¬ã¹ãŸãã¯ãããã¯ãŒã¯åãèšå®ããããã©ã«ãã§ããŒããæ®ãããŠãŒã¶ãŒåãšãã¹ã¯ãŒããå ¥åãããããã³ã«SFTPãéžæããŸãã
[ãã°ã€ã³]ãã¯ãªãã¯ããŠãã«ãŒã¿ãŒã®FSãžã®ãã«ã¢ã¯ã»ã¹ãååŸããŸããããã«ãããå¿ èŠãªå Žåã«æ§æãªã©ãç·šéããããã»ã¹ãé«éåãããŸãã
次ã«ãæåãªJetBrains瀟ã®PyCharmããçŽ æŽãããIDEãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã ããŒãžã§ã³ã2.6以äžã§ããããšã確èªããŸã-éå»ã«ã¯ããªã¢ãŒããããã°ãæ©èœããªãã£ãããã«ãã°ããããŸãã
[ãã¡ã€ã«]-[èšå®]-[å±é]ã«ç§»åãããªã¹ãã®äžã«ãããã©ã¹èšå·ãã¯ãªãã¯ããŠãæ°ãããµãŒããŒå±éãè¿œå ããŸãã 衚瀺ããããŠã£ã³ããŠã§ãããšãã°MR3020ãªã©ã®ååãå ¥åããSFTPãããã³ã«ãéžæããŸãã
次ã«ãå±éãµãŒããŒãæ§æããŸãã[æ¥ç¶]ã¿ãã§ã[SFTPãã¹ã]ãã£ãŒã«ãã«ã«ãŒã¿ãŒã®ã¢ãã¬ã¹ãæå®ããããã©ã«ãã§[ããŒã]ããã³[ã«ãŒããã¹]ãã£ãŒã«ããæ®ããŸãã
é©åãªãã£ãŒã«ãã«ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããå ¥åããããã¹ã¯ãŒããä¿åããããã§ãã¯ããŒã¯ãå ¥ããŠããã¹ãŠã®å±éãæ±ããããªãããã«ããŸãã ãã®åŸããSFTPæ¥ç¶ã®ãã¹ãããã¯ãªãã¯ããŠããã¹ãŠãããŸããã£ãããšã確èªããŸãã
WinSCPãŸãã¯SSHã䜿çšããŠã«ãŒã¿ãŒã«ç§»åããããšãã°/ rootã®pyHelpersãã£ã¬ã¯ããªãªã©ã®äŸ¿å©ãªå Žæã«äœæããŸããããã§ã¯ãIDEè£å©ã¹ã¯ãªãããã³ããŒãããŸãã
[ãã¡ã€ã«]-[èšå®]-[ãããžã§ã¯ãã€ã³ã¿ãŒããªã¿ãŒ]- [ Pythonã€ã³ã¿ãŒããªã¿ãŒ ]ã«ç§»åããå³åŽã®ãã©ã¹èšå·ãã¯ãªãã¯ããŠãããããããŠã³ã¡ãã¥ãŒã§[ãªã¢ãŒã...]ãéžæããŸãã 衚瀺ããããŠã£ã³ããŠã§ããå±éèšå®ããå ¥åããªã³ã¯ãã¯ãªãã¯ããMR3020ãšããååã®æ§ææžã¿ã®å±éãµãŒããŒãéžæããŸãã ãPythonã€ã³ã¿ãŒããªã¿ãŒãã¹ããã£ãŒã«ããšãPyCharmãã«ããŒã®ã³ããŒå ããã£ãŒã«ãã§ãã«ãŒã¿ãŒäžã®pythonãã€ããªãŒãžã®ãã¹ïŒããã©ã«ãã¯æ£ããã / usr / bin / python ïŒãæå®ããäœæãããã«ããŒã®ãã£ã¬ã¯ããªãŒãžã®ãã¹ã¯/ root / PyHelpersã§ã
ãOKããã¯ãªãã¯ããåŸãæ€ åã«å¯ãããããIDEãã«ãŒã¿ãŒäžã®ã€ã³ã¿ãŒããªã¿ãŒãšéä¿¡ãããã«ããŒã䜿çšããŠæ©èœãšã©ã€ãã©ãªã®ãªã¹ããäœæãããŸã§åŸ ã¡ãŸãã
æãèå³æ·±ãéšåã¯ãã«ãŒã¿ãŒã®éçºãéå§ãããšãã«ãèšå®æžã¿ã®ãªã¢ãŒãPythonãã€ã³ã¿ãŒããªã¿ãŒãšããŠéžæããŠæ°ãããããžã§ã¯ããäœæããããšã§ãã 次ã«ã [ãããã³ã°]ã¿ãã®[ ãã¡ã€ã«]-[èšå®]-[å±é]ã«ç§»åãããµãŒããŒã®[MR3020]ãã£ãŒã«ãã®å±éãã¹ã§ãã«ãŒã¿ãŒã®ãããžã§ã¯ããžã®ãã¹ãéžæããŸãã ããããããã©ã«ããµãŒããŒãšããŠäœ¿çšããããã¯ãªãã¯ããããšãå¿ããªãã§ãã ããã
[ ããŒã«]-[å±é ] -[ãªãã·ã§ã³ ]ã¡ãã¥ãŒã®[å€æŽããããã¡ã€ã«ãããã©ã«ããµãŒããŒã«èªåçã«ã¢ããããŒããã]ãã£ãŒã«ãã§äŸ¿å©ãªå±éã¢ãŒããèšå®ããŸã-ç§ã«ãšã£ãŠã¯[æ瀺çãªä¿åã¢ã¯ã·ã§ã³]ã§ã-CTRL + SãæŒããšãå€æŽããããã¡ã€ã«ãèªåçã«ã«ãŒã¿ãŒã«è³è³ãããŸã
ããã§ãæåã®ãã¡ã€ã«ããããžã§ã¯ãã«è¿œå ããåŸ æã®å°å·ãHello Worldãè¡ãããã«æžã蟌ãããšãã§ããŸãã ãã¡ã€ã«ãä¿åãã以äžã®ã³ã³ãœãŒã«ã®IDEããµãŒããŒãžã®ãã¡ã€ã«ã®ã¢ããããŒãã®æåãå ±åããæ¹æ³ã確èªããŸãã 次ã«ããããžã§ã¯ãããªãŒã§ãã¡ã€ã«åãå³ã¯ãªãã¯ããŠ[å®è¡]ãéžæããŸããããã«ãããèµ·åçšã®æ§æãèªåçã«äœæãããŸãã åé¡ãçºçããŠããã°ã©ã ãèµ·åããªãå Žåã¯ã å®è¡-æ§æã®ç·šéã«é²ã¿ãã«ãŒã¿ãŒã®ã¹ã¯ãªãããžã®ãã¹ãã¹ã¯ãªãããã£ãŒã«ãã«æžã蟌ãŸããŠããããšã確èªããŸãã ããã°ã©ã ã®çµæã¯ãç»é¢äžéšã®ã³ã³ãœãŒã«ã«è¡šç€ºãããŸãã
ãããã«
å®éãããããã¹ãŠã§ãã éçºãã·ã³ã§pythonãèšè¿°ããã¿ãŒã²ãããã©ãããã©ãŒã ïŒã«ãŒã¿ãŒïŒã«ã¹ã¯ãªãããèªåçã«ããŠã³ããŒãããŠããã§å®è¡ããIDEã³ã³ãœãŒã«ã«çµæã衚瀺ã§ããææ°ã®åŒ·åãªIDEãã§ããŸããã ãŸãããããã°ãšãã¬ãŒã¹ãèš±å¯ããŸãã ãæžã蟌ã¿ãã³ã³ãã€ã«ãã«ãŒã¿ãŒãžã®è»¢éãã«ãŒã¿ãŒãžã®ç§»åãèµ·åãèŠããåäœããªãã£ããéçºãã·ã³ãžã®æ»ãããšããã¹ãããã®ããã»ã¹ããé€å€ããããããéçºé床ãäœåºŠãåäžããPythonã¹ã¯ãªããã®ç§»æ€æ§ã«ãããã»ãšãã©ã®ã¿ã¹ã¯ãæ¢ã«å®è¡ãããŠããŸãäœããã®åœ¢ã§èª°ãã«ãã£ãŠè§£æ±ºãããã©ã€ãã©ãªã®åœ¢ã«ãã¬ãŒã åãããŸãã-ãããã°ãŒã°ã«ã§æ€çŽ¢ããŠãã ããã
ãã®ãããããšãã°ãäœæ¥äžã®ãããžã§ã¯ããéçºãããšããPyNMEAã©ã€ãã©ãªã®ããã«GPSã¯ã«ãŒã¿ãŒã«ç°¡åã«ããžæ¢ããããŠããŸããã
MR3020ã¯ãç¹ã«åãSTM32ã§ãªã¢ã«ã¿ã€ã åŠçãšãã®æ©èœãçµã¿åãããå ŽåããããããããŒã ãªãŒãã¡ãŒã·ã§ã³ã·ã¹ãã ã«ãšã£ãŠåªãããé è³ããšãªããŸãããã®å Žåãå°ããªM3ç®è³ªã¯äœã¬ãã«ã·ã¹ãã ã®ããŒããŠã§ã¢ã³ã³ãããŒã©ãŒãšããŠæ©èœããUSBçµç±ã§æ å ±ãéä¿¡ããåä¿¡ããŸãã«ãŒã¿ããã®ã³ãã³ããã¢ã«ãŽãªãºã ã®éãéšåã¯äŸ¿å©ãªpythonã§èšè¿°ãããŸãã ããšãã°ãããããã®å ŽåãSTM32ã³ã³ãããŒã©ãŒã¯ãµãŒãã³ã³ãããŒã©ãŒãšããŠå®å šã«æ©èœããPWMä¿¡å·ãçæããŸãããŸããããŸããŸãªã»ã³ãµãŒããæ å ±ãåéãããã±ããã§åéããŠã«ãŒã¿ãŒã«éä¿¡ããŸãããPythonã¹ã¯ãªããã¯æ¢ã«ããé«ãã¬ãã«ã®ãåäœããå®è£ ããŸãã
æåããéçºïŒ