物联网 IOT 设备如何脱离信息孤岛?
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/tb5eOFNUZLtPPLipLAh3vA
本文大概 1435 个字,阅读需花 4 分钟
内容不多,但也花了一些精力
如要交流,欢迎评论区留言
谢谢你的点赞收藏分享
目前在家庭物联网这一块,绝大部分的电子消费品都是基于wifi联网的设备。从商家那里达到消费者手中之后,简单开机使用无法体现其全部价值,还是需要经过消费者给设备配网的过程,把设备从信息孤岛接入互联互通的世界。
什么是配网?
买回来的电子消费品如果需要基于wifi联网,那么用户就需要先通过指定APP告诉自己的设备如何连接wifi(用户名和密码),设备才基于获取的账户信息接入网络。
设备成功联网之后,距离能充分利用网络的功能还是有差距的。这些设备对于用户来说就是专用的联网设备,它不可以随心所欲一会连接百度,一会又连接抖音,它的才能需要专用的服务器来辅助发挥。
一般物联网设备,都需要在公网搭配专用服务器,基于这些服务器帮助用户实现对设备的随时随地访问,充分沟通用户和设备。因此,接入服务器是第二步。为了服务器和设备安全通信,令牌信息也不可或缺。
配网的一般过程
一般在配网的最开始阶段,APP 先从服务器请求一个令牌信息。获得令牌返回后,APP 可通过多种方式传递给设备,包括wifi SSID、密码和令牌。接着 APP 开始尝试从服务器获取已激活的设备信息列表。
然后,设备利用收到的相关信息连接路由器,路由器为接入的设备分配新 IP 地址,设备成功接入网络。
设备连接服务器,开始设备认证过程。设备将三元组信息接入服务器,服务器校验信息通过。令牌信息上传给服务器,完成安全激活。
服务器向 APP 返回已激活的设备信息列表,配网过程结束。
participant APP
participant CloudServer
participant Device
participant Router
APP ->> CloudServer : 请求令牌(Token)
CloudServer ->> APP : 令牌(Token)返回
loop 各种传输手段
APP ->> Device : Token、SSID、Password
end
APP ->> CloudServer : 请求已激活设备列表
Device ->> Router : 连接路由器
Router ->> Device : 分配 IP 地址
Device ->> CloudServer : 请求激活
CloudServer ->> Device : 激活返回
CloudServer ->> APP : 返回已激活设备列表
配网归类
配网的主流方式有几种,比如热点配网、智能配网、蓝牙配网等。不同方式之间的主要差异就在于从 APP 传输信息给到设备的不同途径。
热点配网
热点配网属于 wifi 配网的一种,利用设置设备的 wifi 模组为热点模式,这样允许手机连接设备的热点,使得手机和设备处于同一局域网中,APP 即可把令牌、路由器的 SSID 和密码等信息加密后在局域网内广播。
设备通过接收局域网内的广播包来解析并解密,获取路由器的 SSID 和密码,然后再切换到 Station 模式去连接路由器,连接成功后则可向云端发起激活请求,完成绑定激活流程。
由于热点英文简称 AP,所以也叫 AP 模式。
热点配网流程:
participant Device
participant APP
Device ->> Device : 开启热点
APP ->> APP : 连接热点
APP ->> Device : 广播配网信息:令牌、SSID、Password
Device ->> Device : 接收解析
APP --> Device : 剩余配网过程
智能配网
智能配网,利用设置设备的 wifi 模组为监听模式,不断抓取无线报文并对其进行解析,提取需要的信息。手机连接路由器,APP 把令牌、路由器的 SSID 和密码等信息按一定方式进行编码,通过组播或广播方式发射无线报文。
常用的编码方式有两种:
先用 UDP 数据包长度来编码,然后通过 UDP 广播发送。
先用 MAC 地址来编码,然后通过 UDP 组播发送。
智能配网也叫快速配网,有的简称 EZ 配网。
相比于 AP 配网,EZ 配网虽然也属于 wifi 配网的一种,但是对最终用户来说更加便捷。缺点是,EZ 配网对路由器和手机硬件有要求,所以兼容性不足,以及无线干扰产生丢包的问题会更明显,所以 EZ 配网无法保证 100% 成功。
智能配网流程:
participant Device
participant Router
participant APP
APP ->> Router : 广播配网信息:令牌、SSID、Password
Router ->> Device : 广播配网信息:令牌、SSID、Password
Device ->> Device : 捕捉无线报文
Device ->> Device : 解析解密
APP --> Device : 剩余配网过程
蓝牙配网
蓝牙配网,意思就是手机 APP 通过蓝牙通道传输配网相关信息(令牌信息、路由器的 SSID 和密码等)给到设备,设备基于这些信息完成配网的过程。
流程是,设备首先是通过蓝牙广播暴露设备相关的信息,手机 App 接收并解析蓝牙广播包,如果广播包中包含指定服务,则 APP 发起扫描响应请求,进一步获取设备的详细信息,获取到设备完整的信息后在 App 显示待配网设备。当用户选择绑定设备时,App 与设备建立蓝牙连接,把配网相关信息通过蓝牙通道发送给设备,设备获取到配网信息,完成激活流程。
蓝牙配网的流程如下所示:
participant Device
participant APP
Device ->> APP : 蓝牙广播
APP ->> APP : 接收解析
APP ->> Device : 扫描响应请求
Device ->> APP : 完整详细信息
APP ->> APP : 显示待配网设备
APP ->> Device : 建立蓝牙连接
APP ->> Device : 配网信息
APP --> Device : 剩余配网过程
participant User
participant DeviceApplication
participant IOT_SDK
User ->> DeviceApplication : start config wifi
DeviceApplication ->> IOT_SDK : config wifi mode to AP or Smart
IOT_SDK ->> DeviceApplication : reboot process
物联网 IOT 设备如何脱离信息孤岛?的更多相关文章
- 安天透过北美DDoS事件解读IoT设备安全——Mirai的主要感染对象是linux物联网设备,包括:路由器、网络摄像头、DVR设备,入侵主要通过telnet端口进行流行密码档暴力破解,或默认密码登陆,下载DDoS功能的bot,运行控制物联网设备
安天透过北美DDoS事件解读IoT设备安全 安天安全研究与应急处理中心(安天CERT)在北京时间10月22日下午启动高等级分析流程,针对美国东海岸DNS服务商Dyn遭遇DDoS攻击事件进行了跟进分析. ...
- IOT设备通讯,MQTT物联网协议,MQTTnet
一.IOT设备的特性 硬件能力差(存储能力基本只有几MB,CPU频率低连使用HTTP请求都很奢侈) 系统千差万别(Brillo,mbedOS,RIOT等) 如使用电池供电,电量消耗敏感 如果是小设备, ...
- 【物联网】国内几大云计算厂商的物联网IOT解决方案-阿里云、腾讯、百度、华为、青云(转)
一.前言随着万物互联时代的来临,IOT逐渐成为各大云计算厂商重点发力的方向,作为平台厂商,提供的是包含接入.存储.管理.计算.展示等多个方面的综合能力,我这里就根据它们各自的特点和能力,简单介绍下它们 ...
- IoT设备程序开发及编译环境搭建初体验
引言 Mirai事件一经曝出,立即引领了一轮研究IoT设备的热潮.目前,对Mirai的报告大多只是在对其功能实现上的介绍,却很少提及如何实现IoT设备程序开发的测试环境.本文在对Mirai的源码研究的 ...
- MQTT是IBM开发的一个即时通讯协议,构建于TCP/IP协议上,是物联网IoT的订阅协议,借助消息推送功能,可以更好地实现远程控制
最近一直做物联网方面的开发,以下内容关于使用MQTT过程中遇到问题的记录以及需要掌握的机制原理,主要讲解理论. 背景 MQTT是IBM开发的一个即时通讯协议.MQTT构建于TCP/IP协议上,面向M2 ...
- 基于华为物联网IOT的应用开发 --- 基于.net 的SDK封装
最近,物联网的概念比较热门,一大批厂商抢着占领物联网的高低,包括有华为物联网.阿里云物联网.腾讯物联网.AWS物联网等等,无法一一列举,一般物联网包含设备侧开发.平台侧开发.应用侧开发,三个部分构成了 ...
- 基于华为物联网IOT的应用开发 ---界面管理开发
在前面随笔<基于华为物联网IOT的应用开发 --- 基于.net 的SDK封装>介绍过IOT中应用侧SDK的封装,主要就是基于华为IOT的应用侧封装,以便在应用系统中进行调用.应用侧SDK ...
- 当小程序遇见物联网IoT,几行代码搞定智能插座控制
在 5G 热潮的推动下,与其紧密结合的物联网(IoT)正日益成为个人和企业工作生活中的重要组成部分,它为企业和个人带来了操作流程的改进和更好的生活体验,随着人工智能(AI)技术的日趋成熟,IoT 与 ...
- OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?
摘要:本文主要介绍基于OpenHarmony 3.0版本来对接华为云IoT设备接入IoTDA,以小熊派BearPi-HM_Nano开发板为例,使用huaweicloud_iot_link SDK对接华 ...
- Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD
Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 前几章我 ...
随机推荐
- 使用Java实现haskell-style的list
作为一个haskell这门函数式编程语言的爱好者,我特别喜欢它的list操作和推导功能.与传统面向对象或者过程语言不同的是,函数式语言通常喜欢把它们分为head.tail或者init.last等两部分 ...
- zabbix企业监控
第一节.系统初始化 1.前期环境 主机名 IP地址 操作系统 备注 zabbix-10 192.168.2.10 CentOS Linux release 7.4 zabbix服务端 agent-15 ...
- Java斗地主(集合综合练习)
学完了集合后我们可以开始做一个简易版的 " 斗地主 " 了,但是呢咱们这个斗地主只能实现制造牌,洗牌.发牌.看牌这几个简单的功能,并不是我们玩的 " 真人版斗地主 & ...
- JDBC连接SQL Server2008 完成增加、删除、查询、修改等基本信息基本格式及示例代码
连接数据库的步骤: 1.注册驱动 (只做一次) 2.建立连接 3.创建执行SQL的语句.执行语句 4.处理执行结果 5.释放资源 1.建立连接的方法: Class.forName("com. ...
- 成功 解决 @keyup.enter=“search()“ 在el-input 组件中不生效的问题
1.问题描述 在输入框中.输入内容.点击回车.没有效果 问题代码 2.问题解决思路 查看官网的解释说明: 要使用.native修饰符 3.问题解决 修改后的代码 修改后的效果
- Go | 讲解GOROOT、GOPATH、GOBIN
前言 Go(又称 Golang)是 Google 开发的一种静态强类型.编译型.并发型,并具有垃圾回收功能的编程语言.Go 被誉为是未来的服务器端编程语言. Go是一门全新的静态类型开发语言,具有自动 ...
- MySQL 主从复制一主两从环境配置实战
MySQL 初始化 MySQL 主从复制是指数据可以从一个 MySQL 数据库服务器主节点复制到一个或多个从节点.MySQL 默认采用异步复制方式;从节点可以复制主数据库中的所有数据库或者特定的数据库 ...
- Java多线程(5):CAS
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 在JDK1.5之前,Java的多线程都是靠synchronized来保证同步的,这会引起很多性能问题,例如死锁.但随着Java的不断完善,JNI ...
- 十、RHEL Podman命令
Podman介绍 Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用.Podman 提供与 Docker 非常相似的功能.正如前面提到的那样,它不需要在你的系统上运行任何守护 ...
- Ruoyi表单构建
Ruoyi表单构建通过拖动组件就能自动生成前端代码,很方便,所以本文简单通过上层函数源码来梳理一下大致流程,如有需要再自行仔细一行行分析底层代码. 组件拖动 实现组件拖动功能主要依赖第三方库:VueD ...