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。