开发者学堂课程【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/密码是实现设备网络管理的第一个关键步骤。
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 模式即可正常连接路由器。
SoftAP 和 station 是 WiFi 在使用过程中经常使用的两种模式,SoftAP 模式是把设备当作一个路由器来对外提供需要连接的 WiFi,station 模式是作为连接WiFi的连接者去连接正常路由器的 WiFi。
流程为设备 WiFi 连接到 SoftAP 模式后启动 DHCB Server 和 WEB Server ,启动后手机通过连接设备热点,用户通过浏览器连接设备 WEB Server 并且输入路由器SSID的密码,然后通过密码传送给设备,当设备重启之后切换到 Station 模式,最后设备连接到路由器上面。
2. Webserver 流程
WEB 网页服务,用于接收手机或者电脑浏览器发出的 HTTP 请求,给浏览器发送用于配网的 HTML 页面,并接收手机或者电脑发送的 SSID 及密码等配网信息
浏览器发起 HTTP GET 请求,WEB服务器读取之后将带有 HTML 网页的内容作为 HTTP 响应回应给浏览器,浏览器通过带有 SSID 和密码的 POST 请求发送给WEB服务器,服务器解析出 SSID 的密码后,带配网确认网页内容的 HTTP 响应密码,从而完成 Webserver 整个流程,整个流程相当于将 SSID 的密码通过具有浏览器的电脑或手机将信息发送到 WEB 服务器。
3. 手机操作流程
手机配网操作过程如下︰
连接到 HaaS100默认热点→浏览器打开192.168.0.1,输入家里路由器的 sSID 和密码-→返回配置成功即可