更多内容请访问:与华为官方共建的鸿蒙技术社区https://harmonyos.51cto.com摘要:本文简单介绍Hi3861WiFi的操作,如何连接热点,查看IP,ping服务器等适用人群:适用于润和Hi3861开发板所有代码库:https://gitee.com/qidiyun/hihope-3861-smart-home-kit9.1AT指令操作WiFi我们可以通过AT指令操作Hi3861WiFi,连接热点,ping服务器等,但是很多时候需要开机自动连接某个热点,和AT命令是不够的。Hi3861为我们提供了WiFi操作的相关API,方便我们编写代码,实现热点连接。9.2代码实现先直接上传代码和运行演示。和我们最早的helloworld代码一样,我们在app下新增了一个业务demo_wifi_sta,其中demo_wifi_sta.c为业务代码,BUILD.gn为编译脚本。具体规划目录结构如下:BUILD.gn文件内容如下:","//kernel/liteos_m/components/cmsis/2.0","//base/iot_hardware/peripheral/interfaces/kits","//device/soc/hisilicon/hi3861v100/hi3861_adapter/hals/communication/wifi_lite/wifiservice","//device/soc/hisilicon/hi3861v100/hi3861_adapter/kal","//device/soc/hisilicon/hi3861v100/sdk_liteos/third_party/lwip_sack/include",]}hi_wifi_start_sta功能:设置WiFi参数,扫描热点inthi_wifi_start_sta(void){intret;charifname[WIFI_IFNAME_MAX_SIZE+1]={0};intlen=sizeof(ifname);constunsignedcharwifi_vap_res_num=APP_INIT_VAP_NUM;constunsignedcharwifi_user_res_num=APP_INIT_USR_NUM;无符号整数=WIFI_SCAN_AP_LIMIT;//这里不用重复wifiinit,因为系统会做wifiinit#if0printf("_______>>>>>>>>%s%d\r\n",__FILE__,__LINE__);ret=hi_wifi_init(wifi_vap_res_num,wifi_user_res_num);if(ret!=HISI_OK){返回-1;}#endifret=hi_wifi_sta_start(ifname,&len);if(ret!=HISI_OK){返回-1;}/*注册回调函数以接收wifi事件等扫描结果事件,*连接事件,断开连接事件。*/ret=hi_wifi_register_event_callback(wifi_wpa_event_cb);if(ret!=HISI_OK){printf("注册wifi事件回调失败\n");}/*为IP操作获取netif*/g_lwip_netif=netifapi_netif_find(ifname);if(g_lwip_netif==NULL){printf("%s:getnetiffailed\n",__FUNCTION__);返回-1;}/*开始扫描附件的WiFi热点*/ret=hi_wifi_sta_scan();if(ret!=HISI_OK){返回-1;}睡眠(5);/*sleep5s,等待扫描结果。*/hi_wifi_ap_info*pst_results=malloc(sizeof(hi_wifi_ap_info)*WIFI_SCAN_AP_LIMIT);如果(pst_results==NULL){返回-1;}//存储扫描的热点结果ret=hi_wifi_sta_scan_results(pst_results,&num);如果(ret!=HISI_OK){免费(pst_results);返回-1;}//打印所有扫描到的热点for(unsignedintloop=0;(loop
