【HomeKit】HAT User Manual教程

在这里插入图片描述

前言:这篇文章是对于苹果协议文件《HomeKit Accessory Tester (HAT)
User Manual》的学习,即 HomeKit配件测试仪(HAT) 用户手册,该版本是第11次修订

第一章

概述

本文档介绍了Apple HomeKit配件测试仪(HAT)的配置和使用方法。HAT是一个Mac应用程序,它充当多个HomeKit附件协议(HAP)客户端,用于开发、调试和测试附件功能。

1.1设备清单

HAT要求Mac能够运行macOS 10.14 (Mojave)或更高版本,具有Wi-Fi连接并能够通过BLE进行通信。运行HAT不需要额外的硬件。

1.2应用方式

HAT应用程序有两个主要模式:Manual Mode和Certification Assistant模式。应用程序目前只包含手动模式。

1.3事件跟踪

HAT的事件跟踪窗口表示在使用配件期间发生的事件流。这包括高级描述,如“开始发现”,但扩展到包括解密的HTTP和BLE有效负载。

HAT将还捕获使用HAP的每个网络接口上的低级数据包。然后可以进行事件跟踪通过 File > Save保存菜单项或按Command-S。

以下HTTP有效负载类型具有额外的显示属性

  • JSON有效负载
  • TLV8有效载荷
  • 配对列表

每个事件都包含一组详细信息,可以在主跟踪视图中通过双击事件,或单击工具栏中的“详细信息”。您也可以将这些详细信息复制到粘贴板上,从而生成文本的格式与显示的格式类似。

事件跟踪包括一个筛选器,它将显示的内容限制为包含所提供的潜台词的事件。

在这里插入图片描述图1.1:事件跟踪-基本视图

通过按住“option”或打开Preferences中的设置,所选行的时间戳增量将显示相对于其他的。

在这里插入图片描述图1.2:事件跟踪-时间戳增量

在流量视图中双击一个事件,详细信息视图将在窗口的右侧弹出选项卡查看其他详细信息。

在这里插入图片描述图1.3:事件跟踪-详细信息视图

1.4手动模式

HAT的手动模式用于开发和调试附件。它允许附件开发人员以一种比实际面向公众的客户端更低级的方式发起客户端操作。

1.4.1打开Trace

“手动模式”窗口将跟踪打开时发生的所有事件。该跟踪可以通过手动模式窗口右下角的“跟踪”按钮打开。事件跟踪章节详细描述了该窗口显示的内容。跟踪记录所有事件,低级网络数据。这个跟踪视图还将在未来的版本中包含错误信息。跟踪可以保存到您的计算机上,并在以后需要时重新打开。
在这里插入图片描述
图1.4:手动模式-跟踪按钮

1.4.2创建虚拟设备

启动应用程序后,您应该看到手动模式窗口。通过该窗口,您可以创建和管理IP和BLE客户端,它们充当虚拟的iOS设备。默认情况下,将为您创建一个IP和BLE设备。如果您选择删除它们,您可能必须使用窗口左下角的“+”按钮手动重新创建它们。在模拟钥匙链共享时,一次用多个虚拟客户端测试您的配件可能是有益的
在这里插入图片描述

图1.5:手动模式-初始窗口

1.4.3设备设置

一旦您创建了一个设备,您将看到一个屏幕来配置其初始属性。您可以选择使用设备自己的密钥存储,或者,如果您创建了多个设备,您可以共享另一个设备的密钥存储来模拟iCloud密钥链共享。显式选择密钥存储是可选的。一旦设备被使用,按钮的选择将被应用,此时其他设备可能会共享该密钥存储。
在这里插入图片描述图1.6:手动模式-初始IP设备设置
在这里插入图片描述

图1.7:手动模式-初始BLE设备设置

1.4.4发现配件

开始发现后,您的bonjourn -enabled或BLE配件将显示在设备下。选择访问键将显示更详细的信息。

在这里插入图片描述图1.8:手动模式- IP附件摘要

在这里插入图片描述

图1.9:手动模式- BLE配件摘要

1.4.5配对

看到设备后,就可以开始配对了。在配对过程中,系统会提示您输入配件的密码。HAT还提供了禁用会话安全性、禁用加密和使配对成为可选的功能。

在配件上实现配对之前,这个特性可能有利于开发更高级的应用程序功能。

注意
禁用会话安全性的功能仅用于开发和调试目的,附件不能附带在没有会话安全性的情况下运行的功能

在这里插入图片描述图1.10:手动模式-配对和会话安全

1.4.6配件/服务发现

配对后,您可以通过单击附件服务器摘要框中“访问系列”旁边的“发现”按钮启动服务发现。这样做将发现附件服务器提供的所有附件,并允许您访问所有包含的特征。

在这里插入图片描述

图1.11:手动模式-发现

1.4.7读写特性

在查看特性时,您可以读取其值,也可以向其写入各种类型的值。
在这里插入图片描述
图1.12:手动模式-读/写特性

第二章

修订历史

日期rev备注
7/8/1911移除隧道部分。删除了关于归档bug和已知的问题,这些信息可以在README中找到
5/3/1610新的bug归档模板
4/5/169HAT 3.2的隧道设置
1/7/168在HAT 3.0中支持HAP规范R6
4/17/157添加了验证配对列表的规则,并更新了BLE功能,在HAT 1.0中添加和移除控制器
1/30/156更新了HTTP验证,并增加了用于写入的UI增强HAT 1.0 Beta 6中的自定义特性
1/16/155支持自定义服务和特性添加到HAT 1.0Beta 4
11/7/144更新HAT 1.0 Beta 4的图像和注释
7/30/143与HAT 1.0 Beta 3相关的IP和BLE验证规则
6/23/142BLE支持与HAT 1.0 Beta 2a相关
4/7/141HAT 1.0 Beta 1的快速入门指南

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/99048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis作为缓存,mysql的数据如何与redis进行同步?

Redis作为缓存,mysql的数据如何与redis进行同步? 一定要设置前提,先介绍业务背景 延时双删 双写一致性:当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致 读操作:缓存命中,直接返回;缓存未…

【Spring Cloud】深入探索统一网关 Gateway 的搭建,断言工厂,过滤器工厂,全局过滤器以及跨域问题

文章目录 前言为什么需要网关以及网关的作用网关的技术实现 一、Gateway 网关的搭建1.1 创建 Gateway 模块1.2 引入依赖1.3 配置网关1.4 验证网关是否搭建成功1.5 微服务结构分析 二、Gateway 断言工厂2.1 Spring 提供的断言工厂2.2 示例:设置断言工厂 三、Gateway …

Spring的事务控制

目录 基于AOP的声明事务控制 Spring事务编程概述 搭建测试环境 基于xml声明式事务控制 详解 事务增强的AOP 平台事务管理器 Spring提供的Advice(重点介绍) 原理 (源码没有翻太明白) 基于注解声明式事务控制 基于AOP的声明…

小视频APP源码选择指南:挑选最适合你的开发框架

在如今蓬勃发展的小视频APP行业中,源码的选择是打造一款成功应用的关键步骤。然而,面对众多开发框架的选择,如何挑选最适合你的小视频APP源码呢?作为这一领域的专家,我将为你提供一份详尽的指南,助你在源码…

Windows10打开应用总是会弹出提示窗口的解决方法

用户们在Windows10电脑中打开应用程序,遇到了总是会弹出提示窗口的烦人问题。这样的情况会干扰到用户的正常操作,给用户带来不好的操作体验,接下来小编给大家详细介绍关闭这个提示窗口的方法,让大家可以在Windows10电脑中舒心操作…

智能工厂MES系统,终端设备支持手机、PDA、工业平板、PC

一、开源项目简介 源计划智能工厂MES系统(开源版) 功能包括销售管理,仓库管理,生产管理,质量管理,设备管理,条码追溯,财务管理,系统集成,移动端APP。 二、开源协议 使用GPL-3.0开…

010:连续跌3天,同时这三天收盘价都在20日均线下,第四天上涨的概率--以京泉华为例

对于《连续跌三天,压第四天上涨的盈利计算》,我们可以继续优化这个策略,增加条件:同时三天都收盘在20日均线下。 因为我们上一篇《获取20日均线数据到excel表中》获得了20日均线数据,我们可以利用均线数据来编写新的脚…

基于SpringBooy的安康旅游网站的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 登录模块的实现 景点信息管理界面 酒店信息管理界面 特产管理界面 游客管理界面 景点购票订单管理界面 系统主界面 游客注册界面 景点信息详情界面 酒店详情界面 特产详情界面 三、核心代码 1、登录模块 2、文件上传模块…

c++桥接模式,中介者模式应用实现状态跳转

上图为例,按上述两种方式实现的模式跳转,如果在原先的三种模式之间再增加多一种模式,就会引起每个模式都会要求改变,并且逻辑混乱,因此更改模式为桥接中介者访问,将抽象和实现分离,实现之间采用…

Ultra-Fast-Lane-Detection-v2 {后处理优化}//参考

采用三次多项式拟合生成的anchor特征点,在给定的polyfit_draw函数中,degree参数代表了拟合多项式的度数。 具体来说,当我们使用np.polyfit函数进行数据点的多项式拟合时,我们需要指定一个度数。这个度数决定了多项式的复杂度。例…

JProfiler14.0(Java开发分析)

JProfiler是一款专业的Java应用程序性能分析工具,可帮助开发人员识别和解决Java应用程序中的性能问题。JProfiler支持Java SE、Java EE和Android平台,提供了多种分析选项,包括CPU分析、内存分析和线程分析等。 使用JProfiler,开发…

【设计模式】使用原型模式完成业务中“各种O”的转换

文章目录 1.原型模式概述2.浅拷贝与深拷贝2.1.浅拷贝的实现方式2.2.深拷贝的实现方式 3.结语 1.原型模式概述 原型模式是一种非常简单易懂的模型,在书上的定义是这样的: Specify the kinds of objects to create using a prototypical instance,and cre…

C语言打印菱形

一、运行结果图 二、源代码 # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int line 0;int i 0;int j 0;//获取变量值&#xff1b;scanf("%d", &line);//循环打印上半部分&#xff1b;for (i 0; i <…

Spring在业务中常见的使用方式

目录 通过IOC实现策略模式 通过AOP实现拦截 通过Event异步解耦 通过Spring管理事务 通过IOC实现策略模式 很多时候&#xff0c;我们需要对不同的场景进行不同的业务逻辑处理举个例子&#xff0c;譬如不同的场景需要不同支付方式&#xff0c;普通的逻辑是使用if-else&#x…

阿里云对象存储OSS SDK的使用

官方文档 https://help.aliyun.com/zh/oss/developer-reference/java 准备工作 windows安装好JDK&#xff0c;这里使用JDK1.8为例 windows安装好IDEA&#xff0c;这里使用IDEA2022 登录阿里云控制台&#xff0c;通过免费试用OSS或开通OSS 步骤 配置访问凭证 有临时和长期…

文化主题公园旅游景点3d全景VR交互体验加深了他们对历史文化的认知和印象

如今&#xff0c;沉浸式体验被广泛应用于文旅行业&#xff0c;尤其是在旅游演艺活动中。在许多城市&#xff0c;沉浸式旅游演艺活动已成为游客“必打卡”项目之一。因其独特体验和强互动性&#xff0c;这类演艺活动不仅吸引了外地游客&#xff0c;也吸引了本地观众。 随着信息化…

解决: 使用html2canvas和print-js打印组件时, 超出高度出现空白页

如果所示&#xff1a;当我利用html2canvas转换成图片后, 然后使用print-js打印多张图片, 第一张会出现空白页 打印组件可参考这个: Vue-使用html2canvas和print-js打印组件 解决: 因为是使用html2canvas转换成图片后才打印的, 而图片是行内块级元素, 会有间隙, 所以被挤下去了…

大数据——Spark Streaming

是什么 Spark Streaming是一个可扩展、高吞吐、具有容错性的流式计算框架。 之前我们接触的spark-core和spark-sql都是离线批处理任务&#xff0c;每天定时处理数据&#xff0c;对于数据的实时性要求不高&#xff0c;一般都是T1的。但在企业任务中存在很多的实时性的任务需求&…

Ubuntu22.04.3安装教程

虚拟机系列文章 VMware Workstation Player 17 免费下载安装教程 VMware Workstation 17 Pro 免费下载安装教程 windows server 2012安装教程 Ubuntu22.04.3安装教程 FTP服务器搭建 Ubuntu22.04.3安装教程 虚拟机系列文章前言Ubuntu22.04.3安装&#xff08;图文&#xff09; 前…

Linux系列---【查看mac地址】

查看mac地址命令 查看所有网卡命令 nmcli connection show 查看物理网卡mac地址 ifconfig 删除网卡 nmcli connection delete virbr0 禁用libvirtd.service systemctl disable libvirtd.service 启用libvirtd.service systemctl enable libvirtd.service