iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 16
0
自我挑戰組

Micropython x ESP H/W 之三十個錦囊妙計系列 第 16

[錦囊XVI] 連線到AP的種類有哪些及天線訊號容易被干擾嗎?

  • 分享至 

  • xImage
  •  

連線到AP的方式總共有兩種:

  • SSID + PASSWORD
  • SSID + PASSWORD + BSSID

[秘訣]
(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

  1. 匯入網路模組及將ESP裝置切換成STA 模式後並啟用
import network
nic = network.WLAN(STA_IF)
nic.active(True)

[秘訣] 網路裝置預設是沒有啟用的, 請記得在設定後要啟用喔!
2. 連線到AP 並查看連線狀態

  • 類型一: SSID + PASSWORD
    (1) 連線到AP 並輸入SSID 及密碼
>>> nic.connect('monkey', '12345678')
  • 類型二: SSID + PASSWORD + BSSID
>>> nic.connect('monkey', '12345678',bssid='BSSID hex format')
  1. 查看連線資訊
>>> 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 模組墊高, 這樣就不會受到電路板的干擾


上一篇
[錦囊XV] NTP (網路校時) 服務時好時壞怎麼辦?
下一篇
[錦囊XVII] 二進制處理方式 [上] --- unpack
系列文
Micropython x ESP H/W 之三十個錦囊妙計31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言