Прошивка Tasmota Ethernet WT32-ETH01.
Архив рубрики: Новости
Aubess WiFi Smart IR Controller – Переделка на Tasmota
Оригинал.
Pin(hardware) для BK7231N
- 11 – Кнопка
- 12 – LED
- 8 – IR Receive
- 9 – IR Send
Отпаяли оригинальный Wi-Fi чип BK7231N – хотя для него тоже есть прошивка как Tasmota, но очень кривая. Впаяли ESP-01 и все отлично работает.
ESP-01
- GPIO3 – IR Send
- GPIO0 – IR Receive
- GPIO2 – LED
- RST – Кнопка (11 он BK7231)
Сервис поверхностного монтажа печатных плат – PCBWay.
Хотелось бы рассказать что нужно сделать чтобы заказать поверхностный монтаж плат у PCBWay. Какие файлы необходимы и последовательность действий. Мы изготовили одну такую плату. Для тестирования данной возможности решили сначала распаять только все сопротивление и некоторые конденсаторы. Внизу вы видите результат монтажа.
Как и везде Вам нужны будут два файла BOM (Bill of Materials) и CPL (Component Placement List). Данные файлы вы можете получить из Ваших программ в которых вы создавали схемы и разводили их. У каждого сервиса который занимается поверхностным монтажом есть свои нюансы для этих файлов. Вот пример таких для PCBWay.
BOM Файл.
CPL Файл.
А теперь самое важное и интересное. В BOM файле есть поле Mfg Part# – так вот это поле нужно заполнить самим, взяв номера деталей которые вы хотите разместить на своей плате. Получить данный номер можно в On-Line магазине по продаже электронных компонентов (лучше конечно китайский). Есть такой известный магазин https://www.lcsc.com/ в котором можно найти практически все что Вам нужно. Заходите на сайт магазине, находите нужный Вам элемент и копируете его Mfg Part к себе в BOM файл.
Выделено желтым цветом. Выбирайте детали подешевле и конечно по наличию в магазине. После того как все файлы готовы Вы можете перейти к заказу на изготовление платы и заказ поверхностный монтажа. При оформлении заказа и заполнения полей, если Вы что то не поняли их можно не заполнять.
После этого Вам пришлют BOM файл с ценами на детали которые Вы выбрали. Если Вас все устраивает Вы соглашаетесь, оплачиваете и процесс изготовления и монтажа будет запущен в работу. Не смущайтесь если увидите что время монтажа будет указан очень долгим. В действительности все делается примерно в течении недели.
Вот наш полностью готовый проект.
Small Weather Station (ESP8266) ESP-12F
Маленькая погодная станция, которая работает от батарейки. В основе станции наш любимый модулю ESP-12F с прошивкой Tasmota. Принцип работы очень просто, передавать температуру, влажность и давление каждые 5-15 минут. В Tasmot-e есть возможность переводить ESP-12F в режим сна (DeepSleepTime) для сохранения энергии. После нескольких экспериментов, стало понятно что все работает. Еще в Tasmota-e есть отличная функция, показывать напряжение питание модуля. Для включения нужно в конфигурации подключить опцию #define USE_ADC_VCC. Смотрите рисунок ниже с данными по состоянию питания. Сейчас все это тестируется. 12.01.2023 Включен режим DeepSleepTime 900; Teleperiod 30
Особенности проекта:
-
- Подключение внешнего питания 5В для настройки и тестирования
- Отключение и включения DeepSleep режима для модуля
- Выводы для программирования самого модуля
- На плату можно установить DS18B20 датчик температуры
- Возможность установки модулей BMP180, BMP280, BME280
- Питающий элемент CR123A – батарейка (Аккумулятор ставить нельзя)
- SMALL-Weather-Station-ESP8266 Схема (Schematics)
Плата разработана на DipTrace-е, производство плат было заказано на PCBWay (Многофункциональный сервис по изготовлению печатных плат). Давно пользуюсь услугами данного производителя плат, нареканий нет, быстрое и качественное изготовление и быстрая доставка.
SMALL-Weather-Station-ESP8266 Схема (Schematics)
LedLink = GPIO12
Корпус.
Tyco 65002 55x55x32
DeepSleep
- backlog SetOption36 0;SetOption65 1;wificonfig 4; TelePeriod 30; TimeZone +3
- deepsleeptime 300 # 5 Минут
- DeepSleepTime 600, it will wake-up every 10 minutes (e.g., 8:00, 8:10, 8:20, …)
- SetOption24 1 => Давление в мм.р.c. (mmHg)
- SetOption53 1 => Показать IP в GUI – удобно.
https://github.com/tasmota/docs-7.1/blob/master/DeepSleep.md
Все отлично работает.
Пример работы:
tele/SWS/LWT Offline 01-12 10:16:28 tele/SWS/SENSOR {"Time":"2023-01-12T10:16:25","DS18B20":{"Id":"3C41F6492F31","Temperature":22.5}} 01-12 10:16:25 tele/SWS/STATE {"Time":"2023-01-12T10:16:25","Uptime":"0T00:00:26","UptimeSec":26,"Vcc":3.231} 01-12 10:16:25 tele/SWS/SENSOR {"Time":"2023-01-12T10:16:10","DS18B20":{"Id":"3C41F6492F31","Temperature":22.3}} 01-12 10:16:10 tele/SWS/STATE {"Time":"2023-01-12T10:16:10","Uptime":"0T00:00:11","UptimeSec":11,"Vcc":3.194} 01-12 10:16:10 tele/SWS/LWT Online 01-12 10:16:00
Напряжение.
На батарейке CR123A – работает 1 Месяц. Будем изучать как продлить жизнь.
В режиме DeepSleep INA219 показывает 1 мА. Вот график с частотой просыпания 5 минут.
ESP32 GSM Tasmota Relay (SSR) Versiaon 3.0
Улучшенная версия ESP32-GSM-Tasmota-Relay V3.0. Исправлены ошибки, удалены не нужные интерфейсы OpenTherm, добавлены 4xSSR (Твердотельные реле), добавлена возможность установить BMP280 и RTC(Real Time Clock DS3231) одновременно и даже подключить TM1637. SPI на плате также присутствует. Небольшой пример использования Berry на Tasmota для отправки SMS и управление портами через GSM. gsm-berry-tasmota-ver-1-0 (PDF)
- ESP32-WROOM-32(D) – прошивка Tasmota
- 4 Изолированные Входа. (12V)
- 4 SSR – Твердотельные реле (2А) – Индикация включения.
- 4 LED (Индикация входов или Выходов)
- Индикация питания 3V, 4V(GSM), Контроль напряжения 4V через GPIO (ADC)
- Индикатор состояния сети (WiFi, MQTT, etc.)
- RS485 Интерфейс.
- Buzzer – зуммер.
- WS2812B – Индикация.
- Установка модулей RTC-DS3231, BMP280, SPI Модулей
- Внешнее подключение 2xGPIO, I2C, 3.3V, GND.
- Можно установить модуль GSM SIM800L или ZigBee E18-MS1-PCB/IPX (Описание ниже)
- USB для перепрограммирования.
- Питание 9-15 Вольт.
- Схема.
Готовим платы к производству.
Всегда можно посмотреть процесс изготовления Вашей платы.
Процесс сборки (Монтаж PCB)
Analog1 = Напряжение на GSM модеме. R1 = 4.7K, R2 = 10K
V = (R1+R2)/R2 * (Analog1 * 3.3)/4095
V= ((4700+10000)/10000) * (3359*3.3)/4095 = 3.97V
Управление RGB(WS2812B) светодиодом:
SetOption17 1 – To set color units to R,G,B,W (0-255):
color 255,0,0,0 – Red
color 0,255,0,0 – Green
color 0,0,255,0 – Blue
color 0,0,0,255 – White
backlog color 0,0,255,0;dimmer 40
Улучшения по сравнению с предыдущими версиями.
Еще немного фото.
Настройка:
Для инициализации GSM модема при старте или рестарте.
rule ON System#Boot do backlog power1 on;power1 off endon
При всех модулях.
backlog webbutton1 R1;
webbutton2 R2;
webbutton3 R3;
webbutton4 R4;
webbutton5 GSM;
webbutton6 WLED;
webbutton7 CLOCK;
webbutton8 IN1;
webbutton9 IN2;
webbutton10 IN3;
webbutton11 IN4
- SetOption146 1 # to enable display of ESP32 internal temperature
- GPIO4 – Reset SIM800L
- backlog SetOption36 0;SetOption65 1;wificonfig 4; SetOption59 1; TelePeriod 150; TimeZone +3
Управление MCP23008:
Входа
backlog sensor29 0,2,1; sensor29 1,2,1; sensor29 2,2,1; sensor29 3,2,1
Индикация входа
backlog sensor29 4,5,0; sensor29 5,5,0; sensor29 6,5,0; sensor29 7,5,0
Посылаем SMS BerryScript:
var ser,msg
ser = serial(16, 17,115200, serial.SERIAL_8N1)
def sim800l(cmd, idx, payload, payload_json)
ser = serial(16, 17,115200, serial.SERIAL_8N1)
ser.write(bytes().fromstring(‘AT+CMGF=1\n’))
msg = ser.read()
ser.write(bytes().fromstring(‘AT+CMGS=\”+74951234567\”\n’))
msg = ser.read()
ser.write(bytes().fromstring(payload))
msg = ser.read()
ser.write(bytes().fromstring(‘\032’)) # 1A Ctrl-Z
msg = ser.read()
ser.flush()
print(‘SMS Done’)
tasmota.resp_cmnd_done()
end
tasmota.add_cmd(‘sms’, sim800l)
def p8() tasmota.cmd(“power8 toggle”) end
def p9() tasmota.cmd(“power9 toggle”) end
def p10() tasmota.cmd(“power10 toggle”) end
def p11() tasmota.cmd(“power11 toggle”) end
# tasmota.add_cron(“*/10 * * * * *”, p8, “Power8”)
# tasmota.add_cron(“*/15 * * * * *”, p9, “Power9”)
# tasmota.add_cron(“*/20 * * * * *”, p10, “Power10”)
# tasmota.add_cron(“*/25 * * * * *”, p11, “Power11”)