連線到AP的方式總共有兩種:
[秘訣]
(1) BSSID: 指的是AP 的MAC Address
(2) 如果您是使用Mesh WiFi種類的AP, 那就會多一個Mesh ID (mID), 不過筆者並不確定在MicroPython中是否可以使用 mID 取代BSSID 進行連線
PS: 手邊沒有Mesh WiFi AP 可供驗證跟實作
[實作] 假設我們要連線的AP 資訊如下:
eSSID: monkey , PASSWORD: 12345678, MAC Address: 5C:78:76:A8:B2:BA
import network
nic = network.WLAN(STA_IF)
nic.active(True)
[秘訣] 網路裝置預設是沒有啟用的, 請記得在設定後要啟用喔!
2. 連線到AP 並查看連線狀態
>>> nic.connect('monkey', '12345678')
>>> nic.connect('monkey', '12345678',bssid='BSSID hex format')
>>> nic.ifconfig()
('192.168.1.24','255.255.255.0', '192.168.1.1', '192.168.1.1')
[秘訣]
(1) eSSID: 可以讓很多AP 綁定成同一個SSID , AP之間是以數據漫遊的方式互相連線
(2) 如果是要從特定的AP 取值, 那就無法連線到eSSID. 因為這樣所取到的數值會不准
筆者實測過 ESP 裝置在正常沒有遮罩的情況下 數值約負三十幾左右, 但在遮蔽的情況下, 數值會降低成原來的一半. 在硬體設計上, 如果把ESP01S 直接整片焊接在電路板上, 由於電路板本身是Ground, 這就會達到遮蔽的效果.
[秘訣]
(1) 可以直接把遮蔽物[電路板]磨掉或者是從原本的天線上面焊接一個延伸的訊號頭出來, 增加收訊面積
(2) 將ESP01S WIFI 模組墊高, 這樣就不會受到電路板的干擾