
[HOW-TO] WF121 Wi-Fiã¢ãžã¥ãŒã«ã®çµã¿èŸŒã¿HTTPãµãŒããŒã®äœ¿çšã«é¢ããSilicon Labs Webãµã€ãã®ã¢ããªã±ãŒã·ã§ã³ã«HTMLãã¿ã³ãã¬ã¹æ©èœãè¿œå ããèšäºãèªãã åŸãã©ã®ããã«æ©èœãããè©ŠããŠã¿ãŸããã ããã«ãã¢ãžã¥ãŒã«ã®ãããã°ããŒããæå ã«ãããŸããã
*䟿å©ãªãªã³ã¯-èšäºã®æåŸã
ç§ã®èšç»ã¯ã·ã³ãã«ã§ãã-WF121ã¢ãžã¥ãŒã«ã®çµã¿èŸŒã¿HTTPãµãŒããŒã®æ©èœãšBGScriptèšèªã䜿çšããŠãWebã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠWi-Fiçµç±ã§é»è©±/ã¿ãã¬ãã/ PCããé»çïŒãŸãã¯ãããã°ããŒãäžã®LEDïŒã管çããŸã
ãã¡ãããTCPã³ãã³ãã䜿çšããŠé»çãç°¡åã«å¶åŸ¡ã§ããŸããããã®ããã«ã¯ãç¹å¥ãªã¢ããªã±ãŒã·ã§ã³ãäœæããŠæºåž¯é»è©±/ã¿ãã¬ãã/ PCã«ã€ã³ã¹ããŒã«ããå¿ èŠããããŸããããã¯å¿ ããã䟿å©ã§ã¯ãããŸããã çµã¿èŸŒã¿ã®HTTPãµãŒããŒã®å©ç¹ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«ãå¿ããŠãã©ã®ããã€ã¹ã§ããã©ãŠã¶ãŒã䜿çšã§ããããšã§ãã å®éããããHTTPãµãŒããŒãWF121ã«å®è£ ãããŠããçç±ã§ãã
WF121ãšã¯äœã§ããïŒ
WF121-çµã¿èŸŒã¿ã·ã¹ãã çšã®2.4 GHz Wi-Fi b / g / nã¢ãžã¥ãŒã«ãã¯ã©ã€ã¢ã³ããšããŠãã¢ã¯ã»ã¹ãã€ã³ããšããŠãæ©èœããŸãã ã¢ãžã¥ãŒã«ã®æ©èœã¯æ¬¡ã®ãšããã§ãã
- ã¢ã¯ã»ã¹ãã€ã³ãã¢ãŒãã§æ倧5ã€ã®ã¯ã©ã€ã¢ã³ãããµããŒãã
- ã¢ã¯ã»ã¹ãã€ã³ãã¢ãŒãã§1ã€ã®ã¯ã©ã€ã¢ã³ãããå¥ã®ã¯ã©ã€ã¢ã³ãã«ãã©ãã£ãã¯ããªãã€ã¬ã¯ãããæ©èœã
- UARTãSPIãI2CãUSBãGPIOã«å ããŠãã€ãŒãµãããã¢ãžã¥ãŒã«ãžã®æ¥ç¶ãå¯èœã«ããRMIIã€ã³ã¿ãŒãã§ã€ã¹ã®ååšã
- æ§æå¯èœãªHTTPãµãŒããŒã®å¯çšæ§ã
- BGScriptã§èšè¿°ãããã¢ãžã¥ãŒã«ã¢ããªã±ãŒã·ã§ã³ã«ããŒãããããšã«ãããããããã¹ãŠãæè»ã«ç®¡çããæ©èœã
WF121ã¢ãžã¥ãŒã«ãå¶åŸ¡ããããã®3ã€ã®ãªãã·ã§ã³ããããŸãã
- å€éšã³ã³ãããŒã©ãŒãšBGAPIãããã³ã«ã䜿çšããŸãã
- ã¢ãžã¥ãŒã«èªäœã«ããŒããããBGScriptã¢ããªã±ãŒã·ã§ã³ã䜿çšããŸãã
- BGAPIãšBGScriptã®äž¡æ¹ãåæã«äœ¿çšãããå Žåã«çµåãããŸãã
BGAPIã®å¯èœæ§ã¯ãBGScriptã䜿çšããŠèšç»ãå®è£ ãããããä»ã§ã¯ã»ãšãã©èå³ããããŸããã
BGScriptãšã¯äœã§ããïŒ
BGScriptã¯ã BluegigaãBluetoothããã³Wi-Fiã¢ãžã¥ãŒã«çšã«çºæããã·ã³ãã«ãªã¹ã¯ãªããèšèªã§ãã éçºè ã¯BGScriptã䜿çšããŠãç¬èªã®ã¢ããªã±ãŒã·ã§ã³ãäœæããã¢ãžã¥ãŒã«ã«ããŒãããããšãã§ããŸããããã«ãããã¢ãžã¥ãŒã«ã¯ç¬ç«ããããã€ã¹ã«ãªããå€éšå¶åŸ¡ãå¿ èŠãšããŸããã BluegigaãšSiLabsã®å䜵åŸãSilicon Labsã®æã®äžã§ããã®èšèªã¯é²åãšæ¹åãç¶ããŠããŸãã
BGScriptã䜿çšããå Žåãéçºè ã¯ãã·ã¹ãã ã§çºçããã€ãã³ãã«å¯Ÿããã·ã¹ãã ã®åå¿ãããã次ã®ããã«èª¬æããŸãã
event system_boot(major,minor,patch,build,bootloader,tcpip,hw) # â Wi-Fi- call sme_wifi_on() # Wi-Fi end event sme_wifi_is_on(result) # - Wi-Fi call sme_connect_ssid(6,"myWiFi") # myWiFi end
ã€ãŸã ã¢ãžã¥ãŒã«ããªã³ã«ãªã£ãŠãã-> Wi-Fiããªã³ã«ããã
Wi-Fiããªã³ã«ãªã£ãŠãã->ã¢ã¯ã»ã¹ãã€ã³ãã«æ¥ç¶ãããªã©ã
Wi-Fiã³ã³ãããŒã«ã«å ããŠãBGScriptããã€ã³ã¿ãŒãã§ã€ã¹ãã¿ã€ããŒã®æäœãTCP / UDPãœã±ããïŒã¯ã©ã€ã¢ã³ã/ãµãŒããŒïŒã®äœæãäžæ®çºæ§ã¡ã¢ãªãžã®éèŠãªããŒã¿ã®ä¿åãªã©ãã§ããŸãã詳现ãå¿ èŠãªå Žåã¯ã WF121éçºè ã¬ã€ã ïŒãªã³ã¯-ã®BGScriptèšäºã®æåŸã«ïŒã
BGScriptã®æºåãã§ãããšãæ¡åŒµåã.bgsã®ãã¡ã€ã«ãšããŠWF121ãããžã§ã¯ãã«å«ãŸããŸãã
WF121ãããžã§ã¯ããšã¯äœã§ããïŒ
WF121ãããžã§ã¯ãã¯ãWF121 Wi-Fiã¢ãžã¥ãŒã«ã®èšå®ãšããžãã¯ã®èª¬æãå«ããã¡ã€ã«ã®ã»ããã§ãã ãããžã§ã¯ããã¡ã€ã«ã®ãªã¹ãã¯ãproject.xmlãã¡ã€ã«ã«å«ãŸããŠããŸãã http_servãããžã§ã¯ãã®å Žåãproject.xmlãã¡ã€ã«ã¯æ¬¡ã®ããã«ãªããŸãã
<?xml version="1.0" encoding="UTF-8" ?> <project> <scripting> <script in="main.bgs" /> </scripting> <software> <binary in="fw/wifi_http_serv.juo" /> </software> <hardware> <uart channel="1" baud="5000000" api="true" handshake="True" /> <sleep interrupts="0x1"/> </hardware> <files> <file path="404.html"/> <file path="main.html"/> <file path="ap.html"/> <file path="appl.html"/> <file path="client.html"/> <file path="index.html"/> <file path="logo.gif"/> <file path="style.css"/> </files> </project>
ãæ³åã®ãšãããBGScriptãå«ããã¡ã€ã«ã®ååã¯<scripting>ã¿ã°ã«é 眮ãããŸãã
wifi_http_serv.juoãã¡ã€ã«ã¯æ§æã«äœ¿çšã§ããªããããããã§ã¯èæ ®ããŸããã
project.xmlãã¡ã€ã«ã®<hardware>ã¿ã°ã¯ãäžè¬çã«ã¢ãžã¥ãŒã«ã®å€éšã€ã³ã¿ãŒãã§ã€ã¹ã®æ§æãèšè¿°ããŸã-UARTãSPIãI2Cãã€ãŒãµããããADCãGPIOã ãã®å ŽåãUARTæ§æã®äŸã瀺ããŸãããã®æ§æã¯ã Bluegiga WiFi GUIããã°ã©ã ã䜿çšããŠã¢ãžã¥ãŒã«ããã©ãã·ã¥ããå¯èœæ§ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã ãããã¯ãã€ã³ã¿ãŒãã§ãŒã¹ã®èšè¿°ã¯å¥ã®ãã¡ã€ã«ã§äœæããããšãã§ããŸãã WF121ã€ã³ã¿ãŒãã§ã€ã¹ã®æ§æã®è©³çŽ°ã«ã€ããŠã¯ãã WF121æ§æã¬ã€ãããåç §ããŠãã ããã
<image>ã¿ã°ã«ã¯ãã³ã³ãã€ã«åŸã«åãåã£ãŠã¢ãžã¥ãŒã«ã«ããŒããããã¡ãŒã ãŠã§ã¢ãã¡ã€ã«ã®ååãå«ãŸããŠããŸãã dfuãšhexã®2ã€ã®åœ¢åŒã§ãã¡ã€ã«ãçæã§ããŸãã Bluegiga WiFi GUIããã°ã©ã ã§äœ¿çšãããŠããdfu圢åŒã«é¢å¿ãé«ãŸã£ãŠããŸãã
æåŸã«ã<files>ã¿ã°ã«ã¯ãHTTPãµãŒããŒã«é¢é£ãããã¡ã€ã«ã®èª¬æãå«ãŸããŠããŸãã
詳现ã«èå³ãããå Žåã¯ã WF121æ§æã¬ã€ãã«ããããïŒèšäºã®æåŸã«ãããªã³ã¯ãåç §ïŒã
ãœãŒã¹ãããžã§ã¯ããå€æŽããŠããã©ãŠã¶ããé»çããªã³ãŸãã¯ãªãã«ããŸã
ãæ°ã«å ¥ãã®ã¹ããŒããã©ã³ãã¿ãã¬ããã®ãã©ãŠã¶ããé»çïŒLEDïŒãå¶åŸ¡ããã«ã¯ã次ã®ãã®ãå¿ èŠã§ãã
- ãããžã§ã¯ãã«ãã¿ã³ã®ããWebããŒãžãå«ããã
- BGScriptã䜿çšããŠãåã ã®ãã¿ã³ãæŒãããšãã®Wi-Fiã¢ãžã¥ãŒã«ã®åå¿ã説æããŸãã
- BGScriptãã¡ã€ã«ã§ãLEDãæ¥ç¶ãããŠããã¢ãžã¥ãŒã«ã®åºåãæ§æããããšãå¿ããªãã§ãã ããã
å ã®ãããžã§ã¯ãã«ãã¿ã³ãäœæããŠåºåãæ§æããäŸããããŸãããWEBãã¿ã³ãæŒãããã®ã€ãã³ãåŠçãè¿œå ããã ãã§ãã åèšã§ãDKWF121ãããã°ããŒãã§å¶åŸ¡ã§ãã4ã€ã®LEDãRD4ãRD5ãRD6ãããã³RD7ããããŸãã ãã®äŸã§ã¯LED RD6ããã³RD7ã䜿çšããŠã¢ãžã¥ãŒã«ã®ã¹ããŒã¿ã¹ã瀺ããããLED RD4ããã³RD5ã䜿çšããŠé»çãã·ãã¥ã¬ãŒãããŸãã ãããžã§ã¯ããç§ãã¡ã®ããŒãºã«é©åãããããã«ãæå°éã®å€æŽãè¡ããŸãã
1.å ã®äŸã®HTTPãµãŒããŒã«ã¯ãäžèŠãªè€æ°ã®ããŒãžãšå€ãã®ãã¿ã³ãå«ãŸããŠããŸãããããã¯ãã¹ãŠæ éã«åé€ã§ããLEDãå¶åŸ¡ããããã«ãã¿ã³ã®ãã¢ã2ã€ã ãæ®ããŸãïŒãããžã§ã¯ãã®appl.htmlãã¡ã€ã«ãåç §ïŒã
<body> </form> <form action="/button.cgi" method="get"> <br /> <Input type="submit" name="1" value="On 1" class="btn_body"> <Input type="submit" name="2" value="On 2" class="btn_body"> <br /> <Input type="submit" name="3" value="Off 1" class="btn_body"> <Input type="submit" name="4" value="Off 2" class="btn_body"> </form> </body>
2.ã¢ãžã¥ãŒã«ã®WEBããŒãžã§ãã¿ã³ãã¯ãªãã¯ãããšãã€ãã³ãhttps_buttonïŒæ°å€ïŒãçæãããŸãã main.bgsãã¡ã€ã«ã§ãã®ã€ãã³ããžã®å¿çã次ã®ããã«èšè¿°ããŸãã
event https_button(number) if number = 1 then call hardware_io_port_write(3, $0010, $0010) # 1 â RD4 end if if number = 2 then call hardware_io_port_write(3, $0020, $0020) # 2 â RD5 end if if number = 3 then call hardware_io_port_write(3, $0010, $0000) # 3 â RD4 end if if number = 4 then call hardware_io_port_write(3, $0020, $0000) # 4 â RD5 end if end
3. RD4ããã³RD5 LEDãæ¥ç¶ãããŠããåºåãæ§æããŸãã
event system_boot(major, minor, patch, build, bootloader_version, tcpip_version, hw) ... ... call hardware_io_port_config_direction(3, $0020, $0000) # RD4 call hardware_io_port_write(3, $0020, $0000) # RD4 0 call hardware_io_port_config_direction(3, $0010, $0000) # RD5 call hardware_io_port_write(3, $0010, $0000) # RD5 0 ... end ...
ãã¡ãããè¡ãããå€æŽã¯æå°éã§æžã¿ãã¢ãžã¥ãŒã«ã®éåžžã®åäœã«ã¯ãBGScriptã®ãããªããã³ãŒãã³ã°ããšä»ã®ãããžã§ã¯ããã¡ã€ã«ã®çŸãããå¿ èŠã§ãã
ãã¹ãäžã«Mozilla FirefoxãŸãã¯IEã䜿çšããŠWEBãã¿ã³ãæŒããšãã¢ãžã¥ãŒã«ã§1ã€ã®https_buttonïŒæ°å€ïŒã€ãã³ããçæãããChromeã䜿çšãããšæ倧2ã€ã«ãªããããLEDã®ãªã³ãšãªãã«ç°ãªããã¿ã³ãå²ãåœãŠãããšã«æ³šæããŠãã ããïŒ ãããã£ãŠãChromeãšçµã¿åããããªã³/ãªããã¿ã³ã䜿çšãããšãã©ã³ããããã«ãªã³/ãªãã«ãªãããã¹ã¿ãŒã«ââäžå¿«æãäžããŸãã ãã®çµæãLEDããããããªã³ããã³ãªãã«ããããã«ãããªã³ããšããªããã®å¥ã ã®ãã¿ã³ãäœæããããšã奜ã¿ãŸããã ããã¯ãã¹ãŠãSDK 1.2.4-73ã«é©çšãããŸãã
ãããžã§ã¯ãã®æºåãã§ãããããã¡ãŒã ãŠã§ã¢ãã¡ã€ã«ãçæããŠã¢ãžã¥ãŒã«ã«ããŒãããã ãã§ãã
ãããžã§ã¯ããã³ã³ãã€ã«ããçµæã®ã³ãŒããWF121ã«ããŒãããŸã
Bluegiga WiFi GUIããã°ã©ã ã¯ããã¡ãŒã ãŠã§ã¢ããã°ããã³ã³ãã€ã«ããŠã¢ãžã¥ãŒã«ã«ããŒãããããã«èšèšãããŠããŸãã ãŸããBGAPIã®èª¿æ»ã ãã§ãªããã¢ãžã¥ãŒã«ã®è¿ éãªæ§æ/ãã¹ãã«ã䜿çšãããšäŸ¿å©ã§ãã ãã®ããã°ã©ã ã¯64ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ã®ã¿åäœãã32ãããã§èµ·åãããšã64ããããå¿ èŠã§ãããšè¡šç€ºãããŸãã ãã®å¶éã¯åé¿ã§ãããšã®æèŠããããŸãããç§ã¯è©Šããããšã¯ãããŸããã詳现ã¯ããããŸããããåãã€ããŸããã Bluegiga WiFi GUIã¯ããµã³ãã«ã¢ããªã±ãŒã·ã§ã³ãšãšãã«SDKã®äžéšã§ãã
äžè¬ã«ããããžã§ã¯ããã³ã³ãã€ã«ããŠã¢ãžã¥ãŒã«ã«ããŒããããšãã®ã¢ã¯ã·ã§ã³ã®ã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã
- PC SDK WF121ã«ã€ã³ã¹ããŒã«ããŸãã
- Bluegiga WiFi GUIãèµ·åããŸãã
- ããŒããé床ãéžæãããæ¥ç¶ããã¯ãªãã¯ããŸãã
- [ãã¡ãŒã ãŠã§ã¢ã®ã¢ããã°ã¬ãŒã]ã¿ãã«ç§»åããŸãã
- ããããžã§ã¯ããéãããã¿ã³ã§ãããžã§ã¯ããéžæããŸãã
- [ãã«ã]ãã¿ã³ã§ã³ã³ãã€ã«ããŸãã
- ãBoot to DFU modeããã¯ãªãã¯ããŠãã¢ãžã¥ãŒã«ãããã°ã©ãã³ã°ã¢ãŒãã«ããŸãã
- ãã¢ããããŒãããã¿ã³ã§ãã¡ãŒã ãŠã§ã¢ãããŒãããŸãã
ã¢ãžã¥ãŒã«ã«ãããžã§ã¯ããããŒãããåŸãæºåž¯é»è©±ãã¿ãã¬ãããªã©ãBluegiga Wi-Fiã¢ã¯ã»ã¹ãã€ã³ãã«æ¥ç¶ãããã©ãŠã¶ãŒãèµ·åããŠã192.168.1.1ã®ããŒãžã«ç§»åãããã¿ã³ãæŒããŠLEDãå¿çããã®ã確èªã§ããŸãã ãã®å Žåã®ã¹ããŒããã©ã³ã®ç»é¢ã¯æ¬¡ã®ããã«ãªããŸããã
WF121ãSDKããããžã§ã¯ãã®ããã¥ã¡ã³ãã¯ãwless.ruããããŠã³ããŒãã§ããŸãã
çŸåšãSDKã«ã¯1.2.4-73ãš1.3.0-85ã®2ã€ã®çŸåšã®ããŒãžã§ã³ãããããããã¯äºãã«å®å šã«ã¯äºææ§ããªãããšã«æ³šæããŠãã ããã ãã®å ŽåãããŒãžã§ã³1.2.4-73ã§ãã®äŸã䜿çšããŠãããšæ³å®ãããŸãããã以å€ã®å Žåã¯æ©èœããŸããã
ãã¹ãŠã®æåãšè¯ãæ°åïŒ
wless.ruã®WF121
WF121çšBGScriptéçºè ã¬ã€ã
WF121æ§æã¬ã€ã
WF121ããŒã¿ã·ãŒã
DKWF121ããŒã¿ã·ãŒã
SDK 1.2.4-73
ä¿®æ£ããããããžã§ã¯ãhttp_serv
Bluegiga Webãµã€ãã®WF121ïŒç»é²ãå¿ èŠã§ãïŒ
SiLabs Wi-Fiã³ãã¥ããã£