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,对程序的所有疑问都可以在论坛
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信息。