专栏名称: 51CTO技术栈
有趣 | 有料 | 有内涵,为您提供最优质的内容,愿我们一起悦享技术,成就人生。
51好读  ›  专栏  ›  51CTO技术栈

鸿蒙入门:Hi3861 WiFi操作,热点连接

51CTO技术栈  · 公众号  · 程序员  · 2020-10-20 15:16

正文

请到「今天看啥」查看全文


本文为连志安老师鸿蒙系统系列入门教程之《Hi3861 WiFi 操作,热点连接》。


图片来自包图网


👇更多精彩内容就在 今晚 8 点 的公开课👇

👆扫码立即报名👆


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

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


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


代码实现


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


跟我们最早的 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 成功连接上热点。


WiFi API 接口说明


Hi3861 提供了非常多的 WiFi 相关 API,主要文件是 hi_wifi_api.h, 我们这里只列举最重要的几个 API:


01

开启 STA


int hi_wifi_sta_start(char *ifname, int *len);


02

停止 STA


int hi_wifi_sta_stop(void);


03

扫描附件的热点


int hi_wifi_sta_scan(void);


04

连接热点


int hi_wifi_sta_connect(hi_wifi_assoc_request *req);


其中 hi_wifi_assoc_request *req 结构的定义如下:

这里需要注意的是,通常加密方式是:HI_WIFI_SECURITY_WPA2PSK。


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

👇更多精彩内容就在 今晚 8 点 的公开课👇

👆扫码立即报名👆






HarmonyOS 2.0 设备开发入门(手册+代码)免费下载


国庆期间连志安老师将自己学习到鸿蒙系统相关的知识整理成文档,这里分享给大家。主要是 hi3861 芯片。后续还会持续更新~~

目前手册的内容主要如下:



“阅读原文” ,即可免费下载







请到「今天看啥」查看全文