Транспортный уровень HomeKit / удаленное управление

Есть ли способ изменить транспортный протокол HomeKit на определенный? Я хотел бы управлять своим устройством удаленно. т.е.: туннелировать HTTP-трафик через XMPP/websocket. так далее?

Если нет, я знаю, что есть сервер имен DNS-SD, позволяющий выполнять глобальное обнаружение, но как я могу заставить инфраструктуру HomeKit выполнять поиск в этом заданном домене?


person MartoniczD    schedule 03.01.2015    source источник


Ответы (1)


Поддерживаемого Apple метода изменения транспортного протокола HomeKit не существует: он напрямую зависит от протокола аксессуаров HomeKit (HAP), который реализован в самой iOS. Кроме того, HomeKit ограничивает свой домен DNS-SD до local., поэтому ваш аксессуар должен присутствовать в текущей подсети.

Лучший способ получить удаленный доступ к аксессуарам HomeKit — использовать Apple TV. Согласно справочному документу Apple HomeKit:

Если у вас есть Apple TV (3-го поколения или новее) с программным обеспечением версии 7.0 или новее, вы можете управлять аксессуарами с поддержкой HomeKit, когда находитесь вдали от дома, с помощью устройства iOS.

Войдите в iCloud с одним и тем же Apple ID на своем устройстве iOS и Apple TV, и вы сможете использовать команды Siri для удаленного управления аксессуарами.

Возможно, вы сможете написать простое приложение для iOS, которое рекламирует точные записи DNS-SD вашего аксессуара HomeKit и перенаправляет весь трафик выше уровня TCP на сервер в вашем доме. Затем домашнему серверу потребуется подключиться к соответствующему аксессуару и перенаправить на него весь трафик выше TCP. Это может не сработать в сотовой сети, потому что я считаю, что DNS-SD не работает, даже если это против локального хоста. Я также не уверен, что службы localhost DNS-SD будут обнаружены системой.

person Andrew Burks    schedule 11.09.2015