Камера Xiaomi Dafang 1080P

Antworten
Maryan
Beiträge: 4
Registriert: 13.01.2018, 23:37

Камера Xiaomi Dafang 1080P

Beitrag von Maryan » 13.01.2018, 23:41

Коль уж сам возился, опишу для последующих как хакнуть новую камеру от Xiaomi, серия Dafang 1080P, вот такая https://www.ixbt.com/live/kvazis/obzor- ... 1080p.html.
Итак, для того чтобы камеру можно было использовать вне приложения Xiaomi MiHome ее необходимо "хакнуть". Благо, мир не без добрых людей, и на GitHub уже выложены способы. Читаем здесь https://github.com/EliasKotlyar/Xiaomi- ... all_cfw.md.

Этапы:
1. Берем SD карту (она в дальнейшем останется в камере, поэтому запаситесь запасной с объемом 16-32 или более Гига)
2. Формат в FAT
3. Качаем последнюю версию CFW отсуда https://github.com/EliasKotlyar/Xiaomi- ... /hacks/cfw (сейчас это 1.2)
4. Пишем в корень отформатированной карты файл и переименовываем в его demo.bin. Других файлов на карте быть не должно!
5. Вставляем в выключенную камеру, зажимаем кнопку Setup и подаем питание. Держим 5-6 секунд, отпускаем, питание не отключаем.
6. Как только начнет крутить основой - выключаем, вынимаем карту, включаем, если через 5 секунд камера моргнет синим диодом и после этого начинает крутить основу - идем дальше, если нет, повторяем процедуру в п.5
7. Качаем каталог https://github.com/EliasKotlyar/Xiaomi- ... rmware_mod
8. Удаляем с SD карты demo.bin и пишем на нее содержимое каталога firmware_mod (в корне карты должны быть каталоги bin, config, driver, script, www и run.sh
9. Открываем файл wpa_supplicant.conf из папки config
10. Правим SSID и PW, указывая параметры вашей домашней Wi-Fi сети
11. Вставляем карту в выключенную камеру, подаем питание.
12. Если все ОК, через 5 секунд короткий блинк синим диодом и светящийся желтый, если нет - идем в п.9
13. Сканером сети узнайте IP адрес, присвоенный камере (рекомендую привязать его по MAC адресу)
14. В браузере http://IP_камеры/cgi-bin/status.cgi. Здесь можете поменять часовую зону, hostname камеры.
15. Для проверки "управляемости" камерой нажимите на кнопки движения камеры (влево, вправо), тест звука - камера должны на вас реагировать.
16. Включаем протокол доступа к потоку, нажимаем Start MJPEG RTSP - Start
17. После всего проделанного по адресу
http://IP_камеры/cgi-bin/currentpic.cgi?width=1920&height=1080 картинка с камеры
rtsp://IP_камеры:8554/unicast видеопоток с камеры

Вот и все, теперь зная как получить картинку и поток, используем это в скриптах. Удачи!
Zuletzt geändert von Maryan am 15.01.2018, 22:20, insgesamt 2-mal geändert.

Maryan
Beiträge: 4
Registriert: 13.01.2018, 23:37

Re: Камера Xiaomi Dafang 1080P

Beitrag von Maryan » 15.01.2018, 22:03

Продолжу наполнять эту тему описывая свершения, победы и поражения с этим девайсом в связке с брокером.
Итак, есть хакнутая камера, есть ссылки для получения фото видео. Далее будем реализовывать передачу потока в яшку. Так как у меня серверная часть крутиться на малине (Raspberry Pi3), а в ее базовой инсталляции нет пакета ffmpeg, эту досаду необходимо устранить. Сразу оговорюсь, ничего нового тут не пишу, все взято с сайта Raspberry Pi и iobroker с одним отличием - все пропущено через себя.

Итак, этап 2 - установка ffmpeg на RP3

Code: Alles auswählen

wget https://github.com/legotheboss/YouTube-files/raw/master/ffmpeg_3.1.4-1_armhf.deb
sudo dpkg -i ffmpeg_3.1.4-1_armhf.deb
За данный вариант большое спасибо Кирову Илье. До его варианта я перебрал 2 других, которые ставились без замечаний, но с кодеками была засада. Так что, не ищите других способов и не изобретайте велосипед.

Этап 3 - захват видеопотока с камеры.

Для начала проверим наличие видеопотока. Для этого в консоли (у меня малина) пишем

Code: Alles auswählen

ffmpeg -y -i rtsp://IP_камеры:8554/unicast -t 10 -f mp4 -vcodec h264_omx -pix_fmt yuv420p -vf scale=w=640:h=480:force_original_aspect_ratio=decrease -r 25 /home/pi/out.mp4
На выходе должны получить 10 секундный видеофайл out.mp4 в каталоге /home/pi/ с неким объемом в Мб. Если файл пустой или его вовсе нет ... ужас, что-то пошло не так. Вчитываемся в много букв на экране. Возможно ffmpeg не может найти видеопоток с камеры на указанном IP, возможно кодек неверно стал (можете попытаться заменить h264_omx на libx264).
Проверить наличие установленных кодеков

Code: Alles auswählen

ffmpeg -codecs | grep 264
в конце должно быть нечто подобное:
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb h264_omx )

Если файл образовался и через ftp/samba (или иными протоколами доступа) вы можете его просмотреть - поздравляю! камера вся ваша и можете беспощадно ее эксплуатировать

Что можно сделать. Например, отдать поток в HomeKit (как это с ходу сделал я).

Этап 4 - настройка вещания видеопотока через HomeKit на iOS
Для этого:
1. На закладке драйвера установите "Homekit yahka adapter" нажав на + в крайнем правом столбце. Рекомендую ставить версии не ниже 0.6.0 (на момент тестирования находится в редакции beta 3). Чтобы установить бету включите режим эксперта (верхняя строка, иконка с безымянным портретом), в последнем столбце строки с "Homekit yahka adapter" появиться стрелка вниз (за кнопкой с мусорной корзиной), нажимаем и выбираем нужную версию. После установки нажать кнопку с стрелкой вниз (за кнопкой с "?") - обновить файлы в базе данных.
2. Переходим на закладку "настройки драйверов"
3. Ищем в ней "Homekit yahka adapter" и нажимаем кнопку "настроить"
4. Далее не важно для камеры в целом, но важно для дальнейшей настройки остальных устройств. В настройках, в левой части панели видим корневой элемент, в нем указано как приложение iOS "Дом" будет видеть название вашего "умного дома". Название произвольное. Ключевое в настройках этого элемента это пин-код. Именно по нему вы будете объявлены хозяином для приложения iOS. Предлагаю его в одночасье сменить. Готово.
5. Нажимаем "+ Add Camera ".
5.1. Слайдер "Basic Properties" по аналогии с п.4, но работает на конкретную камеру (название камеры, пин-код для сопряжения с iOS)
5.2. Слайдер "Stream Properties", самое важное, но не самое страшное после теста в консоле командой ffmpeg.
- Source указать ссылку на видеопоток или фото, например rtsp://IP_камеры:8554/unicast (смотрим на ранее описанную команду ffmpeg). Для "вещания" статического фото указываем http://IP_камеры/cgi-bin/currentpic.cgi?width=640&height=480
- Codec указать h264_omx или libx264 (для малины гуру рекомендуют первый)
- max.Width ширина картинки
- max.Height высота картинки
- max.FPS максимальное количество кадров в секунду
В последних 3 пунктах советую начинать с малого (например, 640х480х10) и постепенно увеличивать до требуемого на уровне возможного для вашей камеры. Также, советую запустить поток в том же VLC, и проверить его работоспособность (вещание), и посмотреть информацию о потоке (ширина и высота картинки). Больше, чем показывает при вещании в VLC, ставить нецелесообразно.
5.3. Слайдер "Advanced Settings" описывать не буду. Кто понимает, то будет руками править, иначе ... лучше не надо.

Нажимаем "Сохранить и выйти", драйвер перезапускается и индикатор его активности должен стать зеленым. И снова поздравляю! Доставайте iPhone, iPad, AppleTV (приложение "Дом" появилось с 10 версии и на AppleTV 4 поколения), запускайте его, создавайте "My sweet HOME", вводите код ... дальше вне темы данного поста.

И для анонса следующего опуса начинающего брокера, публикую небольшой скрипт реализованный в Blockly. За его создание и назидания благодарность Alex )). В нем заложена следующая логика, применимая для описанной выше камеры.
1. Скрипт анализирует состояние объекта пинг IP камеры. Нет пинга - нет питания.
2. Если у камеры пропало питание (например, украли ...) брокер шлет сообщение в телеграмм
3. Когда питание восстановилось (вор вернул )), нет банально рубильником подали на район напряжение), брокер отправит в камеру команду на старт вещания потока и отправит в телеграмм радостное сообщение.

На этом все. Удачи!

Рекомендуемые ссылки других авторов (для закрепления материала):
https://github.com/kirovilya/ioBroker.y ... era_rus.md
http://forum.iobroker.net/viewtopic.php?f=26&t=10399
Dateianhänge
Blocly_Camera_Telegramm.jpeg

fsocik
Beiträge: 1
Registriert: 25.04.2018, 16:49

Re: Камера Xiaomi Dafang 1080P

Beitrag von fsocik » 25.04.2018, 16:52

Хак работает для любой версии прошивки камеры или есть ограничения?

Antworten