Orange Pi Zero 2W,Tasmota,ZigBee,Home Assistant.

  • Orange Pi Zero 2W 4G RAM
  • Tasmota ESP32
  • ZigBee E72-2G4M20S1E (CC2552P) Coordinaror 3.0 (zStack3x0)
  • Home Assistant Supervised
  • 4 x 12 Вольт выхода для внешних реле
  • 4 x Входа для сухих контактов
  • 1 x I2C External Interface
  • WiFi + Ethernet
  • 2 x USB 2.0
  • USB-UART для ESP32, CC2652P, Orange Pi Zero 2W Unix Console
  • RTC DS3231 или другой через I2C Internal Connector
  • JTAG – для CC2652P на плате.
  • Питание 12 Вольт (оно же для внешних реле)
  • Схема Schematic – OrangePiZero2W-HA-Ver-1-0-2023
  • FFC/FPC Шаг: 0.5  Pins: 24
  • Установка  Home Assistant on OrangePi 5


Ethernet LED: if-up and if-down для включение и выключения LED на RJ45

  • /usr/bin/gpio mode 26 output
  • /usr/bin/gpio mode 27 output
  • /usr/bin/gpio write 27 1
  • /usr/bin/gpio write 26 1


Ссылки по теме:

P.S. При программировании ZigBee модуля питание от JTAG программатора не подключать.

Home Assistant:

  • Для уменьшения логов в configuration.yaml добавить logger: default: critical

Tainted: cgroupsv1

echo "extraargs=apparmor=1 security=apparmor" >> /boot/orangepiEnv.txt
sed -i -e "1 s/$/ systemd.unified_cgroup_hierarchy=0/" /boot/orangepiEnv.txt
update-initramfs -u
reboot

Home Assistant – Вывести температуру процесора на дисплей через MQTT Publish.
Tasmota TM1637
topic: cmnd/ha2wESP32/displaytext
payload_template: “{{ states(‘sensor.system_monitor_processor_temperature’)+’^’ }}”

TM1637 or TM1638 – Displayclock 2 – Выводит часа с мигающими точками в формате 24h

payload: {{ states(‘sensor.system_monitor_processor_temperature’)+’^’ }}{{ now().hour}}{{ now().minute }}

1CH ZigBee switch module-l (без нуля)

Отлично работает со светодиодными или энергосберегающими лампами.
Внутри стоит симистр BTA16.

Тесты:

  • Энергосберегающая 21W – не мерцает
  • Светодиодная 10W – мерцает
  • 2 x Светодиодные Лампы 10W – не мерцают 
  • 3 x Светодиодные Лампы 10W – не мерцают

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 Вольт.
  • Схема.

Схема. (Schematics)

Готовим платы к производству. 

https://www.pcbway.ru/

Всегда можно посмотреть процесс изготовления Вашей платы.

Процесс сборки (Монтаж 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

Import string
def rule_adc(value, trigger)
var i=string.find(trigger,"#A")
var tr=string.split(trigger,i+2)
var adc=number(tr[1])
print("value of adc",adc," is ",value)
# V = (R1+R2)/R2 * (Analog1 * 3.3)/4095
var V= ((4700+10000)/10000) * (value*3.3)/4095
print("Voltage:",V)
end
tasmota.add_rule("ANALOG#A1",rule_adc)

Управление 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

Продолжить чтение ESP32 GSM Tasmota Relay (SSR) Versiaon 3.0

ZigBee Module для Onion/Tasmota PCB 1.0

 

Тестовая прошивка.(Работает) 2023.04.19 Home-Assistant видит только GPIO выключатели.
Tasmota – Видит BMP280 и DS18B20 и LDR.
https://ptvo.info/


Тип платы: CC2530
Тип устройства: Роутер
Имя производителя: RomikGSMzigBee
Идентификатор модели: GSMzigBeeRouter
Описание расположения: Moscow
Обновить дату и время сборки в прошивке: 2023-04-18
Включить сторожевой таймер (watchdog): Да
Отключить сброс устройства через процедуру включения/выключения: Да
Отключить удаленную настройку интервала во время работы: Да
Индикатор статуса: P01, Подключение или ошибки
Установить интервал отправки отчетов (с): 150

Выходные контакты:
P07: Выход 2, GPIO, Внешняя подтяжка к + (Роль: Универсальный), Запоминать состояние
P06: Выход 3, BMP280 (I2C SDA), Внешняя подтяжка к + (Адрес (десят-ый): 118)
P05: Выход 4, I2C SCL/SPI CLK, Внешняя подтяжка к +
P10: Выход 5, GPIO, Внешняя подтяжка к + (Роль: Универсальный), Запоминать состояние
P13: Выход 6, DS18B20, Внешняя подтяжка к + (Идентификатор сенсора (необязат., шестнад-ый): )
P04: Выход 7, АЦП (макс. 3.3В) (Коэффициент: 1, Сдвиг: 0)

Входные контакты:
P20: Вход 1, Внешнее пробуждение, Внешняя подтяжка к +

Вот так выглядит данные SENSOR на Tasmota.


{"ZbReceived":{"0x7779":{"Device":"0x7779","Power":0,"Endpoint":2,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","Power":0,"Endpoint":5,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","AnalogValue":99273,"AnalogInDescription":"Pa,00","Endpoint":3,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","AnalogValue":28.99,"AnalogInDescription":"C,00","Endpoint":3,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","AnalogValue":27.69,"AnalogInDescription":"C,28-FF-64-0E-7E-73-74-32","Endpoint":6,"LinkQuality":111}}}
{"ZbReceived":{"0x7779":{"Device":"0x7779","AnalogValue":3.29,"AnalogInDescription":"V","Endpoint":7,"LinkQuality":111}}}

Дополнительные модули ZigBee E18-MS1-PCB

Дополнительные модули.

ZigBee E18-MS1-PCB/IPX (https://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/)

P2.0 – Отключить от GND – для работы как Coordintaor ZigBee (Перерезать дорожку)
ДО ВПАИВАНИЯ МОДУЛЯ.

Маркировка на плате R1 и R3 – перепутаны ! На плате.

E18-MS1-PCB-Module-Romik-V1.0 (Схема) Schematics

https://ptvo.info/cc2530-based-zigbee-coordinator-and-router-112/

R3,R2 – Запаять для использования порта P0.2(RX),P0.3(TX) как UART (Смотреть на плату)
R1,R4 – Запаять для использования порта P1.4(RX),P1.5(TX) как UART (Смотреть на плату)
Одновременно запаивать не нужно.

Программирование модуля: https://zigbee.blakadder.com/flashing_ccloader.html

P.S. External sensor power control – it is a special output type. The firmware sets the configured output to the HIGH state before reading a sensor’s value, and sets it to LOW after that. The CC2530 and CC2531 chips allow you to use pins P10 and P11 to supply power up to 20 mA to external sensors.

https://ptvo.info/zigbee-configurable-firmware-features/power-saving-mode/