簡化的鴻蒙WiFi接口,僅需幾行代碼,簡單易用!


此文轉載自:https://my.oschina.net/u/4857646/blog/4753376

使用鴻蒙原始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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM