Как добавить камеру Xiaomi в умный дом Apple HomeKit

Артём Суровцев avatar | 28
FavoriteLoading В закладки
Как добавить камеру Xiaomi в умный дом Apple HomeKit

Продолжаем делать наш дом умнее. Сегодня попробуем прокинуть одну из недорогих IP-камер от Xiaomi в систему управления гаджетами HomeKit.

Это позволит взаимодействовать с камерой прямо в приложении Дом на iPhone, iPad и даже Apple Watch. Можно быстро и просто проследить за происходящим в квартире, офисе или на улице.

Так можно неплохо сэкономить на видеонаблюдении дома, ведь решения, которые из коробки поддерживают HomeKit, стоят в разы дороже.

Материалы по теме:

Что нам понадобится

1. Сервер HomeBridge, который, например, запущен на Raspberry Pi.

2. Подходящая камера Xiaomi.

3. Ката памяти microSD на 1 ГБ или более.

4. Немного свободного времени.

На данный момент получится подключить самые популярные камеры от Xiaomi: Xiao Fang 1s, Smart Camera 1080p, Da Fang 1080p и PTZ 720/1080p. Возможно, вы найдете подходящие прошивки и хаки для других камер от китайского производителя – пробуйте и экспериментируйте.

1. Подготовка камеры

Для начала на камеру Xiaomi потребуется установить так называемый хак. Это своего рода загрузчик для прошивки, которая дает дополнительные возможности управления и настройки.

Так, например, после загрузки хака на камере можно будет установить нормальное время. Изначально все камеры отображают время для родного китайского часового пояса.

1. Качаем хак для своей версии камеры со страницы проекта на GitHub.

2. Форматируем карту памяти в FAT32.

3. Копируем файл CFW-Binary на отформатированную карту памяти и переименовываем его в demo.bin.

4. Отключаем камеру от питания и устанавливаем в неё карту памяти.

5. Зажимаем кнопку настройки на камере (на некоторых моделях её требуется нажимать скрепкой) и подаем питание.

6. Ждем около 10 секунд и отпускаем кнопку.

7. Через 3-5 минут хак будет установлен. Скорость зависит от класса карты памяти.

8. Отключаем камеру и вынимаем карту памяти.

9. Скачиваем все файлы проекта с GitHub.

10. Извлекаем данные из архива.

11. Содержимое папки firmware_mod (именно содержимое, а не саму папку) копируем в корень карты памяти и удаляем файл прошивки demo.bin.

12. В папке сonfig находим файл wpa_supplicant.conf.dist, переименовываем его в wpa_supplicant.conf.

13. Открываем файл в текстовом редакторе и находим параметры ssid и psk, меняем их значения на имя Wi-Fi сети и пароль, соответственно.

14. Сохраняем файл.

15. Устанавливаем карту памяти в камеру и включаем её.

16. Ждем пока камера подключится к домашней Wi-Fi сети (об этом будет свидетельствовать синее свечение диода).

17. Пробуем подключиться к камере в локальной сети по пути https://dafang/ или по сетевому адресу в браузере (адрес камеры можно узнать через веб-интерфейс роутера или его приложение).

18. Авторизуемся и подтверждаем запрос на работу с сертификатами.

логин: root
пароль: ismart12

Теперь наша камера готова для подключения к HomeBridge.

2. Подготовка HomeBridge

Для того, чтобы подключить любую камеру к HomeKit через HomeBridge обязательно потребуется установить плагины aac и ffmpeg. Ручная настройка и установка состоит из последовательного ввода 15-20 команд в терминале.

Энтузиасты с GitHub давно упростили данный процесс при помощи специального скрипта, нам остается сделать следующее:

1. Подключаемся к Raspberry с HomeBridhe по SSH или запускаем терминал напрямую в «‎малинке»‎.

2. Последовательно вводим команды:

git clone https://github.com/fantomnotabene/camera-ffmpeg_setup_script
cd camera-ffmpeg_setup_script
bash ./install.sh

3. Процесс может занять от 30 минут до часа. Все зависит от скорости интернета и рабочей карты памяти в Raspberry.

После окончания установки можем увидеть новый плагин в одноименном разделе веб-интерфейса HomeBridge.

3. Подключение камеры

Практически все камеры от Xiaomi транслируют видео поток в h264. Чтобы наш HomeBridge не занимался декодированием видео, а транслировал поток напрямую, потребуется произвести некоторые настройки.

Это необходимо для снижения нагрузки на Raspberry и для уменьшения задержки во время трансляции. При декодировании задержка может доходить до 10-15 секунд, а одноплатный компьютер, в зависимости от модели, загружать процессор на 80-100%.

1. Ищем файл с конфигурацией плагина ffmpeg на Raspberry, обычно он находится по пути: /usr/lib/node_modules/homebridge-camera-ffmpeg/ffmpeg.js.

2. Открываем его для редактирования терминальной командой:

nano ~/.homebridge/ffmpeg.js

3. Находим строку if (videoFilter !== null) { и добавляем новое условие. В итоге строка должна иметь такой вид: if (videoFilter !== null && vcodec !== “copy”) {

4. Сохраняем файл конфигурации.

Остается самая малость – внести нужные изменения в файл конфигурации HomeBridge. Это можно сделать как через терминал, так и через веб-интерфейс.

Нам нужно добавить блок в раздел “platform”:

{
"platform": "Camera-ffmpeg",
"cameras": [
{
"name": "Камера",
"videoConfig": {
"source": "-re -i rtsp://192.168.31.226/unicast",
"maxStreams": 2,
"maxWidth": 640,
"maxHeight": 480,
"maxBitrate": 4000,
"vcodec": "copy"
}
}
]
}

В коде необходимо указать свой IP-адрес камеры, желаемое разрешение и битрейт. Значение параметра vcodec устанавливаем copy, чтобы трансляция шла без перекодирования или libx264 – с перекодированием.

Можно дополнительно добавить параметры:

  • maxFPS – для ограничения кадров видео в секунду
  • audio – для передачи звука с камеры (значение true)
  • packetSize – размер пакетов со звуком (значение кратное 188)

На странице описания плагина найдете и другие параметры, например, отражение изображения по вертикали или горизонтали.

Сохраняем конфигурацию и перезагружаем HomeBridge. Если все было сделано правильно, то в приложении Дом на iOS появится камера.

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (20 голосов, общий рейтинг: 4.30 из 5)
undefined
iPhones.ru
Придется немного повозиться.
Прокомментировать

🙈 Комментарии 28

  1. i.v.kuznetsov avatar
    i.v.kuznetsov27 апреля 2019
    0

    Камера не факт что сама появится, в моем случае homebridge-camera-ffmpeg в логах отписал что нужно камеру добавить вручную. Для этого нужно сделать Add Accessory -> Don’t Have a Code or Can’t Scan, там появится камера. Код для нее будет тот же самый что использовался для добавления homebridge

  2. fbrovec avatar
    fbrovec27 апреля 2019
    0

    Подскажите, какие камеры без танцев с бубнами сразу можно подключить к Apple HomeKit?

    Артём Суровцев avatar
    Артём Суровцев27 апреля 2019
    1

    @fbrovec, https://www.apple.com/ru/ios/home/accessories/

    fbrovec avatar
    fbrovec27 апреля 2019
    0

    @Артём Суровцев, Спасибо!

    Kiro avatar
    Kiro1 октябрь 2019
    0

    @Артём Суровцев, в статье есть неточности, поправьте пожалуйста:
    1. if (videoFilter !== null && vcodec !== “copy”) { — тут должны быть другие кавычки у copy, те которые дюймы, это наверно парсер вашего сайта заменяет, но если напрямую скопирывать с сайта – homebridge не запустится!
    2. во втором пункте вы приводите команду
    nano ~/.homebridge/ffmpeg.js ,а должно быть nano ffmpeg.js , мы ведь на первом шаге перешли в папку где файл ffmpeg.js

  3. stalkerj avatar
    stalkerj27 апреля 2019
    3

    Вы тупо копируете личные наработки ребят с ресурса indahomekit, вы реально ничего самостоятельно не умеете делать???

    Артём Суровцев avatar
    Артём Суровцев27 апреля 2019
    0

    @stalkerj, судя по вашей заинтересованности, вы сам один из этих ребят. Не стыдно выдавать чужие проекты с GitHub за свои наработки?

    Alexey avatar
    Alexey27 апреля 2019
    3

    @Артём Суровцев, мы никогда не выдаем наработки с github за свои. Это как минимум невозможно.

    А если описываем их, то обязательно даем ссылку на них (либо на npm либо на github)

    Артём Суровцев avatar
    Артём Суровцев27 апреля 2019
    0

    @Alexey, так же сделал и я

    Alexey avatar
    Alexey27 апреля 2019
    2

    @Артём Суровцев, только вот то, что было взято напрямую с нашего портала, никак не покрыто ссылкой.

    stalkerj avatar
    stalkerj27 апреля 2019
    6

    @Артём Суровцев, очевидно что вы не разбирались и самостоятельно не писали решение по оптимальной настройке камеры сяоми со звуком, вы не вникали с гитхаб разработчика самого плагина и ваша статья написано по статье с indahomekit, при этом вы не указали никакой ссылки. Делая репосты с Verge или других крупных ресурсов, ссылки на них ставить не забываете, а тут очень непрофессионально это выглядит. Лично вы питаетесь чужими статьями с 2-3х ресурсов по умному дому и просто немного их переписываете. Так поступают только сомнительные ресурсы, коим Iphones я не считал

    Boasnake avatar
    Boasnake27 апреля 2019
    7

    @stalkerj, а зря, это давно уже помойка.

    Артём Суровцев avatar
    Артём Суровцев27 апреля 2019
    0

    @stalkerj, зайдите на указанную вами статью и в описание плагина на Github и успокойтесь, все что есть в статье, есть и на Github

    Jeron avatar
    Jeron28 апреля 2019
    0

    @Артём Суровцев, а если там в статье будет слово Х*Й, тоже скопируете?

    Alexey avatar
    Alexey28 апреля 2019
    2

    @Артём Суровцев, кхм… мой первый комментарий со ссылкой на источник видимо был удален. Там же я и описываю то, что было полностью заимстововано без указания на первоисточник. И этой информации нет в описании плагина на github. Повторюсь, т.к. этот кусок кода полностью с учетом названия переменных был сделан мной специально для той статьи.

    “Находим строку if (videoFilter !== null) { и добавляем новое условие. В итоге строка должна иметь такой вид: if (videoFilter !== null && vcodec !== “copy”) {“

  4. Garik999 avatar
    Garik99927 апреля 2019
    5

    Аффтур, переименуй статью и добавь «через бридж»!! Я уж офигел, думал вы крутой такой , нашли способ закинуть Ми сразу в ХК!! Ну и добавьте ещё, что нужна малинка, 3 тыр на Али, потом разобраться с установкой системы, хомбриджа… Ну а потом уже то, что вы скопипастили..

    pLoskutov avatar
    pLoskutov28 апреля 2019
    3

    @Garik999, я нашел способ вытащить любую машину из любой грязи с помощью айфона!
    Буквально пара тапов и я вызываю трактор :)

  5. D@ZENT avatar
    D@ZENT27 апреля 2019
    0

    А потом покупаем новую…

  6. Shurygin avatar
    Shurygin27 апреля 2019
    6

    Автор, если как выше пишут, Вы взяли статью у ребят, почему не указать ссылку на оригинал?

  7. Maksim_ok avatar
    Maksim_ok27 апреля 2019
    0

    Зачем все это если купив камеру Xiaomi вы можете следить за происходящим при помощи приложения Xiaomi на iPhone?!

    i.v.kuznetsov avatar
    i.v.kuznetsov28 апреля 2019
    2

    @Maksim_ok, как минимум это лучше тем, что видеопоток идет через ваш локальный сервер и его не видит пол китая

  8. earll avatar
    earll27 апреля 2019
    5

    Автор нагло стырил материал. Где ссылки на источник? Ресурс в полной ж…

  9. ekimovsi avatar
    ekimovsi3 мая 2019
    0

    Добавить устройства Xiaomi таким способом конечно можно, но автор умалчивает (или просто не в курсе) информацию о стабильности работы HomeKit через прослойки аля HomeBridge. В самый неподходящий момент вы с удивлением обнаружите, что с аксессуаром нет связи! Подобное происходит постоянно. Все перезагружаешь, вроде работает, через пару дней — нет связи. Стабильно работает только одно решение — зашивать в аксессуар прошивку с прямой поддержкой HomeKit, например, на базе FreeRTOS. Кроме стабильности вы получите еще и моментальный отклик. “Привет, Cири, включи …” через Apple Watch начинает работать мгновенно.

  10. Alex D avatar
    Alex D6 мая 2019
    0

    Зачем танцы с бубном, покупаете хаб aqara с homekit и все датчики и камеры залетают в Homekit!!!

    stalkerj avatar
    stalkerj6 мая 2019
    0

    @Alex D, вы ошибаетесь. Хаб камеры в хомкит не прокидывает

  11. zubovvic avatar
    zubovvic22 августа 2020
    0

    Странно, камеру настроил и мог на нее зайти, потом пол месяц камера лежала без дела. Сейчас подключил, айпишник вижу но на камеру не заходит… хз в чем дело.

    yuila_obukhova avatar
    yuila_obukhova28 августа 2020
    0

    @zubovvic, удалось исправить ошибку? я вот тоже ip вижу, но не открывается :(

  12. yuila_obukhova avatar
    yuila_obukhova28 августа 2020
    0

    Добрый вечер! застопорилась на пункте:
    17. Пробуем подключиться к камере в локальной сети по пути https://dafang/ или по сетевому адресу в браузере (адрес камеры можно узнать через веб-интерфейс роутера или его приложение).
    Не открывается страница на mac через safari и chrome. В чём может быть проблема?

Вы должны авторизоваться или зарегистрироваться для комментирования.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.

Как установить аватар в комментариях?

Ответ вот здесь