Sonoff NSPanel: различия между версиями

Материал из Wiren Board
Строка 104: Строка 104:


Подробная документация с примерами JSON-сообщений доступна в репозитории [https://github.com/alfpf/NSPanel-setup NSPanel-setup].
Подробная документация с примерами JSON-сообщений доступна в репозитории [https://github.com/alfpf/NSPanel-setup NSPanel-setup].
== Полезные ссылки ==
* [https://github.com/alfpf/NSPanel-setup Документация NX-Panel с подробным описание и примерами команд]
* [https://community.openhab.org/t/nxpanel-replacement-firmware-for-sonoff-nspanel/132869 Форум поддержки прошивки NXPanel]
* [https://github.com/peepshow-21/ns-flash Репозиторий с прошивкой NSPanel]
* [https://templates.blakadder.com/sonoff_NSPanel.html Оригинальная инструкция по прошивке Tasmota]

Версия 11:18, 15 августа 2022

Это черновик страницы. Последняя правка сделана 15.08.2022 пользователем A.Degtyarev.

Общая информация

Sonoff NSPanel европейская версия

Sonoff NSPanel — это Wi-Fi панель с контроллером ESP32 и дисплеем Nextion. С базовой прошивкой она настраивается приложением eWLink и работает через облако производителя.

Но так как платформа открыта, то для неё появилось несколько альтернативных прошивок, с помощью которых вы можете нарисовать свой интерфейс в редакторе NextionEditor или использовать заготовки авторов.

Мы попробовали несколько вариантов и остановились на прошивке NXPanel:

  • работает через MQTT,
  • не нужно использовать дополнительное ПО для настройки панели.

Инструкции на этой страницы проверены для европейской версии устройства.

Подготовка устройства

Прошивка Tasmota

Разъём для прошивки NSPanel

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

Сперва мы прошьём панель прошивкой Tasmota, оригинальная инструкция доступна на сайте blakadder.com, но наша будет отличаться: мы возьмём другой файл nspanel.be и прошьём новую прошивку в дисплей.

Разберите панель, найдите разъём для прошивки:

  1. Припаяйте пять проводков и подключите четыре из них к программатору, а ID0 соедините с GND.
  2. Подключите программатор к компьютеру.
  3. Откройте Tasmota Web Installer и выберите в левом поле прошивку Development/Tasmota32 Sonoff-NSPanel (english)
  4. Прошейте устройство.

Хорошее видео о том, как разобрать и прошить NSPanel: Flashing the Sonoff NSPanel with Tasmota!

Конфигурация и активация MQTT

Чтобы прошивка понимала, какие GPIO за что отвечают, а так же для калибровки аналоговых входов, запишите строку конфигурации:

  1. В веб-интерфейсе панели перейдите ConfigurationConfigure Other
  2. Вставьте строку в поле Template:
    {"NAME":"NSPanel","GPIO":[0,0,0,0,3872,0,0,0,0,0,32,0,0,0,0,225,0,480,224,1,0,0,0,33,0,0,0,0,0,0,0,0,0,0,4736,0],"FLAG":0,"BASE":1,"CMND":"ADCParam 2,11200,10000,3950 | Sleep 0 | BuzzerPWM 1"}
    
  3. Включите флажок MQTT enable.
  4. Сохраните настройки.

Настройка Wi-Fi и MQTT

После прошивки панель запустится и поднимет Wi-Fi точку доступа вида tasmota_XXXXXX:

  1. Подключитесь к ней.
  2. Зайдите на устройство по адресу http://http://192.168.4.1/
  3. Настройте подключение к тому же Wi-Fi роутеру, к которому подключён контроллер Wiren Board.
  4. Подключитесь к панели по новому адресу.

Чтобы в дальнейшем иметь доступ к веб-интерфейса устройству, рекомендуем задать статический IP-адрес, справочник по командам.

Настройте панель на отправку данных в MQTT-брокер контроллера:

  1. Перейдите ConfigurationConfigure MQTT.
  2. Заполните поля, в поле Host укажите IP-адрес контроллера, а User и Password можно не указывать — по умолчанию на контроллере Wiren Board MQTT-брокер не требует авторизации.
  3. Нажмите Save.

Прошивка NXPanel

Веб-консоль Tasmota

Теперь, когда у нас есть полный доступ к устройству, загрузим на него скрипт управления и новую прошивку дисплея. Все действия нужно производить в веб-интерфейсе устройства.

Загрузите в панель скрипт NXPanel:

  1. Скачайте на компьютер этот файл nxpanel.be.
  2. Перейдите ConsolesManage File system:
    • загрузите файл nxpanel.be, который вы скачали раньше;
    • создайте файл autoexec.be с единственной строкой: load("nxpanel.be").
  3. Перезагрузите панель.

Теперь прошейте дисплей пользовательской прошивкой:

  1. Перейдите ConsolesConsole
  2. Выполните команду:
    installnxpanel
    
  3. Дождитесь окончания прошивки.

Работа с панелью

Принцип работы

Устройство запрашивает нужные ей страницы, вы их формируете, отправляете ему, а оно их отрисовывает. Если на панели нажали кнопку или изменили другой параметр — устройство пришлёт сообщение с идентификаторами панели и изменённого параметра.

MQTT-топики:

  1. tele/deviceName/RESULT — запросы устройства.
  2. tele/deviceName/SENSOR — данные с датчиков устройства: температура процессора и окружающей среды. Если показания встроенного датчика температуры отличаются от эталона, скорректируйте их по инструкции (TempOffset).
  3. stat/deviceName/RESULT — сообщения о состоянии физических реле.
  4. cmnd/{}/nxpanel — отправка команд: структура страниц и состояние элементов.
  5. cmnd/{}/nspsend/ — отправка команд физическим компонентам: реле и зуммеру.

Пример

Чтобы было проще начать, мы подготовили пример модуля на wb-rules: nxpanel2wb.

Модуль реализует простую панель управления и представляет её в виде виртуального устройства, с которым вы можете взаимодействовать с помощью правил или Node-RED.

Топик Send Raw служит для отправки JSON-команд устройству, например:

  • Погода:
    { "weather": { "temp": 30, "icon": "02d", "feels": 35, "summary": "40 %,RH" } }
    
  • Сообщения:
    {"notifications": { "text": "Wiren Board" }}
    

Подробная документация с примерами JSON-сообщений доступна в репозитории NSPanel-setup.

Полезные ссылки