Статья

ZESP в Xiaomi - это просто

Немного о том, что такое проект ZESP. Примерно с год назад появилась идея состряпать простенький шлюз для Zigbee сети. В качестве комплектующих были выбраны ESP32 и модуль на базе CC2530.

Так как я не очень люблю покупать готовые устройства, то при изготовлении собственных, в процессе отладки и при написании прошивок, необходима была простая железка со всем необходимым софтом на борту. Если кто-то занимался подобным, наверняка знают какой это геморрой - добавить новое устройство в ZigBee2MQTT или ioBroker. А если еще и меняешь что-то в конечном устройстве, то времени уходит еще больше на правку конвертеров и тому подобного.

Собственно так и появился Zigbee&ESP = ZESP. Основные моменты были отработаны на нем, а потом, по случаю, мне попался шлюз Xiaomi, у которого на борту оказался полноценный линукс и модуль зигби JN5169 на борту.

Так как в процессе работы с ESP, мы уже подключали к ней зигби от NXP, то мы решили просто портировать все наши наработки на него.

Основная концепция при добавлении новых устройств - это простота и возможность собственноручно подправить параметры представления конечных устройств в системе.

Для этого, первоначально используются шаблоны, а уже на их основе можно кастомизировать свое устройство как душе угодно, не переживая, что с очередным апдейтом все ваши кастомные устройства пропадут, как это происходит на Z2M и всех производных системах на его движке.

Итак, приступим.

Первое, что необходимо сделать - это получить права root. Для этого читаем материалы тут или тут.

Далее, поднимаем SSH и подключаемся к хабу:

cd /opt

wget http://82.146.46.112/fw/mihub.tar.gz

tar -xzvf mihub.tar.gz -C /

ln -s /opt/node/bin/npm /usr/bin/npm

ln -s /opt/node/bin/node /usr/bin/node

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

cd /opt/app/util

./flashNew.sh

cd /opt/app

./start.sh

После запуска, становится доступен веб интерфейс по адресу шлюза.

Для интеграции с системами умного дома, можно настроить MQTT или общаться с хабом через Web Socket.

Софт пока находится в процессе переноса и обкатки, поэтому если есть желание повлиять на функционал, или подкинуть интересных идей - велком в телеграм чат проекта ZESP, чтобы не засорять основной чат ZigBee обсуждением отдельного проекта.


Красавцы !!!

Здорово, валяется шлюз китайской версии, а его никак нельзя..

если он не на марвел модуле, то можно, в общем вскрытие должно показать ;)

Добрый день. В моем китайском два модуля: 

JN5169 и 

MHCW02P. Последний это марвел? Или есть шанс?

увы под марвел у нас пока ничего нет, даже шлюза такого :)


https://sprut.ai/client/user/profile/1779">Владислав, у вас какой артикул у шлюза?

Здесь его же ломают? https://habr.com/ru/post/494296/">https://habr.com/ru/post/49429...

Ну наконец. Я все ждал когда будет реализована возможность использования шлюза xiaomi как обычного шлюз zigbee в mqtt.
Теперь еще подожду stable релиза 

Вот так всегда:), а поучаствовать не неинтересно? 

сегодня пол дня ставили ха(это конечно то еще удовольствие), будем эксперементировать с пробросом по мктт так что в ближайшее время можно будет попробовать, в иоброкер данные летят из коробки 

А как роутер его нельзя использовать?

Теоретически можно, но столько ресурсов жалко на просто роут тратить

У кого-нибудь получилось завести mqtt? Прописываю сервер login&pass нажимаю сохранить, в топиках ничего не появляется.

давай в чат с такими вопросами, там быстрее помогут



https://sprut.ai/static/media/cache/00/04/56/5/3736493/57878/1000x_image.png?1589215408" alt="1000x_image.png?1589215408" />

Все ок, появилось после reset и привязки снова. 

Скажите пожалуйста - в данной прошивке начинка (датчик освещенности и т.д.) шлюза задействована будет?

подсветка и звук уже расковыряли можно будет использовать, освещенность пока под вопросом... возможно радио добавим(если взлетит), но пока в приоритете всеже зигби довести до ума, хотябы до уровня есп версии, но потенциал у железа гораздо круче поэтому и плюшек будет больше



Владислав, а из такого шлюза на RT5350 + CC2538 можно что-то путное получить?
https://sprut.ai/static/media/cache/00/55/17/5/3840848/58547/1000x_image.jpg?1590003934" alt="1000x_image.jpg?1590003934" />

Ещё у Tuya относительно недорогой и аккуратный wi-fi/ethernet https://bit.ly/3e1Z091">шлюз Zigbee 3.0, было бы прекрасно отвязать его от облака

https://sprut.ai/static/media/cache/00/55/17/5/3840848/58548/1000x_image.jpg?1590006017" alt="1000x_image.jpg?1590006017" />

в свое время видел такие на али, ценник тогда отпугнул, подобный можно собрать на роутере за 500р+зигби модуль 500 итого в рубль уложиться, но при цене акаровского шлюза в рубль примерно счас, по мощности железа акара выигрывает(хоть там и нет рж45 под лан)

А шлюз сяоми и так можно прицепить к HA. Зачем прошивать? Объясните плиз Профит.

в оригинальном софте ограниченное колво устройств, тут можно прицепить практически весь зоопарк сторонних производителей. Этакая малинка со стиком но в готовом железе и оригинальном корпусе...

А на скорость ответа устройств это как-то повлияет? Будет быстрее или так же?

Не знаю я никогда не пользовался шлюзом по назначению с оригинальным софтом, даже более скажу у меня только он и есть, без комлектных датчиков, поэтому насчёт скорости не с чем сравнивать, но то что я вижу все работает мгновенно без задержек

Первое, что необходимо сделать - это получить права root

или все-таки подключить шлюз к сети?

как зайти по ssh если шлюз из коробки?

ну предполагалось что хабом уже пользовались, а так конечно родным приложением настроить подключение к сети потом уже рут получать...

Я сделал все наоборот, получил рут а потом сеть настроил..

:)



https://sprut.ai/static/media/cache/00/56/02/5/5896264/70403/1000x_image.jpg?1605095126" alt="1000x_image.jpg?1605095126" />

Подскажите, после выполнения команды ./flashNew.sh запись доходит до 77% и шлюз перезагружается. Из-за чего может быть такая проблема? 

при распаковке посыпались сообщения типа


tar: opt/node/share: Cannot mkdir: No space left on device


tar: opt/node/share/doc/node/gdbinit: Cannot open: No such file or directory


как можно освободить место?

При первоначальном подключении к сети через MiHome приложение предложило обновится. Видимо, новая прошивка уже скачалась и заняла место в памяти. |Я обновился, надеясь, что старые файлы подчистятся. Не помогло.

инструкция немного устарела, счас необходимо удалить все из /opt командой rm -R /opt

и установить скопировав и вставив в консоль следующее( одна строка)



echo -e "GET /divanikus/zesp32-installer/master/install.sh HTTP/1.0\nHost: raw.githubusercontent.com\n" | openssl s_client -quiet -connect raw.githubusercontent.com:443 2>/dev/null | sed '1,/^\r$/d' | bash

Спасибо, получилось. Установилось без ошибок. Шлюз пингуется, по ssh на него захожу. Но не "становится доступен веб интерфейс по адресу шлюза." - can’t establish a connection to the server a

Нормальные ли это сообщения в терминале:

----------------------------------------------------------------------

start GW

----------------------------------------------------------------------

key_rgb: no process found

tb.sh: no process found
/opt/app/start.sh: line 10:

/opt/app/util/tb.sh: No such file or directory

umount: /mnt/.psplash: not mounted

Freescale i.MX Release Distro 4.1.15-2.0.0

imx6ull14x14evk /dev/ttymxc0

imx6ull14x14evk login: echo 0 -->> dev/watchdog

gw: no process found
test_ota: no process found

счас порт изменился http://192.168.1.5:8081/">http://айпи_хаба:8081/ попробуй на этот,  ну и вопросы лучше в чат там оперативней ответят 

@zesp32

Да, 8081. Спасибо большое. Может и здесь инструкцию поправят...


Вернуться назад

Устройства


Texas Instruments

ZigBee Stick CC2530

Заказать на:

Xiaomi

Xiaomi Gateway EU

(1 отзыв)

Вернуться назад