支持 ios8 HomeKit 的第三方设备?

Posted

技术标签:

【中文标题】支持 ios8 HomeKit 的第三方设备?【英文标题】:Third party devices with ios8 HomeKit Support? 【发布时间】:2014-09-29 06:08:00 【问题描述】:

我已经有一个家庭自动化 ios 应用程序。我可以控制家中配置的设备。我可以通过本地和远程网络访问我的设备。

我刚刚阅读了苹果新的 ios8 HomeKit 支持。我想将 HomeKit 兼容性集成到我的应用程序中。我听说支持 HAP(家庭附件协议)的设备只能与 HomeKit 框架通信。苹果还表示,第三方设备可以与 HomeKit 进行通信。关于硬件协议或程序的信息不多,如何使用第三方设备和 HomeKit 之间的桥接?

我的 HomeKit 桥是真正的硬件吗?

我也对与配置的附件进行通信有疑问。因为苹果 HomeKit 框架有诸如“startExecutingActionSet”之类的命令来执行一个或多个任务,但是这些命令如何与我们在 ios 应用程序中定义的现有命令协议一起工作。

我是硬件工程新手。所以请给我一个简单的例子,苹果的homekit通过桥与我的硬件设备进行通信。

提前谢谢...

【问题讨论】:

【参考方案1】:

HomeKit 桥接器是一种硬件,它从 iDevice 接收 HK 风格的命令,并将它们转换为您家中目标设备的特定协议。 Phillips Hue 有one of these。 Apple 有硬件制造商需要遵守的协议,您需要注册他们的 MFi 程序才能获得该协议。然而,似乎有人对规范进行了逆向工程,您可以使用他们的代码编写您自己的software bridge。这就是我正在做的。

在 HomeKit 中,您不会直接与设备对话。这几乎就是 HomeKit 的重点。因此,每个开发人员都不需要知道每个设备的特定协议,您只需触发 iOS 来执行预定义操作即可。我相信您还可以通过构建一组您希望发生的操作并触发事件来添加触发器和操作集。例如。我进去的时候关掉车库里的所有配件。您不需要知道如何关闭每个设备,您只需告诉 iOS 在每台设备上运行 Off 命令,其余的就知道了。或者至少对于那些已经注册了 MFi 程序并且可以听 HomeKit 命令的人来说是这样的。

【讨论】:

嘿,克雷格,感谢您的回复。那真的很有帮助。但需要一些澄清。 - 我可以在我的旧应用程序中集成 HomeKit 框架吗? - 我的旧图书馆代码需要与设备通信吗?还是 HomeKit 框架协议和委托就够了? 您可以向 HomeKit 框架发出命令,让它打开和关闭(或加热或他们提供的任何服务)设备,但您不会在您的 iOS 应用程序中收到它们。这些命令从应用程序到 iOS,再到设备。您可以以相同的方式从设备请求信息,但在所有情况下,都是 iOS 与桥接器或设备通信。当需要在外部硬件上运行命令时,它不会联系您的应用程序。 HomeKit 的重点是替换您为与所有不同硬件类型进行通信而必须编写的所有自定义代码。

以上是关于支持 ios8 HomeKit 的第三方设备?的主要内容,如果未能解决你的问题,请参考以下文章

iOS8与以前版本比较,添加的新特性

homekit怎么用

iOS8以后第三方键盘获取高度不对的问题

iOS8指纹识别TouchID

DT-06 For Homekit

APNS