|
|
(не показаны 44 промежуточные версии этого же участника) |
Строка 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, о которой и расскажем здесь. Инструкции на этой страницы проверены для европейской версии устройства. |
| | |
| Инструкции на этой странице проверены для европейской версии устройства, все действия вы производите на свой страх и риск. | |
|
| |
|
| == Подготовка устройства == | | == Подготовка устройства == |
| === Прошивка Tasmota ===
| | Для прошивки вам понадобится паяльник, программатор для ESP и навыки пайки. Если чего-то из этого у вас нет — поищите другие устройства для вашей задачи. |
| [[Image: nspanel-tasmota-flash.jpg |300px|thumb|right| Разъём для прошивки NSPanel ]]
| |
| {{note|warn|Убедитесь, что вы понимаете, что делаете и осознаёте риски!}}
| |
| Для прошивки вам понадобится паяльник, программатор для ESP и навыки пайки. Если чего-то из этого у вас нет — поищите другие варианты решения вашей задачи. | |
| | |
| Сперва мы прошьём панель прошивкой Tasmota, оригинальная инструкция доступна на сайте [https://templates.blakadder.com/sonoff_NSPanel.html blakadder.com], но наша будет отличаться: мы возьмём другой файл nspanel.be и прошьём новую прошивку в дисплей.
| |
| | |
| Разберите панель, найдите разъём для прошивки:
| |
| # Припаяйте пять проводков и подключите четыре из них к программатору, а ID0 соедините с GND.
| |
| # Подключите программатор к компьютеру.
| |
| # Откройте [http://tasmota.github.io/install Tasmota Web Installer] и выберите в левом поле прошивку Development/Tasmota32 Sonoff-NSPanel (english)
| |
| # Прошейте устройство.
| |
| | |
| Хорошее видео о том, как разобрать и прошить NSPanel: [https://youtu.be/sCrdiCzxMOQ Flashing the Sonoff NSPanel with Tasmota!]. В отличие от автора видео, мы рекомендуем припаять провода к контактам панели.
| |
| | |
| === Конфигурация и активация MQTT ===
| |
| Чтобы прошивка понимала, какие GPIO за что отвечают, а так же для калибровки аналоговых входов, запишите строку конфигурации:
| |
| # В веб-интерфейсе панели перейдите '''Configuration''' → '''Configure Other'''
| |
| # Вставьте строку в поле '''Template''':
| |
| #:<syntaxhighlight lang="bash">
| |
| {"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"}
| |
| </syntaxhighlight>
| |
| # Включите флажок '''MQTT enable'''.
| |
| # Сохраните настройки.
| |
| | |
| === Настройка Wi-Fi и MQTT ===
| |
| После прошивки панель запустится и поднимет Wi-Fi точку доступа вида ''tasmota_XXXXXX'':
| |
| # Подключитесь к ней.
| |
| # Зайдите на устройство по адресу http://http://192.168.4.1/
| |
| # Настройте подключение к тому же Wi-Fi роутеру, к которому подключён контроллер Wiren Board.
| |
| # Подключитесь к панели по новому адресу.
| |
| | |
| Чтобы в дальнейшем иметь доступ к веб-интерфейса устройству, рекомендуем задать статический IP-адрес, [https://tasmota.github.io/docs/Commands/#wi-fi справочник по командам].
| |
| | |
| Настройте панель на отправку данных в MQTT-брокер контроллера:
| |
| # Перейдите '''Configuration''' → '''Configure MQTT'''.
| |
| # Заполните поля, в поле '''Host''' укажите IP-адрес контроллера, а ''User'' и ''Password'' можно не указывать — по умолчанию на контроллере Wiren Board MQTT-брокер не требует авторизации.
| |
| # Нажмите '''Save'''.
| |
| | |
| <gallery mode="packed" heights="350px" caption="Настройка устройства">
| |
| Image: tasmota-other-settings.png | MQTT и GPIO
| |
| Image: tasmota-wi-fi-settings.png | Wi-Fi
| |
| Image: tasmota-mqtt-settings.png | MQTT
| |
| </gallery>
| |
| | |
| === Прошивка NXPanel ===
| |
| [[Image: tasmota-console.png |300px|thumb|right| Веб-консоль Tasmota ]]
| |
| Теперь, когда у нас есть полный доступ к устройству, загрузим на него скрипт управления и новую прошивку дисплея. Все действия нужно производить в веб-интерфейсе устройства.
| |
| | |
| Загрузите в панель скрипт NXPanel:
| |
| # Скачайте на компьютер [https://github.com/peepshow-21/ns-flash/tree/master/berry этот файл nxpanel.be].
| |
| # Перейдите '''Consoles''' → '''Manage File system''':
| |
| #* загрузите файл <code>nxpanel.be</code>, который вы скачали раньше;
| |
| #* создайте файл <code>autoexec.be</code> с единственной строкой: <code>load("nxpanel.be")</code>.
| |
| # Перезагрузите панель.
| |
| | |
| Теперь прошейте дисплей пользовательской прошивкой:
| |
| # Перейдите '''Consoles''' → '''Console'''
| |
| # Выполните команду:
| |
| #:<syntaxhighlight lang="bash">
| |
| installnxpanel
| |
| </syntaxhighlight>
| |
| # Дождитесь окончания прошивки.
| |
| | |
| == Работа с панелью ==
| |
| [[Image: nxpanel-devices.png |300px|thumb|right| Представление Sonoff NSPanel с прошивкой NXPanel в контроллере Wiren Board ]]
| |
| === Принцип работы ===
| |
| Устройство запрашивает нужные ей страницы, вы их формируете, отправляете ему, а оно их отрисовывает. Если на панели нажали кнопку или изменили другой параметр — устройство пришлёт сообщение с идентификаторами панели и изменённого параметра.
| |
| | |
| 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]
| |