智能家居之设备配网(理论篇)

2023-11-12

前言:记录杭州疫情,独自在杭州跨年了,不过也可以抽出点时间来写写博客分享一下,在这也要祝大家虎年大吉!!


本篇目标:介绍当前智能家居产品中,关于设备配网中用到的一些技术


配网的作用

现在家庭生活中,智能设备越来越多,大到手机、电脑,小到插座、灯泡、网关等。但是这些设备需要联网的话,通常会接入家里的路由器,那么给设备配置连接路由器的过程就可以简单的称为配网
所以配网展现的作用就是让一个智能设备连接到路由器(网关)上,使得这个智能设备能够通过网络获取发送数据,并展现给使用者。

ps:对于现在的智能家居设备,配网还有一个作用,就是在设备连接到路由器后,可以将设备添加到使用者的平台(小米等)账号下。


配网的主流方式

配网的几个主流的方式:

  1. 有线连接:该方式十分简单,通过网线直接将设备连接到路由器即可,缺点就是网线束缚了空间。
  2. 无线连接 - 界面操作:有显示屏的设备一般会通过显示屏进行展示和交互,这样对于使用者非常友好,所有数据都可以看到,操作过程是十分明确,方便,如手机、电脑为代表。
  3. 无线连接 - softap配网(常用):对于没有显示屏的设备,会借助手机界面或说明书的引导,对设备进行配网。通过按键(或其他触发条件)长按,让设备散发一个开放的热点,在手机上预先填好路由器的账号密码,然后将手机的网络切换到开放的热点上,通过局域网将路由器信息发送给设备,设备收到信息后,去连接路由器。
  4. 无线连接 - 蓝牙配网(常用):和softap配网相似,也需要在手机上预填路由器信息,不过得益于手机蓝牙连接的方便性,使得手机能够自动连接到设备蓝牙,并将数据传输给设备,设备收到信息后去连接路由器。
  5. 无线连接 - smartconfig(不常用):将路由器信息经过长度、地址编码,然后通过手机广播出去,同时将设备变成类似一个无线抓包器,捕获并过滤出编码的数据包,并解码成路由器数据,连接路由器;整个操作过程与蓝牙配网类似,但是对于编码解码的设计,以及开发设计要求很高,并且该方式成功率无法达到100%,并且存在很多路由器兼容性上的问题,所以开发和维护的成本会比较高。
  6. 无线连接 - 私有协议方式(不常用):现在的厂商将自家的路由器和设备间,通过定制私有协议(或私有方案)的方式,使得自家的设备能够快速连接上自家的路由器,并不需要上述几个方式复杂的操作,但局限性也显而易见了,所以在协议未统一的情况下,也不常使用这种方式,代表如华为的hilink。
  7. 无线连接 - 网关接入(常用):该方式用于多个设备组网,一般是蓝牙和zigbee设备,网关已经通过上述的某种方式接入路由器联网,此时只需要简单的根据手机上的提示进行自组网配对即可,之后设备会自动连接到网关上,由网关代理管理所有的数据入网。

ps:简单的提一句个人觉得的配网趋势,由于现在很多的无线芯片支持wifi&ble双功能,所以主流会偏向蓝牙配网,并将softap配网作为备用;同时大厂商(例如华为、小米、阿里)将会发展上述的私有协议方式的快速接入,并在联盟提出统一化的配网协议,达到多平台产品之间真正的互通。


配网的设计

在本节选取上述的几个无线连接提下具体的过程设计:

  • softap配网:
    (1)手机app预填路由器信息
    (2)设备散发热点,热点名称可以结合mac自定义,用于区分即可
    (3)手机连接设备热点后,便建立了局域网
    (4)选取局域网通讯的方式:tcp&http,udp&coap,tcp&私有协议,udp&私有协议都可,在通用和数据量上都有各自的优先和缺点;
    (5)制定具体的交互命令协议:如查询设备信息、设置路由器信息
    (6)数据加密
    (7)数据交互完毕后,设备关闭热点,完成路由器的连接

    app 设备 填入路由器信息 散发热点 DEV-XXXXXXXX 连接热点 udp&私有协议介质传输 查询设备信息 返回设备信息 发送路由器信息 响应 关闭热点,连接路由器 app 设备
  • 蓝牙配网:
    (1)手机app预填路由器信息
    (2)设备进行蓝牙广播,可以在蓝牙广播包 - 厂商自定义数据中加入特定的数据用于区分自家的设备
    (3)设备本地蓝牙服务注册自定的服务用于通讯
    (4)手机搜索到特定的蓝牙设备后,连接蓝牙,获取服务,通过服务进行通讯
    (5)制定协议:蓝牙数据量小,一般自定私有字节协议进行通讯
    (6)制定具体的交互命令协议:如查询设备信息、设置路由器信息
    (7)数据加密
    (8)数据交互完毕后,设备关闭蓝牙,完成路由器的连接

    app 设备 填入路由器信息 蓝牙广播 发现设备、连接蓝牙 查询蓝牙服务 响应 蓝牙服务&私有协议传输 查询设备信息 返回设备信息 发送路由器信息 响应 停止广播,连接路由器 app 设备

小结

配网为当前智能家居设备不可缺少的步骤,上述都是个人的一些总结。
当然上述的配网只是最简化的流程,在真正的开发上,对于体验和开发会对过程进行二次的优化和修改,达到对于使用者友好。

后续篇章将通过局域网设备、esp32来具体实现softap配网和蓝牙配网。

共勉

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

智能家居之设备配网(理论篇) 的相关文章

  • chrome浏览器fitler中的XHR作用是什么

    chrome浏览器fitler中的XHR作用是什么 记录ajax中的请求 什么是 AJAX AJAX 异步 JavaScript 和 XML AJAX 是一种用于创建快速动态网页的技术 通过在后台与服务器进行少量数据交换 AJAX 可以使网
  • SpringBoot集成LayuiAdmin的简单使用

    SpringBoot LayuiAdmin的简单使用 分享一下SpringBoot集成LayuiAdmin的一些心得体会 刚开始网上找了半天没找到集成教程 鼓捣了一阵只好自己上手了 快速开始 1 准备一份LayuiAdmin 源码压缩包解压
  • js——修改对象里面的属性名

    代码 var e avatar uploads 20230816 b30044ba6735c83bdea9d43b85c4ae15 jpeg mobile code 111 nickname 小土豆 e aaa e avatar delet
  • Elasticsearch 跨集群复制(CCR)的使用

    什么是 Elasticsearch 的跨集群复制 CCR Cross Cluster Replication 跨集群复制是 Elasticsearch v6 5 发布的一个新的特性 这个特性可以让你将一个集群的索引数据同步复制到远程的另外一

随机推荐

  • 学习太极创客 — MQTT 第二章(八)ESP8266 MQTT 用户密码认证

    视频链接 https www bilibili com video BV1fK4y1L72n spm id from 333 999 0 0 vd source b91967c499b23106586d7aa35af46413 资料链接 h
  • java上传视频文件到服务器,java视频上传到远程服务器

    java视频上传到远程服务器 内容精选 换一换 该步骤必须在root用户下执行 若以普通系统用户登录 需要执行su切换到root用户下执行后续操作 ssh keygen t rsa过程中需要 可选 输入保存的文件名 默认为在 root ss
  • C#学习笔记 委托

    定义委托 有时候可能想要将一个方法传递给另一个方法 在C 中使用函数指针来实现 在JavaScript中由于函数也是对象所以直接可以在参数列表中传递 而在C 中需要使用委托 要使用委托 首先需要定义它 定义一个接受两个int参数 返回一个i
  • 【HDU4741】空间解析几何

    1 题目链接 题目大意 给出两条空间中不平行的直线 求出这两条直线的距离和对应的点 2 分析 在空间中我们知道 直线有三种关系 相交 平行 异面 但是题目中已经说了 是不相交的直线 所以只可能有两种关系 平行或者异面 在空间中 直线方程并不
  • PATH环境变量变化,导致无法找到基本命令

    解决办法 好多命令的位置在 usr bin 恢复办法如下 1 由于找不到sudo 所以必须写全路径 其他命令如果提示找不到 也需要写全路径 usr bin sudo vi etc profile 2 末尾添加以下内容后保存 export P
  • android fwk开发之堡垒机的使用

    在Android堡垒机 Ubuntu 服务器上编译android AOSP源码 1 添加用户 1 切换到root用户 sudo su 2 添加账户 useradd m username 删除用户 userdel r username 使用u
  • 使用elementUI实现el-table表格跨行

    1 概述 element table 有一个属性 span method 可以设置单元格合并 通过给table传入span method方法可以实现合并行或列 方法的参数是一个对象 里面包含当前行row 当前列column 当前行号rowI
  • new bing聊天机器人免翻命令行使用--大佬逆向工程api

    使用 可以看到 IP地址在美国 使用步骤 下载地址 GitHub地址 或者命令行 python3 m pip install EdgeGPT upgrade 获取bing的cookie 不会控制台获取的 可以在edge插件里面下载cooki
  • 爬虫实战之《流浪地球》豆瓣影评分析(一)

    背景与挖掘目标 获取豆瓣评论数据 分析好评与差评的关键信息 分析评论数量及评分与时间的关系 分析评论者的城市分布情况 1 背景与挖掘目标 豆瓣 douban 是一个社区网站 网站由杨勃 网名 阿北 创立于2005年3月6日 该网站以书影音起
  • ChatGPT漫谈(二)

    ChatGPT 脱胎 于OpenAI在2020年发布的GPT 3 任何外行都可以使用GPT 3 在几分钟内提供示例 并获得所需的文本输出 GPT 3被认为是当时最强大的语言模型 但现在 ChatGPT模型似乎更强大 ChatGPT能进行天马
  • VUE 自定义 穿梭框

    某次项目要使用穿梭框进行数据选择 项目使用的element ui框架 框架中的穿梭框是这样子的 好像不能满足我的需求 因为需要展示很多内容 包括图片等信息 也要加上很多样式等等 我尝试这去改造 一会后觉得还是自己动手去写一个靠谱 几经鼓捣效
  • [华为云云服务器评测] 华为云耀云服务器 Java、node环境配置

    系列文章目录 第一章 linux实战 华为云耀云服务器L实例 Java node环境配置 文章目录 系列文章目录 前言 一 任务拆解 二 修改密码 三 配置安全规则 四 远程登录并更新apt 五 安装 配置JDK环境 5 1 安装openj
  • 数据结构和简单算法思想

    只为自己学习进行一下记录 虽然之前上了一些关于数据结构 算法之类的课 但之前都没有怎么搞懂 尤其是算法里面的一些算法思想 现在看能不能补上 就是一些大佬的算法指导 刷LeetCode的一些题 回看之前的书上面的重点 教材是清华大学出版社的数
  • IDEA vs VSCode在java开发上的横向对比

    讲讲出身 了解一个人需要了解他的出身 一个app也是如此 Visual Studio Code 简称 VS Code 是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X Windows和 L
  • java文件操作报错:java.io.FileNotFoundException:D:\..(拒绝访问)

    import java io Description 复制文件 从一个输入流中读取数据 然后通过输出流写入目标位置 一边读一边写 ClassName CopyFile Version V1 0 public class CopyFile p
  • softmax回归

    softmax回归 线性回归不同 softmax回归的输出单元从 个变成了多个 且引 了softmax运算使输出更适合离散值的预测和训练 softmax回归跟线性回归 样将输 特征与权重做线性叠加 它将logistic 激活函数推广到C类
  • 面向对象:类的概念和定义!

    面向对象的概念 对象 Object 含有 物体 的概念 一切皆物体 对象 对象由静态的属性和动态的行为组成 属性 行为 存储 保温 类 一组具有相同属性和行为的对象的抽象 杯子 车 不管白猫黑猫 抓到老鼠就是好猫 这句话中存在两个对象 白猫
  • Kubernetes调度器介绍

    特邀文章 原载于Gemini Open Cloud的博客 作者是Gemini Open Cloud的CEO Patrick Fu Kubernetes是一个可移植的 可扩展的 开源的集群管理器 用于管理容器化工作负载和服务 Kubernet
  • Jumperserver堡垒机管理服务器实战

    一 Jumpserver堡垒机简介 1 跳板机简介 跳板机就是一台服务器 开发或运维人员在维护过程中首先要统一登录到这台服务器 然后再登录到目标设备进行维护和操作 跳板机缺点 没有实现对运维人员操作行为的控制和审计 使用跳板机的过程中还是会
  • 智能家居之设备配网(理论篇)

    前言 记录杭州疫情 独自在杭州跨年了 不过也可以抽出点时间来写写博客分享一下 在这也要祝大家虎年大吉 本篇目标 介绍当前智能家居产品中 关于设备配网中用到的一些技术 配网的作用 现在家庭生活中 智能设备越来越多 大到手机 电脑 小到插座 灯