вівторок, 13 березня 2018 р.

MyHomeIoT: Прошивка для Sonoff та ESP8266 з підтримкою Blynk


Опис прошивки не повний, поступово буду додавати інформацію, вона дуже об'ємна. Прошивка повноцінна можна користуватись. Зворотній зв'язок вітається. 

update 30.12.2019 - додав прошивку 1.1.7.8
update 01.10.2019 - додав прошивку 1.1.7.3
update 07.11.2018 - додав прошивку 1.1.6 + оновив інформацію щодо оновлення.
update 09.10.2018 - додав прошивку 1.1.5
update 26.09.2018 - додав прошивку 1.1.4 + оновив інформацію щодо оновлення.
update 14.07.2018 - додав прошивку 1.1.3
update 02.06.2018 - додав прошивку 1.1.1
update 23.04.2018 - додав розділ "Як скинути налаштування" пристрою в початковий стан. Оновив інформацію в розділі "Як налаштувати" - для користувачів локальних blynk серверів тепер порт за замовчуванням: 8080.
update 13.04.2018 - додав прошивку 1.1.0 оновив схему датчиків які підключаються до GPIO14. Деякі правки в тексті щоб відповідало поточному стану.
update 05.04.2018 - додав прошивку 1.0.9 та схему підключення світлодіодної стрічки для саморобних пристроїв
update 30.03.2018 - додав прошивку 1.0.8
update 29.03.2018 - додав розділ "Меню налаштувань Widget TABLE", опис Widget TERMINAL
update 28.03.2018 - додав прошивку 1.0.7 і схеми підключення периферії до GPIO14
update 15.03.2018 - додав схему для саморобок.
update 14.03.2018 - додав розділи "Планувальник і годинник реального часу", "Оновлення по Web OTA", "Віртуальні шпильки".


Прошивка 1.1.7.8

  • Додав час і дату до повідомлень про reconnect в термінал blynk і в serial terminal;
  • Коли GPIO14 в режимі PIR або SECURITY, то при першому підключені до blynk, або при перепідключені до серверу blynk - відправляється на сервер стан піну GPIO14;
  • І найголовініше!!! Кардинально перероблено логіку конекту і реконекту до мережі WiFi та серверу Blynk. Тепер пристрій в будь якому разі відновить з'єднання при наявності WiFi і мережі інтернет. Пристрій на який перший раз встановили прошивку MyHomeIoT при першому ввімкненні живлення, автоматично входить в режим точки доступу з ім'ям мережі "MyHomeIoT-Sonoff" або "Sonoff Basic, TH, T1". Під'єднавшись до цієї мережі перейдіть з бравзера за  адресою 192.168.4.1 та потрапите на сторінку початкового налаштування (так було і раніше). Далі відмінності. Якщо після перебоїв з електрикою подали живлення на пристрій і на роутер WiFi одночасно, то пристрій протягом 1 хвилини намагається з'єднатись з роутером (як правило, за 1 хвилину будь який роутер "підіймає" WiFi мережу). У разі з'єднання пристрій працює в штатному режимі з мережею. У разі невдалого з'єднання, пристрій працює в штатному режимі без мережі. Кожні 2 хвилини намагається відновити з'єднання з WiFi та сервером Blynk. При відновлені мережі WiFi та доступу до серверу blynk з'єднання відновиться автоматично. Щоб скинути налаштування і увійти в режим початкових налаштувань можна, як і раніше, тримати натиснутою кнопку GPIO0 більш ніж 10 секунд. Або в терміналі blynk надіслати на пристрій команду "reset". Після цього пристрій "обнулиться", перезавантажиться, і створить власну мережу WiFi на 180 секунд, під'єднавшись до якої можна зайти з браузера за адресою 192.168.4.1 щоб потрапити на сторінку початкових налаштувань пристрою. 

Прошивка 1.1.7.3

  • Додав пітримку Sonoff T1 в прошивці тільки для Sonoff. Віртуальні шпильки для керування сенсорними кнопками  Sonoff T1 з додатку Blynk - V20, V34, V35;
  • Додав можливість при надсиланні даних через Webhook регулювати частоту надсилання. Зараз є: disable, 1 minute, 5 minute, 10 minute, 20 minute, 30 minute. Цей параметр можна налаштувати в таблиці налаштувань на V66.

Прошивка 1.1.6

  • Оновив інформацію щодо віртуальних шпильок по команді "pins" в терміналі на V41
  • Додав WebHook для сенсору HDC1080 на V74
  • Для керування RGB LED Strip, додав підтримку 16 канального 12 бітного розширювача широтно-імпульсної модуляції на PCA9685, керування каналами по I2C шині. Тепер у вас є можливість з ESP8266, WeMos, NodeMCU, а також пристроїв Sonoff Basic (TH), керувати 16-ма незалежними каналами, яким можна задавати значення від 0 до 4095, щоб задати як інтенсивність свічення, так і колір свічення RGB світлодіодної стрічки. Схема підключення PCA9685 типова. Адреса PCA9685 на шині I2C має бути 0x50. Можна використовувати готові модулі на PCA9685, які можна купити будь де, наприклад тут, або тут. Виходи каналів підключати до світлодіодних стрічок через MOSFET ключ. Встановлення рівня на каналах PWM 0-15 прив'язані до таких шпильок: V100 - V115. Увімкнути/вимкнути світлодіодні стрічки, кнопка на V33. Два планувальника для кнопки на V33 прив'язані до таких шпильок: V64, V65

Прошивка 1.1.5

Важливо!!! Після оновлення прошивки, налаштування в таблиці-меню, що на V66 скинуться на значення за замовчуванням. Перепрошую за незручності.
  • Виправив помилку при виборі типу сенсора DHT. Було: при обрані будь якого типу сенсору DHT - оброблявся сенсор DHT22. Зараз: перевірено на DHT22, DHT11 - показники коректні.
  • Додано обробку ADC на A0. За замовчуванням вимкнено. В таблиці-меню, що на V66, можна обрати: отримувати, або значення у вольтах, або значення ADC від 0 до 1024. За замовчуванням на A0 очікується максимальна напруга 3.3 вольта. Це значення можна змінити через команду в терміналі що на V41. Наприклад, максимальна напруга яку ви будете міряти становить 5.5 вольт. В терміналі вводити таку команду: "maxvoltage=5.5". Замість символу "=" можна вводити як "пробіл", так і "-". Це потрібно для коректного обрахунку виміряної напруги у вольтах. Данні з A0 очікуються на V81. Увага!!! Напряму на A0 чипу ESP8266 можна подавати максимальну напругу - 1 вольт!!! Щоб міряти більшу напругу потрібно вимірювану напругу подавати через резистивний дільник. Наприклад, такі плати, як NodeMCU чи Wemos mini вже мають такий дільник. І на A0 вже можна подавати максимальну напругу 3.3 вольта. Значення резисторів для дільника наруги можна вирахувати по формулі чи скористатись онлайн калькулятором (google.com у допомогу).
  • Додано підтримку високоточного (14 розрядного) сенсору температури і вологості HDC1080. Значення температури і вологості виводяться, як на дисплей SSD1306, при його наявності, так і на віртуальні шпильки Blynk - V16, V17.

Прошивка 1.1.4

  • Оновлено бібліотеку Blynk до 0.5.4
  • Додав команду до терміналу "name" - повертає ім'я пристрою, яке ви задали при початковому налаштуванні
  • Додано підтримку плати "Water Level". Чотири рівня води (пустий, 1/4, 1/2, 3/4, повний), впускний і випускний клапан, світлодіодна індикація режимів роботи і помилки сенсору. Захист від переливу води. Керування по шині I2C, адреса пристрою на шині 0x21. Кнопка встановлення, наперед заданого, рівня води - V31. Має два тижневих планувальника - V62, V63. Індикатор рівня води - V15. Сегментний перемикач встановлення потрібного рівня води  - V32
  • Виправив індикацію втрати зв'язку з сервером Blynk і трішки змінив функцію реконекту до мережі WiFi та серверу Blynk

Прошивка 1.1.3

  • Оновлено ядро для ESP8266 до версії 2.4.1
  • Оновлена бібліотека Blynk до версії 0.5.3
  • Виправлена та покращена робота з платою Expander 4x4
  • Зроблена деяка оптимізація RAM і ROM, та усунення незначних помилок
  • Тепер події в термінал і серіал порт пишуться з часом і датою

Прошивка 1.1.1

  • Змінено поведінку світлодіода, що на GPIO13 в режимі "Security". Тепер світлодіод світиться коли порушено охорону (контакт на GPIO14 розімкнуто) і світлодіод вимкнено коли об'єкт під охороною (контакт на GPIO14 замкнуто). Додано повідомлення про зміну стану охорони в віджет термінал V41 (дата, час, стан)
  • Тепер для всіх підтримуваних датчиків доступний WebHook. За замовчуванням WebHook вимкнено. Увімкнути можна в таблиці-меню, що на V66. Докладно дивись в розділі "WebHook"
  • В додачу до DHT22 (AM2302, AM2321) додано підтримку датчиків DHT11, DHT21 (АМ2301). За замовчуванням очікується DHT22, інші типи DHT можна обрати в таблиці-меню, що на V66.
  • І головне оновлення це підтримка плати розширення 4x4 - "Expander I/O 4x4" (чотири реле + чотири кнопки). Керування по шині I2C з адресою пристрою на шині 0x20. Реле "прив'язані" до таких віртуальних шпильок як: V21, V22, V23, V24. До кожного додаткового реле є один тижневий планувальник. Схеми, опис, за ланкою - "Expander I/O 4x4"
Важливо!!! Після оновлення налаштування, в таблиці-налаштувань, що на V66, скинуться на значення за замовчуванням. Потрібно знову налаштувати за вашими вподобаннями чи потребами. Вибачте за незручності, але структура даних для налаштувань змінилась потрібен перезапис даних налаштувань.

Прошивка 1.1.0

  • Додав режим PIR на GPIO14 (детально в "Меню налаштувань пристрою Widget TABLE")
  • Покращив роботу сенсору BME280, та BMP180
  • Додав нову команду до віджету терміналу "altitude". Актуально для пристроїв з сенсором BMP180 і BME280. В рядку для вводу набрати слово "altitude" (без лапок) потім пробіл,  або тире, або дорівнює, а вже потім висоту в метрах цілим числом над рівнем моря де встановлено пристрій. Нове значення висоти запам'ятається в EEPROM пристрою. За замовчуванням "altitude=0"
  • По дрібничкам. Щось оптимізував, щось виправив, щось додав, щось прибрав

Прошивка 1.0.9

  • Додав до меню режим роботи GPIO12, де знаходиться на Sonoff реле. Тепер на GPIO12 може бути як реле, так і світлодіодна стрічка під'єднана через MOSFET транзисторний ключ. Та керувати світлодіодною стрічкою не тільки увімкнути/вимкнути, а й регулювати яскравість стрічки за допомоги віджета SLIDER якому призначити віртуальну шпильку V20. Скоріше, це оновлення для саморобок, так як під'єднати до Sonoff світлодіодну стрічку, у цьому разі, вимагатиме значних переробок самого Sonoff, та необхідно забезпечити окреме живлення світлодіодної стрічки. Схема додається в розділі нижче.
  • Спростив режим "Security". Тепер, якщо обрано режим охорони і до GPIO14 під'єднано контакти охоронного сенсора, то працює це так: коли контакти замкнути - на сервер відсилається на віртуальну шпильку V19 значення 255, а коли розімкнути, на сервер на шпильку V19 відсилається значення 0. На V19 в додатку Blynk App можна навішати віджет LED. А необхідні події про надсилання повідомлень, електронних листів, спрацювань реле вже робите по бажанню, самі, через віджет EVENTOR в додатку Blynk App.
  • Важливо! Після оновлення обов'язково перевірте налаштування в меню, що в таблиці на шпильці V66. Скоріше за все деякі налаштування "злетять".

Прошивка 1.0.8

  • Додав підтримку до 5 сенсорів DS18B20 на GPIO14
  • Виправив помилку пов'язану віджетом TIME_INPUT. Було: як обрати тільки час для Start, а час для Stop не обирати, то подія Stop все одно опівночі відбудеться. Або навпаки коли обрати час для Stop, а час для Start не обирати, то подія Start все одно опівночі відбудеться. Виправлено!
  • Віджет MENU V60 - вже не обробляється
  • LCD  V40 - дані не надсилаються
  • Дрібні правки в коді

Прошивка 1.0.7

  • Додав меню налаштувань до віджету "Table". Подробиці в розділі "Меню налаштувань Widget TABLE".
  • Зміни в командах до віджету "Terminal". Тепер команда "reset" - скидання налаштувань в початковий стан (SSID, PASS і AUTH потрібно вводити заново). А команда "reboot" - це просто перезавантаження пристрою.
  • Тепер на "GPIO14" можна під'єднати не тільки сенсори DS18B20 або DHT22, а і додаткову кнопку, яка дублює увімкнути/вимкнути реле. В додачу, можна в налаштуваннях GPIO14 виставити режим "Security". Додавши віджет світлодіоду (Widget LED) на віртуальну шпильку V19 можна відстежування стану охоронного датчика, що на GPIO14. Віджет світлодіоду увімкнено, як об'єкт під охороною (замкнуті контакти), віджет світлодіоду вимкнено, як об'єкт знято з охорони (розімкнуті контакти).
  • Важливо!!! В наступних прошивках не буде підтримки MENU V60 - режим поведінки реле на GPIO12 при подачі живлення на пристрій. Зараз працює і на MENU V60 і на TABLE V66 (пріоритет MENU V60, якщо встановлено обоє віджети). Також не будуть надсилатися дані до віджету LCD V40. 

Опис функціоналу

Особливості

  • Автоматичнє визначення підтримуваної периферії при увімкнені пристрою
  • Підтримка WEB OTA (оновлень по повітрю)
  • Робота з Blynk сервером
  • Автоматичне перепідключення при втраті з'єднання
  • В разі відсутності WiFi - автономно на рівні пристрою функціонал зберігається
  • З версії 1.1.1 і вище підтримка розширювача портів 4x4 "Expander I/O 4x4" для керування додатковими чотирма реле, як з додатку Blynk App так і з кнопок на платі
  • З версії 1.1.4 і вище підтримує плату "Water Level" для контролю і встановлення рівня води в ємності, як з додатку Blynk App так і з кнопки на платі

Реле GPIO12

  • Увімкнути/вимкнути реле як з кнопки, так і з додатку на смартфоні Blynk App
  • Сім планувальників на тиждень увімкнути/вимкнути реле
  • Зворотній зв'язок. Якщо натиснути кнопку на пристрої, або спрацює планувальник, то стан реле коректно відобразиться в додатку на вашому смартфоні. Ви завжди будете знати увімкнене, чи вимкнене реле на цей час
  • Три режими реле при увімкнені пристрою On/Off/Keep (увімкнуте, вимкнуте, як було)

Світлодіод GPIO13

  • Блимання світлодіоду 5 разів на 1 секунду - пристрій в режимі налаштування
  • Блимання світлодіоду 2 рази на 1 секунду - триває під'єднання до точки WiFi
  • Блимання світлодіоду 1 раз на 2 секунди - втрачено зв'язок з сервером Blynk
  • Світлодіод не світиться - все в порядку

OLED дисплей I2C 0x3C

На дисплей виводиться, раз на 2 секунди по черзі, така інформація:
  • Поточний час (потрібно додати в проект віджет RTC)
  • Стан реле (On/Off)
  • Рівень сигналу WiFi у відсотках
  • Рівень освітленості (при наявності сенсору)
  • Температура (при наявності сенсору)
  • Вологість (при наявності сенсору)
  • Тиск (при наявності сенсору)
Дисплей можна вимикати і вмикати за розкладом, або кнопкою з додатку Blynk App.

Як прошити

Для заливки прошивки підійде будь який прошивач для ESP8266:
Скріншоти до програми nodeMCU:


Чи будь який інший, це не принципово. Головне щоб в налаштуваннях прошивача було вірно обрано номер порту куди під'єднано пристрій, швидкість порту 115200, вірно обраний розмір флеш-пам'яті, і початок прошивки має починатись з адреси 0x00000.
Для Sonoff та ESP8266 потрібен ще USB2UART конвертер, наприклад такий:
Для плат типу NodeMCU не потрібно. Зазвичай мають на платі такий конвертер і під'єднуються до ПК звичайним usb шнурком.
Після прошивання, як правило, потрібно пересмикнути живлення. Не кнопкою ресет, а повністю зняти живлення, та знову подати на пристрій.

Доопрацювання Sonoff

  • Пристрої Sonoff мають місце під гребінку для прошивання, як показано на світлині. Потрібно впаяти туди підходящу гребінку на 5 шпильок для під'єднання USB2UART конвертора (прошивача).
  • В стоковій комплектації Sonoff на борту має memory flash розміром 8Мбіт (1Мбайт). І поки цього достатньо навіть для оновлень по OTA. Але як маєте навички паяти, то краще перепаяти стокову флешку, на флешку більшого об'єму 32Мбіт (4Мбайт). Щоб при подальшому розвитку прошивки ви могли зберегти можливість оновлюватись за технологією OTA. Плюс цієї модифікації ще в тому, що ви зберігаєте стокову прошивку на випаяній мікросхемі, і в разі, як вам захочеться повернутись до eWelink, ви просто впаюєте мікросхему пам'яті назад і все. Так, як стокова прошивка має захист і підходить виключно під ваш конкретний пристрій, то спосіб з заливкою дампу прошивки від іншого пристрою, більш за все, не оживить ваш пристрій.
У всякому разі, впаювання 5-ти шпилькової гребінки для вдалого прошивання, достатньо.
Місце для впаювання гребінки і призначення виводів гребінки

SONOFF J1
WIRE
USB TO SERIAL
1 : VCC-3V3
Orange
3V3
2 : E-RX
Green
TXD
3 : E-TX
Yellow
RXD
4 : GND
Black
GND
5 : GPIO14
Not Connected
Not Connected

Підтримувана периферія на GPIO14

Сенсори DS18B20 і DHT22 на GPIO14

Наявність сенсорів DS18B20 та DHT22 визначається автоматично, коли обрано режим GPIO14 - sensors (за замовчуванням) в меню-таблиця на V66 . Необхідно обов'язково між GPIO14 та +3.3В впаяти резистор на 4.7КОм.

Резистор R1 на 4.7КОм можна впаяти на саму плату Sonoff (ESP8266, NodeMCU) між GPIO14 та живленням +3.3V. А сенсори вже під'єднувати до шпильок роз'єму. Або можна підпаювати резистор на сам сенсор. Та скоріше за все, сенсор DHT22, вже має цей резистор-підтяжку в своєму корпусі і має працювати і так, без додаткового резистора. Спробуйте спочатку без резистора, як не працює, додайте резистор як показоно в схемі.

Додаткова кнопка, сенсор руху і охоронний датчик

Схема підключення сенсорної кнопки, сенсора руху та охоронного датчика

Для додаткової кнопки і охоронного сенсору потрібно впаяти резистор між GPIO14 та GND будь якого номіналу між 3.3КОм та 10КОм.

Підтримувана периферія на шині I2C

Шина I2C для SONOFF - SDA -> GPIO1 (TX), SCL -> GPIO3 (RX)
Шина I2C для ESP8266 & NodeMCU - SDA -> GPIO4, SCL -> GPIO5
  • OLED дисплей SSD1306, адреса на шині 0x3C
  • сенсор рівня освітлення TSL2561, адреса на шині 0x39
  • сенсор температури і атмосферного тиску BMP180, адреса на шині 0x77
  • сенсор температури, вологості і атмосферного тиску BME280, адреса на шині 0x76
  • плата розширення портів 4x4 "Expander I/O 4x4", адреса на шині 0x20
  • плата контролю та встановлення рівня води в ємності "Water Level", адреса на шині 0x21
  • сенсор температури і вологості HDC1080, адреса на шині 0x40
  • плата розширення сигналів широтно-імпульсної модуляції PWM 16 каналів 12 біт на PCA9685, адреса на шині 0x50
Наявність периферії визначається автоматично. Необхідно обов'язково між SDA, SCL та +3.3В впаяти по резистору на 10КОм.

Як початково налаштувати

При першому увімкнені, або коли змінились налаштування WiFi роутера, пристрій входить в режим налаштувань і створює свою WiFi точку без паролю з ім'ям "MyHomeIoT-Sonoff", або "MyHomeIoT-ESP8266" в залежності від обраної прошивки. Під'єднайтесь до цієї точки і увійдіть через браузер за адресою "192.168.4.1". Відкриється меню налаштувань.
Початкова сторінка налаштувань

Обрати "Configure WiFi", ввести SSID, PASS вашої WiFi мережі. Назначити унікальне ім'я вашому пристрою. Наприклад: "lustre", "lamp-baby-room", "heater-bad-room", "socked-conditioner", тощо. Та ввести AUTH пристрою в системі Blynk (AUTH надається при додаванні пристрою в проект, дивись у розділі "Як користуватись"). Натиснути "зберегти". Пристрій запам'ятає налаштування до флеш-пам'яті, перезавантажиться, підключиться до вашої WiFi мережі і почне працювати.
До уваги користувачів локальних Blynk-server, в налаштуваннях пристрою зазначте порт 8080. Ось ланка на джерело.

Як скинути налаштування

Налаштування пристрою зберігаються окремо від самої прошивки, тому просте перепрошивання чи оновлення прошивки не зачепить самих налаштувань і вони збережуться. Тому, щоб скинути налаштування у початковий стан, є декілька способів:
  • Потримайте натиснутою кнопку на пристрої, що на GPIO0, 5-10 секунд і відпустіть її, це призведе до скидання налаштувань у початковий стан, перезавантаження пристрою, створення точки доступу і вхід пристрою в режим налаштувань. На Sonoff це єдина кнопка, а на NodeMCU і подібних пристроях вона теж на GPIO0 і називається "flash".
  • В віджеті терміналу на смартфоні (Blynk App) введіть команду "reset" - маленькими літерами без лапок. Пристрій так само скине налаштування в початковий стан, перезавантажиться і створить точку доступу. Можна підключитись до цієї ТД і знову ввести потрібні налаштування.

Як користуватись

Перш за все потрібно мати на смартфоні додаток Blynk. Є як для Android, так і для iOS. Встановіть його і запустіть на своєму смартфоні. Зареєструйтесь і створіть новий проект, дайте йому ім'я та оберіть пристрій:

Отримаєте на пошту повідомлення з AUTH для вашого пристрою.

Кнопка керування реле

Додайте в свій проект віджет кнопки, зайдіть в налаштування кнопки і дайте їй ім'я "Relay", оберіть колір на свій розсуд, оберіть віртуальну шпильку "V20", режим кнопки "SWITCH", як на малюнку:
Запустіть проект. Спробуйте понатискати кнопку на смартфоні - реле вмикається і вимикається. Понатискайте кнопкуGPIO0 на пристрої - реле вмикається і вимикається і стан реле видно у вашому смартфоні.

Планувальник і годинник реального часу

Увімкнення і вимкнення реле можна запланувати. Для цього є аж сім планувальників на тиждень. Це віджет "TIME INPUT". Для правильної роботи планувальника потрібен віджет "RTC".  Додайте його до свого проекту. Тепер можна додати до проекту віджет "TIME INPUT".
Планувальникам відповідають такі віртуальні шпильки:
  1. Time Input 0 - V50 - реле на GPIO12
  2. Time Input 1 - V51 - реле на GPIO12
  3. Time Input 2 - V52 - реле на GPIO12
  4. Time Input 3 - V53 - реле на GPIO12
  5. Time Input 4 - V54 - реле на GPIO12
  6. Time Input 5 - V55 - реле на GPIO12
  7. Time Input 6 - V56 - реле на GPIO12
  8. Time Input 7 - V57 - реле на GPIO12
  9. Time Input 8 - V58 - реле 1 розширювача 4х4
  10. Time Input 9 - V59 - реле 2 розширювача 4х4
  11. Time Input 10 - V60 - реле 3 розширювача 4х4
  12. Time Input 11 - V61 - реле 4 розширювача 4х4
  13. Time Input 12 - V62 - встановлення рівня води
  14. Time Input 13 - V63 - встановлення рівня води
  15. Time Input 14 - V64 - RGB Led стрічка
  16. Time Input 15 - V65 - RGB Led стрічка

Меню налаштувань пристрою Widget TABLE

Щоб отримати доступ до меню налаштувань свого пристрою. Зупиніть проект. Додайте в проект віджет "Table". В налаштуваннях віджету назначте віртуальну шпильку V66"ALLOW REORDERING - NO""CLICKABLE ROWS - YES". Запустіть проект та перезавантажте пристрій утриманням кнопки протягом 3 - 4 секунд, або в терміналі введіть команду "reboot". 

Після перезавантаження пристрою віджет таблиця заповниться пунктами меню.з початковими налаштуваннями:
  • Display flip (з'являється як під'єднано дисплей)
  1. Disabled - зображення за замовчуванням.
  2. Enabled - зображення перевертається по горизонталі. Потрібне перезавантаження пристрою.
  • Web OTA
  1. Enabled (за замовчуванням) - режим Web OTA увімкнено і за адресою http://ip_device/update доступна сторінка для оновлення прошивки. 
  2. Disabled - вимикає цю функцію. Корисно вимикати цю функцію, щоб розвантажити мікроконтролер, як немає потреби в оновленні прошивки. А вмикати вже перед оновленням прошивки. Потрібне перезавантаження пристрою.
  • Notifications - enable
  1. Enable (за замовчуванням) - на смартфон відправляються сповіщення з пристрою
  2. Disable - сповіщення вимкнуто
  • WebHook - disable
  1. disable (за замовчуванням) - дані до віджету WebHook не надсилаються
  2. 1 minutes - надсилаються дані з сенсорів до віджету WebHook з періодичністю в 1 хвилину
  3. 5 minutes - надсилаються дані з сенсорів до віджету WebHook з періодичністю в 5 хвилин
  4. 10 minutes - надсилаються дані з сенсорів до віджету WebHook з періодичністю в 10 хвилин
  5. 20 minutes - надсилаються дані з сенсорів до віджету WebHook з періодичністю в 20 хвилин
  6. 30 minutes - надсилаються дані з сенсорів до віджету WebHook з періодичністю в 30 хвилин
  • Power - OFF
  1. OFF (за замовчуванням) - коли на пристрій подати живлення, то реле буде вимкеним.
  2. ON - коли на пристрій подати живлення, то реле увімкнеться.
  3. KEEP - коли на пристрій подати живлення, то реле прийме стан, в якому знаходилось до відключення живлення (сінхронізується з додатком на смартфоні).
  • GPIO14 - Sensors (за замовчуванням). 
  1. Sensors - при подачі живлення пристрій шукає на GPIO14 цифрові сенсори DS18B20, DHT22 і при наявності сенсорів збирає дані з них і відправляє їх на сервер Blynk.
  2. Button - додаткова кнопка яка дублює системну кнопку що на GPIO0. Наприклад, підключити таку сенсорну кнопку і вивести її окремо від пристрою, або вмонтувати в середину корпусу і легким дотиком вмикати чи вимикати реле. Або ж підключити звичайну кнопку дзвінкового типу і вивести її в зручне місце. Ця кнопка тільки вмикає і вимикає реле. Щоб кнопкою перезавантажити пристрій чи скинути налаштування користуйтесь системною кнопкою що на GPIO0. 
  3. PIR - це режим сенсору руху. До GPIO14 можна під'єднати такий сенсор і на V19 "відловлювати" стан "0" або "1". А вже через віджет "Eventor" створити події які будуть відбуватись при зміні стану. Наприклад створити подію в "Eventor": якщо на V19 - "0", то шлемо до V20 - "0", якщо на V19 - "1", то шлемо до V20 - "1". То отримуємо таку логіку роботи. Коли повз датчику руху проходить людина, то датчик встановлює стійку логічну "1" на GPIO14, спрацьовує подія і  надсилається "1" до V20, де в нас "прикріплене" реле, а реле вмикає, наприклад, світло. Коли вийшов час, заданий в налаштуваннях PIR sensor, датчик руху встановлює стійкий "0" на GPIO14, а "eventor" надсилає до V20 - "0" і реле вимикається, контактами розриває ланцюг живлення світла. Світло вимкнулось. Або замість V20 в "подіях" встановити в V30 і тоді коли до пристрою підійде людина увімкнеться дисплей, а коли людина відійде, то через деякий час (задається налаштуваннями самого PIR sensor) дисплей вимкнеться. Цей режим аналогічний режиму Security, з різницею, що на V19 в режимі PIR надсилається 0 або 1 та не змінює свій стан світлодіод, який на пристрої, а в режимі Security надсилається 0 або 255, та змінюється стан світлодіода на пристрої (увімкнутий - коли під охороною, вимкнутий - коли охорону порушено) . 
  4. Security - це режим охоронної кнопки (геркон, кінцевик, контакти, тощо).  До GPIO14 під'єднати, наприклад, датчик типу геркон (що комутується магнітом) і на V19 "відловлювати" стан "0" або "255". Наприклад, на V19 в додатку Blynk App можна навішати віджет "LED". І наочно бачити стан охорони. Також за допомоги віджету "Eventor" створити події які будуть відбуватись при зміні стану охорони. Наприклад створити подію в "Eventor": якщо на V19 - "0", то шлемо сповіщення "Notification" з повідомленням "Security - OFF", якщо на V19 - "1", то шлемо сповіщення "Notification" з повідомленням "Security - ON". То отримуємо таку логіку роботи. Коли, наприклад, відкриваються двері і геркон розмикає контакти, то датчик встановлює стійкий логічний "0" на GPIO14, спрацьовує подія і  надсилається сповіщення "Security - OFF" на ваш смартфон. Коли закрити двері, в герконі замкнуться контакти і на GPIO14 отримуємо стійку "1", а "eventor" надсилає до сповіщення "Security - ON". Так ви зможете контролювати стан дверей, вікон, тощо. Цей режим аналогічний режиму PIR, з різницею, що на V19 в режимі PIR надсилається 0 або 1 та не змінює свій стан світлодіод, який на пристрої, а в режимі Security надсилається 0 або 255, та змінюється стан світлодіода на пристрої (увімкнутий - коли під охороною, вимкнутий - коли охорону порушено).
  5. Nothing - до шпильки GPIO14 нічого не під'єднано. Корисний режим для люстри чи іншого освітлювального пристрою. Швидке увімкнення світла при подачі живлення на пристрій (не скануються сенсори на GPIO14).
  • DHT Type - DHT22 (з'являється цей пункт при наявності датчику DHT на GPIO14)
  1. DHT22 (за замовчуванням) - тип датчику DHT 22, AM2302,  AM2321
  2. DHT11 - тип датчику DHT11
  3. DHT21 - тип датчику DHT 21, AM2301
  • Outlet pump (з'являється цей пункт коли під'єднано плату "Water Level" до шини I2C)
  1. Disable (за замовчуванням) - випускний клапан не встановлено
  2. Enable - випускний клапан встановлено
  • ADC (вимірювання напруги на A0)
  1. Off (за замовчуванням) - вимірювання не відбувається і на сервер нічого не надсилається
  2. Voltage - виміряні значення будуть надсилатись у вольтах
  3. Value - виміряні значення (0 - 1024) будуть надсилатись без перетворень
  • Setting - unchanged за замовчуванням unchanged і цей рядок не підсвічується.
  1. Settings save - Apply. Коли ви робите зміни в налаштуваннях з'явиться цей пункт меню. За допомоги цього пункту можна зберегти налаштування до EEPROM пристрою.  
  2. Device reboot - Apply. Якщо буде потрібне перезавантаження пристрою, то з'явиться цей пункт меню. Натиснувши ще раз, ваш пристрій перезавантажиться з новими налаштуваннями.

Віджет Terminal

Зупиніть проект. Додайте до проекту Widget TERMINAL, та встановіть такі налаштування:
  • INPUT - V41
  • INPUT LINE - ON
  • AUTOSCROLL - ON

Тепер в вікні терміналу ви зможете бачити інформацію, що надсилає ваш пристрій, для вас. А також вводити команди в термінал (команди вводяться маленькими літерами):
  • ip - повертає IP адресу вашого пристрою в мережі
  • mac - повертає mac адресу вашого пристрою
  • version - повертає версію прошивки
  • name - повертає ім'я пристрою
  • reset - скидає налаштування пристрою до початкового стану
  • reboot - перезавантажує пристрій
  • pins - пам'ятка по віртуальним шпилькам
  • altitude - (за замовчуванням 0 (нуль)) команда вводу висоти над рівнем моря, де буде встановлений пристрій, це актуально для датчиків BMP180 та BME280, для корекції показників тиску. Приклади вводу команди: "altitude 42", "altitude-56", "altitude=83". Де "altitude" команда, а числа роз'єднані символами пробіл, тире і дорівнює - висота в метрах над рівнем моря де встановлено пристрій. Цю висоту над рівнем моря можна взнати, наприклад по гугломапам.
  • maxvoltage - (за замовчуванням 3.3 вольта) команда вводу максимальної напруги яку вимірюємо на "дільнику напруги" A0.

Оновлення по WEB OTA

Оновлення прошивки зручно робити за технологією WEB OTA. Пристрій, який вже працює в електричній схемі, не потрібно демонтувати, розбирати і знову підключати до ПК, щоб залити нову прошивку. Достатньо зайти за адресою: http://host.local/update , де host це унікальне ім'я пристрою, яке ви надали пристрою в початкових налаштуваннях. Майте на увазі, що домен local підтримують не всі роутери, тому, скоріш за все потрібно набрати в браузері http://device_ip/update , де device_ip - це ip вашого пристрою в вашій локальній мережі. Взнати його можна, як засобами вашого роутера, так і засобами якогось програмного IP сканера, або ж додавши до свого проекту віджет terminal який має бути на віртуальній шпильці V41, та ввести команду "ip". В вікні терміналу надрукується поточний IP вашого пристрою.
Коли завантажиться сторінка оновлення прошивки, оберіть через файловий діалог файл прошивки, та натисніть кнопку "update". Через декілька секунд прошивка оновиться і пристрій перезавантажиться. Пристрій буде "пам'ятати" ваш SSID, PASS, AUTH, та ім'я пристрою і в повторному налаштуванні немає потреби. Пристрій після оновлення і перезавантаження під'єднається до мережі, з'єднається з Blynk сервером і почне працювати.

Віртуальні шпильки

Сенсор DS18B20

  • Температура DS18B20_0 V0 - працює
  • Температура DS18B20_1 V1 - працює
  • Температура DS18B20_2 V2 - працює
  • Температура DS18B20_3 V3 - працює
  • Температура DS18B20_4 V4 - працює

Сенсор DHT22

  • Температура DHT22 V5 - працює
  • Вологість DHT22 V6 - працює

Сенсор TSL2561

  • Люкси TSL2561 V7 - працює

Сенсор BMP180

  • Температура BMP180 V8 - працює
  • Тиск BMP180 V9 - працює
  • Висота над рівнем моря BMP180 V10 - працює

Сенсор BME280

  • Температура BME280 V11 - працює
  • Вологість BME280 V12 - працює
  • Тиск BME280 V13 - працює
  • Висота над рівнем моря BME280 V14 - працює 

Сенсор HDC1080

  • Температура HDC1080 V16 - працює
  • Вологість HDC1080 V17 - працює

Рівень WiFi сигналу у відсотках

  • Рівень WiFi сигналу у відсотках V80 - працює (при відсутності WiFi сигналу показує > 200%)

Рівень напруги на A0

  • Рівень напруги або значення ADC на A0 V81 - працює

Реле

  • Кнопка на V20 (керує основним реле, що на платі GPIO12) - працює
  • Кнопка на V21 (керує додатковим реле 1 що на платі Expander I/O 4x4) - працює
  • Кнопка на V22 (керує додатковим реле 2 що на платі Expander I/O 4x4) - працює
  • Кнопка на V23 (керує додатковим реле 3 що на платі Expander I/O 4x4) - працює
  • Кнопка на V24 (керує додатковим реле 4 що на платі Expander I/O 4x4) - працює
  • Кнопка на V25 - зарезервовано, в розробці
  • Кнопка на V26 - зарезервовано, в розробці
  • Кнопка на V27 - зарезервовано, в розробці
  • Кнопка на V28 - зарезервовано, в розробці
  • Кнопка на V29 - зарезервовано, в розробці

Дисплей

  • Кнопка на V30 - Вмикає і вимикає дисплей SSD1306

Рівень води

  • Кнопка на V31 (Widget Button) - Ініціює встановлення потрібного рівня води
  • Тижневі планувальники встановлення рівня води на V62, V63 (Widget Time Input) 
  • Сегментний перемикач встановлення потрібного рівня води наV32 (Widget Segmented Switch)
  • Індикатор рівня води на V15 (Widget Level H)

Плата розширювача на PCA9685

  • zeRGBa або Slider V100 - V115 - встановлення рівня на каналах PWM 0-15
  • Кнопка на V33 - вмикає або вимикає RGB стрічку
  • Два тижневі планувальники на V64 і V65

Віджети

  • LED V19 - стан охоронного сенсору. 0 - вимкнуте (в режимі охорони), 255 - увімкнуто (охорону порушено), стан PIR датчику. 0 - вимкнуте, 1 - увімкнуто (в режимі PIR)
  • TERMINAL V41 - різноманітна інформація та введення команд (корисна річ)
  • TIME_INPUT_0 V50 - планувальник реле на GPIO12
  • TIME_INPUT_1 V51 - планувальник реле на GPIO12
  • TIME_INPUT_2 V52 - планувальник реле на GPIO12
  • TIME_INPUT_3 V53 - планувальник реле на GPIO12
  • TIME_INPUT_4 V54 - планувальник реле на GPIO12
  • TIME_INPUT_5 V55 - планувальник реле на GPIO12
  • TIME_INPUT_6 V56 - планувальник реле на GPIO12
  • TIME_INPUT_7 V57 - планувальник увімкнення і вимкнення дисплею SSD1306
  • TIME_INPUT_8 V58 - планувальник для реле 1 що на платі Expander I/O 4x4
  • TIME_INPUT_9 V59 - планувальник для реле 2 що на платі Expander I/O 4x4
  • TIME_INPUT_10 V60 - планувальник для реле 3 що на платі Expander I/O 4x4
  • TIME_INPUT_11 V61 - планувальник для реле 4 що на платі Expander I/O 4x4
  • TIME_INPUT_12 V62 - планувальник для встановлення рівня води на платі "Water Level"
  • TIME_INPUT_13 V63 - планувальник для встановлення рівня води на платі "Water Level"
  • TIME_INPUT_14 V64 - планувальник для увімкнення/вимкнення LED стрічок
  • TIME_INPUT_15 V65 - планувальник для увімкнення/вимкнення LED стрічок
  • TABLE V66 - налаштування пристрою
  • GPS_TRIGGER_ENTER V70 - не працює. В розробці.
  • GPS_TRIGGER_EXIT V71 - не працює. В розробці.

WebHook

Дані з датчиків можна відправляти не тільки на сервер Blynk, а й на інші служби, наприклад, такі як: ThingSpeak, Народний Моніторинг, тощо.
  • WHOOK_HDC1080 V74 - дані з сенсору HDC1080: температура і вологість
  • WHOOK_DHT V75 - дані з сенсору DHT22: температура і вологість.
  • WHOOK_BMP180 V76 - дані з сенсору BMP180: температура і тиск.
  • WHOOK_BME280 V77 - дані з сенсору BME280: температура, вологість, тиск
  • WHOOK_TSL2561 V78 - дані з сенсору TSL2561: рівень освітлення
  • WHOOK_DS18B20 V79 - дані з сенсорів DS18B20: температура

Приклад WebHook

Налаштування віджету WebHook
  • Назва віджету ThingSpeak DHT22
  • Віртуальна шпилька V75
  • URL запит: "https://api.thingspeak.com/update?api_key=ТУТ_ВАШ_API&field1=/pin[0]/&field2=/pin[1]/
  • Метод GET

Плата Expander I/O 4x4 для Sonoff Basic (TH) та інших пристроїв на базі ESP8266 з прошивкою MyHomeIoT 1.1.1 і вище

Схема, малюнки плат, gerber файли, опис за ланкою: Expander I/O 4x4

Реле прив'язані до таких шпильок: V21, V22, V23, V24

Та кожне реле має по одному планувальнику на таких шпильках: V58, V59, V60, V61

Плата в зборі

    Приклад інтерфейсу для плати розширення

    Плата Water Level

    Схема пристрою "Рівень води" та демо-код за цією ланкою - Water Level
    Кнопка встановлення рівня води прив'язана до - V31 (Widget Button OFF - 0, ON - 1, SWITCH)
    Два планувальника встановлення рівня води на - V62, V63 (Widget Time Input: ALLOW START/STOP INPUT - NO)
    Індикатор рівня води - V15 (Widget Level H 0 - 255, READING RATE - 1-5sec)
    Сегментний перемикач встановлення потрібного рівня води  - V32 (Widget Segmented Switch - 5 sectors: Empty, 1/4, 1/2, 3/4, Full)
    Прототип плати "Рівень води"

    Приклад інтерфейсу для "Рівня води"

    Схема розширювача PWM PCA9685 (16ch 12bit)

    Типова схема підключення PCA9685
    • Встановлення рівня на каналах PWM 0-15 прив'язані до таких шпильок: V100 - V115
    • Увімкнути/вимкнути світлодіодні стрічки, кнопка на V33
    • Два планувальника для кнопки на V33 прив'язані до таких шпильок: V64, V65
    • Адреса на шині I2C: 0x50


    Схема для саморобок на ESP8266 сумісний з Sonoff Basic(TH)

    Схема для саморобок на ESP8266 та NodeMCU
    Клацайте на світлину щоб збільшити. Де HLK-PM1 це такий ізольований від мережі 220V малогабарітний, малопотужний блок живлення. Потрібен 220V to 5V. U1 - стабілізатор напруги на 3.3V AMS1117.

    Схема для саморобок на ESP8266 для підключення світлодіодної стрічки на 12В з регулюванням яскравості

    Схема для саморобок на ESP8266 для роботи з світлодіодною стрічкою
    Клацайте на світлину щоб збільшити. Де U1 - стабілізатор напруги на 3.3V AMS1117. Транзистор Q1 будь який MOSFET n-channel з напругою на повне відкриття VGS(th) не більше 3V.  Наприклад AO3400. Купити пачками можна тут.

    Приклади інтерфейсу


    Відеоприклад проекту "Літній душ"

    На базі Sonoff TH10, Expander 4x4, Water Level, прошивки MyHomeIoT, та Blynk можна створити доволі складну систему "Літній душ":

    Підтримка проекту

    Проект можна підтримати грошовою енергією. Ця енергія додає мені наснаги та сил для творення нових функцій і можливостей цієї прошивки. 

    Енергію надсилати сюди!

    206 коментарів:

    1. Прошив сьогодні вашу прошивку на NodeMcu. Але не можу зрозуміти до якої шпилькі підключити датчик температури DHT 22? В Blynk який вибрати віртуалний пін?

      ВідповістиВидалити
      Відповіді
      1. Вже додав інформацію по віртуальним шпилькам.
        Перепрошую за незручності.Великий об'єм, а часу, як завжди замало.
        Зараз як раз працюю над створенням повної документації.
        Перевіряйте цей допис. Інформація поступово додається.

        Видалити
      2. Безмежно Вам вдячний. Сили Вам та наснаги.

        Видалити
      3. Дякую за підтримку грошовою енергією цього проекту.

        Видалити
      4. Congratulations to the author of this post. I want to propose my problem since I have two basic sonoff and load the firmware of this post but they did not turn on the sonoff LEDs anymore and I do not see between the "MyHomeIoT-Sonoff" wifi networks either. Load them with the NODEMCU FIRMWARE PROGRAMMER software. Could they guide me where I am making an error? Or if someone happened to him the same? Thanks since now

        Видалити
      5. 1. Select and download the firmware that suits you
        2. Flash by firmware Sonoff by any program suitable for ESP8266
        3. Turn off the power to Sonoff at all!!!!!
        4. Turn on the power to Sonoff
        5. The green LED is often blinking
        6. On the smartphone, connect to the MyHomeIoT-Sonoff Wi-Fi network
        7. On the smartphone, launch the browser and enter 192.168.4.1
        8. Get to the initial setup page

        Видалити
      6. Велике спасибі Андрія. Мені вдалося завантажити прошивку на sonoff, і я зміг прочитати датчик температури. Новий запит, який я хочу запитати, і це наступне: Я підключу BME280 до sonoff, але не можу прочитати змінні, чи повинен я повідомляти sonoff на адресу I2C автобуса? Або це визнає це автоматично. Ще раз спасибі

        Видалити
      7. - Сенсор BME280 повинен мати адресу на шині I2C - 0x76
        - Сенсор BME280 під'єднується до Sonoff: +3.3V -> +3.3V, GND -> GND, SDA -> GPIO1 (TX), SCL -> GPIO3 (RX). А між SDA, SCL і +3.3V має бути по резистору 10кОм.
        - Сенсор BME280 визначається автоматично при кожному увімкнені пристрою Sonoff за відгуком на адресі 0x76
        - Дані з сенсору BME280 йдуть на такі віртуальні шпильки: температура V11, вологість V12, тиск V13, висота над рівнем моря V14
        - В терміналі, що на V41 ввести команду (без лапок), наприклад "altitude 24". Де 24 це висота над рівнем моря вашої місцевості. Тоді данні тиску будуть точніші для вашої місцевості.

        Видалити
      8. - The BME280 sensor should have an address on the I2C bus - 0x76
        - The BME280 sensor connects to Sonoff: + 3.3V -> + 3.3V, GND -> GND, SDA -> GPIO1 (TX), SCL -> GPIO3 (RX). And between SDA, SCL and + 3.3V there should be a resistor of 10kΩ.
        - The BME280 sensor is automatically detected every time Sonoff is turned on for feedback at 0x76
        - The data from the BME280 sensor goes to the following virtual pins: temperature V11, humidity V12, pressure V13, altitude above sea level V14
        - In the terminal on the V41, enter the command (without quotes), for example "altitude 24". Where 24 is the altitude above your sea level. Then the pressure data will be more accurate for your area.

        Видалити
    2. А чи можете поділитися кодом прошивки?

      ВідповістиВидалити
    3. А чи можна хоча б отримати частину скетчу для початкового налаштування мережі Wifi і паролю?

      ВідповістиВидалити
    4. Здравствуйте, пытаюсь прошить уже много раз, но не получается зайти на веб интерфейс после того как sonoff подключается к моему роутеру, при заходе на его ip выходит сообщение: "Not found: /"
      Подскажите пожалуйста, что я делаю не так

      ВідповістиВидалити
      Відповіді
      1. Зайти на веб інтерфейс WEB OTA? Додати до IP пристрою "/update" не забули?

        Видалити
      2. Прошивал через usb uart ttl адаптер. Да заходил через WEB интерфейс по ip выданным роутером, про "/update" в статье информации не видел, к сожалению с психу его сломал и выкинул, заказал новый

        Видалити
      3. Я не обновлял прошивку, а прошивал со стоковой на вашу

        Видалити
      4. Цитата з глави "Оновлення по WEB OTA" - "набрати в браузері http://device_ip/update , де device_ip - це ip вашого пристрою в вашій локальній мережі."

        Але це веб інтерфейс тільки для оновлення прошивки по ОТА. Більше ніяких веб інтерфейсів немає. Ця прошивка працює з сервером https://www.blynk.cc/ і додатком для Android чи iOS.

        Видалити
      5. Все вірно, перший раз потрібно таки прошити через USB2UART адаптер. Подальші оновлення можна вже робити по WEB OTA.

        Видалити
      6. Тогда не совсем понял, если нужно будет поменять wifi сеть или же поменять AUTH - ключ, то нужно будет снова прошивать устройство, так как после первой настройки SSID и подключения Sonoff к роутеру, такая возможность пропадает

        Видалити
      7. Ні, не так. Коли міняється налаштування SSID, або PASS WiFi мережі, Sonoff не може підключитись до мережі і входить в режим налаштувань на 3 хвилини (180 секунд): створює AP без паролю і запускає веб сервер за адресою 192.168.4.1. І ви підключаєтесь до WiFi мережі Sonoff'a потрапляєте до сторінки налаштувань де можете змінити SSID PASS мережі, а також AUTH в системі blynk, так само як і при початковому налаштуванні при першому прошиванні пристрою. Якщо ви, за цей час нічого не ввели, то пристрій працює в автономному режимі, без мережі. Щоб примусово скинути налаштування у default треба потримати набортну кнопку Sonoff протягом 5 - 10 секунд. Пристрій скине налаштування і перезавантажиться і перейде у режим початкових налаштувань.

        Видалити
      8. До речі, повторне прошивання чи через USB2UART адаптер, або WEB OTA не скидає налаштувань SSID, PASS і AUTH. Ці налаштування зберігаються окремо від коду. І повторні прошивання чи оновлення не стирають ці налаштування. Після оновлення прошивки пристрій перезавантажується сам і вже готовий до роботи без додаткових тіло-рухів.

        Видалити
      9. Спасибо, понял, тогда не плохое предложение сделать обязательным к заполнению поле AUTH blynk при первичной настройке, а то я голову сломал как после настройки SSID, снова попасть на WEB интерфейс что бы настроить AUTH blynk

        Видалити
    5. Скажіть будь ласка, на GPIO12 можна повісити тільки одне реле?
      Тобто якщо споанувати за допомогою TIME_INPUT_1 V50 , TIME_INPUT_2 V51
      піде сигнал на всі реле якщо їх буде декілька на GPIO12

      ВідповістиВидалити
      Відповіді
      1. Вам потрібно одночасне спрацювання реле? Тоді можна. Якщо окремо, то потрібно кожне реле вішати на різні піни. А це вже інша прошивка, яку ще треба зробити.

        Видалити
    6. Чи могли б Ви зробити прошивку на декілька реле? Щоб просто можна було керевати (наприклад 5) реле тай годі через один nodemu

      ВідповістиВидалити
      Відповіді
      1. Ну як робота буде за гроші, то зроблю після уточнення ТЗ і суми.

        Видалити
    7. Чи є можливість використовувати локальний сервер blynk?

      ВідповістиВидалити
      Відповіді
      1. Так. Вводьте адресу і порт локального сервера при початковому налаштуванні і все працює як і на глобальному сервері.

        Видалити
    8. Ого, українською мовою! Мега круто!!!
      Слава Україні!

      ВідповістиВидалити
    9. Дякую за роботу!
      MQTT не планується?

      ВідповістиВидалити
      Відповіді
      1. Будь ласка.
        Спочатку була думка про MQTT, тепер я не бачу в цьому ніякого сенсу.
        У вас є аргументи на користь MQTT, я розгляну їх :)

        Видалити
      2. Під MQTT є масса готових програм для Андроїда. Через MQTT можна легко інтергувати НАШ девайс в існуючу систему.

        Видалити
    10. Скажіть, будь ласка, а чим Ваша прошивка відрізняється від офіційної Blink?
      Вона чимось краща?
      Чому б не спокійно використовувати офіційну?
      В чому доцільність написання Вами іншої прошивки під Blank, окрім спортивного інтересу?
      Віджети в Blink програмі для Андроїд також потрібно купувати?
      Дякую!

      ВідповістиВидалити
      Відповіді
      1. blynk це не прошивка. А ціла система сервер, додаток, бібліотека. Я роблю прошивку для пристроїв, які працюють з системою blynk. Так що вона, прошивка, не може нічим відрізнятись від "офіційної Blynk", бо блінк не прошивка. Пристрої з моєю прошивкою спокійно використовують офіційні, відкриті бібліотеки blynk і офіційний безкоштовний сервер blynk.
        Так віджети в додатку Blynk App по необхідності можна купляти, але це не до мене, а до офіційних блінкерів :)

        Видалити
      2. Якщо сервер blynk, який є відкритим і безкоштовним, ви встановите собі локально на якесь залізо, то тоді не треба купляти віджети, бо кількість енергії самі собі назначаєте на локальному сервері.

        Видалити
      3. Дякую. Як локально сервер запустити розкажете?

        Видалити
      4. Ну звісно що ні :)
        https://github.com/blynkkk/blynk-server#blynk-server

        Видалити
      5. Або тут: https://shoorik007.github.io/

        Видалити
      6. Там немає опису як запустити сервер, там те саме посилання яке я і надав спочатку.

        Видалити
    11. Слава Україні!
      Як попасти на "Початкову сторінку налаштувань" пристрою?
      ІД та ПАРОЛЬ точки доступу вже введено і пристрій перезавантажився. Як ПОВТОРНО попасти на "Початкову сторінку налаштувань" пристрою?
      Я розумію, що можна вимкнути, або змінити пароль до точки доступу, але це не гуманне рішення. Як інакше?
      Дякую!

      ВідповістиВидалити
      Відповіді
      1. Треба 5-10 секунд потримати натиснутою системну кнопку що на GPIO0, на SONOFF Basic (TH) це єдина кнопка, а на NodeMCU вона "Flash" називається. Зараз додам в інструкцію, бо часто запитують.

        Видалити
    12. [137405] Connecting to blynk-cloud.com:8442
      [137517] Invalid auth token
      Blynk not reconnected
      Device 0 Address: 28FF5A70901501AD Temp C: 29.37
      Device 0 Address: 28FF5A70901501AD Temp C: 29.37
      Device 0 Address: 28FF5A70901501AD Temp C: 29.37
      Чому не конектиться з сервером?
      Три рази токени перегенеровував.
      Дякую.

      ВідповістиВидалити
    13. Не знаю це баг чи що, але я прописую необхідний мені токен, бачу по терміналу, що я його прописую, перезавантажую пристрій і бачу СТАРИЙ токен в терміналі. Конекту з сервером, відповідно, нема. Пробую витерти прошивку з пристрою, шию всякими іншими прошивками, бланками, а налаштування прмистрою ЗБЕРІГАЮТЬСЯ, я не можу витерти пароль та токен. Що робити?

      ВідповістиВидалити
      Відповіді
      1. налаштування зберігаються окремо від прошивки, перепрошивкою не змінити, тільки через скидання налаштувань довгим натисканням кнопки близько 5-10 секунд. Яким бравзером зі смартфону заходите на сторінку налаштувань?

        Видалити
    14. Як скинути налаштування SSID, PASS, AUTH в проистрої?
      Точніше SSID, PASS ще якось з танцями з бубном змінити можна, а от AUTH наглухо вшився.

      ВідповістиВидалити
      Відповіді
      1. Плата NODEMCU. Упримуванням кнопки Flash обнулив ЕЕПРОМ (SSID, PASS, AUTH) девайсу. Переконфігурував і з першого разо законектився з Блінк-сервером.
        Працю, дякую Автору.
        Побажання: на сторінці налаштуваня пристрою, в розділі ІНФО бачити ще і Токен.

        Видалити
      2. Дякую за відгук.
        Щодо побажання, це треба лізти в бібліотеку WiFiManager. Я подумаю над цим.

        Видалити
    15. Слава Україні!
      Локальний сервер поставив.
      Як розгорнути сервер на моєму сайті?
      Розумію, що запитання досить глобальне ... :)

      ВідповістиВидалити
    16. Здравствуйте подскажите пожалуйста я прошил вашей прошивкой sonoff th16 с Датчик-AM2301.Все прошилось подключается к blynk ,но у меня не получается ни чего настроить.Помогите пожалуйста.Буду очень благодарен

      ВідповістиВидалити
      Відповіді
      1. Опишіть більш конкретніше. Що саме налаштувати? Я так розумію SSID, PASS, AUTH ви ввели правильно, раз до блінку під'єднується. А що далі не виходить?

        Видалити
      2. Я настроил виджет eventor
        When TeMnep. V5 is higher than or equal to 27.2 set V20 to on send notification:вкл..Где у меня v5 темпр. V20 кнопка ,но почему то кнопка не срабатывает по сценарию а уведомление приходит о включение ,в чем мое

        Видалити
      3. Треба в eventor зробити дві умови:
        1. When TeMnep. V5 is higher than or equal to 27.2 set V20 to 1
        2. When TeMnep. V5 is higher than or equal to 27.2 send notification
        І якщо треба вимикати реле в додачу то потрібна ще умова, наприклад так:
        3. When TeMnep. V5 is lower than or equal to 27.0 set V20 to 0

        Ну і віджет Eventor працює напряму з сервером, до моєї прошивки ніяким боком :) Це вже треба розуміти сам Blynk

        Видалити
      4. Спасибо ,за подсказку.У меня еще один вопрос я хочу сделать проветривание окна через blynk на основе платы wemos d1 mini и Шаговый двигатель 28BYJ-48 и ULN2003 .Ваша прошивка подайдет?Если можете помочь с данным проектом ,то цена вопроса я готов заплатить

        Видалити
      5. Не підійде, бо треба це врахувати в програмі пристрою. Треба "вмонтувати" драйвер мотору в прошивку. Я почитаю про це, потім скажу. Але якщо вікно не двигуном відкривати, а потужною сервою, то це питання можна вирішити без особливих складнощів.

        Видалити
      6. В принципе мне можно и с серво,надо будет купить его ,если так проще

        Видалити
      7. Помогите пожалуйста мне с данным проектом я заплачу

        Видалити
      8. З сервою простіше. Бо треба зберегти сумісність з Sonoff, а з доступних там тільки GPIO14. А для мотору потрібні аж 4 GPIO. Тому давайте я зроблю підтримку Servo на GPIO14. Серва має бути аналоговою, що керується сигналом PWM. Ну і опишіть мені що ви очикуєте від роботи серви (типу ТЗ). Швидкість обертання має значення?

        Видалити
      9. Як з сервоприводом не підходить, і таки треба на stepper motor, то треба робити окрему прошивку. Пишіть на taburyak@gmail.com що ви вирішили. Допоможу.

        Видалити
      10. Є ще варіант, stepper motor + uln2003 + pcf8574 керування
        тоді буде по i2c, збережеться сумісність і можна зробити підтримку в прошивці myhomeiot. Це мабуть найкращий варіант, але мені потрібно придбати мотор. І розробка драйверу займе якийсь час.

        Видалити
      11. Мне нужно чтоб работал через BLYNK.Я вам на почту писал

        Видалити
    17. Чудова прошивка! Придбав декілька Sonoffів, яку планував використати с Blynkом зі властною прошивкою, але спробував Вашу і відмовився від роботи над саморобною. Дуже добре зроблені таймери, я не зразу зрозумів відмінності Timer і Time input. В мене є декілька реле часу "вілка-розетка", Sonoff з таймером краще і дешевше таких таймерів.

      ВідповістиВидалити
      Відповіді
      1. Вітання!
        Радію що вам сподобалось. Дуже приємно чути. Як будуть якісь побажання щодо функціоналу, чи запитання по користуванню - пишіть/питайте.
        Скоро буде оновлення прошивки з WebHook'ом на всі підтримувані сенсори і підтримка плати розширення на 4 реле з 4 кнопками.
        Ну і проєкт для розвитку потребує підтримки, як є змога - підтримайте його за ланкою https://send.monobank.com.ua/VPSSJdnx

        Видалити
      2. Трошки підтримав) Стосовно запитань: мене цікавить, як зроблений зворотній зв'язок між кнопками? (Коли натискується кнопка на пристрої, змінюється колір кнопки в додатку.)

        Видалити
      3. Дякую!
        Зворотній зв'язок, це базова функція блінку :)
        Пристрій і додаток на постійному зв'язку з сервером. Будь які зміни в додатку викликають зміни на сервері, а на пристрої викликаються відповідні функції де обробляються ці зміни. І навпаки, коли пристрій надсилає дані на сервер, то в додатку все це теж сінхронізується. При натискані кнопки на пристрої міняється стан реле і надсилається команда до серверу в додатку це сінхронізується. В community.blynk.cc багато тем про кнопку і зворотній зв'язок. Ну дуже багато. З готовими прикладами.

        Видалити
      4. Тут ще є одна "хитрість". В "правильному" використанні Blynk треба відмовитись від хардварних шпильок, а використовувати виключно віртуальні. Є виключення але то вже екзотика.

        Видалити
    18. Щось тема заглохла... Все у всіх працює??? ТАК не буває :)

      ВідповістиВидалити
      Відповіді
      1. Тема працює і не глохне :)
        Треба датчик рівня води зробити. А то літній душ напівавтоматичний поки.

        Видалити
    19. Доброго дня шановний друг . Чудова робота . Після Світязя поповню свої енергетичні запаси і поділюся - на розвиток такого потрібного проекту . На днях придбав SONOFF DUAL R2 , але він гарненько прошився відповідним зіллям , проте є нюанси . В ньому новіший чіп esp8285 (інший порядок розпіновки) і він ніяк не хоче бачити DHT11 , хоча все інше гарно працює . Може хтось із таким стикався ?(DHT11 перевіряв на esp_node_mcu з вашим же зіллям)

      ВідповістиВидалити
      Відповіді
      1. esp8285 відрізняється тільки тим що має вбудовану пам'ять і тому має менші розміри. Все інше має підходити. Треба дивитись схему SONOFF DUAL R2, щоб взнати чи підходить ця прошивка. DHT11 не тестував, бо не маю такого сенсору в наявності. Але якщо в таблиці налаштувань на V66 з'являється пункт про DHT то треба там обрати DHT11 замість DHT22 за замовчуванням. Сподіваюсь схема підключення DHT виконана як на малюнку в цій статті?

        Видалити
      2. Нарешті вдалося зайнятися SONOFF. Із DUAL R2 все вирішилося просто - не зміг припаятися до 14 піна(трималося на каніфолі , а думав припаяв) - надто малюсінький і в процесі загнав його під корпус чіпа , далі не ризикнув колупати і вже знайшов йому застосування . А от із esp_node_mcu все таки щось не виходить . І із датчиками DHT11 і DHT22 показує :
        температура , наприклад 716,800 , вологість , наприклад 1433,600 , а DS18b20 взагалі не показує нічого . Підключено , звісно , згідно схеми . Куди дивитися і що робити ? До речі , кілька крапель енергії підкинув - на затяжечку .

        Видалити
      3. Вітаю! Щиро дякую за енергію! Внесок чималенький.
        Датчики мають працювати, що dht22, що ds18b20. Жодного разу з ними не було якихось проблем. Про dht11 нічого не скажу бо не має в наявності. Якщо що, куплю - потестую. Сподіваюсь в таблиці на v66 на gpio14 виставлено sensor? Після підключення сенсору перезавантажували node mcu?
        В вересні постараюсь записати відео-інструкції по прошиванню і налаштуванню.

        Видалити
      4. А яку краще прошивку для Wi-Fi модуль NodeMCU V3 ESP8266 ? Прошиваю в.1.1.3 "Для саморобок на базі ESP8266 та NodeMCU з пам'яттю на 4Мб (32Мбіт)". Де тут можна скриншоти викласти ?

        Видалити
      5. Прошивку обрано вірно. Можна зв'язатись по Hangouts - https://hangouts.google.com/webchat/start

        Видалити
      6. Із Time input розібрався .На яблуках не підтримується , але завдання із таймером відключення лишається . DHT22 запрацювало , DHT11 не працює . По hangouts можна поспілкуватися із скринами . До речі DS18B20 теж не працює .

        Видалити
      7. В hangouts я вам запрошення дав. Відповіді ще немає.

        Видалити
    20. Підкажіть , будь ласка , як застосовувати віджет Time input . Взагалі треба вирішити таке завдання : по натисканню перемикача запускається таймер (можна задавати) і через заданий час перемикач повертається попередній стан . До речі hangouts встановив , маю кілька запитаннь.

      ВідповістиВидалити
    21. Дякую, Андрію!
      Класна робота.
      Чи маєте плани прикрутити давач температури та вологості HDC1080? Інтерфейс I2C, висока точність: температура = +/- 0.2 град.С, .відн.вологість = +/- 2% при ціні 2.30-2.35$. У BME280, АМ2320 та DHT22 ці параметри = 0.5 град.С та 3%.

      ВідповістиВидалити
      Відповіді
      1. Дякую за відгук.
        Щодо hdc1080. Буде в мене такий сенсор на руках - зроблю підтримку.
        Зараз по i2c пітримуються ще й bmp180 та bme280.

        Видалити
    22. Подарую 1080. Є незайманий :))). Куди вислати?

      ВідповістиВидалити
      Відповіді
      1. Напиши електролиста мені taburyak(равлик)gmail.com

        Видалити
      2. Шановний Bob Cube, дякую за сенсор. В прошивці 1.1.5 вже є підтримка цього чудового сенсору. Користуйтесь на здоров'я.

        Видалити
    23. Помітив явище, яке перевірено на 5 Sonoff Basic, прошивка 2.6 (остання на поточний момент): споживання енергії по 220В (змінний струм, явно не активне навантаження, вимірювалося приладом True-RMS, точність вимірювання приблизно +/- 20%), сталий режим - з*єднання встановлено:
      - при вимкненому реле 0,5 ... 0,65 Вт,
      - при увімкненому реле - 1.1 ... 1,3 Вт

      На МНІОТ, прошивка 1.1.5, на 3х пристроях - в тих же умовах -
      - при вимкненому реле 1,0 ... 1,15 Вт,
      - при увімкненому реле - 1.25 ... 1,5 Вт

      Яка може бути причина?
      Чи можливо досягти параметрів споживання як на рідній прошивці?
      Справа не у вартості електроенергії, а у додатковому нагріві малого фізичного об*єму.

      ВідповістиВидалити
      Відповіді
      1. Дякую за таке дослідження. Ще не задумувався над цим.

        Видалити
      2. На підтвердження.
        Нашвидкоруч - без статистики, вибору пристроїв та мудрувань...
        Дві точки виміру температури на верній поверхні корпусу(края площини посередині) Sonoff Basic - обидва пристрої поряд, закриті, не вимикалися декілька годин, реле вимкнене:
        рідна прошивка -
        32...33-зі сторони входу/блоку живлення
        29...30 -зі сторони виходу
        МНІОТ, відповідно:
        33,5 ... 34,5
        29,5 ... 30,5
        І це - на зовнішній поверхні корпусу пристрою, який повинен працювати 24/7

        Видалити
      3. Можу тільки вангувати. Бо ж я не в курсі як там у Itead з Sonoff влаштовано. В Blynk постійний зв'язок з сервером для миттєвої реакції на події та зворотній зв'язок. Може з-за цього.

        Видалити
    24. Щось дивне трапилось з чесом. При натисканні на кнопку реле працює, але виводить час літній. Після перевантаженні час був скорегований. Віджет Time input при натисканні "ок" змінює час на годину назад. Після перевантаження не працюють таймери, в терміналі пише "Sheduler disable"

      ВідповістиВидалити
    25. Доповідаю далі. "Sheduler disable" - моя помилка. Таймер працює, але кожного разу при натисканні "ок" в віджеті"Time input" час зменшується на годину. Так ж ситуація є і в моєму власному проекті. Для уникання можливо в віджеті "Time input" увімкнути "allow timzone selektion" +3.

      ВідповістиВидалити
      Відповіді
      1. В мене в віджеті Time Input не увімкнено timezone і все коректно працює.

        Видалити
    26. Вітаю. Як прописати BME280 у WebHook?
      https://api.thingspeak.com/update?api_key=*************&field1=/pin/

      ВідповістиВидалити
      Відповіді
      1. Webhook для bme280 на v77 призначай. У рядок встав таке: https://api.thingspeak.com/update?api_key=****************&field1=/pin[0]/&field2=/pin[1]/&field3=/pin[2]/&field4=/pin[3]/

        Видалити
      2. Ну і не забудь увімкнути в налаштуваннях webhook в таблиці на v66

        Видалити
      3. Звісно. Куди воно дінеться :)

        Видалити
    27. Я кілька разів випадково робив повне скидання налаштувань кнопкою приладу. можливо варто зробити 20-30 секунд для скидання налаштувань?

      ВідповістиВидалити
      Відповіді
      1. Та як так можна? Нащо було так випадково довго тримати?
        Ну, в принципі можна 20 сек. Я подумаю.

        Видалити
    28. Підкажіть як зробити керування реле від датчика температури та таймера.

      ВідповістиВидалити
      Відповіді
      1. Прямо в лоб поки ніяк. Можна через розширювач реле Expander 4x4 -https://electronic-crafts.blogspot.com/2018/05/expander-4x4-i2c.html
        Одне реле працює по "Time Input", інше реле працює в залежності від датчика температури через "Eventor". Нормально розімкнуті реле обох реле з'єднані послідовно. Одне реле працює як термостат, а інше реле працює по заданому часу. Разом буде те що ви хочете. В мене так літній душ працює.

        Видалити
      2. Маю електробойлер і двотарифний лічильник. хотів зробити щоб вночі з 23 до 07 ранку грівся більше (до 70 градусів) а вдень лише до 55 градусів.
        схему працюючу я маю але хотів зробити зручніше і по модному на wi fi :)

        Видалити
      3. Режим термостату силами прошивки планую робити, тоді можна буде по модному. Але спочатку маю добряче попрацювати над меню, та time input.

        Видалити
      4. Можна ще зробити, так як ви хочете задіявши два пристрої: один пристрій, як термостат через eventor, а інший як реле часу через time input. З'єднати послідовно. Буде нормально працювати.

        Видалити
    29. доречі я не розібрався з eventor. чи могли б ви навести приклад. як зробити спрацювання реле GPIO12 від датчика температури ?

      ВідповістиВидалити
      Відповіді
      1. Та все просто. Наприклад, датчик температури на V0, а реле на V20, тоді:
        1. Зупиняємо проект
        2. Тицяємо в Eventor
        3. Add New Event
        4. When... -> Vpin value
        5. V0 OK
        6. is higer then_ -> 55 set pin to... -> virtual V20 -> 0 -> OK
        7. Add New Event
        8. When... -> Vpin value
        9. V0 OK
        10.is lower than_ -> 53 set pin to... -> virtual V20 -> 1 -> OK

        У вас буде два евентора. Один вмикатиме бойлер, коли температура менше 53, а інший буде вимикати реле, коли температура буде більше 55 градусів.
        Можна, за бажання, подякувати енергієй, є спеціяльна кнопка для цього - "Підтримати проект".

        Видалити
      2. Ну і не забуваємо:
        11. Запустити проект

        Видалити
      3. Робив майже те саме але мав не такий результат. Все зрозуміло. Все працює. Дякую за навчання. Трохи розбагатію то додам енергію в проект :)
        Було б добре подібні приклади зібрати до купи.

        Видалити
      4. Мабуть керував напряму GPIO12? Так? :)
        Будь ласка.
        Приклади прикладами, а от хочу наробити наочних відеоінструкцій, та ніяк з силами не зберусь.

        Видалити
      5. як на мене то проста інструкція з малюнками та скрінами набагато краще.

        Видалити
    30. WEMOS D1. 18B20 на GPIO14 (D5), V0. Tемпература в віджеті завжди 18.51 градуса. Пробував два датчики. Резистор підтяжки є. Коли від'єдную датчик то отримую "-----". В чому може бути причина, що не міляє у мене температуру? Дякую.

      ВідповістиВидалити
    31. Під'єднав два 18B20. Один показує температуру 22, другий 30 градусів. Грію феном давачі - температура не змінюється. Дивлюся осцилографом шину - раз в секунду проходить пачка імпульсів. В налаштуваннях обох давачів - період 1 секунда. що ще такого зробитидля перевірки?

      ВідповістиВидалити
      Відповіді
      1. Датчики DS18B20 працюють тільки в PUSH і оновлюються на сервері Blynk раз на 30 секунд. Ще раз на 4 секунди йде оновлення даних температури для дисплею і серіал порту.

        Видалити
    32. Щось у мене з 18B20 не получається.
      Прописано два.
      Підключений один.
      Відключений - впевнено показує температуру.
      Підключений також показує температуру тижнемої давності і покази не змінюються.
      Ресет (довге утримування кнопки) робив.
      Світлодіодом - керую
      PUSH встановлено на V0, V1.
      Що не так?
      Дякую.

      ВідповістиВидалити
      Відповіді
      1. Та все так.
        Якщо підключено декілька, то вони розподіляються по віртуальним пінам від v0 до v4 - всього 5 штук можна.
        Як підключено один датчик, то він буде на v0. Як два то на v0 і v1, як зняти один, що був на v0, то той що був на v1 стане на v0. Це ж логічно.
        А на тих пінах де щось вже було, зберігається остання інформація, що надходила.

        Видалити
    33. Прошил Вашей прошивкой T1 eu 1ch через блинк работает отлично! Купил второй выключатель T1 eu 2 ch тоже прошли Вашей прошивкой но при нажатии только срабоюатывает 1 клавиша, вторая клавиша не срабатывает не нажатием и не знаю какую ногу выбрать в блинк! Помогите пожалуйста с прошивкой или добавьте поддержку на t1 eu 2ch чтоб две клавиши работали! Очень нужно, я вас отблагадарю мой Вайбер 0678448875 Николай жду с нетерпением помощи в данной ситуации, а то покупал одноклавишный выключатель прошил все губ! Взял двух клавишный и работает, только один канал! Мой ребёнок расстроился,что нет полноценной работы выключателя! Помогите пожалуйста с прошивкой!

      ВідповістиВидалити
      Відповіді
      1. Нашёль включение второй кнопки это gp5 вторая клавиша включается,а вот через сенсор нет!

        Видалити
      2. Вітаю!
        Дякую за цікавість до моєї прошивки.
        Підтримки T1 немає, бо в мене немає такого девайсу в наявності.
        Якщо можете поділитись зі мною T1, я зможу зробити підтримку цього девайсу в прошивці. В вайбер зараз додам вас.

        Видалити
      3. Пишіть українською, бо болгарською нічого не зрозуміло і не знаю чим можу Вам допомогти.

        Видалити
      4. Прошу прошения, знаю только русский и английский! P.S. I ask you, I know only Russian and English

        Видалити
    34. Та все так.
      Якщо підключено декілька, то вони розподіляються по віртуальним пінам від v0 до v4 - всього 5 штук можна.
      Як підключено один датчик, то він буде на v0. Як два то на v0 і v1, як зняти один, що був на v0, то той що був на v1 стане на v0. Це ж логічно.
      А на тих пінах де щось вже було, зберігається остання інформація, що надходила.
      ***************************************************************************************
      Так це ж повний капець!!!
      Обгрунтовую.
      У мене 5 датчиків.
      Підключені, до прикладу, акваріум, тепла підлога, Теплиця, опалення в гаражі, котроль хлібопічки.
      Якщо давач на V0 вийде з ладу, то все зміститься вниз.
      На V4 інформація завмре, а я думатиму, що все ОК, як гарно у мене застабілізована температура.
      Більше того, температура в акваріумі підійматиметься до до бажаної температури в хлібопічці, і це вже буде смажена риба, а не хліб.
      Так?

      ВідповістиВидалити
      Відповіді
      1. вішати на один пристрій контроль такими різними речами - так це повний капець. Далі чим будеш вмикати/вимикати стільки різних споживачів одним пристроєм? Як вмре датчик на V0, то до перезавантаження нічого не зміститься, все залишиться на своїх місцях. Якщо треба прив'язка конкретної адреси датчика до конкретної віртуальної шпильки, то так і кажи. Але це вже в майбутньому, треба багато чого переробити щоб розвивати далі.

        Видалити
      2. Всього 6 пінів потрібно для цієї системи. Хіба ж це багато?
        5 пінів керують температурою, один пін - міряє температуру.
        Цілком "гуманна" система.
        Не засмічувати ж ефір 5-ма ESP8266?
        Це по перше.
        А по друге, я маю право ТАК зробити чи ні?
        Маю.
        Отож, як вмре датчик на V0 то я ще місяць буду думати що мої рибки плавають у теплій воді, а вони вже місяць, як Богові душу віддали, бо я думаю що все з температурою ОК, а там вже льодом все покрилося. Так, потрібно прив'язати ІД до шпильки, інакше, на мою думку, це зовсім не контрольована ситуація з давачами температури. І ще, я 100 разів перезавантажував пристій, а температура як була 22 градуси так собі і залишалась 22.

        Видалити
      3. Автор видалив цей коментар.

        Видалити
      4. Та хоч 200 разів перезавантажуй. Твої 22 градуси не в моїй прошивці, а в базі Blynk. Я вже пояснював, на віртуальній шпильці будуть дані що останніми були додані.

        Видалити
      5. Всього 6 пінів потрібно для цієї системи. Хіба ж це багато?
        5 пінів керують температурою, один пін - міряє температуру.
        ==========================================================
        Будь ласка перерахуй 6 пінів які можна задіяти. Чекаю.

        Видалити
      6. Про можливість прив'язки адреси до конкретного піна - згоден, але це пізніше.

        Видалити
      7. D0, D1, D2, D3, D4, D6, D7, D8
        ==============================
        D0 - wakeup, використовувати не можна приймає участь в завантажені пристрою
        D1 - SCL I2C
        D2 - SDA I2C
        D3 - Системна кнопка
        D4 - не рекомендується використовувати приймає участь в завантажені пристрою. На
        ESP це блакитний світлодіод. Вивід Debug information.
        D6 - Реле, світлодіодна стрічка. Підходить.
        D7 - Світлодіод для службової сигналізації
        D8 - Не рекомендовано використовувати приймає участь у завантажені пристрою.

        Ще пропозиції?

        Видалити
    35. Зберігалася індикація температури 22 градуси, хоча датчик вже пару годин як був відключений.

      ВідповістиВидалити
    36. Значить в Блінк треба дати свіжу інформацію, що НЕМА датчика. Це ж самообман зараз виходить. Грошей на рахунку вже нема, але ж прижмно дивитися на скріншот, що вони там колись були...

      ВідповістиВидалити
      Відповіді
      1. Коли датчик реально здохне то буде 125 градусів показувати. Якщо потім перезавантажити, то буде стара інфа. Поки так.

        Видалити
      2. Значить у мене щось не так. Датчик вже пару днів як відключений, а 22 градуси показує.

        Видалити
      3. З мене досить, я вже не можу одне й те саме повторювати раз за разом.

        Видалити
    37. Вітаю. а чи можливо додати датчик CO2 MH-Z19 (MH-Z19B)? чи планується ? або можливо інший CO2 датчик.

      ВідповістиВидалити
      Відповіді
      1. Привіт.
        Можна, при наявності датчика в мене на руках.
        Так що ваша інвестиція датчик, вам у відповідь підтримка цього датчика.

        Видалити
    38. додам трохи своїх спостережень.
      Була весія 1.1.5 все було добре але як почали вимикати світло то мав проблему - мій sonoff basic не бажав підключатись до wi-fi бо wi-fi роутэр стартує набагато довше. Я подумав що зміна прошивки на 1.1.6 можливо вирішить мою проблему. Оновив прошивку по OTA перші хвилини все працює потім зникає з мережі. витягаю з розетки перезавантажую - кілька хвилин працює і зникає з мережі. зараз повернув прошивку 1.1.5 - все добре працює.

      ВідповістиВидалити
      Відповіді
      1. Так. Про баг, що при подачі живлення пристрій, як ще вайфай мережі немає, то не може приєднатись до вайфай потім, я в курсі. Потрібно при наявному вайфай вже подавати напругу. Не можу зрозуміти в чому точно причина. Код, якій відповідає за конект і реконект не мінявся, але мінялась бібліотека WiFiManager, blynk, ядро ESP8266. Хоча на іншому роутері (в мене їх 2-ва) пристрої нормально відновлювали з'єднання при подачі живлення. Раніше, точно знаю, що під'єднувалось без проблем взагалі всі мої 8 пристроїв. На якій саме прошивці перестало працювати я не знаю, треба пробувати починаючи від прошивки, мабуть 1.1.1, а часу в мене не вистачає на ці експеременти. Потрібна допомога.
        Як ваша ласка, спробуйте на різних прошивках експеремент з одночасною подачою напруги на пристрій і вайфай роутер. Імітація подачі напруги. На якій прошивці перестане конектитись?
        Щодо 1.1.6, то в мене всі присрої, а їх 8 штук, нормально працюють, не відвалюются при нормальному інтернеті.

        Видалити
      2. Займався цією проблемою. На прошивці 1.1.3 працює як слід. І справа не в моєму коді. Бібліотеки wifi manager і blynk даунгрейдить пробував не помогло. Ядро не зміг даунгрейднуть, полізли помилки з залежностями. Так що ця проблема поки не має рішення. Перепрошую за незручності. Буду займатись цим по можливості.

        Видалити
    39. Такая же беда! Отключил питание от квартиры , потом подал электричество... ни одно устройство не запустилось! Только надо вручную отключать и подключать к электричеству! Нужно исправить, не годится вообще

      ВідповістиВидалити
    40. Исправте в следующей прошивке, чтобы при отключении электричества, и при повторном включении, сами конектиться к сети

      ВідповістиВидалити
      Відповіді
      1. ак. Про баг, що при подачі живлення пристрій, як ще вайфай мережі немає, то не може приєднатись до вайфай потім, я в курсі. Потрібно при наявному вайфай вже подавати напругу. Не можу зрозуміти в чому точно причина. Код, якій відповідає за конект і реконект не мінявся, але мінялась бібліотека WiFiManager, blynk, ядро ESP8266. Хоча на іншому роутері (в мене їх 2-ва) пристрої нормально відновлювали з'єднання при подачі живлення. Раніше, точно знаю, що під'єднувалось без проблем взагалі всі мої 8 пристроїв. На якій саме прошивці перестало працювати я не знаю, треба пробувати починаючи від прошивки, мабуть 1.1.1, а часу в мене не вистачає на ці експеременти. Потрібна допомога.
        Як ваша ласка, спробуйте на різних прошивках експеремент з одночасною подачою напруги на пристрій і вайфай роутер. Імітація подачі напруги. На якій прошивці перестане конектитись?

        Видалити
      2. Займався цією проблемою. На прошивці 1.1.3 працює як слід. І справа не в моєму коді. Бібліотеки wifi manager і blynk даунгрейдить пробував не помогло. Ядро не зміг даунгрейднуть, полізли помилки з залежностями. Так що ця проблема поки не має рішення. Перепрошую за незручності. Буду займатись цим по можливості.

        Видалити
    41. Can a temperature control be done? Use a DS18B20 and use the sonoff relay to control the temperature? Thanks since now

      ВідповістиВидалити
      Відповіді
      1. Yes, the firmware has support for ds18b20 up to 5 devices. If you want to use Sonoff in thermostat mode, you need to use the widget "Eventor".

        Видалити
      2. Thanks for the prompt response. And I take the opportunity to ask something else, do you think of some way of a manual-automatic operation? That is, with a blynk button can you choose manual or automatic? Is this possible? Thank you so much

        Видалити
      3. No while it is not possible. I plan to add thermostat mode to the firmware and then there will be a button, or the menu blynk - "auto / manual".

        Видалити
    42. Доброго дня. чи вдалося побороти проблему wifi підключення після того як зникає живлення?

      ВідповістиВидалити
    43. Перепрошую, але поки часу на це не маю. Бажання продовжити розробку є. Так що як тільки з'явиться можливисть - продовжу.

      ВідповістиВидалити
    44. Нові sonoff basic ідуть на ESP8285. на цій прошивці мають працювати? як приїде то спробую.

      ВідповістиВидалити
      Відповіді
      1. Так, мають працювати. Ніякої різниці немає. У 8285 пам'ять в середині чипу. Це й вся різниця.

        Видалити
      2. еще у новых сонофф доступен не 14 пин, а 2 пин. можно новую прошивку, которая буед поддерживать датчики на 2 пине?

        Видалити
      3. Дайте ланку на цю інформацію. Так, можна буде врахувати це. Планую кардинально переробити прошивку. Збираюсь думками і силами.

        Видалити
      4. докладно про ESP8285
        https://www.electroschematics.com/sonoff-basic-wi-fi-switch/
        прошивка 1.1.3 на ESP8285 стала стабільно.

        Видалити
      5. За ланку дякую. Матиму на увазі.
        Так, 1.1.3. нормально працює, і перепідключається до мережі після перебою електрики. Як не потрібен функціонал в наступних версіях, то ця підійде найкраще. А ще є думка що краще робити спеціалізовані прошивки, а не одну універсальну. Як ви вважаєте?

        Видалити
      6. Важко дати пораду. Я вважаю що стабільність найважливіша. Хтось ставив конкретне завдання ? Мені наприклад цікаво зробити компактний датчик двоокису вуглецю з єкраном. заказав таку плату https://www.aliexpress.com/item/32966653064.html?spm=a2g0o.productlist.0.0.4f0b1832YndaHz&algo_pvid=56a73eff-5917-44cd-8a6d-74d0c5192675&algo_expid=56a73eff-5917-44cd-8a6d-74d0c5192675-0&btsid=1e2aca0e-2c49-49b7-bf4e-a09fc12cdee8&ws_ab_test=searchweb0_0,searchweb201602_7,searchweb201603_55

        Видалити
    45. Якщо когось цiкавить чи можна прошити пристрiй здально, тобто не в локальнiй мережi, то так, можливо. Прошивав взагалi пристрiй в iншiй державi через vpn.

      ВідповістиВидалити
    46. Ждем от вас Полноценно доработанную прошивку. Заранее спасибо

      ВідповістиВидалити
      Відповіді
      1. Ще не забросив прошивку. Але і часу на розробку поки немає.

        Видалити
    47. Check Andriy, is Sonoff Touch compatible with this firmware?

      ВідповістиВидалити
    48. I have a sonoff T0. Is the firmware compatible with this device? Best regards

      ВідповістиВидалити
    49. Доброго дня. Який URL запит у WebHook прописати, для відправки даних з датчиків DS18B20 на Народний Моніторинг?

      ВідповістиВидалити
    50. Чи можливо підключити до ціеї прошивки енергомодуль PZEM-004T https://aliexpress.ru/item/32816521323.html?

      ВідповістиВидалити
    51. Здравствуйте, не планируете добавить новых фишек. обновить прошивку? Добавить какую нибудь поддержку устройств?

      ВідповістиВидалити
      Відповіді
      1. Планую з нуля переробити. Трішки з новою концепцією. Які пристрої вас цікавлять?

        Видалити
    52. Добрий вечір!
      Не можу підключити сенсор DS18B20 на GPIO14 (sonoffbasic). Прошивка 1.1.7.8. Міняв DS18B20. Налаштовував в таблиці меню, подзвонював відповідні контакти. Працює WIFI, Реле, таймери.
      Допоможіть налаштувати. ДЯКУЮ

      ВідповістиВидалити
      Відповіді
      1. Доброго вечора.
        Резистор підтяжки на 4.7к між 3.3в і data на ds18b20 поставили? В додатку дані з ds18b20 на шпильках v0, v1, v2, v3, v4 очікуєте?

        Видалити
      2. Резистор стоїть 4.7к.Данні не показує.

        Видалити
      3. А десь на іншому девайсу датчики є як перевірити? Прошива з ds18b20 працює залізобетонно.

        Видалити
    53. Сьогодні підключив датчик АМ2301 - все працює. Чекаю на днях ще два ds18b20, прийдуть буду підключати. Чи підтримує датчик МАХ6675 (контроль димових газів)? Відправка даних на TELEGRAM планується?

      ВідповістиВидалити
    54. Прийшли ds18b20, знову не працюють. Замітив, що при підключеному ds18b20 привключенні sonoffbasic світодіод мигнув один раз. При відключеному ds18b20 - мигає кілька разів з довшими інтервалами.

      ВідповістиВидалити
    55. Чи можливо в прошивці для NodeMCU розділити піни, щоб можна було використовувати і сенсорну кнопку і ds18b20 ?

      ВідповістиВидалити
    56. Привіт, скажіть на цій прошивки, в режимі PIR на GPIO 14 чи можна при настанні події управляти піном на іншому пристрої? (тобто включати реле на іншому ESP8266 з такою ж прошивкою). Тобто по суті потрібен аналог BRIDGE ..
      Дякую заздалегідь.

      ВідповістиВидалити
      Відповіді
      1. Нажаль, ні. Можна було б через віджет eventor, але і він діє в межах одного пристрою. Поки ні.

        Видалити
    57. Доброго дня ! Чи з'явилась функціональність термостата (для котла, наприклад) ?
      Тобто розклад за часом та температура.
      Дивлюся на запити на різних форумах - це дуже популярне для прошивок. )
      Мені. дуже сподобалась концепція у Вас, прошився але не зрозумів щодо термостата.
      Дякую за Вашу працю!

      ВідповістиВидалити
    58. Розклад за часом є. Термостат додати треба.

      ВідповістиВидалити
    59. Зараз можна термостат реалізувати через віджет eventor.

      ВідповістиВидалити
    60. Доброго дня. Прошиваю NodeMcu v3 флешером nodemcu прошивку 1.1.7.8, все ок, але після прошивки не з'являється точка доступу. Що робити? Все зробив по інструкції.

      ВідповістиВидалити
      Відповіді
      1. Після першого прошивання обов'язково знеструмити пристрій. Потім подати живлення. SPI mode спробуйте поміняти. Прошивка має бути для esp8266 4mbyte, а не sonoff 1mbyte

        Видалити
      2. Розібрався. Після Першої прошивки треба натиснути ресет на платі і не відє'днувати від живлення, тоді з'явиться точка доступу.

        Видалити
    61. На базі вашої прошивки зробив контролер керування кліматичною камерою. Дуже файна штука вийшла. Але є деяка не зручність - датчик bme280 видає показники раз у 30 секунд, а для керування кліматом це забагато. Чи можна відкоригувати самостійно період зчитування датчику bme280, наприклад кожної секунди?

      ВідповістиВидалити
      Відповіді
      1. Ні. Пізніше, як буде час, дороблю контроль заданого параметра з PID, силами самої прошивки. Поки ні.

        Видалити
    62. Доброго дня, панове! В мене не працюють WebHook. Це може бути через те що в мене локальний Blynk сервер?

      ВідповістиВидалити
    63. Доброго дня друзі. З"явилася необхідність керувати за допомогою SONOFF пристроєм із входом на 0-10В. Тобто очевидно на шпильку GPIO14 треба організувати ШІМ. Чи можливо це зробити , а можливо вже хтось робив ?

      ВідповістиВидалити