本文来源电子发烧友社区,作者:华仔stm32, 帖子地址:https://bbs.elecfans.com/jishu_2287654_1_1.html
跟着这篇学习了一下wifi连网:【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】第5章 WiFi联网(STA模式) - HarmonyOS技术社区-电子技术论坛- 广受欢迎的专业电子论坛! (elecfans.com)。
wifi_app.c:
复制代码
BUILD.gn:
复制代码
app/BUILD.gn为:
复制代码
编译通过,下载后显示wifi连接成功,但是报错:
复制代码
麻烦各位大佬帮解答一下。
跟着这篇学习了一下wifi连网:【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】第5章 WiFi联网(STA模式) - HarmonyOS技术社区-电子技术论坛- 广受欢迎的专业电子论坛! (elecfans.com)。
wifi_app.c:
- /**
- ******************************************************************************
- * [url=home.php?mod=space&uid=1455510]@file[/url] wifi_app.c
- * [url=home.php?mod=space&uid=40524]@author[/url] BruceOu
- * [url=home.php?mod=space&uid=644434]@version[/url] V1.0
- * @date 2022-06-19
- * [url=home.php?mod=space&uid=2676013]@blog[/url]
- * [url=home.php?mod=space&uid=3179494]@Official[/url] Accounts
- * [url=home.php?mod=space&uid=2666770]@Brief[/url]
- ******************************************************************************
- */
- #include
- #include
- #include "ohos_init.h"
- #include "cmsis_os2.h"
- #include"hi_wifi_api.h"
- #include"lwip/ip_addr.h"
- #include "lwip/netifapi.h"
- #define SSID "HUAWEI-21321312"
- #define PASSWORD "12423424234@"
- static struct netif *g_lwip_netif = NULL;
- /**
- * @briefSet netif's ip, gatewayand netmask
- * [url=home.php?mod=space&uid=3142012]@param[/url]pst_lwip_netif
- * @retval None
- */
- void hi_sta_set_addr(struct netif *pst_lwip_netif)
- {
- ip4_addr_t st_gw;
- ip4_addr_t st_ipaddr;
- ip4_addr_t st_netmask;
- if (pst_lwip_netif == NULL)
- {
- printf("hisi_reset_addr::Nullparam of netdevrn");
- return;
- }
- IP4_ADDR(&st_gw, 192, 168, 3, 1);
- IP4_ADDR(&st_ipaddr, 192, 168, 3,100);
- IP4_ADDR(&st_netmask, 255, 255, 255,0);
- netifapi_netif_set_addr(pst_lwip_netif,&st_ipaddr, &st_netmask, &st_gw);
- }
- /**
- * @briefWifi connect
- * @paramNone
- * @retval None
- */
- int hi_wifi_start_connect(void)
- {
- int ret;
- errno_t rc;
- hi_wifi_assoc_request assoc_req = {0};
- // Copy SSID to assoc_req
- rc = memcpy_s(assoc_req.ssid,HI_WIFI_MAX_SSID_LEN + 1, SSID, strlen(PASSWORD));
- if (rc != EOK)
- {
- printf("[Wifi Connnect]hi_wifi_sta_connect fail");
- printf("%s %d rn",__FILE__, __LINE__);
- return -1;
- }
- //Set encryption method
- assoc_req.auth = HI_WIFI_SECURITY_WPA2PSK;
- // Wifi password
- memcpy(assoc_req.key, PASSWORD,strlen(PASSWORD));
- ret = hi_wifi_sta_connect(&assoc_req);
- if (ret != HISI_OK)
- {
- printf("[WifiConnnect] hi_wifi_sta_connect fail");
- printf("%s %d rn",__FILE__, __LINE__);
- return -1;
- }
- return 0;
- }
- /**
- * @briefwifi task
- * @paramNone
- * @retval None
- */
- void wifi_task(void)
- {
- int ret;
- char ifname[WIFI_IFNAME_MAX_SIZE + 1] ={0};
- int len = sizeof(ifname);
- unsigned intnum = WIFI_SCAN_AP_LIMIT;
- //Step 1: Start STA mode, AT+STARTSTA
- ret = hi_wifi_sta_start(ifname, &len);
- if (ret != HISI_OK)
- {
- printf("[Wifi Connnect]hi_wifi_sta_start fail");
- printf("%s %d rn",__FILE__, __LINE__);
- return;
- }
- // Step 2: Connect to the specified AP:,AT+CONN="SSID", ,2,"PASSWORD"
- ret = hi_wifi_start_connect();
- if (ret != 0)
- {
- printf("[Wifi Connnect]hi_wifi_start_connect fail");
- printf("%s %d rn",__FILE__, __LINE__);
- return ;
- }
- // Step 3: DHCP requests the IP address ofwlan0 from the AP, AT+DHCP=wlan0,1
- g_lwip_netif = netifapi_netif_find(ifname);
- if(NULL == g_lwip_netif)
- {
- printf("[Wifi Connnect]netifapi_netif_find fail");
- printf("%s %d rn",__FILE__, __LINE__);
- return;
- }
- //DHCP automatically assigns IP
- if(ret !=netifapi_dhcp_start(g_lwip_netif))
- {
- printf("[Wifi Connnect]netifapi_dhcp_start fail");
- return;
- }
- printf("[Wifi Connnect] Connect towifi successfullyn");
- }
- SYS_RUN(wifi_task);
- static_library("wifi_app") {
- sources = [
- "wifi_app.c"
- ]
- include_dirs = [
- "//utils/native/lite/include"
- ]
- }
- import("//build/lite/config/component/lite_component.gni")
- lite_component("app") {
- features = [
- "iothardware:led_example",
- "wifi_connect:wifi_app"
- ]
- }
- ready to OS start
- sdk ver:Hi3861V100R001C00SPC025 2020-09-03 18:10:00
- FileSystem mount ok.
- wifi init success!
- hilog will init.
- hievent will init.
- hievent init success.
- [Wifi Connnect] Connect towifi successfully
- hiview init success.
- No crash dump found!
- +NOTICE:SCANFINISH
- +NOTICE:NETWORK NOT FIND
- +NOTICE:SCANFINISH
- +NOTICE:NETWORK NOT FIND
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
wi-fi
+关注
关注
14文章
2112浏览量
124330 -
HarmonyOS
+关注
关注
79文章
1967浏览量
30025 -
HiSpark
+关注
关注
1文章
156浏览量
6904
发布评论请先 登录
相关推荐
Wi-Fi 8要来了!未来Wi-Fi技术演进方向揭秘
电子发烧友网报道(文/梁浩斌)Wi-Fi 7芯片早在2022年就有产品推出,直到去年年底,Wi-Fi 7设备开始大量推出市场。但从普及率来看,根据奥维云网的数据,截至2024年9月,线
Wi-Fi 7与Wi-Fi 6E有什么区别
也许很多人还在考虑是否要将使用的Wi-Fi设备升级到Wi-Fi 6或Wi-Fi 6E,而这些标准的继任者却已经开始“登堂入室”了。Wi-Fi 7是新一代
为什么启用Wi-Fi后,选择EXT0作为唤醒源功耗会增加1mA?
1、当不启用Wi-Fi,选择EXT0为唤醒源,系统进入deep_sleep,功耗10uA左右;
2、当启用Wi-Fi,选择EXT0为唤醒源,系统关闭Wi-Fi后再进入deep_slee
发表于 06-24 07:48
未来的Wi-Fi路由器
转载自——钟林谈芯 没有创新就没有未来,Wi-Fi路由器也是如此。 进入2024年以后,Wi-Fi路由器市场变得更加艰难,利润大幅下滑,BOM成本价高于市场价,接不接订单,都陷入两难。 国内主芯片
DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册
电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册.rar》资料免费下载
发表于 05-30 17:53
•1次下载
DA16200 超低功耗 Wi-Fi 模块开发套件数据手册
电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件数据手册.rar》资料免费下载
发表于 05-30 17:13
•0次下载
验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦
验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦 MM6108-EKH08开发套件专为验证物联网Wi-Fi HaLow用例而设计。该
Wi-Fi的诞生与发展
短距离无线通信技术有Wi-Fi、ZigBee、蓝牙以及Z-Wave,今天我们先揭开Wi-Fi的神秘面纱。Chrent短距离无线通信技术——Wi-Fi过去的20多年,Wi-Fi靠着仅有的
WI-FI基础知识及飞易通SOC模块
“WiFi”或“Wifi”,但是这些写法并没有被Wi-Fi联盟认可。 一、通常说的WI-FI几: 第一代:以IEEE 802.11为准,工作频段为2.4GHz, 最高速率半双工2Mbi
Wi-Fi HaLow和传统Wi-Fi的区别
Wi-Fi HaLow和传统Wi-Fi的区别 Wi-Fi是一种无线网络技术,可以连接到互联网或局域网,为用户提供无线上网的便利。随着科技的发展和互联网的普及,
康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi
康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi 7 接入点平台作为Wi-Fi CERT
BT Wi-Fi模式是否可以通过ModustoolBox对套件进行编程来实现?
想配置用于分析 CYW43439 的 CY8CPROTO-062S2-43439 原型开发套件。
浏览文档我无法弄清楚如何在不同的 Wi-Fi 和蓝牙模式(电源模式、连接模式等)下配置套件。
在
发表于 01-22 06:19
Wi-Fi 6和Wi-Fi 5之间有哪些区别呢?
Wi-Fi 6和Wi-Fi 5之间有哪些区别呢? Wi-Fi 6和Wi-Fi 5是无线局域网标准的两个版本,它们之间存在很多区别。
评论