你是否用过智能家居?你知道智能家居是怎么连上你家WIFI热点吗?你是否好奇APP是怎么和智能家居通话的?今天的这篇文章为你揭晓智能家居配网原理。

绝大多数智能家居都要求用户安装一个APP,通过APP完成设备的联网和控制,这种行为除了出于留存用户数据(得到隐私信息)外,还有一点就是为了首次的设备联网。

要知道出于成本原因,物联网设备的处理器价格都比较低廉,它是很难实现类似让用户说出wifi账号和密码自己自动连接功能的,更不要说让它实现你用语音直接命令的功能,所有的一切,都是通过APP上传服务器让服务器做翻译给设备下指令的,包括把WIFI信息告诉智能家居。所以,不要轻易在你的智能家居面前说或做一些敏感的事情,说不准哪天泄露的几百G文件中就有你和某人不可描述的一幕,这也是当前物联网设备面临的一个问题:隐私。

有点跑偏,APP告诉设备WIFI信息的方式现在主要有两种,分别为:AP配网和SmartConfig配网,下面简单说一下这两种配网模式:

AP配网

AP是Access Point的简称,详细了解请看我的这篇文章,里面简单介绍了ESP8266无线模块的工作模式。

AP配网从字面意思很容易理解,就是让物联网设备处于AP工作模式下,启动一个接入点,然后用手机或其他无线终端连接这个接入点,连接后APP会把实现你输入的WIFI信息发送给设备,有的则是连接后通过代码把用户劫持到一个网页,让用户在该网页中输入WIFI信息,然后设备连接这个WIFI,完成通信。通信方式有多种,可以灵活选择,例如:tcp、udp、http,https(不太可能,实现成本太高,硬件算力不足)……

以下把智能家居简称为设备,AP配网方式,示意图如下:

未命名文件.png

SmartConfig配网

这种配网方式有的地方称为Easy-Connect配网,原理都是一样的,就是利用设备无线模块的混杂模式发送广播数据包(这里明白的会立刻明白,不明白的也不是自己原因,接下来我慢慢解释),混杂模式是无线网卡工作的模式之一,工作在混杂模式下的网卡接收所有的流经过网卡的数据帧,因为WIFI实际上是一种电磁波,电磁波的传播是不依赖于介质的,这样说有些抽象,我们实际举一个例子:

WIFI电磁波示例

上图中的线段代表WIFI信号电磁波,无线终端和路由器之间的通信并不是单纯的通道形式,而是向外不断扩展的电磁波,正常模式(直接模式)下的无线网卡是不会关注不属于自己信号的信号的,工作在混杂模式下的网卡会接收所有能接收的无线信号,这些信号中有各种信息,SmartConfig配网就是让智能家居物联网设备的无线模块工作在混杂模式下,然后手机APP不断的向周围广播带有约定标志的你输入的WIFI信息,物联网设备对接收到的数据包分析,把带有约定标志的解密,然后得到WIFI信息。

流程如下:

未命名文件 (2).png

上述的广播是广义上的广播,意思发送数据,手机的广播方式有多种,通常使用以下两种:

广播

组播

至于这两种方式的区别,自己去搜索吧。

物联网智能家居需要服务器吗,智能家居设备常见的两种配网/联网方式相关推荐

  1. 【IoT物联网全栈之路 ②】如何快速体验,微信公众号配网,天猫精灵和小爱同学双通讯;(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 开门大篇,xClouds是什么?我什么要做?为什么要开源? 2 ...

  2. 游戏服务器正式发布时动态库处理的两种策略

    引言 今天帮同事解决hiredis动态库问题的时候,发现他是同时安装了两套hiredis,用的头文件是新版的,bin文件指向的动态库.so文件却是旧的,引发了莫名其妙的问题,解决后讨论时又引出了一个问 ...

  3. linux服务器 远程桌面,Linux 远程桌面的两种方式

    在绝多数情况下,Linux 不需要使用到GUI的桌面环境,但是有时在一些特殊的场景如安装Oracle的时候,需要有图形界面进行辅助才可以安装. 如果要使用Linux的图形界面,一般有两种方式: 1.L ...

  4. Linux服务器 | 服务器模型与三个模块、两种并发模式:半同步/半异步、领导者/追随者

    文章目录 两种服务器模型及三个模块 C/S模型 P2P模型 I/O处理单元.逻辑单元.存储单元 并发 同步与异步 半同步/半异步模式 变体:半同步/半反应堆模式 改进:高效的半同步/半异步模式 领导者 ...

  5. cf服务器断开连接出现信息有误,CF与服务器断开连接是什么原因?两种方法解决...

    穿越火线每次玩到高分的时候游戏就会被提示:"网络出现异常,与服务器断开连接"的情况,怎么解决? 方法步骤: 第一种方法: 1.在电脑上下载安装360安全卫士,接着在主界面中找到工具 ...

  6. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  7. 服务器是嵌入式系统吗,常见的几种嵌入式web服务器

    嵌入式WEB服务器常见的有:Lighttpd, Shttpd, mongoose, Thttpd, Boa, Mini_httpd, Appweb, Goahead Lighttpd LibHttpd ...

  8. nginx网站服务器的版本号,隐藏nginx版本号的两种方法

    一般情况下,我们要知道一个网站用了哪种环境,只需要简单通过浏览器的F12控制台,查看http的响应头信息即可看到. 比如下面这个: 有时候在网站显示403/404/502等错误的时候,甚至还会暴露具体 ...

  9. 微信转账 服务器错误,微信转账转错了怎么办 两种补救方法介绍

    微信转账转错了怎么办 两种补救方法介绍 罗琛琛 2018-08-31 11:03:50    希财网 微信转账已经是我们日常生活中再常见不过的事情了,但是一不小心也可能会出现微信转账转错了的情况,有可 ...

最新文章

  1. 学以致提高学生操作计算机能力,【学以致用】提供学习平台,提升学生实际应用能力...
  2. python编写IP地址与十进制IP转换脚本
  3. 反思一次线上bug的修改:没法看数据表的一次线上问题处理
  4. anaconda 更改路径_Anaconda更改Jupyter 默认启动路径
  5. mysql sql语句使用技巧
  6. 鼠标中间无法打开新标签_还记得鼠标有几个键?Win10环境鼠标中键的妙用
  7. Redis学习总结(23)——Redis如何实现故障自动恢复?浅析哨兵的工作原理
  8. Memset、Memcpy、Strcpy 的作用和区别(转)
  9. Javaweb开发之git资料
  10. python alpha量化交易软件_2019AI量化交易教程视频 AI量化交易模型教程 alpha量化选股模型交易系统 CTA型量化策略教程...
  11. win10怎么打开无线网络服务器,win10系统打开无线网络服务的操作方法
  12. 计算机桌面的文件拒绝访问,文件或文件夹拒绝访问的解决方法
  13. 三、cadence ic 5141 ——打开cadence软件
  14. 【计算机网络系列】链路层的差错控制与流量控制
  15. sql操作access时出现 MSDTC错误,服务器 'SERVER' 上的 MSDTC 不可用。
  16. 面试官:请你说一说vuex的五个属性,分别是什么,区别和用途说一下
  17. ISO 14443 非接触式射频卡标准学习
  18. 计划行为理论和技术接受模型整合模型图形_音乐与语言加工的二元模型(dual modal)...
  19. matlab画cca的图,Canoco5绘制漂亮的DCA或CCA图
  20. 【Android开发】app升级报错,解析包时出现错误(华为手机8.0系统)

热门文章

  1. 初中数学与计算机论文,初中数学优秀论文15篇
  2. 如何用Python Tkinter实现剪刀石头布小游戏?
  3. ZUCC数据库原理作业5
  4. 卡斯柯经验谈│流程驱动项目管理的应用
  5. 计算机类课程嵌入式系统的特点及其应用,嵌入式系统的准确定义、特点及其重要性...
  6. 设计新灵感:CA奖项背后的秘密
  7. 2022爱分析· 虚拟化活动厂商全景报告 | 爱分析报告
  8. 《工程学导论》读书笔记第二章工程与科学
  9. 机械中计算机的应用研究,机械设计制造及其自动化中计算机技术的应用研究
  10. SACC2018:微服务架构设计