Xiaomi MI Smart Camera 360 1080p: собственная прошивка
Сделаем из дешевой, но качественной камеры Xiaomi Mi Home Camera послушную, дрессированную, полноценную IP-камеру, которая будет работать со всеми регистраторами и приложениями поддерживающими ONVIF или RTSP.
Попала мне в руки камерка MJSXJ05CM спонтанно. Решил прикупить для наблюдения в помещении. За небольшие деньги, выбор был невелик + у этой Mijia Mi Home хорошие показатели и отзывы. В целом ее хвалят на форумах, как по софту так и по железу и картинке. Почитал отзывы… народ ее и водой обливал, и коты скидывали эти камеры со стола и просто роняли. А они живут и работают.
Решено! Беру! стоит копейки… особо не вдавался в подробности и заказал камерку.
После того как камера оказалась у меня — первые приятные впечатления были сразу омрачены гавеным софтом, который надо обязательно скачать на Android-смартфон, затем надо зарегистрироваться в Xiaomi и получить учетную запись. Софт весит 400 метров и чего туда напихали неизвестно, хотя задача тут простейшая! И делов там на 100 килобайт!
Так как камера не имеет никаких механизмов общения с внешним миром — пришлось использовать этот говеный софт чтобы сгенерировать штрих-код для подключения камеры к моей точке WiFi.
Подключение осуществляется демонстрацией кода в глазок камеры с расстояния сантиметров 20-30. Вроде бы как все завелось… но снова НО! Камера ничего не умеет! Кроме работы в инфраструктуре Xiaomi: умный дом итп. Доступ к ней осуществляется строго из этого 400-метрового приложения. А я ее покупал как раз для работы с видеорегистратором и чтобы ничего лишнего. Сразу просто упустил этот момент и не разобрался. К тому же использовать micro-SD как основной носитель данных, причем который постоянно находится в режиме записи — не лучший вариант. Если вруг это не нравится — можно покупать за деньги сервисы и облако от Xiaomi. Хранить свои записи там. Для такой работы необходим постоянный интернет и нормальный канал. Это не наш путь.
Конечно, следующим шагом это был поход на 4pda в тему по этой камерке. Ведь явно все уже расколупали. Но и там меня ждало разочарование. Народ говорит, что именно эта модель - MJSXJ05CM — работает как есть. Единственное, что помогло на первом этапе это «Хаки»(Hacks) которые можно закинуть на SD-карту и получить хотя бы SSH доступ к устройству. Сервисы которые там же предлагаются от других моделей — не работают! На частые вопросы как заставить ее работать с ONVIF, народ отвечает, что мол никак — это невозможно. Мол в случае такой потребности надо обратить внимание на другие модели.
Меня такое положение дел совсем не устраивало. Нафиг мне такая камера. Подключился к камере по SSH, осмотрелся, что к чему… оказалось не все так безнадежно! Решил написать необходимый мне софт сам. Благо, все довольно несложно (для меня), так же часть примерных исходников я нашел на GITHUB-е. Например onvif-srvd. Конечно, там далеко не готовое решение и не рабочее. Но немного работы напильником, как говорится и все готово.
О строении программного обеспечения могу сказать: вполне неплохо. Камера построена на busybox-е. Ничего особо лишнего нет, если не считать десяток служб Xiaomi — всякие облачные хрпнилки, AI, OTA-апдейтеры, голосовые вопелки и прочее какое-то барахло. Балом правит perpd, как нарекли его в официальном источнике: persistent process supervision. Софт погоняет всех демонов(Daemon) и следит за их работой. Если какая-то служба отвалилась или была прибита — perpd тут же восстановит ее работу корректным запуском как в первый раз. Далее я решил использовать этот же механизм для запуска уже своих служб. Легковесно и красиво. Хороший выбор, Xiaomi!
Итак, софт написан и опробован! Написаны и доработаны свои видео-сервера. Написан драйвер для мотора — motord, который использует штатные системные, shared-библиотеки. Разобрался с GPIO для управления светодиодами — какой куда. Созданы скрипты инициализации и запуска. Настроен perpd. Теперь стоит вопрос как все это заселять в такие камеры более менее автоматизированно? Не стану сильно углубляться в тему системного программирования — это из другой песни, но следом был написан специальный инсталлер который заливает образ системы, создает необходимые скрипты и конфигурации с нужными параметрами. Настройки задаются как бы при «установке» системы в файле nickbel.ini, в простом и понятном большинству виде ПАРАМЕТР=ЗНАЧЕНИЕ. Используя мой инсталлер теперь можно перепрошивать эти камеры не имея вообще понятия как это все работает — указав лишь свои настройки и просто вставив SD. Качать сторонний софт и показывать камере штрих-коды больше не потребуется. Тем кто хочет создавать свою прошивку — инсталлер так же может облегчить жизнь.
Все параметры должны быть понятны, остановлюсь на некоторых:
TIMEZONE — определяет вашу временную зону по GMT(обязательно большими буквами). Если у вас например +3 часа по Гринвичу — ваш выбор будет GMT+3. Если -5 то GMT-5 и т.п. Указание временной зоны необходимо, так как камера не имеет встроенного времени. Там нет батарейки. При каждом запуске время будет 00:00 и 1969 год. Когда камера работает штатно — сервисы устанавливают корректное время автоматически. В моем же случае — все выпилено напрочь. Пришлось набросать свой NTP-клиент и кое-что вспомогательное. Зато всегда теперь точнейшее время на видеозаписи.
LED_ONLINE - определяет какой диод будет светиться когда камера войдет в рабочее состояние после загрузки. Возможные значения: 0 — вообще без света, 1 — желтый, 2 — синий.
SSH - определяет будет ли доступна камера по SSH (порт 22). Возможные значения: off — откл, on — включено.
Пользователь: root
Пароль: 12345
Когда наиграетесь в SSH отключить его можно прибив файлик /mnt/data/nickbel/ssh_on.
Наличие этого файла определяет запуск SSH при каждой загрузке.
При выключении SSH — повторно включить его нельзя. Только повторная установка системы с нужным параметром. К камере просто банально не будет доступа. Но можно конечно изголяться со скриптами entry_point-a чтобы родить обратно этот файл, например: touch /mnt/data/nickbel/ssh_on.
По остальным параметрам вопросов быть не должно. Настройки WiFi и наименование протоколов, если они у вас отличные от моих — берите в настройках для WPA_supplicant.
Так что много чего было сделано по мелочи, всякие переделки существующих скриптов, выпиливание служб Xiaomi и системных, таких, например, как dhcpc. Камера всегда получает адрес статично и всегда один и тот же. Что значительно удобнее и намного быстрее.
Наименование софта | Описание |
Прошивка NICKBEL | ВНИМАНИЕ! ПОСЛЕ ПРОШИВКИ НА ЭТУ СИСТЕМУ ВЕРНУТЬСЯ НАЗАД СТАЛО НЕВОЗМОЖНО ПО НЕИЗВЕСТНЫМ ПРИЧИНАМ! RECOVERY ПЕРЕСТАЛ РАБОТАТЬ!Файл содержит архив с системой и необходимыми файлами для прошивки. В прошивке полностью выпилено все от Xiaomi. Теперь это обычная камера умеющая ONVIF + RTSP + управление. Формат видео FULL HD. Создана на базе: IPC019_3.5.1_0052 ИСПОЛЬЗОВАНИЕ: распаковать файлы в корень SD-карты отформатированной в FAT32. Выключить камеру, вставить SD. Включить камеру и ждать. После всех морганий камера должна закончить операции синим светодиодом. Затем необходимо выключить камеру и достать карту. Все. перезалив: + добавился SSH в настройках инсталлятора |
Recovery | ВОЗВРАТ НА ЗАВОДСКУЮ ЧЕРЕЗ RECOVERY (внезапно перестало работать, возможно, прилетел какой-то апдейт) Recovery для восстановления запоротой камеры, а так же для восстановления заводских настроек. ИСПОЛЬЗОВАНИЕ: положить файлик прямо в корень SD-карты отформатированной в FAT32. Выключить камеру, вставить SD. Включить камеру и ждать. Процедура небыстрая и займет минуты 3. После чего камера начнет вертеться как при первом включении и вопить: SCAN QR-CODE... Все. Ваша камера отформатирована и залита заводским дампом. Таким образом камеру можно восстановить практически из любого состояния, если не поврежден загрузчик. |
Параметры и порты
При настройке камеры в сторонних софтах можно использовать оба протокола: ONVIF и RTSP.
ONVIF-подключение
Качаем какое-нибудь приложение для руления ONVIF девайсами. Поиском камера не найдется, поэтому надо добавить девайс вручную. Указываем адрес и порт. Если порт отдельно не указывается вводим адрес: порт.
Например, 192.168.111.202:5000
Порт, как вы уже догадались - 5000. Имя пользователя и пароль — не используются.
Внимание! Изображение на регистраторе может появиться спустя пару минут! Если камеру прописали и сразу после загрузки она как буд-то не подключена, не показывается — надо немного подождать.
RTSP-подключение
Качаем, например VLC player. Он умеет воспроизводить поток. Идем Медиа -> Открыть URL...
Вводим туда, например: rtsp://192.168.111.202:8554/substream
Порт, как вы уже догадались - 8554. Имя пользователя и пароль — не требуются.
не ищите открытые порты, просто попробуйте подключиться для начала плеером и спец. ПО!
Ну вот в общем-то и все… софт писался по вечерам, «на коленке», поэтому тестируйте, смотрите как и чего. Но у меня все прекрасно работает без вылетов, без глюков и без тормозов! Камера легко задышала при средней загрузке CPU в 20%! Все красиво и легко. Но, в любом случае — использование любого подобного, стороннего ПО — исключительно на свой страх и риск и только для модели MJSXJ05CM!!!
Купить камеру — уточняйте у продавца модель камеры! Нужна именно и только MJSXJ05CM!
Смотреть обзор:
8 сен. 2017 въ 0:42 черезъ YouTube
#ФИДОшная #СисОпка 19.11.98 #Казакстан #Усть-Каменогорск — Предвестник #демопати и прочих комповых #эвентов
https://www.youtube.com/watch?v=Wqn2pzIFeRg
Так обычно проводились сисопки- скупался пивняк в центре на ночь, закупались ящики пива, водки и пельменей, плюс каждый нёс своё
Прошил свою камеру — ONVIF поднят и работает, PTZ работает, RTSP — не поднялся.
С помощью «ONVIF Device Manager» захожу на камеру, но настройки не сохраняются.
Пробовал вернуть прошивку с помощью tf_recovery.img — не срабатывает.
Как довести до ума, или вернуть заводскую прошивку?
спасибо.
после включения — жёлтый диод, через несколько секунд — синий. оставлял и на пол часа — изменений никаких.
как разбираться?
вопрос по Вашей прошивке — почему может не работать rtsp?
как менять настройки камеры?
nmap не находит открытых портов кроме tcp:5000
модель mjsxj05cm
теперь затык — камера сканирует код и опять говорит «сканируйте код». т.е. не может подключиться к wifi?
в вашей прошивке можно поднять ssh что-бы оперативно менять/контролиривать настройки?
ssh лучше стартовать самым первым, сразу после поднятия сети.
я уже расчехлил программатор — отступать некуда, готов на крайние меры.
может можно прописать какие-то дополнительные параметры в nickbel.ini?
Что нужно прописать в nickbel.ini, что-бы использовать dhcp?
В файле /data/bin/network_governor.sh добавляем udhcpc -i wlan0 и коментируем задания статики.
И отредактировать файл mnt/data/bin/wpa_event.sh
может кто поделиться рабочим дампом флеш-а камеры?
shilvn[собачка]gmail[точечка]com
заранее спасибо.
1. А ты не успел еще прокопать прошивку v. 4.0.9 *? Я так понял, там отключили downgrade.
2. У меня что то так и не передается звук со зверька в VLC.
3. Использую «балалайку» вида xeoma и эта сволочь отказывается подтягивать PTZ контроль. (Хотел повесить action, поворачивать голову на совершенное действие. Никак не смог перекурить.)
Еще раз, большое спасибо!
У меня клон данной камеры и при первой загрузке при обновлении прошивки пропало питание. Повредился биос и пришлось вскрывать и шить. Если вдруг пойдете по этому пути, то после того как считаете биос и подготовите новый вариант к прошивке , очистите биос полностью и только потом шейте.
curl 192.168.3.20:5000/onvif/device_service -d '<?xml version=«1.0»
encoding=«utf-8»?><soap:Envelope
xmlns:soap=«www.w3.org/2003/05/soap-envelope»
xmlns:tptz=«www.onvif.org/ver20/ptz/wsdl»
xmlns:tt=«www.onvif.org/ver10/schema»> <soap:Body>
<tptz:ContinuousMove> <tptz:ProfileToken>Profile1</tptz:ProfileToken>
<tptz:Velocity> <tt:PanTilt x="-20" y=«0»/> <tt:Zoom x=«0»/>
</tptz:Velocity> </tptz:ContinuousMove> </soap:Body></soap:Envelope>' >
/dev/null
Купил Гибридный видеорегистратор для систем видеонаблюдения XVR-8808/4K. Подключаю к нему камеру. Там есть 3 режима подключения. По rtsp,onvif и приват. По rtsp все работает и предосмотр и в полном экране. По onvif нету предосмотра ( и нет выбора просмотра прелосмотра. Но если зайти через браузер, там можно выбрать предосмотр основной и дополнительный поток) и не работает ptz. Вот не знаю как справится с этой проблемой. Может сможете подсказать?
если есть возможность помочь напишите в телеграмм для более оперативных ответов @G00Dmen
Позвонил в тп регистратора. Они говорят что камера просто не поддерживает суб поток. То есть когда окно развёрнуто, то основной поток грузится. А в миниатюре используется дополнительный поток, который видимо закрыт в камере. Реализация суб потока невозможна ?
еще скачал программу cms от поливижион, подключил камеру напрямую к этой проге, там тоже суб поток не грузит. С основного открывает. Но если открыть в полный экран, потом свернуть обратно в миниатюры, то приходится только перезапускать поток. Пишет что «канал 1 не поддерживает opengl. Чёт типо этого.
а поставить на миниатюру основной поток, запрещено настройками
Вобщем очень хочу снести нафиг всю эту китайскую бабуйню и переделать на onviv и rtsp. Вопрос — как лучше поступить? Можно ли прошить указанную прошивку и сохранится ли 2К разрешение? Железки то чуть отличаются… Или что посмотреть в прошивке насчет разрешения?
p.s. Вообще очень бы хотелось пообщаться с автором где-то в чате чтобы обсудить подробности модификации.
Добрый день.
Вы не могли бы помочь с доработкой аналогичной камеры Xiaomi Mi Home Security Camera 360° 1080p (QDJ4041GL/QDJ4058GL)? Само собой не за «спасибо» :)
По функционалу необходимо добавить и запустить скрипты автовыгрузки видео на Яндекс Диск, остальное оставить как есть. Код уже существует для YI Home Camera 720p. Его нужно адаптировать и запустить на этой камере.
Тема с кодом автовыгрузки для YI Home Camera 720p: https://4pda.ru/forum/index.php?showtopic=638230&st=13800#entry63847131
Камера Mi Home Security Camera 360°: https://4pda.ru/forum/index.php?showtopic=1016850
В новых прошивках отключена возможность запуска sh при загрузке и downgrade. Понизить прошивку можно путем разборки камеры и прошивки биоса, для этого нужен программатор. Описание как это сделать есть https://github.com/telmomarques/xiaomi-360-1080p-hacks/issues/18
У меня клон данной камеры и при первой загрузке при обновлении прошивки пропало питание. Повредился биос и пришлось вскрывать и шить. Если вдруг пойдете по этому пути, то после того как считаете биос и подготовите новый вариант к прошивке , очистите биос полностью и только потом шейте.
У меня все получилось.
Спасибо.
Есть два варианта которые я вижу:
1. Возможно найти tf_recovery.img той же версии на которую вы обновлялись (где то в тырнете встречал). Если при включении камеры про QR код говорила тётя — то это 3.x, если дядя, то 4.x.
2. Заказать программатор (Согласен, название звучит страшно, но ничего простого я не встречал). Я использовал этот https://www.ozon.ru/product/programmator-ch341a-239718072/ он с прищепкой. Т.е. ничего паять не надо. Ну и перезалить биос.
Можете скинуть настройки регистратора?
купил тот что вы посоветовали, просто плату. Но картинки нету никакой. Пишет «в офлайне» и все тут.
Здравствуйте!
Юзаю софт Линия IP. Подключение в основном через ONVIF. Камеру находить не хочет. как только я не издевался.
VLC через RTSP-подключение работает с огромной задержкой (секунд под 10)
Пробовал и другой софт. polyvision CMS — подключился, но тоже с задержкой до 5-7 секунд, + жутко тормозит управление. нажал и секунд 10-15 только приходит камера в движение.
Через пару дней приедет видеорегистратор. Брал тут https://aliexpress.ru/item/1761858062.html?spm=a2g0s.9042311.0.0.274233edG24JXq
но хотелось бы пользоваться не тем что будет в регике, а софтом к которому привык.
вопрос — как заставить камеру видеться через скан сети? как добавить логин и пароль?
подозреваю через SSH. но опыта в таких штуках нет. не могли бы пояснить как это сделать?
но через polyvision cms показывает )))
правда часто вылетает. насколько я понял, регик не вытягивает 1080, т.к. есть вторая камера от бренда китая noname — в ней подвисаний нет никаких.
хотелось бы автора просить написать названия серверов, с которых получает камера время, т.к. у камеры запрет на выход в и-нет.
спасибо за прошивку)))
По тексту, не сразу понял, что надо распаковать файлы все же не в корень sd, а в папку manu_test.
Подскажите, пожалуйста, какой кодек используете для видео и можно ли поворачивать как-то крутить камерой?
Огромное спасибо за прошивку! :)
При очередном обновлении по воздуху прервали питание и камера стала кирпичем, горит желтый индикатор.
Перебрал кучу прошивок но ничего не помогает
Please, Help
Год ее не юзал. Тут достал. Рест жму моргает синим бесконечно и не говорит ниче…
сброс делается очень долгим удержание кнопки ресет.
Решился прошить — модель совпадает.
Ссылка битая наверно, не скачать прошивку и рекавери.
Помогите у кого осталась.
Заранее Спасибо.
Добрый вечер.
На более новой версии камеры «Mi 360 Home Security Camera 2Pro» чтобы получить доступ к RTSP протоколу, Ваша прошивка подойдёт?
1. Вы самостоятельно пересобрали все службы dropbear, framegrabber, rtsp и onvif?
2. У Вас не возникало проблем с разделом rootfs при стандартной прошивке? Пересобрав его камера уже не стартует. Решил его не трогать, правлю только usr, sound, data
3. Если разбирали стандартную прошивку не подскажите, почему там 2 раздела usrfs и 2 раздела kernel?
У меня аналогичная камера по железу только не 05 в модели а 10, все полностью совпадает. Я сняв дамп с флеш, разобрал по партициям систему, раскопал все разделы, добавил свои скрипты для запуска тех же телнета, фтп и т.п. Службы framgraber, rtsp, onvif подошли от Вашей прошивки, за исключением onvif, не передает сигнал с rtsp, хотя сам rtsp поток отадет и все проги его воспроизводят (но иногда не без артефактов… причину пока не понял, вдруг службы что Вы собрали не полностью совместимы).
Можно у Вас заказать прошивку для модели MJSXJ10CM?
Заранее спасибо
убил камеру выпаяв флеху и случайно нажав прошить, не сохранив дамп
теперь просто горит оранжевый (как кирпич)
блин такая камера хорошая была..
я так понимаю снес загрузчик
у меня есть шанс ее сделать рабочей
когда она работала стояла последняя версия прошивки, как помню там цифры были 4...14
до того как выпаял, делал с карты памяти рекавери прошивки и в тч ваши файлы, но она не могла загрузиться с карты
вопрос имея знания в электронике, программатор и юсб-ттл можно ли оживить?
помогите пожалуйста как из tfrecovery.img сделать recovery.bin если заливать через програматор разве не бин файл используется ?
если можно скиньте дамп пожалуйста для камеры MJSXJ05CM
Не получается залить вашу прошивку. Камера как у вас, но говорит на китайском. После форматирования заливаю как показано на видео, правлю ИНИ, вставляю флешку, врубаю камеру (предварительно сбросив), просит скан QR и все. Светодиод мигает оранжевым. Ждал долго.
Подскажите, пожалуйста, как можно поправить и залить прошивку чтоб врубить rtsp и ONVIF