Минулого року китайська компанія Sonoff розпочала краудфандингову кампанію, де представила цікавий розумний девайс. Вже наприкінці 2021 року Sonoff представила світу NSPanel. Цей девайс являє собою прямокутний пристрій з кольоровим сенсорним дисплеєм розміром 3,5 дюйма та двома фізичними клавішами.
Сенсорний дисплей теж було виготовлено компанією Sonoff, це модель Nextion.
Існує дві версії NSPanel, вони відрізняються лише розмірами. Одна призначена для американського ринку, інша, для європейських країн. Силова і логічна частини девайсів однакові. В якості “мозку” компанія обрала Espressif ESP32-DOWD V3, що дозволило працювати в мережах 802.11n/g/n WiFi 4. Bluetooth 4.2/5.x використовується тут лише для першого налаштування девайсу.
Підключаємо NSPanel до електромережі.
Для налаштування та керування пристроєм необхідно завантажити додаток eWeLink, він має бути вже знайомим для власників продукції Sonoff. Якщо у вас ще немає облікового запису, створіть його, або увійдіть до власного аккаунту. eWeLink дозволяє керувати приєднаними пристроями з будь-якої точки світу де є з’єднання з мережею інтернет.
Отже, для додавання NSPanel на телефоні необхідно увімкнути bluetooth, після цього необхідно підключити девайс до електромережі.
При роботі з високою напругою дотримуйтесь правил безпеки!
В програмі eWeLink натисніть в додатку “додати новий девайс”. Пізніше, на екрані ви побачите новий пристрій, виберіть його для додавання. Далі, можливо, необхідно буде ввести облікові дані вашої Wi-Fi мережі. Після під’єднання до мережі NSPanel скоріш за все “попросить” оновити власну мікропрограму. Зробіть це, адже оновлення може містити покращення роботи чи виправлення помилок. Оновлення може зайняти чимало часу.
Силова частина вимикача містить два реле, які здатні витримати струм до 16А. А це значить, що до нього можна підключити два електричних пристрої. Це можуть бути не лише освітлювальні прилади, а й, наприклад, контролер теплої підлоги. Нижче, на зображенні схема підключення вимикача.
Налаштовуємо NSPanel в eWeLink
В додатку eWeLink можна перемкнути одне з реле вимикача в режим термостату, тоді вбудований термодатчик зможе контролювати температуру в приміщенні. Для термостату оберіть режим нагріву або охолодження в залежності від того, який прилад плануєте підключити (нагрівальний чи охолоджувальний). Задайте цільову температуру в приміщенні і девайс вимкне прилад при досягненні заданої температури.
Щоб перейти до екрану термостата на вимикачі свайпніть по його екрану праворуч. Ще один свайп переведе вас до екрану віджетів. Це піктограми, за допомогою яких можна керувати іншими розумними девайсами. Так ви можете керувати розетками чи лампами, а також їхніми групами. Крім того, ви можете створити віджети для завантаження сцени.
Віджети необхідно створювати в додатку eWeLink. Максимальна кількість віджетів – вісім.
Щоб керувати девайсом за допомогою голосових асистентів Google чи Alexa створіть відповідну інтеграцію в додатку eWeLink. Крім того, Sonoff дозволяє керувати вимикачем в локальній мережі, що дає можливість інтеграцій до альтернативних систем управління розумним домом. Увімкніть відповідний пункт в налаштуваннях девайсу.
Підготовка до завантаження ESPHome
На мою думку, розумний девайс є дійсно розумним лише тоді, коли він може працювати незалежно від хмарних сервісів. NSPanel вміє працювати локально, але, на жаль, його віджети не працюють без підключення до мережі. По суті, через локальну мережу ви зможете керувати лише двома реле пристрою.
Як я вже казав вище, логічна частина вимикача – це дисплей Nextion, який підключений до контролера ESP32. Такий тандем дає нам надію на можливість легкого завантаження альтернативної прошивки Esphome. І дійсно, вже існує прошивка tasmota для NSPanel, також кипить робота по створенню компоненти “NSPanel” для Esphome
Давайте подивимось на друковану плату логічного блоку. Щоб зняти його, легко натисніть викруткою на паз в центрі. Не забудьте перед цим вимкнути живлення.
Далі необхідно викрутити два гвинти які тримають захисну пластину. Акуратно зніміть пластину, після цього ви побачите друковану плату з мікросхемою контролера esp32.
Ви можете побачити п’ять контактів в нижньому куті друкованої плати, вони позначені як 3V3, ESP_TX, ESP_RX, GND та IO0. Останній контакт – це “нульовий” пін контролера. Для того, щоб перевести контроллер в режим прошивки треба приєднати його до нульового дроту.
Для прошивки контроллера вам знадобиться перехідник usb2uart (usb – ttl converter). Перш ніж приєднувати його до комп’ютера, необхідно поставити перемичку на напругу 3,3v, це дуже важливо!
За допомогою дротів Dupont під’єднайте контакти перехідника з друкованою платою NSPanel: vcc – 3V3, GND -GND, RX – ESP_TX,TX – ESP_RX. Контакт IO0 на друкованій платі приєднайте до нульового проводу на контактному майданчику (зелений дріт на фото)
Зверніть увагу: якщо контакти дротів Dupont вийдуть за межі контактних отворів на платі, вони будуть торкатись металевої пластини дисплея. А це може призвести до короткого замикання і виходу зі строю як usb-перехідника так і мікросхем NSPanel. Щоб цього уникнути, відєднайте шлейф дисплея та вийміть друковану плату з корпусу.
Завантажуємо ESPHome на NSPanel
Тепер можна сміливо завантажувати прошивку esphome. Приєднайте usb-перехідник до комп’ютера, а в диспетчері пристроїв подивіться який com-порт він отримав. Тепер, в інтерфейсі Esphome можна створити новий вузол. Насправді достатньо буде завантажити порожній код на esp32, а далі працювати зі створеним вузлом через WiFi. Для цього виберіть варіант прошивки підключеного до комп’ютера esp-контролера. Далі, у спливаючому вікні, виберіть com-порт. Завантаження прошивки відбуватиметься декілька хвилин. Важливо щоб контакти в процесі прошивки не відєдналися.
Від’єднайте дроти та зберіть вимикач після закінчення завантаження . Після того, як підключите NSPanel до мережі з вимикачем можна працювати як зі звичайним контролером esp32. Тепер давайте завантажимо підготовлений код.
Після перезавантаження вимикач матиме знайомий інтерфейс. Єдине, хочу попередити, тут ще немає офіційної підтримки термостатів, тому я не додавав його в код. Термостат, як і деякі віджети, можна додати за допомогою json запитів. Який формат повинен мати json можна прочитати тут. А тут ви знайдете ще один варіант коду, вже з деякими віджетами і термостатом. Єдине, вам необхідно буде замінити ID пристроїв на ваші.
Для прикладу роботи віджетів-сцен я додав код, який вимикатиме мелодії на вбудованому в NSPanel бузері (п’єзодинамік). Ви можете додавати і завантажувати будь які власні сцени з HomeAssistant.
Відразу після офіційного виходу компоненти NSPanel для esphome я планую актуалізувати статтю, слідкуйте за оновленнями. Крім того, існує спосіб повністю поміняти інтерфейс на дисплеї і повністю відмовитись від NSPanel Protocol, адже на борту вимикача Nextion Display і ESP32, але то вже тема для іншої статті.