AliOS Things 网络篇之 Wi-Fi 配网|学习笔记

简介: 快速学习 AliOS Things 网络篇之 Wi-Fi 配网。

开发者学堂课程【HaaS 物联网应用开发课程AliOS Things 网络篇之 Wi-Fi 配网】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/801/detail/13839


AliOS Things 网络篇之 Wi-Fi 配网

 

内容介绍:

一、Wi-Fi 配网简介

二、Wi-Fi 常见配网之命令行

三、Wi-Fi 常见配网之 hardcode

四、Wi-Fi 常见配网之 web 配网

 

一、Wi-Fi 配网简介

1. Wi-Fi 配网

WiFi 设备需要连接到 WiFi 热点(WiFi AP)之后才能与其它设备进行基于 IP 的通信,我们将 WiFi 设备获取到WiFi热点的SSID/密码的步骤称为 WiFi 配网。

对于手机/电脑/平板而言,用户可以通过键盘或者触摸屏输入 WiFi 热点的 SSID/密码

但是对于没有键盘,没有触摸屏的 loT 设备而言,如何获取 WiFi 热点的S SID/密码是实现设备网络管理的第一个关键步骤。

image.png

2. 主流配网技术

那么市面上的配网技术有哪几种呢?按原理分商用的主要有

1.一键配网

a.广播包长方式

b.组播地址方式

2.设备热点配网

3.蓝牙配网

4.手机热点配网

5.路由器配网

6.零配

7.命令行配网

8.hardcode 配网

9.web 配网

10.其他(语音配网/摄像头二维码配网等)

本次主要讲解三种:命令行配网,hardcode 配网和 web 配网

 

二、Wi-Fi 常见配网之命令行

1. Netmgr 简介

支持使用命令的方式对 Wi-Fi 连网相关的操作,如,对存储的连接信息的读/写删除,打印当前网络内的所有 AP 的信息,连接 AP,断开 AP 的连接,查询网络状态等。

命令行

说明

netmgr -t wifi -i

初始化

netmgr -t wifi -a [0/1]

设置是否自动重连。0,不自动重连;1,自动重连。

netmgr -t wifi -b [0/1]

是否保存历史连接记录。0,不保存历史连接记录。1,保存历史连接记录。

netmgr -t wifi -c [ssid] [password]

使用ssid password连网

netmgr -t wifi -e

断开Wi-Fi连接

netmgr -t wifi -w [wifi_config]

写Wi-Fi配置文件。wifi_config格式,如,network=llnssid=\ "aos\"l1npassword=\"123456\"Inchannel=\"0\"1In)ln

netmgr -t wifi -r

读Wi-Fi配置文件

netmgr -t wifi -d

删除Wi-Fi配置文件

netmgr -t wifi-p

打印当前网络状态

netmgr -t wifi -s

打印当前网络上的AP的信息

连 SSID 是“aos”,密码是“123456”的 AP :

netmgr -t wifi -i

netmgr -t wifi -c aos 123456

其中使用最多的是初始化和连接

 

三、Wi-Fi 常见配网之 hardcode

1. Hardcode

Netmgr 提供了一组 API 支持方便用户快速接入 AP。其中 netmgr_connect 是用于代码层面 hardcode 方式进行网络连接。

API

作用

参数

int32_t netmgr_connect(const char*ssid, const uint8_t *password,uint32_t timeout);

连接网络

Ssid : wifi的ssid

Password : wifi的密码

Timeout :连接超时时间,单位ms

详细代码流程如下,注意需要调用 netmgr 的其他接口用于设置参数,具体参见 netmgr 章节。

#include "netmgr. h"

#include "aos/yloop.h"

void start_netmgr(void) {

netmgr_init();

netmgr_start(false);

netmgr_connect( "Test_wiFi",“123456”,10 *1000 ) ;

 

四、Wi-Fi 常见配网之 web 配网

1. Web 配网原理

WEB 网页配网,属于设备热点配网的一种方式,待配网物联网设备在配网模式下,启动 SoftAP 创建热点后,同时启动一个 web server。手机或者电脑连接上设备热点后,通过WEB浏览器登录固定的 ip 地址,在设备预置的 WiFi 配置页面上输入路由器的 SSID 和密码后,实现配网。配网成功后,设备切换回 station 模式即可正常连接路由器。

image.png

SoftAP 和 station 是 WiFi 在使用过程中经常使用的两种模式,SoftAP 模式是把设备当作一个路由器来对外提供需要连接的 WiFi,station 模式是作为连接WiFi的连接者去连接正常路由器的 WiFi。

流程为设备 WiFi 连接到 SoftAP 模式后启动 DHCB Server 和 WEB Server ,启动后手机通过连接设备热点,用户通过浏览器连接设备 WEB Server 并且输入路由器SSID的密码,然后通过密码传送给设备,当设备重启之后切换到 Station 模式,最后设备连接到路由器上面。

2. Webserver 流程

WEB 网页服务,用于接收手机或者电脑浏览器发出的 HTTP 请求,给浏览器发送用于配网的 HTML 页面并接收手机或者电脑发送的 SSID 及密码等配网信息

image.png

浏览器发起 HTTP GET 请求,WEB服务器读取之后将带有 HTML 网页的内容作为 HTTP 响应回应给浏览器,浏览器通过带有 SSID 和密码的 POST 请求发送给WEB服务器,服务器解析出 SSID 的密码后,带配网确认网页内容的 HTTP 响应密码,从而完成 Webserver 整个流程,整个流程相当于将 SSID 的密码通过具有浏览器的电脑或手机将信息发送到 WEB 服务器。

3. 手机操作流程

手机配网操作过程如下︰

连接到 HaaS100默认热点→浏览器打开192.168.0.1,输入家里路由器的 sSID 和密码-→返回配置成功即可

image.png

相关文章
|
3月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
56 0
|
3月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
39 0
|
2月前
|
域名解析 存储 网络协议
某教程学习笔记(一):03、网络基础
某教程学习笔记(一):03、网络基础
16 0
|
8月前
|
机器学习/深度学习 计算机视觉 文件存储
【轻量化网络系列(3)】MobileNetV3论文超详细解读(翻译 +学习笔记+代码实现)
【轻量化网络系列(3)】MobileNetV3论文超详细解读(翻译 +学习笔记+代码实现)
1505 0
【轻量化网络系列(3)】MobileNetV3论文超详细解读(翻译 +学习笔记+代码实现)
|
8月前
|
机器学习/深度学习 编解码 计算机视觉
【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)
【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)
367 0
【轻量化网络系列(2)】MobileNetV2论文超详细解读(翻译 +学习笔记+代码实现)
|
8月前
|
数据采集 机器学习/深度学习 PyTorch
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
164 0
Pytorch学习笔记(5):torch.nn---网络层介绍(卷积层、池化层、线性层、激活函数层)
|
6月前
|
域名解析 存储 网络协议
华三杯H3C 网络知识学习笔记(1)
华三杯H3C 网络知识学习笔记(1)
62 0
|
7月前
|
安全 算法 物联网
为什么 Wi-Fi 6 可能成为下一个骨干网络?
为什么 Wi-Fi 6 可能成为下一个骨干网络?
56 0
为什么 Wi-Fi 6 可能成为下一个骨干网络?
|
8月前
|
计算机视觉 机器学习/深度学习 编解码
【轻量化网络系列(4)】ShuffleNetV1论文超详细解读(翻译 +学习笔记+代码实现)
【轻量化网络系列(4)】ShuffleNetV1论文超详细解读(翻译 +学习笔记+代码实现)
351 0
【轻量化网络系列(4)】ShuffleNetV1论文超详细解读(翻译 +学习笔记+代码实现)
|
8月前
|
计算机视觉 编解码 机器学习/深度学习
【轻量化网络系列(1)】MobileNetV1论文超详细解读(翻译 +学习笔记+代码实现)
【轻量化网络系列(1)】MobileNetV1论文超详细解读(翻译 +学习笔记+代码实现)
274 0
【轻量化网络系列(1)】MobileNetV1论文超详细解读(翻译 +学习笔记+代码实现)

热门文章

最新文章