鸿蒙 WiFi操作,热点连接

网络
文章由鸿蒙社区产出,想要了解更多内容请前往:51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/#zz

[[349900]]

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

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

https://harmonyos.51cto.com

Hi3861 WiFi操作,热点连接

之前我们使用Hi3861的时候,是使用AT指令连接到WiFi热点的。例如: 


但是很多时候,我们需要实现开机后自动连接到某个热点,光靠AT指令不行。

Hi3861 为我们提供了WiFi操作的相关API,方便我们编写代码,实现热点连接。

1.代码实现

先直接上代码和操作演示。

跟我们最早的hello world代码一样,在app下新增业务wifi_demo,其中hello_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下:

 

  1. └── applications 
  2.  
  3. └── sample 
  4.  
  5. └── wifi-iot 
  6.  
  7. └── app 
  8.  
  9. │── wifi_demo 
  10.  
  11. │ │── wifi_demo.c 
  12.  
  13. │ └── BUILD.gn 
  14.  
  15. └── 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

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2020-10-16 09:50:37

Hi3861WiFi热点

2021-02-02 15:52:17

鸿蒙HarmonyOS应用开发

2021-04-19 09:25:39

鸿蒙HarmonyOS应用

2021-03-16 09:49:16

鸿蒙HarmonyOS应用

2022-02-09 19:25:49

Hi3861WiFi操作鸿蒙

2014-07-08 09:18:27

WIFIWin8

2009-03-04 09:27:47

WiFi热点无线网络定制手机

2015-09-07 17:30:18

WiFi共享热点Windows 10

2022-08-12 19:13:07

etswifi连接操作

2014-07-09 09:32:30

WiFiwin7

2011-07-29 13:36:03

2022-05-15 22:21:33

WiFi热点无效WiFiWindows 11

2014-02-13 10:31:56

2022-05-16 09:36:34

微软WindowsWindows 11

2015-04-23 14:05:39

WiFi

2019-05-27 08:47:51

2016-01-04 17:45:34

WiFi纽约电话亭

2021-06-23 09:03:19

iPhone WiFi bug漏洞

2022-02-09 19:31:41

Hi3861OpenHarmon鸿蒙

2015-09-08 14:13:59

WiFi信号连接隐藏WiFi
点赞
收藏

51CTO技术栈公众号