NEWS

Камера Xiaomi Dafang 1080P


  • Коль уж сам возился, опишу для последующих как хакнуть новую камеру от 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 видеопоток с камеры

    Вот и все, теперь зная как получить картинку и поток, используем это в скриптах. Удачи!


  • Продолжу наполнять эту тему описывая свершения, победы и поражения с этим девайсом в связке с брокером.

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

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

    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 - захват видеопотока с камеры.

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

    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).

    Проверить наличие установленных кодеков

    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
    5177_blocly_camera_telegramm.jpeg


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


  • Zdrastvui Maryan,

    izveni shto ja pishu tebe ni ruskimi bukvami no nadeus shto mozhno prochitat i ponjat. Moi ruskii jazik tozhe ne ludshii, delo v tom chto ja prochital v Forume tvoju zametku na schot Kameri Xiaomi Dafang 1080P. Ja tozhe reshil peredelatj etu officialnuju programmu na tvoju predlozhenuju.

    No u menja malinkaja problemka , v punkte 10. ti pishesh chto nado izmenitj SSID i PW i ukazatj parameri moei Wi-Fi seti, no shtoto ne poluchaetsja.

    Mozhet mozhesh napisatj chto konkretno mne nado tam delatj…? Jesli jestj u tebja vreme pozhaluist napishi paru strok.

    S privetom iz Bremen (DE) Vito


  • @Maryan
    Здравствуйте, посоветуйте, плз, как бьі проделать тоже самое с Xiaomi Mi Smart Camera PTZ Version Pro MJSXJ06CM
    Буду благодарен за любую помощь/совет

Suggested Topics

  • 25
  • 1
  • 6
  • 1
  • 25
  • 3
  • 3
  • 12

1.8k
Online

37.0k
Users

42.7k
Topics

593.3k
Posts