IoT
一、IoT基本概念
二、WIFI 配网方式
与手机联接WiFi一样,智能硬件连接WiFi原本也是一件非常easy的事情,只需要输入账号和密码就能轻松搞定。不过,由于智能硬件没有屏幕,只能通过手机APP实现信息输入。
1:AP模式。 AP,Access Point。智能硬件处于AP模式,手机用于station模式,手机连接智能插座的AP后组成局域网,手机发送需要连接路由的SSID及密码至智能硬件,智能硬件主动去连接指定路由后,完成连接。
2:一键配置(smartconfig)模式。智能硬件处于混杂(sniffer,即不过滤报文)模式下,监听网络中的所有报文。手机APP将SSID和密码编码到UDP报文中,通过广播包或组播报发送,智能硬件接收到UDP报文后解码,得到正确的SSID和密码,然后主动连接指定SSID的路由,完成连接。
以上两种方式都可以达到让智能硬件连接至指定路由的效果,但是AP模式需要手动切换手机wifi连接的网络,先连接智能硬件的AP网络,配置完成后再恢复连接正常wifi网络.有一定的复杂性;
但是smartconfig由于路由器品牌及手机品牌众多,存在一定的兼容性问题,所以目前一般厂家仍保留AP模式,作为smartconfig失败后的备用配网方案。
其他WiFi配网相关:
1、设备AP(dev-ap-config)配网简化版
AP下:扫机器条纹码,生成特定WiFi。手机自动连特定WiFI。
2、手机热点配网(phone-ap-config)
手机热点配网(phone-ap-config),是设备热点配网的一个变种,热点不再由设备创建,而是由手机创建。其具体的配网过程如下:
- 手机APP端启动一个预定义热点(如热点名为abc,密码为12345678)。
- 待配网设备先连接到手机热点上,与手机构成一个局域网。
- 手机将Wi-Fi路由器的配网信息(SSID/password)发送给设备端。
- 设备得到配网信息后,断开手机的热点,进入STA模式,连接到Wi-Fi路由器。
2、零配配网
零配配网(zero-config),这种方式不需要用户在手机APP端输入配网信息,而是利用已配网的设备对待配网的设备进行配网。该方式利用待配设备和主配设备的高权限优势的配网,直接使用802.11的管理帧(probe request/response)携带配网信息,从而实现高效配网(这种方式要求主配和待配设备的应用程序都能发送和接收802.11管理帧)。该方式的具体的配网过程如下:
- 待配网设备向主配设备发送配网请求。
- 已连接Wi-Fi的主配设备向物联网平台上报新设备。
- 物联网平台向手机APP获取待配网设备的信息。
- 手机APP将待配网设备的信息发送给平台。
- 平台向已连接Wi-Fi设备下发对新设备的配网许可。
- 已连接Wi-Fi的设备向待配网设备推送Wi-Fi的配网信息(SSID/password)。
- 待配网设备进入STA模式,连接到Wi-Fi。
3、路由器配网
路由器配网(router-config),该方式的基本思路是,路由器在配网模式下开启一个特定的用于配网的热点,设备扫描到该热点后连接该热点,获取配网信息,然后路由器切换到常规热点,设备连接此常规热点实现联网:
- 用户按下设备的配网按钮,设备进入混杂模式,扫描周围热点。
- 用户按下路由器的配网按钮,路由器开启特定的热点。
- 设备先连接到这个路由器的特定热点,获取配网信息。
- 路由器再切换到常规热点。
- 设备即可连接到Wi-Fi的常规热点。
4、扫码配网
摄像头扫码配网(webcam-config):设备镜头扫描二维码——二维码带WiFi SSID+PWD,自动连接。该方式需要待配网设备自带摄像头并具备二维码解码能力。
三、联网方式
1、蓝牙配网
蓝牙配网(ble-config),这种方式与热点配网类似,它用BLE(低功耗蓝牙)替代了设备端或APP端的热点进行配网信息传输,当然这种方式就要求设备端和APP都支持BLE。其具体的配网过程如下:
- 手机APP通过蓝牙连接到待配网的设备。
- 手机通过BLE将Wi-Fi路由器的配网信息(SSID/password)
2、 LPWAN(Low Power Wide Area Network, 低功耗广域网)。典型有两种技术:NB-IoT、LoRa
3、Zigbee,是一种短距离(10米至近百米)的无线网络技术,适合在室内环境连接终端设备。Zigbee网络的下层协议遵从IEEE 802.15.4标准,上层协议由Zigbee组织定义规范,实现了传输安全性,以及应用层对节点之间通信的需求。
三、物联网协议
1. REST/HTTP(松耦合服务调用) + WebSocket
HTTP 协议有一个缺陷:通信只能由客户端发起。
这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。我们只能使用"轮询":每隔一段时候,就发出一个询问,了解服务器有没有新的信息。最典型的场景就是聊天室。
轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。
websocket是一个可行的办法。websocket是HTML5提出的基于TCP之上的可支持全双工通信的协议标准,其在设计上基本遵循HTTP的思路,对于基于HTTP协议的物联网系统是一个很好的补充。
但是问题是:http+websocket的方式,协议开销代价太大。如果让一个单片机去实现这样的协议,性能会很吃力。
WebSocket特点包括:
(1)建立在 TCP 协议之上,服务器端的实现比较容易。
(2)与 HTTP 协议有着良好的兼容性。默认端口也是80和443,并且握手阶段采用 HTTP 协议,因此握手时不容易屏蔽,能通过各种 HTTP 代理服务器。
(3)数据格式比较轻量,性能开销小,通信高效。
(4)可以发送文本,也可以发送二进制数据。
(5)没有同源限制,客户端可以与任意服务器通信。
(6)协议标识符是ws
(如果加密,则为wss
),服务器网址就是 URL。
WebSocket 教程
2. CoAP(Constrained Application Protocol)
它相当于物联网设备上运行的HTTP协议,默认运行在UDP之上。它的基本消息模型是请求-应答,支持多播(multicast)模式,因此一个请求可以对应多个应答。
3. XMPP(Extensible Messaging and Presence Protocol)
4. MQTT
MQTT (Message Queuing Telemetry Transport ).
消息队列遥测传输,由IBM开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。
MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。
MQTT 的特点在于报文小,协议简单,提供了三个 QoS 级别。
四,网站备份
阿里物联网平台
蓝牙BLE(BlueTooth BLE)入门及爬坑指南
MQTT入门篇
物联网WiFi配网方式原来是这七种!
http://blog.csdn.net/flyingcys/article/details/49283273
物联网设备的网络连接---中篇
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!