一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】用代碼和AT命令連接Wifi

開(kāi)發(fā)板試用精選 ? 來(lái)源:開(kāi)發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-31 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來(lái)源電子發(fā)燒友社區(qū),作者:jf_53933321, 帖子地址:https://bbs.elecfans.com/jishu_2289291_1_1.html


1. 代碼連接wifi

1.1 相關(guān)API
(1)WifiErrorCode EnableWifi(void)打開(kāi)Wi-Fi設(shè)備的STA 模式,可以理解為開(kāi)啟設(shè)備的Wi-Fi功能,使其可以掃描,并且連接到某個(gè)接入點(diǎn)。
(2)WifiErrorCode DisableWifi(void)該函數(shù)禁用設(shè)備的STA模式。在調(diào)用該函數(shù)之后,設(shè)備不能進(jìn)行掃描、聯(lián)網(wǎng)等操作。
(3)int IsWifiActive(void)該函數(shù)用于判斷Wi-Fi設(shè)備的STA模式是否已經(jīng)打開(kāi)。
(4)WifiErrorCode AddDeviceConfig(constWifiDeviceConfig*config,int*result)該函數(shù)用于增加設(shè)備的 Wi-Fi 配置。
(5)WifiErrorCode GetDeviceConfigs(WifiDeviceConfig*result,unsignedint*size)該函數(shù)用于獲取所有有效的Wi-Fi 配置,結(jié)果保存在result 中。size 指定可獲取的最大的配置數(shù),為result 的長(zhǎng)度。
(6)WifiErrorCode RemoveDevice(int networkId)該函數(shù)用于根據(jù)net id 刪除一個(gè)Wi-Fi 配置。
(7)WifiErrorCode Disconnect(void)該函數(shù)用于斷開(kāi)Wi-Fi連接。
(8)WifiErrorCode GetLinkedInfo(WifiLinkedInfo*result)該函數(shù)用于獲取 Wi-Fi 設(shè)備客戶端當(dāng)前連接的接入點(diǎn)的信息。
(9)WifiErrorCode RegisterWifiEvent(WifiEvent*event)該函數(shù)用于注冊(cè)Wi-Fi事件的回調(diào)函數(shù),可用于開(kāi)發(fā)者在自己開(kāi)發(fā)的應(yīng)用中注冊(cè)相應(yīng)的回調(diào)函數(shù),監(jiān)聽(tīng)Wi-Fi狀態(tài)的變化,根據(jù)不同的狀態(tài),做相應(yīng)的處理。
(10)WifiErrorCode UnRegisterWifiEvent(const WifiEvent*event)該函數(shù)用于注銷Wi-Fi事件。
(11)WifiErrorCode GetDeviceMacAddress(unsigned char*result)該函數(shù)用于獲取設(shè)置的 MAC 地址。
1.2 具體代碼
  1. int ConnectToHotspot(void)
  2. {
  3. WifiDeviceConfig config = {0};
  4. // 準(zhǔn)備AP的配置參數(shù)
  5. strcpy_s(config.ssid, SSID_LEN, PARAM_HOTSPOT_SSID);
  6. strcpy_s(config.preSharedKey, PSK_LEN, PARAM_HOTSPOT_PSK);
  7. config.securityType = PARAM_HOTSPOT_TYPE;
  8. osDelay(10); /* 延時(shí)10ms */
  9. WifiErrorCode errCode;
  10. int netId = -1;
  11. errCode = RegisterWifiEvent(&g_defaultWifiEventListener);
  12. printf("RegisterWifiEvent: %drn", errCode);
  13. errCode = EnableWifi();
  14. printf("EnableWifi: %drn", errCode);
  15. errCode = AddDeviceConfig(&config, &netId);
  16. printf("AddDeviceConfig: %drn", errCode);
  17. g_connected = 0;
  18. errCode = ConnectTo(netId);
  19. printf("ConnectTo(%d): %drn", netId, errCode);
  20. while (!g_connected) { // wait until connect to AP
  21. osDelay(10); /* 持續(xù)10ms去連接AP */
  22. printf("continue connecting");
  23. }
  24. printf("g_connected: %drn", g_connected);
  25. g_iface = netifapi_netif_find("wlan0");
  26. if (g_iface) {
  27. char* hostname = "hispark";
  28. err_t ret = netifapi_set_hostname(g_iface, hostname, strlen(hostname));
  29. printf("netifapi_set_hostname: %drn", ret);
  30. ret = netifapi_dhcp_start(g_iface);
  31. printf("netifapi_dhcp_start: %drn", ret);
  32. osDelay(100); // wait DHCP server give me IP 100
  33. #if 1
  34. ret = netifapi_netif_common(g_iface, dhcp_clients_info_show, NULL);
  35. printf("netifapi_netif_common: %drn", ret);
  36. #else
  37. #endif
  38. }
  39. return netId;
  40. }
復(fù)制代碼
1.3 實(shí)物演示
用串口助手連上去,發(fā)現(xiàn)到connect那一步就返回錯(cuò)誤了,我在代碼里加了嘗試連接輸出信息,依然還是連不上,需要進(jìn)一步排查問(wèn)題原因,如果有大佬能知道下就更好了。
pYYBAGK22yyATDkBAACNthPpBB4388.png
2. AT命令連接wifi
AT命令也可以連接wifi,跟api調(diào)用順序是一樣的。
WPA2_PSK。
AT+PING這一步后面的是我的PC機(jī)器IP地址,可以測(cè)試能否能ping通。
  1. AT+RST
  2. AT+STARTSTA
  3. AT+SCAN
  4. AT+SCANRESULT
  5. AT+CONN="360JDCWiFi-701",,2,"XXXXX"
  6. AT+DHCP=wlan0,1
  7. AT+IFCFG
  8. AT+PING=192.168.0.14 //我的PC機(jī)器IP地址
  9. AT+DISCONN
復(fù)制代碼
3. 總結(jié)
這次實(shí)驗(yàn)有個(gè)遺憾就是用代碼沒(méi)能成功連接我的wifi,需要進(jìn)一步排查問(wèn)題原因,如果有大佬能指點(diǎn)迷津不吝賜教就好了。
用代碼操作靈活性更好,因?yàn)榭梢杂?/font>RegisterWifiEvent進(jìn)行設(shè)置自定義事件。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • wi-fi
    +關(guān)注

    關(guān)注

    14

    文章

    2256

    瀏覽量

    126929
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2125

    瀏覽量

    32936
  • HiSpark
    +關(guān)注

    關(guān)注

    1

    文章

    156

    瀏覽量

    7408
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Wi-Fi 8要來(lái)了!未來(lái)Wi-Fi技術(shù)演進(jìn)方向揭秘

    產(chǎn)品銷售中,雖然Wi-Fi 7產(chǎn)品的銷量份額快速?gòu)哪瓿醯膫€(gè)位數(shù)百分比增長(zhǎng)至14%,但Wi-Fi 6產(chǎn)品的銷量份額依然穩(wěn)定在60%左右。如果從存量設(shè)備來(lái)看,那么Wi-Fi 7路由器的占比將遠(yuǎn)遠(yuǎn)小于這個(gè)數(shù)。 ? 智能手機(jī)等終端設(shè)備已
    的頭像 發(fā)表于 11-24 03:14 ?3803次閱讀
    <b class='flag-5'>Wi-Fi</b> 8要來(lái)了!未來(lái)<b class='flag-5'>Wi-Fi</b>技術(shù)演進(jìn)方向揭秘

    BLE代碼示例中Wi-Fi連接重試失敗的原因?

    您好,我正在使用 BLE 代碼示例進(jìn)行 Wi-Fi 接入。我從 modus 工具箱下載了代碼示例。 代碼示例包含所有最新的庫(kù)。 當(dāng)在提供 SSID 和密碼后從手機(jī)發(fā)送
    發(fā)表于 07-08 07:42

    Wi-Fi 8:開(kāi)啟極高可靠性 (UHR) 連接的新紀(jì)元——1

    英國(guó)作家狄更斯在《雙城記》的開(kāi)頭寫(xiě)道:“這是最好的時(shí)代,也是最壞的時(shí)代?!?這句話若套用在現(xiàn)今Wi-Fi 的市場(chǎng)現(xiàn)狀,何嘗不是驚人的相似? 怎么說(shuō)呢?Wi-Fi 從被發(fā)明至今已經(jīng)經(jīng)過(guò)了20多年的迭代
    發(fā)表于 06-13 11:09

    連接到 WPA3_WPA2_PSK 或 WPA3_SAE Wi-Fi 網(wǎng)絡(luò)時(shí)系統(tǒng)掛起,為什么?

    Wi-Fi 網(wǎng)絡(luò)時(shí),我的系統(tǒng)掛起了。 它與所有其他安全類型連接良好。 我正在使用最新的 WHD 庫(kù)。 誰(shuí)能解釋為什么會(huì)發(fā)生此問(wèn)題以及我該如何解決它? 您可以參考 WiFi Onboarding 示例
    發(fā)表于 06-05 07:23

    基于 Wi-Fi 的定位服務(wù)

    以下捕獲使用 location_wifi_get 函數(shù)請(qǐng)求 Wi-Fi 定位服務(wù)。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。 Got location: method
    發(fā)表于 04-17 15:16

    Wi-Fi 定位服務(wù)流程

    變化。 Cellular: Location 示例中最初的 location_wifi_get() 函數(shù)可用于請(qǐng)求 Wi-Fi 定位服務(wù)。啟用附加日志配置有助于了解請(qǐng)求過(guò)程。 Add
    發(fā)表于 04-17 15:09

    nRF Cloud Wi-Fi 定位服務(wù)

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過(guò)利用 nRF Cloud 的優(yōu)化定位算法,基于 Nordic SoC 和 模組的產(chǎn)品可在定位
    發(fā)表于 04-17 15:07

    Wi-Fi 定位服務(wù)

    Wi-Fi 是一種著名的無(wú)線網(wǎng)絡(luò)技術(shù),用于設(shè)備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過(guò) Wi-Fi 網(wǎng)絡(luò)為家庭、辦公室和學(xué)校等環(huán)境提供便捷的無(wú)線互聯(lián)網(wǎng)接入服務(wù)。 Wi-Fi 定位是一種
    發(fā)表于 04-17 15:01

    華為海思正式進(jìn)入Wi-Fi FEM賽道?

    大家都知道了,2018年11 月離開(kāi)銳迪科(RDA),前往福建晉江創(chuàng)立三伍微,專注于Wi-Fi射頻前端芯片,從路由器Wi-Fi FEM,到手機(jī)Wi-Fi FEM,再到IoT FEM全覆
    發(fā)表于 12-11 17:42

    Wi-Fi 4到Wi-Fi 7:網(wǎng)速飆升40倍的無(wú)線革命

    1 Wi-Fi技術(shù)的快速發(fā)展 每一代新的Wi-Fi協(xié)議發(fā)布,都會(huì)帶來(lái)更高的無(wú)線速率。 ? 從Wi-Fi 4到Wi-Fi 7:無(wú)線網(wǎng)絡(luò)技術(shù)顯著提升,實(shí)現(xiàn)了網(wǎng)速的巨大飛躍。 ? ?
    的頭像 發(fā)表于 12-09 10:10 ?1039次閱讀
    從<b class='flag-5'>Wi-Fi</b> 4到<b class='flag-5'>Wi-Fi</b> 7:網(wǎng)速飆升40倍的無(wú)線革命

    Wi-Fi 7與Wi-Fi 6E有什么區(qū)別

    也許很多人還在考慮是否要將使用的Wi-Fi設(shè)備升級(jí)到Wi-Fi 6或Wi-Fi 6E,而這些標(biāo)準(zhǔn)的繼任者卻已經(jīng)開(kāi)始“登堂入室”了。Wi-Fi 7是新一代
    的頭像 發(fā)表于 11-07 11:38 ?3427次閱讀

    【AI技術(shù)支持】ESP32無(wú)線Wi-Fi常用調(diào)試API

    。啟明云端/02常見(jiàn)問(wèn)題ESP32進(jìn)行Wi-Fi連接時(shí),如何判斷失敗原因?在ESP-IDF4.0以上的版本,可以在Wi-Fi斷連事件處理中加入以下代碼,從而通過(guò)錯(cuò)
    的頭像 發(fā)表于 10-26 08:00 ?1795次閱讀
    【AI技術(shù)支持】ESP32無(wú)線<b class='flag-5'>Wi-Fi</b>常用調(diào)試API

    IR900 Wi-Fi聯(lián)網(wǎng)的配置過(guò)程

    例如上圖,IR900 通過(guò)Wi-Fi接口連接公司辦公無(wú)線網(wǎng)絡(luò) inhand-office (SSID為無(wú)線網(wǎng)絡(luò)的名稱) 首先將Wi-Fi接口與WLAN接口解綁 登陸IR900后,進(jìn)入
    發(fā)表于 07-25 06:09

    AT 0.60.0.0看不到我的Wi-Fi網(wǎng)絡(luò),為什么?

    我對(duì) AT 0.60.0.0 有一點(diǎn)問(wèn)題。當(dāng)我通過(guò) AT CWLAP 顯示所有網(wǎng)絡(luò)時(shí),我看不到我的路由器 AP 網(wǎng)絡(luò),但我可以連接到它。當(dāng)我在智能手機(jī)中打開(kāi) Wi-Fi 熱點(diǎn)時(shí),我可以看到我的熱點(diǎn)
    發(fā)表于 07-18 08:31

    如何記住ESP8266中的Wi-Fi憑據(jù)?

    如果使用 AT 命令 AT CWSMARTSTART=1 并在執(zhí)行電源重啟后,將記住 Wi-Fi 憑據(jù)。我從舊公司項(xiàng)目中看到了那個(gè)命令。實(shí)際的AT用戶手冊(cè)中沒(méi)有提到。 如果使用 AT
    發(fā)表于 07-15 07:07