支持ios8 HomeKit的第三方设备?
我已经有一个家庭自动化ios应用程序。我可以控制在家中配置的设备。我可以通过本地和远程网络访问我的设备。支持ios8 HomeKit的第三方设备?
我刚刚读了苹果新的ios8 HomeKit支持。我想将HomeKit兼容性集成到我的应用中。我听说HAP(家庭辅助协议)支持的设备只能与HomeKit框架进行通信。另外苹果表示,第三方设备可以与HomeKit进行通信。有关硬件协议或程序的信息不多,如何在第三方设备和HomeKit之间使用桥接?
我的HomeKit桥是一个真正的硬件?
此外,我怀疑与配置的配件沟通。由于Apple HomeKit Framework具有像“startExecutingActionSet”这样的命令来执行一个或多个任务,但该命令如何与我们在ios应用程序中定义的现有命令协议一起工作。
我是硬件工程新手。所以请给我一个简单的例子,说明通过网桥与我的硬件设备之间的通信。
在此先感谢...
一个HomeKit桥是一块从接收的iDevice港式命令,并翻译他们进入您家的目标设备上的特定协议的硬件。 Phillips Hue有one of these。 Apple有一个硬件制造商需要遵守的协议,您需要注册他们的MFi程序才能获得该协议。不过有人似乎已经对规格进行了逆向设计,您可以使用自己的代码编写自己的software bridge。这就是我正在做的。
在HomeKit中,您不会直接与设备通话。这几乎是HomeKit的主要观点。为了让每个开发人员不需要知道每个设备的特定协议,只需触发iOS即可进行预定义操作。我相信你也可以通过建立一组你想要发生的事件和触发事件来添加触发器和动作集。例如。当我进去时关掉车库里的所有配件。您不需要知道如何关闭每个设备,您只需告诉iOS在每个设备上运行关闭命令,并知道其余部分。或者至少对于那些已经注册了MFi程序并可以收听HomeKit命令的人来说。
嘿克雷格感谢您的回复。这真的很有帮助。但需要一些澄清。 - 我可以在我的旧应用中集成HomeKit框架吗? - 我的旧图书馆代码与设备进行通信需要?或HomeKit框架协议和委托就足够了? – 2014-09-30 06:52:39
您可以向HomeKit框架发出命令来打开和关闭设备(或加热设备或他们提供的任何服务)设备,但是您不会在iOS应用内接收它们。命令从应用程序转到iOS,以桥接到设备。 您可以以相同的方式从设备请求信息,但在任何情况下,它都是与该桥或设备通话的iOS设备。当命令需要在外部硬件上运行时,它不会与您的应用程序联系。 HomeKit的意义在于替换所有必须编写的用于与所有不同硬件类型进行通信的自定义代码。 – Craig 2014-09-30 09:38:09