有没有办法将HomeKit的传输协议更改为 一个特定的?我想远程控制我的设备。 即:通过XMPP / websocket隧道传输HTTP流量。等?
如果不是,我知道有一个DNS-SD名称服务器可以启用广域发现, 但是,如何强制HomeKit框架搜索给定的域?
答案 0 :(得分:0)
没有Apple支持的更改HomeKit传输协议的方法:它直接依赖于HomeKit附件协议(HAP),它在iOS本身内实现。此外,HomeKit将其DNS-SD域限制为local.
,因此您的附件必须出现在当前子网上。
远程访问HomeKit配件的最佳方法是使用Apple TV。每Apple's HomeKit support document:
如果您的Apple TV(第3代或更高版本)的软件版本为7.0或更高版本,则当您使用iOS设备离开家时,可以控制启用HomeKit的附件。
在iOS设备和Apple TV上使用相同的Apple ID登录iCloud,您就可以使用Siri命令远程控制配件。
您可以编写一个简单的iOS应用程序,宣传HomeKit配件的确切DNS-SD记录,并将TCP层之上的所有流量转发到您家中的服务器。然后,家庭服务器需要连接到相应的附件并将TCP之上的所有流量转发给它。这可能无法在蜂窝网络上成功运行,因为我相信DNS-SD会失败,即使它是针对localhost的。我也不确定系统是否会发现localhost DNS-SD服务。