https://harmonyos.51cto.com/#zz
Hi3861 WiFi操作,热点连接
之前我们使用Hi3861的时候,是使用AT指令连接到WiFi热点的。例如:
但是很多时候,我们需要实现开机后自动连接到某个热点,光靠AT指令不行。
Hi3861 为我们提供了WiFi操作的相关API,方便我们编写代码,实现热点连接。
1.代码实现
先直接上代码和操作演示。
跟我们最早的hello world代码一样,在app下新增业务wifi_demo,其中hello_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下:
└── applications
└── sample
└── wifi-iot
└── app
│── wifi_demo
│ │── wifi_demo.c
│ └── BUILD.gn
└── BUILD.gn
Wifi_demo.c 代码如下:
见附件doc\05 WiFi操作\sta_demo\sta_demo.c
Wifi_demo目录下的BUILD.gn文件内容如下:
- static_library("wifi_demo") {
- sources = [
- "wifi_demo.c"
- ]
- include_dirs = [
- "//utils/native/lite/include",
- "//kernel/liteos_m/components/cmsis/2.0",
- "//base/iot_hardware/interfaces/kits/wifiiot_lite",
- "//vendor/hisi/hi3861/hi3861/third_party/lwip_sack/include",
- "//foundation/communication/interfaces/kits/wifi_lite/wifiservice",
- ]
- }
app目录下的BUILD.gn文件内容修改如下:
- import("//build/lite/config/component/lite_component.gni")
- lite_component("app") {
- features = [
- "wifi_demo:wifi_demo",
- ]
- }
编译烧录,查看串口数据:
可以看到有打印扫描到的热点名称:
SSID: 15919500
SSID: Netcore_FD55A7
同时最后打印:WiFi: Connected 成功连接上热点。
2.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);
(1)扫描附件的热点
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
例如我家的热点的连接方式的代码实现如下:
https://harmonyos.51cto.com/#zz
不可否认,眼下随着互联网技术的不断发展,我们的生活和工作越来越离不开网络的...
iPhone 12系列发布已经有1周的时间,按照iPhone两年一次大更新的节奏,这次的iPh...
随着2020年逐渐远去,新的一年的到来,为我们提供了一个完美的时刻,让我们期待...
第五代移动通信技术是最新一代蜂窝移动通信技术,也是继4G(LTE-A、WiMax)、3G(UM...
12月14日,华为消费者业务软件部总裁王成录在微博发布消息称:将于12月16日在北...
工业和信息化部部长肖亚庆介绍我国5G建设和发展情况,他表示我国已经建设了超过7...
自动驾驶汽车需要感知不同颜色以及在不同的照明条件下的车道线,以便准确地检测...
9月24日,在外滩大会的主论坛环节,在预测金融科技给未来带来哪些变化时,蚂蚁集...
11月12日,腾讯发布Q3季度财报显示,微信及WeChat的合并月活跃帐户数为12.1亿,...
细心的果粉一定能发现,在电池寿命方面,苹果对不同的产品是区别对待的。以80%电...