OpenHarmony轻量系统开发【9】WiFi之STA模式连接热点 原创 精华
春节不停更,此文正在参加「星光计划-春节更帖活动」https://harmonyos.51cto.com/posts/9923
摘要:本文简单介绍Hi3861WiFi操作,怎么连接到热点,查看IP,ping服务器等
适合群体:适用于润和Hi3861开发板
文中所有代码仓库:https://gitee.com/qidiyun/hihope-3861-smart-home-kit
9.1AT指令操作WiFi
我们可以使用AT指令进行Hi3861 WiFi操作,连接热点、ping服务器等。
但是很多时候,我们需要实现开机后自动连接到某个热点,光靠AT指令不行。
Hi3861 为我们提供了WiFi操作的相关API,方便我们编写代码,实现热点连接。
9.2 代码实现
先直接上代码和操作演示。
跟我们最早的hello world代码一样,在app下新增业务demo_wifi_sta,其中demo_wifi_sta.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下:
其中BUILD.gn文件内容如下:
hi_wifi_start_sta函数:设置WiFi参数、扫描热点
连接热点:
热点连接结果回调函数
hi_sta_reset_addr:重新复位sta的地址、网关等参数。
9.3 WiFi相关API
Hi3861 提供了非常多的wifi相关API,主要文件是 hi_wifi_api.h
我们这里只列举最重要的几个API
(1)开启STA
int hi_wifi_sta_start(char *ifname, int *len);
(2)停止STA
int hi_wifi_sta_stop(void);
(3)扫描附件的热点
int hi_wifi_sta_scan(void);
(4)连接热点
int hi_wifi_sta_connect(hi_wifi_assoc_request *req);
其中hi_wifi_assoc_request *req 结构的定义如下:
这里需要注意的是,通常加密方式是:HI_WIFI_SECURITY_WPA2PSK
例如我家的热点的连接方式的代码实现如下:
跟着连老师再跑一遍