Прошивка Tasmota Ethernet WT32-ETH01.
В Configure Template – GPIO17,GPIO13,GPIO34 – перевести в USER. (и другие которые необходимы)
Так все работает – Ethernet and Tasmota – ESP32 LAN8720A Board – All is Working.
ESP32 | LAN8720 board |
---|---|
GPIO16 – OSC_ENABLE | NC – Осциллятор ENABLE (белый провод, 4.7K к Ground) |
GPIO22 – EMAC_TXD1 | TX1 |
GPIO19 – EMAC_TXD0 | TX0 |
GPIO21 – EMAC_TX_EN | TX_EN |
GPIO26 – EMAC_RXD1 | RX1 |
GPIO25 – EMAC_RXD0 | RX0 |
GPIO27 – EMAC_CRS_DV | CRS |
GPIO00 – EMAC_CLK (Возле кнопки) | nINT/REFCLK (50MHz) |
GPIO23 – SMI_MDC | MDC |
GPIO18 – SMI_MDIO | MDIO |
GND | GND |
3V3 | VCC |
Tasmota Config Ethernet:
#define USE_ETHERNET // Add support for ethernet (+20k code)
#define USE_WT32_ETH01 // Add support for Wireless-Tag WT32-ETH01
#define ETH_TYPE 0 // [EthType] 0 = ETH_PHY_LAN8720
#define ETH_ADDRESS 1 // [EthAddress] 0 = PHY0 .. 31 = PHY31
#define ETH_CLKMODE 0 // [EthClockMode] 0 = ETH_CLOCK_GPIO0_IN
Скоро будет схема и описание.
Tasmota Rules:
BACKLOG SETOPTION114 1;SWITCHMODE 1
RULE
ON SYSTEM#BOOT DO POWER0 OFF ENDON
ON POWER1#STATE=1 DO POWER2 ON ENDON
ON POWER1#STATE=0 DO POWER2 OFF ENDON
ON POWER2#STATE=1 DO POWER1 ON ENDON
ON POWER2#STATE=0 DO POWER1 OFF ENDON
ON MQTT#DISCONNECTED DO POWER0 OFF ENDON
ON SWITCH1#STATE=1 DO POWER2 OFF ENDON
ON SWITCH1#STATE=0 DO POWER1 ON ENDON
RULE2
ON EVENT#MCPINT_D4=0 DO POWER2 OFF ENDON
ON EVENT#MCPINT_D5=0 DO POWER2 OFF ENDON
RULE3
ON EVENT#MCPINT_D3=1 DO POWER1 ON ENDON
ON EVENT#MCPINT_D3=0 DO POWER2 OFF ENDON
Правила для системы авто-полива. Отображения индикации.
RULE
ON EVENT#MCPINT_D3=1 DO POWER1 TOGGLE ENDON
ON EVENT#MCPINT_D3=0 DO POWER1 TOGGLE ENDON
ON EVENT#MCPINT_D4=1 DO POWER2 TOGGLE ENDON
ON EVENT#MCPINT_D4=0 DO POWER2 TOGGLE ENDON
ON EVENT#MCPINT_D5=1 DO POWER3 TOGGLE ENDON
ON EVENT#MCPINT_D5=0 DO POWER3 TOGGLE ENDON
ON SYSTEM#BOOT DO POWER0 0 ENDON
LAN Ethernet на LAN8720 и ESP32. Версия 1.0
Схема: DipTrace Schematic – LAN-ESP32-Relay-V1.0
Ethernet РАБОТАЕТ.
Template for Tasmota: {“NAME”:”ESP32-DevKit-Romik”,”GPIO”:[0,1,1,1,1,1,0,0,1,0,1,1,3840,1,5600,0,0,0,0,5568,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1],”FLAG”:0,”BASE”:5}
По возможности для подключения использовать только передающие контакты.
p.s. Так как есть небольшая ошибка в схеме.
include/tasmota.h
MAX_FRIENDLYNAMES = 8
SetOption24 Set pressure units : 0 = hPa (default) 1 = mmHg
SetOption146 1 = enable display of ESP32 internal temperature
https://tasmota.github.io/docs/
Rule1
ON system#boot DO backlog var1 0;power0 off ENDON
ON power2#state=1 DO if (var1!=1) ruletimer1 0;var1 1 endif ENDON
ON event#MCPINT_D0=1 DO if (var1==1) var1 2;ruletimer1 10 endif ENDON
ON rules#timer=1 DO Backlog var1 0;power2 off ENDON
Если включить Power2 то включается режим ожидания MCPINT_D0, как только D0=1 то через 10 секунд Power2 выключиться.
Rule1
ON button1#state DO Backlog Power1 %value%; RuleTimer1 600 ENDON
ON Rules#Timer=1 DO Power1 off ENDON
RuleTimer1 600 ENDON
Additionally RuleTimer1 will begin to countdown 10 minutes
ON Rules#Timer=1 DO Power1 off ENDON
After the RuleTimer1 expires the light will be turned off (if you forgot to turn it off)
Выключит Power1 через 10 минут.
When SetOption114 1 all switches are detached from their respective relays and will send MQTT messages instead in the form of {“Switch”:{“Action”:””}}.
SwitchMode 1
Set switch to follow mode (0 = OFF, 1 = ON)
RULE
ON SWITCH1#STATE=1 DO POWER2 OFF ENDON
ON SWITCH1#STATE=0 DO POWER1 ON ENDON
Управление насосом в колодце.
BACKLOG SETOPTION114 1;SWITCHMODE 1
RULE
ON SYSTEM#BOOT DO POWER0 OFF ENDON
ON POWER1#STATE=1 DO POWER2 ON ENDON
ON POWER1#STATE=0 DO POWER2 OFF ENDON
ON POWER2#STATE=1 DO POWER1 ON ENDON
ON POWER2#STATE=0 DO POWER1 OFF ENDON
ON MQTT#DISCONNECTED DO POWER0 OFF ENDON
ON SWITCH1#STATE=1 DO POWER2 OFF ENDON
ON SWITCH1#STATE=0 DO POWER1 ON ENDON
Оригинал.
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)
Особенности проекта:
- WiFi ESP32-WROOM-32(E,D) – Основная прошивка Tasmota
- ESP32-WROOM-32E (ESP32-D0WD-V3 rev.3) – Работает.
- Ethernet to WiFi – Onion Omega2+
- 4 – Solid State Relay – Твердотельных реле (2А) Индикация включения.
- 4 – Оптронных входа (Изолированные Входа)
- 1 – 220 Вольт вход (Изолированный Вход)
- WS2812B – Индикация. LedLink – Индикация WiFi and MQTT
- Индикация напряжений 3.3В, 4.2В
- Интерфейсы Ethernet (Omega2+), WiFi
- Установить модуля GSM SIM800L
- USB для перепрограммирования ESP32 (Boot перемычка на всякий случай)
- Внешнее подключение 4xGPIO, I2C, 3.3V, GND.
- Внутренние подключение 2xGPIO (Например Display ТМ1637) Boot, Reset
- Питание 9-15 Вольт.
- Дополнительный модуль ZigBee
- Схема: DipTrace Schematic – Onion-Tasmota-V1.0 (PDF)
Подготовка платы для производства.
Ну вот наконец то приехали готовые платы от PCBWay.
Минимальная настройка для управления.
- SetOption146 1 # to enable display of ESP32 internal temperature
- backlog SetOption36 0;SetOption65 1;wificonfig 4; SetOption59 1; TelePeriod 150; TimeZone +3
SwitchMode5 1 – Switch5 is mode 1
Rule2 ON switch5#state DO backlog sms %value%; restart 1 ENDON
/etc/init.d/sms3 restart – Так как будет потерна связь с GSM модемом.
def send_sms(cmd, idx, payload, payload_json)
var ser = serial(16, 17,115200, serial.SERIAL_8N1)
ser.flush()
ser.write(bytes().fromstring('AT+CMGF=1\n')) # Text mode
ser.write(bytes().fromstring('AT+CMGS="+71231231212"\n'))
ser.write(bytes().fromstring('220 is '))
if payload == "1"
ser.write(bytes().fromstring('ON'))
else
ser.write(bytes().fromstring('OFF'))
end
ser.write(bytes().fromstring('\n'))
ser.write(bytes().fromstring('\032'))
ser.flush()
tasmota.resp_cmnd_done()
end
tasmota.add_cmd('sms', send_sms)