IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Homekit 设备之间通讯的理解 -> 正文阅读

[系统运维]Homekit 设备之间通讯的理解

(Homekit配对APPLE设备参考各自说明书。)

一、连接概述

HomeKit 设备列表、永久密钥和房间分组等信息由 iCloud 负责管理与同步,就是说改变连接内容是需要联网的,

而实际的设备控制等操作全部在本地完成。对与每一个设备,都视为一个Accessory。就是说当连接上设备后不需要连

接外网也能够对其进行控制。(HA与Homekit 连接相关内容其中关于HOMEKIT和HA的连接方法中也能侧面证明这点),而云端用于

保留设备信息,并不对设备进行控制:尝试过在不同网段下,无法对设备进行控制。

而建立本地Homekit设备中,将会在Bonjour区域网系统内通过mDNS广播自身的信息内容(.loacl:host,ip_address…)。

二、mDNS

在计算机网络中 ,?多播DNS?(?mDNS?)协议将主机名解析为不包含本地名称服务器的小型网络中的IP地址。

每次当有新的主机进入到该区域网内部空间的时候,就会向区域网内的所有设备广播一个数据包。

为数据包的主要内容为 此主机的AID(Accessory ID)和此主机的地址。

简单的理解mDNS的特征有下三点:

  1. mDNS 一般仅运用在一个局域网内的。
  2. 局域网内的服务发现,查询,注册时会运用到mDNS?

  3. mDNS 不是基于TCP的而是基于UDP 协议。

想要了解更加详细的内容,可以参考另外的mDNS文章

三、Bonjour Network

??

  1. ?概念

位于网络中的每个设备都是互连的,包括服务器端和PC端。

?

? ? ? ?2.??简述

Bonjour显示局部网内支持组播域名协议的设备和应用的名称,采用multicast DNS(就是mDns)

来解决区域网内设备命名冲突。能够自动发现区域网中的各种格式的设备,电脑端和服务。

Homekit的设备使用这个网络服务,在bonjour上注册一个节点接口。而Homekit终端会通过bonjour网络上的这个节点接口找到设备端,

查询信息,对设备的信息内容进行判断(e.g:是否属于这个“home”),同时设备也可以通过这个网络对终端发送设备状态信息(e.g:各类传感器的数值变化等)。

Bonjour Server是个抽象的服务器概念,并不是说在本地有一个服务器一直在运行。

而是在iCloud云端 上有个虚拟的Bonjour服务器,来存储本地的所有相关设备信息。

因为每次有新的设备入网,就会给该网下所有设备发送数据包。这就说明当已有设备为 n 的时候,每次有设备入网就要发送 n + 1 个数据包(包括云端)。

那么,总的数据包量就是 (n+1)! 。

四、通讯信息

? ? ? ? ?

  1. IP Accessories:本地端的设备行TCP连接来发送通讯信息。而如果需要对某个设备进行长期的监控,就会维持一个TCP长连接。

? ? ???2.?HTTP请求

获取设备信息:

?

发送指令:

? ??

信息内容:

(JSON)

???HAP Accessory:

?????? ?????? Accessory Instance ID(设备ID): Key: (aid), 服务器分配的aid

?????? ?????? Services(信息内容):Key:services 具体的传送数据

? ??Services:

????????????? Type(类型): Key : type 设备类型

????????????? Instance ID(IID):Key : iid 服务器分配的,说明等同于aid

????????????? Characteristics(特征): Key: characteristics 特征对象组,存放信息

????????????? Hidden Services:Key: hidden当为True时,用户不可见该设备

????????????? Primary Services:Key: primary 当为True时,此为主要服务

????????????? Linked Services: Key: Linked包含此服务链接到的服务的实例ID的数字数组。

Characteristics:

? ? ? ? ? ? ??数量总多,具体使用哪个直接查询文档。详见 官方文档?Developing apps and accessories for the home - Apple Developer

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:52:42  更:2022-07-21 21:54:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:53:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码