跳转至

WiFi联网

控制命令摘要

XR806_OpenHarmony开发板SDK中集成了console控制台程序,可以使用串口命令,使开发板wifi联网,常用的开发板命令有:

STA模式常用命令

hm net sta enable:切换到sta模式。

hm net sta scan:搜索周边热点,并返回搜索到的热点,最多显示30条。

hm net sta connect < ssid > < psk >:连接指定热点,在没有进行搜索的情况下默认加密方式为WPA/WPA2,如果连接不上,可以尝试先扫描再连接,开发热点不需要填psk。

hm net disconnect:断开wifi连接

hm net disable:退出STA模式。

AP模式常用命令

hm net ap config ch=<1~13> ssid=< ssid > psk=< psk >:设置热点信息,分别是信道,ssid和psk,开发热点的情况下psk可不填。

hm net ap enable :使能wifi热点,如果没有使用config命令预先设置热点,则ssid默认为AP-XRADIO。

hm net ap disable:关闭wifi热点,在热点开启的情况下config不会生效,需要disable后再enable才能生效。

API说明

wifi的例程可以参考device/xradio/xr806/ohosdemo/wlan_demo,wifi的API的头文件在foundation/communication/wifi_lite/interfaces/wifiservice,对程序的所有疑问都可以在论坛或者gitee的issue中提问。

STA_API

EnableWifi(void):使能wifi,开启后进入STA模式。

DisableWifi(void):关闭wifi,也可以理解为关闭STA模式。

Scan(void):扫描热点。

GetScanInfoList(WifiScanInfo result, unsigned int size):获取扫描结果,返回结果保存在result,热点数量保存在size。

AddDeviceConfig(const WifiDeviceConfig config, int result):记忆热点信息,断电后依旧保存。其中config就是热点信息,添加成功则result为wifi的ID,后续通过该ID对wifi热点进行操作。

GetDeviceConfigs(WifiDeviceConfig result, unsigned int size):获取指点热点的ID,返回结果保存在size中。

RemoveDevice(int networkId):根据ID删除已保存的热点信息。

ConnectTo(int networkId):连接到指定热点。

Disconnect(void):断开连接。

GetLinkedInfo(WifiLinkedInfo* result):已经连接上热点后,可以获取当前热点的信息。

RegisterWifiEvent(WifiEvent* event):注册回调函数,通过回调函数,可以令wifi在wifi扫描完成,wifi连接成功,wifi断开等情况下,主动去运行回调函数,具体情况可以参考device/xradio/xr806/adapter/hals/communication/wifi_lite/xr_wifi/xr_wifi_adapter.c:xr_wifi_event_process(uint32_t event, uint32_t data, void *arg)。

UnRegisterWifiEvent(const WifiEvent* event):取消回调函数的注册。

AP_API

EnableHotspot(void):使能热点模式

DisableHotspot(void):关闭热点模式

SetHotspotConfig(const HotspotConfig* config):设置热点信息。

GetHotspotConfig(HotspotConfig* result):获取热点信息。

GetStationList(StationInfo result, unsigned int size):获取已连接的STA信息。