0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】wifi连上不网

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-31 15:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:华仔stm32, 帖子地址:https://bbs.elecfans.com/jishu_2287654_1_1.html


跟着这篇学习了一下wifi连网:【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】第5章 WiFi联网(STA模式) - HarmonyOS技术社区-电子技术论坛- 广受欢迎的专业电子论坛! (elecfans.com)。
poYBAGKvEP2Ael9_AAHh9dqFDqo190.png
wifi_app.c:
  1. /**
  2. ******************************************************************************
  3. * [url=home.php?mod=space&uid=1455510]@file[/url] wifi_app.c
  4. * [url=home.php?mod=space&uid=40524]@author[/url] BruceOu
  5. * [url=home.php?mod=space&uid=644434]@version[/url] V1.0
  6. * @date 2022-06-19
  7. * [url=home.php?mod=space&uid=2676013]@blog[/url]
  8. * [url=home.php?mod=space&uid=3179494]@Official[/url] Accounts
  9. * [url=home.php?mod=space&uid=2666770]@Brief[/url]
  10. ******************************************************************************
  11. */
  12. #include
  13. #include
  14. #include "ohos_init.h"
  15. #include "cmsis_os2.h"
  16. #include"hi_wifi_api.h"
  17. #include"lwip/ip_addr.h"
  18. #include "lwip/netifapi.h"
  19. #define SSID "HUAWEI-21321312"
  20. #define PASSWORD "12423424234@"
  21. static struct netif *g_lwip_netif = NULL;
  22. /**
  23. * @briefSet netif's ip, gatewayand netmask
  24. * [url=home.php?mod=space&uid=3142012]@param[/url]pst_lwip_netif
  25. * @retval None
  26. */
  27. void hi_sta_set_addr(struct netif *pst_lwip_netif)
  28. {
  29. ip4_addr_t st_gw;
  30. ip4_addr_t st_ipaddr;
  31. ip4_addr_t st_netmask;
  32. if (pst_lwip_netif == NULL)
  33. {
  34. printf("hisi_reset_addr::Nullparam of netdevrn");
  35. return;
  36. }
  37. IP4_ADDR(&st_gw, 192, 168, 3, 1);
  38. IP4_ADDR(&st_ipaddr, 192, 168, 3,100);
  39. IP4_ADDR(&st_netmask, 255, 255, 255,0);
  40. netifapi_netif_set_addr(pst_lwip_netif,&st_ipaddr, &st_netmask, &st_gw);
  41. }
  42. /**
  43. * @briefWifi connect
  44. * @paramNone
  45. * @retval None
  46. */
  47. int hi_wifi_start_connect(void)
  48. {
  49. int ret;
  50. errno_t rc;
  51. hi_wifi_assoc_request assoc_req = {0};
  52. // Copy SSID to assoc_req
  53. rc = memcpy_s(assoc_req.ssid,HI_WIFI_MAX_SSID_LEN + 1, SSID, strlen(PASSWORD));
  54. if (rc != EOK)
  55. {
  56. printf("[Wifi Connnect]hi_wifi_sta_connect fail");
  57. printf("%s %d rn",__FILE__, __LINE__);
  58. return -1;
  59. }
  60. //Set encryption method
  61. assoc_req.auth = HI_WIFI_SECURITY_WPA2PSK;
  62. // Wifi password
  63. memcpy(assoc_req.key, PASSWORD,strlen(PASSWORD));
  64. ret = hi_wifi_sta_connect(&assoc_req);
  65. if (ret != HISI_OK)
  66. {
  67. printf("[WifiConnnect] hi_wifi_sta_connect fail");
  68. printf("%s %d rn",__FILE__, __LINE__);
  69. return -1;
  70. }
  71. return 0;
  72. }
  73. /**
  74. * @briefwifi task
  75. * @paramNone
  76. * @retval None
  77. */
  78. void wifi_task(void)
  79. {
  80. int ret;
  81. char ifname[WIFI_IFNAME_MAX_SIZE + 1] ={0};
  82. int len = sizeof(ifname);
  83. unsigned intnum = WIFI_SCAN_AP_LIMIT;
  84. //Step 1: Start STA mode, AT+STARTSTA
  85. ret = hi_wifi_sta_start(ifname, &len);
  86. if (ret != HISI_OK)
  87. {
  88. printf("[Wifi Connnect]hi_wifi_sta_start fail");
  89. printf("%s %d rn",__FILE__, __LINE__);
  90. return;
  91. }
  92. // Step 2: Connect to the specified AP:,AT+CONN="SSID", ,2,"PASSWORD"
  93. ret = hi_wifi_start_connect();
  94. if (ret != 0)
  95. {
  96. printf("[Wifi Connnect]hi_wifi_start_connect fail");
  97. printf("%s %d rn",__FILE__, __LINE__);
  98. return ;
  99. }
  100. // Step 3: DHCP requests the IP address ofwlan0 from the AP, AT+DHCP=wlan0,1
  101. g_lwip_netif = netifapi_netif_find(ifname);
  102. if(NULL == g_lwip_netif)
  103. {
  104. printf("[Wifi Connnect]netifapi_netif_find fail");
  105. printf("%s %d rn",__FILE__, __LINE__);
  106. return;
  107. }
  108. //DHCP automatically assigns IP
  109. if(ret !=netifapi_dhcp_start(g_lwip_netif))
  110. {
  111. printf("[Wifi Connnect]netifapi_dhcp_start fail");
  112. return;
  113. }
  114. printf("[Wifi Connnect] Connect towifi successfullyn");
  115. }
  116. SYS_RUN(wifi_task);
复制代码
BUILD.gn:
  1. static_library("wifi_app") {
  2. sources = [
  3. "wifi_app.c"
  4. ]
  5. include_dirs = [
  6. "//utils/native/lite/include"
  7. ]
  8. }
复制代码
app/BUILD.gn为:
  1. import("//build/lite/config/component/lite_component.gni")
  2. lite_component("app") {
  3. features = [
  4. "iothardware:led_example",
  5. "wifi_connect:wifi_app"
  6. ]
  7. }
复制代码
编译通过,下载后显示wifi连接成功,但是报错:
  1. ready to OS start
  2. sdk ver:Hi3861V100R001C00SPC025 2020-09-03 18:10:00
  3. FileSystem mount ok.
  4. wifi init success!
  5. hilog will init.
  6. hievent will init.
  7. hievent init success.
  8. [Wifi Connnect] Connect towifi successfully
  9. hiview init success.
  10. No crash dump found!
  11. +NOTICE:SCANFINISH
  12. +NOTICE:NETWORK NOT FIND
  13. +NOTICE:SCANFINISH
  14. +NOTICE:NETWORK NOT FIND
复制代码
麻烦各位大佬帮解答一下。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    15

    文章

    2379

    浏览量

    128882
  • HarmonyOS
    +关注

    关注

    80

    文章

    2146

    浏览量

    35554
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    7683
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Wi-Fi信号满格但实际上不了,一文搞定

    Wi-Fi图标满格,刷视频却一直转圈 微信发消息提示网络错误,但明明显示已连接 …… 其实,Wi-Fi信号满格仅代表“设备与路由器连接正常”,代表“路由器能正常联网”,问题多出在“路由器配置
    的头像 发表于 09-29 14:34 4547次阅读

    浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术

    作者: Qorvo 亚太区无线连接事业部高级行销经理林健富   2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
    发表于 09-19 18:29 1314次阅读
    浅谈<b class='flag-5'>Wi-Fi</b> 6E与<b class='flag-5'>Wi-Fi</b> 7的关键器件——BAW滤波器新技术

    如何更新 NuMaker IoT 板上的 Wi-Fi 模块固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模块固件
    发表于 09-04 08:28

    基于 SSID 的 Wi-Fi 定位:与其他定位服务的性能比较

    是一种著名的无线网络技术,用于设备的局域和互联网接入。Wi-Fi 通过 Wi-Fi 网络为家庭、办公室和学校等环境提供便捷的无线互联网接入服务。 Wi-Fi 定位是一种地理定位功能
    发表于 08-31 21:01

    LitePoint Wi-Fi测试软件减轻客户设计负担

    Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
    的头像 发表于 08-06 15:34 889次阅读
    LitePoint <b class='flag-5'>Wi-Fi</b>测试软件减轻客户设计负担

    Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——1

    英国作家狄更斯在《双城记》的开头写道:“这是最好的时代,也是最坏的时代。” 这句话若套用在现今Wi-Fi 的市场现状,何尝不是惊人的相似? 怎么说呢?Wi-Fi 从被发明至今已经经过了20多年的迭代
    发表于 06-13 11:09

    国产Wi-Fi 6新一代通信技术的推广,WIFI模块行业将迎来更多发展机遇.

    WIFI模块行业技术更新换代迅速,新技术如Wi-Fi 6、Wi-Fi 7等不断推出,对旧技术形成快速替代。Wi-Fi 6相比之前的版本,在传输速度、网络容量、能效等方面有了显著提升,更
    的头像 发表于 05-08 17:07 984次阅读
    国产<b class='flag-5'>Wi-Fi</b> 6新一代通信技术的推广,<b class='flag-5'>WIFI</b>模块行业将迎来更多发展机遇.

    Wi-Fi HaLow如何突破传统Wi-Fi性能瓶颈?

    视频推荐在万物互联的时代,传统Wi-Fi在覆盖范围、功耗、连接数上渐显不足。而Wi-FiHaLow的诞生,正在用黑科技打破传统Wi-Fi的性能瓶颈!今天,我们一起来探究Wi-FiHaL
    的头像 发表于 04-22 11:38 729次阅读
    <b class='flag-5'>Wi-Fi</b> HaLow如何突破传统<b class='flag-5'>Wi-Fi</b>性能瓶颈?

    基于 Wi-Fi 的定位服务

    以下捕获使用 location_wifi_get 函数请求 Wi-Fi 定位服务。该事件的总功耗为 125.85mC,日志显示精确度为 30.0m。 Got location: method
    发表于 04-17 15:16

    Wi-Fi 定位服务流程

    变化。 Cellular: Location 示例中最初的 location_wifi_get() 函数可用于请求 Wi-Fi 定位服务。启用附加日志配置有助于了解请求过程。 Add
    发表于 04-17 15:09

    nRF Cloud Wi-Fi 定位服务

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通过利用 nRF Cloud 的优化定位算法,基于 Nordic SoC 和 模组的产品可在定位用例
    发表于 04-17 15:07

    Wi-Fi 定位服务

    Wi-Fi 是一种著名的无线网络技术,用于设备的局域和互联网接入。Wi-Fi 通过 Wi-Fi 网络为家庭、办公室和学校等环境提供便捷的无线互联网接入服务。
    发表于 04-17 15:01

    华为海思正式进入Wi-Fi FEM赛道?

    大家都知道了,2018年11 月离开锐迪科(RDA),前往福建晋江创立三伍微,专注于Wi-Fi射频前端芯片,从路由器Wi-Fi FEM,到手机Wi-Fi FEM,再到IoT FEM全覆
    发表于 12-11 17:42

    摩尔斯微电子发布Wi-Fi HaLow评估套件,加速物联网开发

    近日,全球领先的Wi-Fi HaLow解决方案提供商摩尔斯微电子正式推出一款开创性的评估套件——MM6108-EKH05。这款完全整合的开发平台,旨在推动各行业物联网解决方案的快速发展
    的头像 发表于 12-11 13:40 1050次阅读

    Wi-Fi 4到Wi-Fi 7:网速飙升40倍的无线革命

    1 Wi-Fi技术的快速发展 每一代新的Wi-Fi协议发布,都会带来更高的无线速率。   从Wi-Fi 4到Wi-Fi 7:无线网络技术显著提升,实现了网速的巨大飞跃。    
    的头像 发表于 12-09 10:10 1600次阅读
    从<b class='flag-5'>Wi-Fi</b> 4到<b class='flag-5'>Wi-Fi</b> 7:网速飙升40倍的无线革命