Wi-Fi物联网设备配网的N种方式

简介: Wi-Fi大家很早就接触了,但是配网(配置Wi-Fi 账户名SSID/密码)对很多人都比较陌生。因为早期的Wi-Fi设备基本都是带屏幕和输入设备的(如笔记本/手机/PDA等)。配网只需要用户直接输入路由器的SSID/password即可,简单到被人忽略。

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

来源 | HaaS技术社区

1、概要

Wi-Fi大家很早就接触了,但是配网(配置Wi-Fi 账户名SSID/密码)对很多人都比较陌生。因为早期的Wi-Fi设备基本都是带屏幕和输入设备的(如笔记本/手机/PDA等)。配网只需要用户直接输入路由器的SSID/password即可,简单到被人忽略。

但是随着物联网兴起,Wi-Fi被大量应用于没有人机交互方式的设备中,如智能插座等物联网终端产品中,而Wi-Fi(IEEE802.11)标准在设计之初是没有考虑这种无人机交互方式的配网的,也就是没有官方标准。配网成了一种类似于黑客找漏洞的技术,这也就导致了市面上配网的方法多种多样,且各家玩各家的,鱼龙混杂,互不相通,整体体验偏低。

image.png

几个概念

狭义配网:Wi-Fi设备获取路由器信息(SSID,password等)并连接路由器的过程

绑定:用户手机APP账号与被配网设备关联的过程

广义配网:狭义配网+绑定

本文讨论的配网如未注明都指狭义配网;并省略云端参与流程。简化示意图如下:

image.png

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

  • 一键配网;

    • 广播包长方式;
    • 组播地址方式。
  • 设备热点配网;
  • 蓝牙辅助配网;
  • 手机热点配网;
  • 零配;
  • 其他(如语音配网/摄像头二维码配网等)。

阿里云IoT开发的物联网操作系统AliOS Things 支持上述1-5配网方式。

2、详细介绍

2.1、一键配网

2.1.1、流程

一键配网(Smart Config)主要原理为:

1、设备(HaaS100)进入sniffer模式(又叫混杂模式,即不过滤数据报文),监听环境中所有的802.11报文;

2、设备(HaaS100)需要在所支持的信道(通常1-13)上轮询监听(因为设备(HaaS100)不知道用户手机和目标路由器的信道);

3、捕获到符合配网规则的数据报文后停止信道轮询,尝试在在此信道上接收完成所有报文;

4、当前信道接收失败或超时重新回到步骤2.

5、数据报文接收完成则关闭sniffer模式,回到station模式并开始尝试连接路由器,狭义的配网过程完成。

image.png

2.1.2、数据传输方式

数据的承载方式有两种,一种广播方式,另一种是组播方式。下面分别介绍。

设备(HaaS100)在接入路由器之前,没有获得对应密钥,无法解密路由器局域网内的数据报文(包括连接到目标路由器的用户手机的报文)。

如下图所示,设备(HaaS100)在sniffer模式收到的数据报文主体即Frame Body部分是加密的,仅帧头和整个报文长度是不加密的。

要通过手机将配网信息传给设备(HaaS100),那么就得考虑使用这些信息。

MAC帧格式:

image.png

广播包长方式:

数据报文长度共2字节,且包头和校验和占掉了一部分字段故不能从0开始编码,而太长会导致整个数据报文冗余数据急剧增加,如折中取11bit。

具体方式为:手机端通过发送不同长度的广播报文,将配网信息编码到报文长度信息中。--有点像藏头诗吧?

组播地址方式:

如果使用地址编码,即使用下图的DA编码,那么就是组播方式。

ieee802.11将224.0.0.0 ~ 239.255.255.255划定为组播保留地址,在以太网中,目的IP地址为组播保留地址的数据包,目的MAC地址需要做一个映射。具体做法是,MAC地址的3个高字节固定为01:00:5E,后三个字节依次为组地址的从高字节起的第二字节取低7位、组地址的第三字节和第四字节,例如组地址225.215.145.230对应的MAC地址为01:00:5E:57:91:E6。所以有23个bit可用户编码。

?优点:用户操作简单,体验好(成功时)。
?缺点:对手机,路由器都有严格的兼容性要求,比如有些路由器默认关闭广播/组播报文转发使得设备收不到路由器转发的报文;手机以5G频段连接到路由器,2.4G的设备压根收不到包等,诸如此类不可控因素导致整体兼容性差,配网成功率低。
总结:

物联网刚兴起时大多数厂商的默认选择,在饱受用户投诉之后慢慢被弃用。

2.2、设备热点配网

设备热点(HaaS100当作Wi-Fi 热点)配网很好理解:

1、设备(HaaS100)端Wi-Fi进入softAP模式,建立一个约定名称的AP热点;

2、APP端提示用户手动将手机连接到1、中设备(HaaS100)建立的热点;

3、连接建立后,手机与设备(HaaS100)建立局域网;

4、手机通过UDP/TCP将配网信息直接传给设备(HaaS100);

5、设备(HaaS100)拿到配网信息后切换回station模式,开始连接路由器。

image.png

?优点:成功率高,可靠。
?缺点:用户操作相对一键配网复杂度略高(iphone用户需要手动跳转到无线局域网设置界面连接app界面提示的设备热点)。
总结:

中庸可靠是其取胜之道,在昔日霸主一键配网由于成功率不高被广为吐槽后,设备热点配网在市场上的占有率稳定提升。

2.3、手机热点配网

这是热点配网(SoftAP)的一个变种,热点不由设备创建而是由手机创建。

?优点:设备无需支持热点模式,端上开发工作量较低;可与一键配网共存(同时使能),在阿里云IoT手机热点配网中,手机热点SSID固定为aha,这样处在一键配网模式的设备一旦扫描到周围存在aha热点即尝试连接aha。常用来做备用配网方案。
?缺点:用户体验不佳,尤其在ios设备上APP无法自动创建热点,需要用户跳转设置界面手动改设备名并手动打开热点。

总结:曾经作为一个创新在阿里云IoT中作为一键配网失败后的替补方案,由于一键配网本身占比降低,替补的出场率也就更低了。

2.4、蓝牙辅助配网

蓝牙辅助配网整体流程跟设备热点配网差不多。只不过用ble替换了设备端的热点,理论上还是一种基于点对点连接的配网方式。

image.png

?优点:兼容性较好,成功率高;用户体验好。
?缺点:成本略高。相对与其他配网模式,需要额外增加蓝牙硬件成本。

总结:适合与本身既有蓝牙又有Wi-Fi的应用场景的设备,或者模组成本相对不是那么敏感的土豪设备。随着低成本BLE的推行,其占有率逐渐提升。

2.5、零配

主配网设备:已经拿到路由器Wi-Fi账号密码的设备,可以是HaaS100等多种IoT设备。

这是一种充分利用待配网设备(HaaS100)/及主配网设备的高权限优势的配网。

要求主配网设备和待配网设备(HaaS100)的应用程序都能发送和接收802.11管理帧。直接使用802.11 的管理帧(probe request/response)携带配网信息,从而实现高效配网。简化原理如下:

image.png

?优点:用户体验好,成功率高,如智能音响对智能设备配网即可使用此方式。
?缺点:应用面窄,需要满足路由器下存在已经配网的同方案设备的要求。

总结:设计上本身高效可靠,但是由于手机APP权限问题,无法通过第三方程序组装或者接收Wi-Fi管理帧,限制了其在手机上的应用(手机不能当主配),也就使得其只能成为一种辅助或者特定领域的配网方式。

3、总结对比

通过一个表格对比各配网方式特点:

image.png

4、发展方向

除了上面列出的配网方式外,还有其他一些方向供大家参考。

1、Wi-Fi P2P。使用Wi-Fi Direct技术直接将配网信息通过手机传给设备。

缺点:无奈仅Android手机支持Wi-Fi Direct技术,iOS尚不支持。而且不是所有的安卓手机都支持,导致手机兼容性差,一条腿走路注定了无法普及。

2、苹果AWDL协议。AWDL可以认为是苹果私有的端上P2P协议,如Air Drop即基于这种协议。无奈协议不开源,即使对协议进行破解,使用起来也存在法务风险。不然可以跟1.中方式配合使用,形成互补。

因此,上面两种方式在通用配网中不会成大气候。

3、针对特定场景的配网:

语音配网(使用本地语音识别技术给带语音识别模块的设备如智能音响配网);
针对智能摄像头的二维码配网(摄像头主动扫手机APP生成的二维码)等。
借助了自己独特的软硬件优势在相应领域提供体验上佳的配网体验,是物联网发展对细分市场高度定制和优化的表现。

4、DPP(Device Provisioning Protocol)。Wi-Fi Easy Connect的重要组成部分,Wi-Fi Alliance官方制定。由4个步骤组成:

引导:扫描二维码或输入字符串触发,获取对方设备的公钥以及信道、mac等其他信息;
验证:待配与主配通过上一步获得的信息建立安全连接;
配置:配网信息传输给待配设备;
接入:待配设备使用配网信息向目标AP认证并建立连接。

目前DPP还处于标准制定完善阶段,尚未商用。不过一旦官方出来制定一套统一配网标准,其前景还是非常可观的,有望一统江湖,很大程度解决配网碎片化的问题。

在DPP商用之前,设备热点配网(↗)/蓝牙配网(↗)/一键配网(↘)仍然是主流。

5、开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

image.png

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
4天前
|
消息中间件 网络协议 物联网
MQTT常见问题之物联网设备端申请动态注册时MQTT服务不可用如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
4天前
|
传感器 物联网 5G
物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
物联网的一个重要的特点是接入了网络,因此这些设备才能将传感器采集的数据上传到云平台,然后根据平台对数据的分析做出反应。而这种接入网络的技术,就是通信技术,是物联网的基础之一。通信的方式可以分为有线和无线两种方式,因为有线通信的成本较高,无线通信技术在物联网中应用比较广泛。
128 1
|
4天前
|
监控 安全 Java
Java与物联网:连接与控制设备
Java与物联网:连接与控制设备
30 0
|
3天前
|
传感器 存储 监控
物联网设备
【5月更文挑战第16天】物联网设备
13 5
|
4天前
|
安全 网络协议 物联网
如何提高物联网设备的安全性以应对不断变化的安全威胁?
【5月更文挑战第15天】如何提高物联网设备的安全性以应对不断变化的安全威胁?
13 2
|
4天前
|
传感器 存储 监控
编写Arduino代码:构建物联网设备,实现上网行为管理软件对网络的实时监控
使用Arduino和ESP8266/ESP32等Wi-Fi模块,结合传感器监控网络活动,本文展示了如何编写代码实现实时监控并自动将数据提交至网站。示例代码展示如何连接Wi-Fi并检测网络状态,当连接成功时,通过HTTP POST请求将“Network activity detected.”发送到服务器。通过调整POST请求的目标URL和数据,可将监控数据上传至所需网站进行处理和存储。
72 0
|
4天前
|
传感器 数据采集 监控
软件体系结构 - 物联网设备
软件体系结构 - 物联网设备
16 0
|
4天前
|
监控 安全 数据挖掘
物联网平台中如何快速检测设备异常
物联网平台中如何快速检测设备异常
44 0
|
4天前
|
存储 监控 安全
Java基于物联网技术的智慧工地云管理平台源码 依托丰富的设备接口标准库,快速接入工地现场各类型设备
围绕施工安全、质量管理主线,通过物联感知设备全周期、全覆盖实时监测,将管理动作前置,实现从事后被动补救到事前主动预防的转变。例如塔吊运行监测,超重预警,升降机、高支模等机械设备危险监控等,通过安全关键指标设定,全面掌握现场安全情况,防患于未然。
156 5
|
4天前
|
XML JSON 网络协议
【开源视频联动物联网平台】设备接入
【开源视频联动物联网平台】设备接入
36 2

相关产品

  • 物联网平台
  • http://www.vxiaotou.com