鹹魚Micropython— network

鹹魚Micropython— network

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對象

函數

  1. wlan.active(is_active)
    函數說明:帶有參數時,爲是否激活界面,不帶參數爲查詢當前狀態。

is_active:是否激活
True — 激活(“up”)網絡接口
False — 停用(“down”)網絡接口

  1. 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 — 隱藏
  1. wlan.isconnected()
    函數說明:檢查站點是否連接到AP。
    在STA模式下,如果連接到WiFi接入點並具有有效的IP地址則返回True,否則返回False。
    在AP模式下,當站點連接時返回True,否則返回False。

AP 是指電腦端直接連接 ESP32 發出的熱點實現連接,但這樣電腦不能上網了。
STA是電腦和設備同時連接到相同網段的路由器上。

  1. wlan.connect(ssid, password)
    函數說明:連接到無線網絡。

    ssid:WiFi名稱
    password:WiFi密碼

  2. wlan.config(essid, channel)
    函數說明: 獲取接口的MAC adddress或者設置WiFi接入點名稱和WiFi通道。

    ssid:WiFi賬戶名
    channel:WiFi通道

  3. 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’)

  1. wlan.disconnect()
    函數說明:斷開與當前連接的無線網絡的連接。
  2. wlan.status()
    函數說明:返回無線連接的當前狀態。

示例

  1. 作爲客戶端連接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地址
  1. 作爲接入開啓WiFi
import network

ap = network.WLAN(network.AP_IF)     #創建接入點界面
ap.active(True)                      #激活界面
ap.config(essid='ESP-AP',channel=1)  #設置接入點的ESSID,和WiFi 通道
  1. 連接到本地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

函數

  1. bluetooth.ble_settings(..., adv_man_name, adv_dev_name, ...)

adv_man_name:廠商名字
adv_dev_name:設備名字

  1. bluetooth.ble_adv_enable(bool)
    函數說明: 開始和停止廣播。

bool:
True — 開始廣播
False — 停止廣播

  1. bluetooth.init()
    函數說明: 啓用藍牙子系統。如果你只調用了deinit(),你只需要調用init()。

  2. bluetooth.deinit()
    函數說明: 關機藍牙,由於IDF目前的限制,這不會使BT堆棧返回到較低的狀態。

  3. bluetooth.connect(bda)
    函數說明: GATTC - 連接到遠程GATTS服務器。

BDA:遠程地址
6個字節,返回一個GATTCConn對象。

  1. bluetooth.Service(uuid,is_primary = True)
    函數說明: GATTS - 創建一個新的GATTSService對象。

uuid:一個整數或一個字節(16), 在GATTS中,UUID是全球獨一無二的。
如果嘗試使用與現有(未關閉)的UUID創建服務,則將收到相同的服務對象,並且不會創建新服務。

  1. bluetooth.services()
    函數說明: GATTS - 返回現有的GATTS服務。

  2. bluetooth.conns()
    函數說明: GATTC - 返回當前的所有客戶端連接。

  3. bluetooth.callback(callback,callback_data)
    函數說明: 用於設置藍牙對象級回調的回調函數。

callback:回調函數
可以設置爲無 callback_data:callback調用的參數。

  1. bluetooth.scan_start()
    函數說明: 來查找GATTS設備。您需要設置藍牙對象回調才能獲得掃描結果。

  2. bluetooth.scan_stop()
    函數說明: GATTC - 提前終止掃描。如果在掃描超時之前調用,您將不會收到一個bluetooth.SCAN_CMPL事件。

  3. bluetooth.is_scanning()
    函數說明: GATTC - 如果掃描仍然處於活動狀態,則返回True。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章