Немного о том, что такое проект 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...
Теперь еще подожду stable релиза
Вот так всегда:), а поучаствовать не неинтересно?
сегодня пол дня ставили ха(это конечно то еще удовольствие), будем эксперементировать с пробросом по мктт так что в ближайшее время можно будет попробовать, в иоброкер данные летят из коробки
А как роутер его нельзя использовать?
Теоретически можно, но столько ресурсов жалко на просто роут тратить
У кого-нибудь получилось завести mqtt? Прописываю сервер login&pass нажимаю сохранить, в топиках ничего не появляется.
давай в чат с такими вопросами, там быстрее помогут
Все ок, появилось после reset и привязки снова.
Скажите пожалуйста - в данной прошивке начинка (датчик освещенности и т.д.) шлюза задействована будет?
подсветка и звук уже расковыряли можно будет использовать, освещенность пока под вопросом... возможно радио добавим(если взлетит), но пока в приоритете всеже зигби довести до ума, хотябы до уровня есп версии, но потенциал у железа гораздо круче поэтому и плюшек будет больше
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 если шлюз из коробки?
ну предполагалось что хабом уже пользовались, а так конечно родным приложением настроить подключение к сети потом уже рут получать...
Я сделал все наоборот, получил рут а потом сеть настроил..
:)
Подскажите, после выполнения команды ./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. Спасибо большое. Может и здесь инструкцию поправят...