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

相关文章
|
2月前
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
795 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
6月前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
90 5
|
2月前
|
机器学习/深度学习 数据可视化 Linux
Seaborn可视化学习笔记(一):可视化神经网络权重分布情况
这篇文章是关于如何使用Seaborn库来可视化神经网络权重分布的教程,包括函数信息、测试代码和实际应用示例。
65 0
|
4月前
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
200 2
|
3月前
|
监控 安全 网络安全
|
4月前
|
安全 5G 数据安全/隐私保护
|
4月前
|
物联网 网络架构 智能硬件
|
7月前
|
自动驾驶 物联网 5G
【计算巢】无线网络技术:从Wi-Fi到5G的演进
【5月更文挑战第31天】本文探讨了无线网络技术从Wi-Fi到5G的演进,Wi-Fi利用无线电波实现无线局域网连接,示例代码展示如何用Python扫描Wi-Fi网络。5G技术则引入大规模MIMO、波束成形和毫米波,提高速度和容量,支持物联网等应用。通过Python检测5G信号强度的代码帮助理解其工作原理。无线网络技术的不断演进,为生活和工作带来更高效率和更多可能性。
84 1
|
6月前
|
安全 Java API
Android获取Wi-Fi网络列表
【6月更文挑战第21天】
107 0
|
7月前
|
网络协议 Docker 容器
Ubantu docker学习笔记(七)容器网络
Ubantu docker学习笔记(七)容器网络