建置物聯網裝置時通常需要設定WiFi連線到本地的無線路由器(WiFi分享器)。ESP8266開發板整合WiFi網路晶片,所以可以使用三種工作模式連接WiFi。
以 MicroPython 程式碼來控制 ESP8266 開發板(Wemos D1 Mini)網路功能需要用到 network 模組來建立WLAN物件。
另外,因為ESP8266 開發板所掃描到基地台MAC 為二進制值,為了轉圜成常見的16進制表示法,所以需再程式中再匯入 ubinascii 模組。
撰寫程式碼如下:import network import ubinascii sta = network.WLAN(network.STA_IF) sta.active(True) #掃描列表基地台 stas = sta.scan() print("列表無線基地台") for ap in stas: ssid = ap[0].decode() mac = ubinascii.hexlify(ap[1], ":").decode() print(ssid, mac) print("無線基地台列表完成") #中斷既有連線 sta.disconnect() #連線指定的基地台 if not sta.isconnected(): print("無線基地台連線中...") sta.connect('SSID名稱', '連線密碼') while not sta.isconnected(): pass #基地台連線成功後顯示連線資訊 if sta.isconnected(): print("連線成功!!") print("network config:", sta.ifconfig()) #sta.disconnect()以上程式碼完成三件事:
- 掃描附近可用之WiFi無線基地台
- 連線指定的WiFi無線基地台
- 基地台連線成功後顯示連線資訊