使用鴻蒙原始WiFI API接口進行編程,整個過程稍顯繁瑣,為此我們對鴻蒙原始WiFi API接口做了一層封裝,形成了一套更簡單易用的接口。
簡化后的API接口 STA模式
// 連接WiFi熱點,並啟動DHCP客戶端;成功會返回一個netId,失敗返回 -1 int ConnectToHotspot(WifiDeviceConfig* apConfig);
// 斷開WiFi連接,以及停止DHCP客戶端 void DisconnectWithHotspot(int netId);
AP模式
// 打開WiFi熱點,同時啟動DHCP服務器,成功返回SUCCESS int StartHotspot(const HotspotConfig* config);
void StopHotspot(void);
使用示例
STA模式,連接其他熱點:
// setup your AP params
WifiDeviceConfig apConfig = {0};
strcpy(apConfig.ssid, "ABCD");
strcpy(apConfig.preSharedKey, "12345678");
apConfig.securityType = WIFI_SEC_TYPE_PSK;
int netId = ConnectToHotspot(&apConfig);
斷開到WiFi熱點的連接:
DisconnectWithHotspot(netId);
AP模式,開啟WiFi熱點:
// 准備AP的配置參數
HotspotConfig config = {0};
strcpy(config.ssid, "HiSpark-AP");
strcpy(config.preSharedKey, "12345678");
config.securityType = WIFI_SEC_TYPE_PSK;
WifiErrorCode errCode = StartHotspot(&config);
printf("StartHotspot: %d\n", errCode);
關閉熱點:
StopHotspot();
當然,整個實現代碼也不復雜,你可以再此基礎之上參考着自己重新實現,或者進行一些修改。
完整demo代碼,可以在本帖附件下載。
如何編譯 本項目下有兩個示例代碼,源碼位於demo目錄下,編譯請按照如下流程進行;
將附件代碼解壓到本地openharmony源碼的頂層目錄;
修改openharmony的build\lite\product\wifiiot.json文件:將"//applications/sample/wifi-iot/app"替換為"easy_wifi:app"
執行編譯命令:python build.py wifiiot
如需編譯AP模式的demo,請修改demo目錄下的BUILD.gn文件;注釋掉"wifi_connect_demo.c"行,放開"wifi_hotspot_demo.c"行;
鴻蒙原始WiFiService接口
使用鴻蒙原始WiFI API接口進行編程,STA模式需要使用原始STA接口以及一些DHCP客戶端接口。
STA模式 鴻蒙WiFi STA模式的API接口有: 
以及Hi3861 SDK的DHCP客戶端接口: 
AP模式
使用鴻蒙原始WiFI API接口進行編程,AP模式需要使用原始AP模式接口以及一些DHCP服務端接口。
鴻蒙WiFi STA模式的API接口有: 
以及Hi3861 DHCP服務端接口: 
項目地址:https://gitee.com/hihopeorg/easy_wifi
如果發現有什么錯誤,或者可以改進的地方歡迎在這里評論,或者到碼雲上提交 Issue
作者:許思維
想了解更多內容,請訪問: 51CTO和華為官方戰略合作共建的鴻蒙技術社區https://harmonyos.51cto.com

