Показаны сообщения с ярлыком tasmota. Показать все сообщения
Показаны сообщения с ярлыком tasmota. Показать все сообщения

пятница, 18 декабря 2020 г.

Tasmota. Rules (Тасмота рулит)

Оказывается прошивка tasmota - это не просто красивый веб-интерфейс и совместимость с Domoticz. Её возможности существенно расширяются при использовании Rules.

Это позволяет использовать Sonoff с прошивкой на борту как самостоятельное устройство без необходимости подключения к системам умного дома и вообще к сети Wi-Fi. Правила можно прописать при компиляции прошивки, и тем самым получить 100% автономное устройство.

Оставлю тут простой пример правила, которое включает\выключает свет при определенных показаниях температурного датчика AM2301. Как подключить датчик температуры и влажности к Sonoff можно почитать тут. Как прошить.

Подключаемся к консоли через веб-морду по адресу http://ip-address/cn? или жмём Консоль на главной странице


Тут нам нужно найти название датчика и его показания. В моём случае смотрим на строчку

11:17:53 MQT: tele/tasmota_506865/SENSOR = {"Time":"2020-12-18T11:17:53","AM2301":{"Temperature":-5.4,"Humidity":99.9,"DewPoint":-5.4},"TempUnit":"C"}

Видим датчик AM2301 и его показания температуры и влажности. Следовательно отслеживать будем его показания AM2301#Temperature

В роли действия будет выступать выключение - Power1 0

Смотрим синтаксис команд, и получаем следующее

rule1 on AM2301#Temperature<5 do Power1 0 endon

Тут всё просто, если значение температуры ниже 5 (градусов), то отключаем питание.

Копируем и вставляем правило в окно ввода команд и в ответ получаем

13:18:15 CMD: rule1 on AM2301#Temperature<5 do Power1 0 endon
13:18:15 RUL: Stored uncompressed, would compress from 41 to 33 (-20%)
13:18:15 MQT: stat/tasmota_506865/RESULT = {"Rule1":"OFF","Once":"OFF","StopOnError":"OFF","Length":41,"Free":470,"Rules":"on AM2301#Temperature<5 do Power1 0 endon"}

Видим что правило в положении OFF. Чтобы его активировать, набираем

rule1 on
13:20:50 CMD: rule1 on
13:20:50 MQT: stat/tasmota_506865/RESULT = {"Rule1":"ON","Once":"OFF","StopOnError":"OFF","Length":41,"Free":470,"Rules":"on AM2301#Temperature<5 do Power1 0 endon"}
13:20:52 RUL: AM2301#TEMPERATURE<5 performs "Power1 0"
13:20:52 MQT: domoticz/in = {"idx":142,"nvalue":0,"svalue":"","Battery":100,"RSSI":5}
13:20:52 MQT: stat/tasmota_506865/RESULT = {"POWER":"OFF"}
13:20:52 MQT: stat/tasmota_506865/POWER = OFF

Теперь в консоль раз в секунду сыпятся сообщения, что питание OFF. Допилим

rule1
on tele-AM2301#Temperature<5 do Power1 0 endon

Как видно, добавили к имени датчика tele-AM2301. Это значит что показания будут передаваться в правило с определенным интервалом (по умолчанию 5 минут), а не каждую секунду. 


воскресенье, 28 июня 2020 г.

Sonoff RF R2 (новый Sonoff Basic). Подключение датчика AM2301

Плата Sonoff RF R2 Power. V1.0 20190830.

Прошиваемся на Tasmota 8.3.1. Подключаем датчик температуры и влажности AM2301 по схеме. Кстати, говорят DHT22 не работает на новом Sonoff Basic.

GND (черный) - GND
POWER (красный) - 3.3V
DATA (жёлтый) - RX

В настройках модуля не забываем поставить Sonoff Basic и выбрать AM2301 для GPIO3
Бинго!

Программируем Sonoff и создаем свои сценарии без участия Domoticz 

Sonoff RF R2 (новый Sonoff Basic). Прошивка Tasmota

Посмотрим, как прошивается новый Sonoff Basic RF R2. Взял такой для управления подсветкой террасы. Повешу в водонепроницаемом корпусе под половые доски. Посмотрим как перенесет все тяготы и лишения невзгоды карельской погоды.

Нам всё также требуется Visual Studio c модулем PlatformIO. Ну и вдобавок утилита Tasmota-PyFlasher-1.0, теперь заливаю *.bin файлы только ей.

Припаиваем гребенку для подключения USB-to-TTL CP2102 адаптера.
Скачиваем последнюю версию tasmota с официального репозитория. Открываем разархивированную папку в Visual Studio и переходим к редактированию файла tasmota/my_user_config.h
Затем в файле platformio.ini снимем коммент у нужной версии прошивки (иначе будет компилировать все версии).
После внесения изменений, нажимаем Ctrl+S и жмём Build
Далее, Visual Studio здорового человека сам скачает все нужные фрэймворки и пакеты, необходимые для сборки прошивки.
По окончанию, открываем Tasmota Py-Flasher, указываем COM-порт к которому подключен Sonoff и путь до прошивки. !!!Не забываем перевести sonoff в режим прошивки!!! Подключаем к USB с зажатой кнопкой в течении 3-5 секунд, затем отпускаем.

Теперь можно попробовать подключить датчик влажности и температуры AM2301.

пятница, 31 января 2020 г.

Установка и настройка Visual Studio Code для прошивки Tasmota

Чтобы собрать свою прошивку Tasmota для устройств на базе ESP (Sonoff, Wemos) нам потребуется среда разработки Visual Studio Code с установленными расширениями PlatformIO. Делается это один раз.
1. Выбираем свою платформу и скачиваем Visual Studio Code
2. Запускаем VS и переходим на вкладку Расширения (Extensions), или нажимаем CTRL+SHIFT+X


суббота, 8 декабря 2018 г.

Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)

После подключения датчика DHT21 к Sonoff 4CH, решил добавить аналогичный функционал и к версии Sonoff 4CH R2.

Главное отличие в том, что на плате рядом с разъёмом PJ218A появились дорожки для транзистора J3Y(?) и диода. (Не нашёл схемы, может кто знает для чего они там?!)
Так вот, питание 3.3В получаем с этих разорванных дорог.
 Сперва я кинул маленькую "соплю" чтобы соединить цепь
И всё бы хорошо, но даже такое незначительное вмешательство помешало закрыть крышку. Вот интересно, на плате всё готово чтобы подключить разъем PJ218A, а крышка не закрывается. В Sonoff 4CH такой проблемы не было, всё встало без напильника.
Пришлось кинуть "соплю" на точку VCC в месте, где стоит коммутационная гребенка.
И поработать напильником, убрать 3 мм чтобы нормально опустился PJ218A.
Дальше в настройках Sonoff выставляем GPIO2>02 AM2301

пятница, 7 декабря 2018 г.

Sonoff 4CH. Подключение датчика температуры и влажности DHT21 (AM2301)

Вздумалось подключить один из складских запасов датчиков влажности и температуры AM2301, он же DHT21 к четырехканальному реле Sonoff 4CH
Важной особенность будет подключение датчика через разъем Jack 2,5mm. Чтобы была возможность оперативно подключить\отключить его от реле.
На вики к прошивке Tasmota, нашёл очерки парня, который подключал датчик температуры DS18b20. На основе этой инфы я замутил свою схему. Отличия лишь в резисторе на 10кОм. Очень много времени потратил на поиски небольшой партии PJ218A.

Добираемся до платы реле, припаиваем на место J5 разъём PJ218A.
Судя по дорожкам на плате, питание 3.3В (VCC) идёт к 3 контакту, земля (GND) ко 2му. Остается протянуть провод до IO2 для данных (DATA). Если приглянуться чуть пристальнее, то можно увидеть, что дорога от не распаянного резистора R35 ведёт к контакту 5. 
Переворачиваем плату, припаиваем резистор на 10кОм к контактам IO2 и VCC3.3 и кидаем "соплю" от IO2 до резистора R35.
Я использовал оранжевый гибкий макетный провод. 
Осталось самое сложное, припаять к штырю jack 2.5. Скажу честно, один из двух я запорол. Ко второму удалось нормально припаяться только при помощи аспирина, который к слову воняет при нагреве хоть беги. Вышло примерно так
По-порядку сверху-вниз. 1 - питание (VCC3.3), 2 - земля (GND), 3 - пустой, 4 - данные (DATA)

Вставляем джек в разъём, подключаем к реле и подаем питание. Если ещё не прошились на Tasmota, смотрим тут. Через веб-морду задаём настройки IO2 на "02 AM2301" 
Смотрим на главной странице показания
Снаружи выглядит вот так

Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)

среда, 14 ноября 2018 г.

Wemos D1 Mini. Прошивка Tasmota при помощи PlatformIO

Процедура прошивки Wemos D1 mini ещё проще чем на устройствах Sonoff. Не нужны никакие преобразователи USB to TTL для связи с компьютером, даже паять ничего не надо.
Подключаем wemos к компьютеру через MicroUSB-кабель, смотрим в диспетчер устройств и запоминаем номер COM-порта. Инструкция на английском.
Тут можно почитать, как просто установить, и подготовить для сборки прошивки Visual Studio Code.

Скачиваем последние исходники Source Code (zip). Распаковываем в любую директорию и запускаем Visual Studio Code. Открываем разархивированные папку и сразу переходим к редактированию platformio.ini. Добавим в конец файла настройки для Wemos
[env:wemos-d1-mini]
platform = espressif8266
framework = arduino
board = esp01_1m
board_flash_mode = dout
build_flags = -Wl,-Tesp8266.flash.1m0.ld -DMQTT_MAX_PACKET_SIZE=1000
lib_deps = PubSubClient, NeoPixelBus, IRremoteESP8266, ArduinoJSON
extra_scripts = pio/strip-floats.py

; *** Serial Monitor options
monitor_baud = 115200

; *** Upload Serial reset method for Wemos and NodeMCU
upload_resetmethod = nodemcu
upload_speed = 115200
upload_port = COM6

; *** Upload file to OTA server using SCP
;upload_port = user@host:/path
;extra_scripts = pio/strip-floats.py, pio/sftp-uploader.py

; *** Upload file to OTA server using HTTP
;upload_port = domus1:80/api/upload-arduino.php
;extra_scripts = pio/strip-floats.py, pio/http-uploader.py
Проверяем настройки upload_port и проверяем в начале файла, чтобы
env_default = wemos-d1-mini
В файле my_user_config.h меняем
#define MODULE                 WEMOS
И пробегаемся по настройкам WiFi, MQTT и прочих необходимых параметров.

Приводим всё к виду, как на скриншоте
Настройки платы
Далее жмём Build, Upload и после перезагрузки переходим в веб-браузер по IP-адресу, который роутер выдал Wemos.

UPD! В октябре 2019 собирал свежую 6.7.1 прошивку на wemos (да, люблю обновления). Теперь процесс сборки упростился донельзя. Собирать можно без внесения каких-либо правок в файл platformio.io, и не надо выставлять настройки платы. Собираем стандартную прошивку sonoff, а после прошивки wemos, в настройках выбираем тип модуля 18 Generic.
!!! Если собираем прошивку управления КИВом, не забываем добавить поддержку платы PCA9685 в my_user_config.h 


суббота, 8 сентября 2018 г.

Sonoff 4CH R2. Установка прошивки Tasmota при помощи PlatformIO

Надоело каждый раз вспоминать куда раскидывать свежие библиотеки в Arduino IDE. Оказывается можно без боли в заднице быстро собрать и закинуть свежую прошивку Tasmota через PlatformIO.
Тут можно почитать, как просто установить и подготовить для сборки прошивки Visual Studio Code.
Скачиваем свежую версию Source Code, разархивируем. Запускаем Visual Studio Code>Ctrl+O>Указываем путь к распакованной папке.
Открываем файл platformio.ini. Снимаем коммент
env_default = sonoff
Спускаемся ниже и проверяем настройки COM-порта
; *** Upload Serial reset method for Wemos and NodeMCU
upload_speed = 115200
upload_resetmethod = nodemcu
upload_port = COM3
extra_scripts = pio/strip-floats.py
Далее открываем файл sonoff/user_config.h и пробегаемся по настройкам WiFi, MQTT и прочим нужным параметрам.

Теперь пора выбрать настройки платформы для компиляции, все это находится в правом нижнем углу


Приводим все к виду как на скриншоте


Осталось нажать Build и Upload в левом нижнем углу


Не забываем перевести плату в режим программирования!
Для загрузки в режиме программирования отключаемся от USB-порта, зажимаем кнопку L1 (I00 на плате) и подключаем снова к USB. Отпускать кнопку через 2-3 секунды.

Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)
Sonoff 4CH. Установка прошивки Tasmota при помощи PlatformIO

пятница, 9 февраля 2018 г.

Sonoff Basic. Подключение датчика влажности DHT22

В предыдущей статье мы подключали датчик температуры. Теперь же подключим к Sonoff Basic датчик влажности и температуры DHT22
Обязательное требование - установленная прошивка Sonoff Tasmota.
Для удобства подключения датчика, рекомендую припаять  в пять отверстий на плате вот такую штуку. Недорого, и в дальнейшем пригодится.
Подключаем по схеме
И добавляем датчик через веб-морду

Подключение датчика температуры ds18b20.
Крепление на DIN-рейку
Sonoff 4CH. Подключение датчика температуры и влажности DHT21 (AM2301)
Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)

четверг, 28 декабря 2017 г.

Sonoff Basic. Подключение температурного датчика DS18B20

Подключим к базовой модели Sonoff Basic датчик температуры DS18b20.
Помимо модуля и датчика, понадобятся CP2102 USB to TTL конвертер и резистор на 4.7Ком.

Меняем стоковую прошивку на Sonoff Tasmota
Последняя версия прошивки тут. Настраиваем по инструкции Arduino IDE 1.8.5. Подключаем

Перед тем, как заливать скетч, переводим модуль в режим прошивки. Для этого надо отключить модуль от питания, зажать кнопку на модуле (большую черную), не отпуская кнопку подключить к USB компьютера, и через 1-2 секунды отпустить кнопку.
Редактируем секции в файле Tasmota-Х.Х.Х/tasmota/user_config.h
// -- Wifi
// -- MQTT (если будем использовать Masquitto-сервер)
// -- Sensor code selection
Здесь надо снять комментарий перед строкой чтобы добавить в прошивку функционал температурного датчика
#define USE_DS18x20
 Нажимаем кнопку "Проверить" 
и если компиляция прошла без ошибок - нажимаем "Загрузка"

Если в консоли посыпались ошибки
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed
Проверьте подключение RX&TX

Как только скетч запишется (дойдет до 100%), отключаем питание и берем паяльник.
Для подключения датчика температуры, нужно припаяться к контактам GND (черный), 3.3v (красный) и Data (GPIO14)

Заранее продумываем как будем выводить провод датчика за корпус Sonoff.

Чтобы провод не гулял и не сорвался с контактов - заделал клеевым пистолетом отверстие вывода провода.

Еще порекомендую на будущее, припаять датчик к основанию гребенки, чтобы оставить возможность подключения через USB to TTL. На случай неудачной прошивки, или обновления.

В идеале конечно сделать 2,5мм выход и подключать через джек. Сделаю так на Sonoff 4CH R2.
Теперь дело за малым. Зайдем по IP-адресу на веб-интерфейс для управления модулем, присвоим GPIO14 датчик температуры DS18x20

Бинго! Теперь на главной странице отображается температура

Подключение датчика температуры и влажности DHT22.
Крепление на DIN-рейку
Sonoff 4CH. Подключение датчика температуры и влажности DHT21 (AM2301)
Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)

UPD!!!
Спустя более чем три (!) года, Sonoff отказал. Сначала начал отваливаться Wi-Fi (пропадало подключение, хотя роутер был в 2х метрах), а затем, после отключения электричества и вовсе перестал подавать признаки жизни.
Разобрав реле, я заметил следы перегрева на месте установки конденсатора 16V 470uF (самый центр платы). Проверил его емкость не отпаивая при помощи ESR тестера, и он показал всего 33pF. Заменил конденсатор на такой же, и Sonoff заработал.