Войти

Или войди с помощью

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

Придется немного повозиться.
Артём Суровцев avatar |
Как добавить камеру 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 появится камера.

28
Логотип iPhones.ru
iPhones.ru
Придется немного повозиться.

28 комментариев

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. i.v.kuznetsov avatar
    i.v.kuznetsov 27 апреля 2019
    0

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

    Войди на сайт, чтобы ответить
    Ответить
  2. fbrovec avatar
    fbrovec 27 апреля 2019
    0

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

    Артём Суровцев avatar
    Артём Суровцев27 апреля 2019
    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

    Войди на сайт, чтобы ответить
    Ответить

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

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