после упоминаний nspanel наткнулся на али на сабж в два раза дешевле и спонтанно купил. Попытка поделиться с народом
Вот тут брал али
Прошивка openHASP документация
Картинки потрохов и обсуждение тут
Надо обратить внимание, что прошивка должна быть именно 0.7.0 и старше (поддержка платы появляется только с этой версии)
Компилил сам по инструкции с сайта на gitpod
Прошивка
Существующая прошивка не поддерживает карту памяти и звук на плате.
Заливка на плату и подключение к локальной сети - всё по инструкции с сайта
После переходим по адресу платы в локальной сети. Открывается меню
Конфигурируем mqtt, выбираем тему,...
Если используем внутренние реле, описываем задействованные пины
Программирование+интерфейс
В меню есть редактор файлов. С ним проще всего исследовать и изменять файлы на плате.
Есть подобие BAT-файлов, которые запускаются по условиям, например, при смене статуса подключения к сетке online.cmd/offline.cmd
Например, в оффлайне можно вывести экран только с локальным управлением встроенными реле, а при подключении к сети, перейти в индикацию информации от умного дома.
Вообще, на плате можно хранить только интерфейс оффланового режима, а подгружать страницы УД или даже отдельные элементы интерфейса можно динамически после подключения к серверу
Обычно, но необязательно, дизайн экранов (pages) расположен в файле pages.jsonl
Структура его проста
{"page":1,"comment":"---------- Page 1 ----------"}
{"id":30,"obj":"img","src":"L:/fon.png","x":0,"y":0,"auto_size":1}
{"id":20,"obj":"label","x":3,"y":5,"h":30,"w":130,"text":"Нагрузка","align":1,"text_color":"Silver","text_font":20}
{"id":21,"obj":"arc","x":10,"y":30,"w":140,"h":100,"max":10000,"border_side":0,"type":0,"rotation":0,"start_angle":180,"end_angle":0,"start_angle10":180,"value_font":15,"value_ofs_x":-19,"value_ofs_y":-4,"bg_opa":0}
{"id":3,"obj":"label","x":280,"y":50,"h":100,"w":200,"text":"--:--","align":0,"text_color":"Silver","text_font":80}
{"id":5,"obj":"label","x":270,"y":145,"h":35,"w":210,"text":"Пн 30 сентября 2024","align":1,"text_color":"Silver","text_font":22}
Задаётся страница, потом перечисляются по-строчно элементы с уникальным id внутри страницы, указывается тип obj, например label, координаты от верхнего левого угла экрана или контейнера, размер, далее -атрибуты и специфика объекта.
Таким образом, любой элемент можно идентифицировать как pXbN - страница Х элемент N. Это пригодится для обмена информацией с МДМ.
В моските это выглядит так
а вот топики управления
Принцип обмена Умный дом -- плата:
Например, часы у нас заявлены на странице 1 как label и определены так
{"id":3,"obj":"label","x":280,"y":50,"h":100,"w":200,"text":"--:--","align":0,"text_color":"Silver","text_font":80}
для изменения данных в метке достаточно передать команду в топике
"hasp/plate/command/p1b3.text" со значением date( "H:i")
Принцип обмена плата -- Умный дом:
подписываемся на топики и реагируем на события от платы - нажатия/удержание/отпускание кнопки, свайп по экрану, идле-режим и тд.
ps. Нашёл графический редактор интерфейса для платы тыц на первое время
pps. примеры программирования на форуме
ppps. теперь прошивка доступна тут ищем нашу модель в списке - Guition ESP32-S3-4848S040
pppps. Модуль для МДМ
Домодедово, Россия
На форуме: xor