WLAN
類
class network.WLAN(interface_id)
interface_id:
network.STA_IF — 客戶端,連接到上游WiFi接入點
network.AP_IF — 接入點,允許其他WiFi客戶端連接
定義WLAN
import network
wlan = network.WLAN(network.STA_IF) #創建WLAN對象
函數
wlan.active(is_active)
函數說明:帶有參數時,爲是否激活界面,不帶參數爲查詢當前狀態。
is_active:是否激活
True — 激活(“up”)網絡接口
False — 停用(“down”)網絡接口
wlan.scan()
函數說明:掃描可用的無線網絡(僅在STA接口上進行掃描),返回有關WiFi接入點信息的元組列表。
(ssid,bssid,channel,RSSI,authmode,hidden)
bssid:接入點的硬件地址,以二進制形式返回爲字節對象。您可以使用ubinascii.hexlify()將其轉換爲ASCII格式
authmode:
AUTH_OPEN = 0
AUTH_WEP = 1
AUTH_WPA_PSK = 2
AUTH_WPA2_PSK = 3
AUTH_WPA_WPA2_PSK = 4
AUTH_MAX = 6
hidden:
False — 可見
True — 隱藏
wlan.isconnected()
函數說明:檢查站點是否連接到AP。
在STA模式下,如果連接到WiFi接入點並具有有效的IP地址則返回True,否則返回False。
在AP模式下,當站點連接時返回True,否則返回False。
AP 是指電腦端直接連接 ESP32 發出的熱點實現連接,但這樣電腦不能上網了。
STA是電腦和設備同時連接到相同網段的路由器上。
-
wlan.connect(ssid, password)
函數說明:連接到無線網絡。ssid:WiFi名稱
password:WiFi密碼 -
wlan.config(essid, channel)
函數說明: 獲取接口的MAC adddress或者設置WiFi接入點名稱和WiFi通道。ssid:WiFi賬戶名
channel:WiFi通道 -
wlan.ifconfig([(ip, subnet, gateway, dns)])
函數說明:
不帶參數時,返回一個4元組(ip, subnet_mask, gateway, DNS_server)。
ip:IP地址 subnet_mask:子網掩碼 gateway:網關 DNS_server:DNS服務器 帶參數時,配置靜態IP。
例如:
wlan.ifconfig(config = (‘192.168.0.4’, ‘255.255.255.0’, ‘192.168.0.1’,
‘8.8.8.8’)
wlan.disconnect()
函數說明:斷開與當前連接的無線網絡的連接。wlan.status()
函數說明:返回無線連接的當前狀態。
示例
- 作爲客戶端連接WiFi
import network
SSID = "yourSSID" #WiFi名稱
PASSWORD = "yourPASSWD" #WiFi密碼
wlan = network.WLAN(network.STA_IF) #創建WLAN對象
wlan.active(True) #激活界面
wlan.scan() #掃描接入點
wlan.isconnected() #檢查站點是否連接到AP
wlan.connect(SSID, PASSWORD) #連接到AP
wlan.config('mac') #獲取接口的MAC adddress
wlan.ifconfig() #獲取接口的IP/netmask/gw/DNS地址
- 作爲接入開啓WiFi
import network
ap = network.WLAN(network.AP_IF) #創建接入點界面
ap.active(True) #激活界面
ap.config(essid='ESP-AP',channel=1) #設置接入點的ESSID,和WiFi 通道
- 連接到本地WiFi網絡
import network
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect('SSID', 'PASSWORD') #連接到AP
#'SSID': WiFi賬號名
#'PASSWORD':WiFi密碼
while not wlan.isconnected():
pass
print('network config:', wlan.ifconfig())
bluetooth
函數
bluetooth.ble_settings(..., adv_man_name, adv_dev_name, ...)
adv_man_name:廠商名字
adv_dev_name:設備名字
bluetooth.ble_adv_enable(bool)
函數說明: 開始和停止廣播。
bool:
True — 開始廣播
False — 停止廣播
-
bluetooth.init()
函數說明: 啓用藍牙子系統。如果你只調用了deinit(),你只需要調用init()。 -
bluetooth.deinit()
函數說明: 關機藍牙,由於IDF目前的限制,這不會使BT堆棧返回到較低的狀態。 -
bluetooth.connect(bda)
函數說明: GATTC - 連接到遠程GATTS服務器。
BDA:遠程地址
6個字節,返回一個GATTCConn對象。
bluetooth.Service(uuid,is_primary = True)
函數說明: GATTS - 創建一個新的GATTSService對象。
uuid:一個整數或一個字節(16), 在GATTS中,UUID是全球獨一無二的。
如果嘗試使用與現有(未關閉)的UUID創建服務,則將收到相同的服務對象,並且不會創建新服務。
-
bluetooth.services()
函數說明: GATTS - 返回現有的GATTS服務。 -
bluetooth.conns()
函數說明: GATTC - 返回當前的所有客戶端連接。 -
bluetooth.callback(callback,callback_data)
函數說明: 用於設置藍牙對象級回調的回調函數。
callback:回調函數
可以設置爲無 callback_data:callback調用的參數。
-
bluetooth.scan_start()
函數說明: 來查找GATTS設備。您需要設置藍牙對象回調才能獲得掃描結果。 -
bluetooth.scan_stop()
函數說明: GATTC - 提前終止掃描。如果在掃描超時之前調用,您將不會收到一個bluetooth.SCAN_CMPL事件。 -
bluetooth.is_scanning()
函數說明: GATTC - 如果掃描仍然處於活動狀態,則返回True。