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

Материал из Wiren Board
(→‎Полезные ссылки: добавил ссылку)
(не показана 31 промежуточная версия этого же участника)
Строка 1: Строка 1:
{{DISPLAYTITLE: Использование Sonoff NSPanel с контроллером Wiren Board }}
{{DISPLAYTITLE: Использование Sonoff NSPanel с контроллером Wiren Board }}
[[Image: nxpanel 2.jpg |300px|thumb|right| Sonoff NSPanel EU с прошивкой NXPanel]]
{{Draft}}
== Общая информация ==
== Общая информация ==
{{YouTube
[[Image: Sonoff NSPanel EU.jpg |300px|thumb|right| Sonoff NSPanel европейская версия ]]
|link=https://youtu.be/dIH0Zq298FQ
Sonoff NSPanel — это Wi-Fi панель с контроллером ESP32 и дисплеем Nextion. С базовой прошивкой она настраивается приложением eWLink и работает через облако производителя.
|text= Пример работы NSPanel с контроллером Wiren Board
}}
[https://sonoff.tech/product/smart-wall-swtich/nspanel/ Sonoff NSPanel] — это Wi-Fi панель с контроллером ESP32 и дисплеем Nextion. С базовой прошивкой она настраивается приложением eWLink и работает через облако производителя. В панели есть два реле и физические кнопки для управления нагрузкой.


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


Мы попробовали несколько вариантов и остановились на свободной прошивке [https://github.com/peepshow-21/ns-flash NXPanel], которую разработал и поддерживает пользователь @m-home (Mike) с [https://community.openhab.org/t/nxpanel-replacement-firmware-for-sonoff-nspanel/132869 форума OpenHub]. Другие варианты смотрите по ссылке [https://github.com/blakadder/nspanel?ysclid=l6uhli7os9383372258 NSPanel Hacking].
Мы попробовали несколько вариантов и остановились на прошивке NXPanel:
* работает через MQTT,
* не нужно использовать дополнительное ПО для настройки панели.


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


== Подготовка устройства ==
== Подготовка устройства ==
=== Прошивка Tasmota ===
=== Прошивка Tasmota ===
[[Image: nspanel-tasmota-flash.jpg |300px|thumb|right| Разъём для прошивки NSPanel ]]
[[Image: nspanel-tasmota-flash.jpg |300px|thumb|right| Разъём для прошивки NSPanel ]]
{{note|warn|Убедитесь, что вы понимаете, что делаете и осознаёте риски!}}
Для прошивки вам понадобится паяльник, программатор для ESP и навыки пайки. Если чего-то из этого у вас нет — это решение может оказаться для вас сложным.
Для прошивки вам понадобится паяльник, программатор для ESP и навыки пайки. Если чего-то из этого у вас нет — поищите другие варианты решения вашей задачи.


Сперва мы прошьём панель прошивкой Tasmota, оригинальная инструкция доступна на сайте [https://templates.blakadder.com/sonoff_NSPanel.html blakadder.com], но наша будет отличаться: мы возьмём другой файл nspanel.be и прошьём новую прошивку в дисплей.
Сперва мы прошьём панель прошивкой Tasmota, оригинальная инструкция доступна на сайте [https://templates.blakadder.com/sonoff_NSPanel.html blakadder.com], но наша будет отличаться: мы возьмём другой файл nspanel.be и прошьём новую прошивку в дисплей.
Строка 28: Строка 26:
# Прошейте устройство.
# Прошейте устройство.


Хорошее видео о том, как разобрать и прошить NSPanel: [https://youtu.be/sCrdiCzxMOQ Flashing the Sonoff NSPanel with Tasmota!]. В отличие от автора видео, мы рекомендуем припаять провода к контактам панели.
Хорошее видео о том, как разобрать и прошить NSPanel: [https://youtu.be/sCrdiCzxMOQ Flashing the Sonoff NSPanel with Tasmota!]


=== Конфигурация и активация MQTT ===
=== Конфигурация и включение MQTT ===
Чтобы прошивка понимала, какие GPIO за что отвечают, а так же для калибровки аналоговых входов, запишите строку конфигурации:
Чтобы прошивка понимала, какие GPIO за что отвечают, а так же для калибровки аналоговых входов, запишите строку конфигурации:
# В веб-интерфейсе панели перейдите '''Configuration''' → '''Configure Other'''
# В веб-интерфейсе панели перейдите '''Configuration''' → '''Configure Other'''
Строка 41: Строка 39:


=== Настройка Wi-Fi и MQTT ===
=== Настройка Wi-Fi и MQTT ===
После прошивки панель запустится и поднимет Wi-Fi точку доступа вида ''tasmota_XXXXXX'':
После прошивки панель запустится и поднимет Wi-Fi точку доступа вида tasmota_XXXXXX:
# Подключитесь к ней.
# Подключитесь к ней.
# Зайдите на устройство по адресу http://http://192.168.4.1/
# Зайдите на устройство по адресу http://http://192.168.4.1/
Строка 54: Строка 52:
# Нажмите '''Save'''.
# Нажмите '''Save'''.


<gallery mode="packed" heights="350px" caption="Настройка устройства">
<gallery mode="packed" heights="350px" caption="Веб-интерфейс Tasmota">
Image: tasmota-other-settings.png | MQTT и GPIO
Image: tasmota-wi-fi-settings.png | Настройка Wi-Fi
Image: tasmota-wi-fi-settings.png | Wi-Fi
Image: tasmota-mqtt-settings.png | Настройка MQTT
Image: tasmota-mqtt-settings.png | MQTT
</gallery>
</gallery>


=== Прошивка NXPanel ===
=== Прошивка NXPanel ===
[[Image: tasmota-console.png |300px|thumb|right| Веб-консоль Tasmota ]]
Теперь, когда у нас есть полный доступ к устройству, загрузим на него скрипт управления и прошивку дисплея NXPanel ([https://github.com/peepshow-21/ns-flash страница на Github]). Все действия нужно производить в веб-интерфейсе устройства.
Теперь, когда у нас есть полный доступ к устройству, загрузим на него скрипт управления и новую прошивку дисплея. Все действия нужно производить в веб-интерфейсе устройства.


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


== Работа с панелью ==
== Работа с панелью ==
[[Image: nxpanel-devices.png |300px|thumb|right| Представление Sonoff NSPanel с прошивкой NXPanel в контроллере Wiren Board ]]
Калибровка датчика температуры: TempOffset -12.6..12.6 https://tasmota.github.io/docs/Commands/#sensors
=== Принцип работы ===
Устройство запрашивает нужные ей страницы, вы их формируете, отправляете ему, а оно их отрисовывает. Если на панели нажали кнопку или изменили другой параметр — устройство пришлёт сообщение с идентификаторами панели и изменённого параметра.
 
MQTT-топики:
# <code>tele/deviceName/RESULT</code> — запросы устройства.
# <code>tele/deviceName/SENSOR</code> — данные с датчиков устройства: температура процессора и окружающей среды. Если показания встроенного датчика температуры отличаются от эталона, скорректируйте их по [https://tasmota.github.io/docs/Commands/#sensors инструкции] (''TempOffset'').
# <code>stat/deviceName/RESULT</code> — сообщения о состоянии физических реле.
# <code>cmnd/{}/nxpanel</code> — отправка команд: структура страниц и состояние элементов.
# <code>cmnd/{}/nspsend/</code> — отправка команд физическим компонентам: реле и зуммеру.
 
=== Пример ===
Чтобы было проще начать, мы подготовили пример модуля на [[wb-rules]]: [https://github.com/wirenboard/wb-community/tree/main/scripts/nxpanel2wb nxpanel2wb].
 
Модуль реализует простую панель управления и представляет её в виде виртуального устройства, с которым вы можете взаимодействовать с помощью правил или [[Node-RED]].
 
Топик '''Send Raw''' служит для отправки JSON-команд устройству, например:
* Погода:
*: <syntaxhighlight lang="json">
{ "weather": { "temp": 30, "icon": "02d", "feels": 35, "summary": "40 %,RH" } }
</syntaxhighlight>
* Сообщения:
*: <syntaxhighlight lang="json">
{"notifications": { "text": "Wiren Board" }}
</syntaxhighlight>
 
Подробная документация с примерами JSON-сообщений доступна в репозитории [https://github.com/alfpf/NSPanel-setup NSPanel-setup].
 
<gallery mode="packed" heights="200px" caption="Примеры экранов">
Image: nxpanel 1.jpg | Настройка дисплея
Image: nxpanel 2.jpg | Домашний экран
Image: nxpanel 3.jpg | Основное меню
Image: nxpanel 4.jpg | Управление диммером
Image: nxpanel 5.jpg | Управление светодиодной лентой
Image: nxpanel 6.jpg | Настройка термостата
</gallery>
 
== Полезные ссылки ==
* [https://support.wirenboard.com/t/nspanel-sonoff-podklyuchenie/14106 Панель подключается к MQTT, но на панели нет данных]
* [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]
* [https://github.com/blakadder/nspanel?ysclid=l6uhli7os9383372258 NSPanel Hacking]

Версия 09:54, 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

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

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

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

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

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

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

Калибровка датчика температуры: TempOffset -12.6..12.6 https://tasmota.github.io/docs/Commands/#sensors