Как добавить камеру Xiaomi в Apple HomeKit
Продолжаем делать наш дом умнее. Сегодня попробуем прокинуть одну из недорогих IP-камер от Xiaomi в систему управления гаджетами HomeKit.
Это позволит взаимодействовать с камерой прямо в приложении Дом на iPhone, iPad и даже Apple Watch. Можно быстро и просто проследить за происходящим в квартире, офисе или на улице.
Так можно неплохо сэкономить на видеонаблюдении дома, ведь решения, которые из коробки поддерживают HomeKit, стоят в разы дороже.
Материалы по теме:
- Как превратить Raspberry Pi в хаб для умного дома. Инструкция для чайников
- Как подключить любые гаджеты в умный дом Apple HomeKit через Raspberry Pi
Что нам понадобится
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 появится камера.