当前位置:主页 > 查看内容

鸿蒙 WiFi操作,热点连接

发布时间:2021-06-28 00:00| 位朋友查看

简介:想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区 https://harmonyos.51cto.com/#zz Hi3861 WiFi操作,热点连接 之前我们使用Hi3861的时候,是使用AT指令连接到WiFi热点的。例如: 但是很多时候,我们需要实现开机后自动连接到某个热点……

 想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

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文件内容如下:

  1. static_library("wifi_demo") { 
  2.  
  3.     sources = [ 
  4.  
  5.         "wifi_demo.c" 
  6.  
  7.     ] 
  8.  
  9.  
  10.  
  11.  
  12.     include_dirs = [ 
  13.  
  14.         "//utils/native/lite/include"
  15.  
  16.         "//kernel/liteos_m/components/cmsis/2.0"
  17.  
  18.         "//base/iot_hardware/interfaces/kits/wifiiot_lite"
  19.  
  20.         "//vendor/hisi/hi3861/hi3861/third_party/lwip_sack/include"
  21.  
  22.         "//foundation/communication/interfaces/kits/wifi_lite/wifiservice"
  23.  
  24.          
  25.  
  26.     ] 
  27.  

app目录下的BUILD.gn文件内容修改如下:

  1. import("//build/lite/config/component/lite_component.gni"
  2.  
  3.  
  4.  
  5.  
  6. lite_component("app") { 
  7.  
  8.     features = [ 
  9.  
  10.         "wifi_demo:wifi_demo"
  11.  
  12.     ] 
  13.  

编译烧录,查看串口数据:


可以看到有打印扫描到的热点名称:

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

例如我家的热点的连接方式的代码实现如下:

 想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/#zz


本文转载自网络,原文链接:https://harmonyos.51cto.com/#zz
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐