
Desk lamp cc2530
Czubixx/zigbee-desk-lamp
DIY Zigbee desk lamp based on CC2530 controllable smart light for workbench/desk use.

Ядром проекта является микроконтроллер ATmega328P. Для работы по протоколу ZigBee используется модуль E18-MS1-PCB.
Brizer ZigBee is an open-source printed circuit board by kvazimoda24, from the kvazimoda24/TionO2-ZigBee repository on GitHub. It is a 2-layer board of 72 × 45 mm with 48 parts on 83 nets, routed with 442 tracks and 99 vias.
It is built around the ATMEGA328P-AU, E18-MS1-PCB and AMS1117-3.3, with the TXS0108EPW and IRF5852TRPBF-VB among its other parts. Its parts include 22 resistors, 8 capacitors, 6 connectors, 4 ICs and 3 transistors. It belongs with the radio and wireless boards and the AVR (ATmega, ATtiny) boards of this library.
Проект для подключения бризера Tion O2 к умному дому через протокол ZigBee
Отлаживалось на бризерах выпущенных в октябре 2020 года. На экземплярах выпущенных раньше или позже может использоваться другой дисплей или другая прошивка.
В бризере в качестве контроллера ЖК дисплея используется микросхема HOLTEK HT1622.
Основная идея заключается в том, что мы цепляемся паралельно входу этой микросхемы и снифим данные, отправляемые в неё.
Для управления замыкаем выводы кнопок панели управления бризера имитируя, таким образом, нажатия на них.
Ядром проекта является микроконтроллер ATmega328P.
Для работы по протоколу ZigBee используется модуль E18-MS1-PCB. Так же пробовал модуль E18-MS1PA1-PCB, но из-за встроенного усилителя он слишком много потребляет, и его не вытягивает встроенный блок питания бризера.
При изменениях температуры или режима работы бризера, а также примерно каждые 20 минут на координатор отправляется текущий статус бризера.
Посылка представляет JSON вида: {"PWR":"1","APW":"1","OUT":"5","SPD":"3","HTE":"1","TMS":"0","HTT":"18"}
Параметры:
PWR - работает бризер или в режиме standbuy (0 - standbuy, 1 - работает)
APW - включён ли режим автоматического включения после сбоя питания. Если 1, то после подачи питания, если на момент сбоя бризер был включён, то бризер включится.
OUT - температура входящего воздуха
SPD - скорость работы вентилятора (от 1 до 4)
HTE - включён ли подогрев воздуха
HTT - до какой температуры подогревается входящий воздух
FLT - осталось дней до замены фильтров
MNT - минимально допустимая температура входящего воздуха
TIM - текущее время (формат ЧЧММ)
TMS - включён ли таймер включения/выключения
TME - время включения (формат ЧЧММ)
TMD - время выключения (формат ЧЧММ)
ERROR - в случае, если бризер отобразил ошибку, то будет отправлен только этот параметр, в значении будет строка с ошибкой. Так же, в случае, если не удалось распознать данные на дисплее, то в значении будет пусто.
Для управления необходимо отправить строку, содержащую одну или несколько команд.
Строка состоит из названия параметра, разделителя, значения параметра. Разделителем является двоеточие ":".
Можно отправить разом несколько параметров. В этом случае параметры должны отделаться друг от друга запятой ","
Оканчиваться строка должна символом возврата каретки (код символа 0x0D).
Максимальная длинна строки 127 символов.
Параметры будут применяться в том же порядке, что и в отправленной команде.
Если встречается ошибочный параметр, то дальнейший разбор строки прекращается.
Пример строки: PWR:1,SPD:2,HTE:1,HTT:17\r
Сами параметры аналогичны тем, что перечислены в статусе, за исключением параметра FLT - изменение срока замены фильтров я не реализовывал, т.к. не увидел необходимости в этом.
Так же, добавлена дополнительная команда EXS. Значение можно выставить любое число до 4 знаков, например 1.
При получении этой команды контроллер проходит по всем настройкам бризера и отправляет их координатору ZigBee сети. Это нужно, чтобы получить текущие значения таймеров, текущего времени, срока службы фильтров и минимально допустимой температуры.
На стороне координатора я использую проект zigbee2mqtt. В нём статус можно получить по адресу zigbee2mqtt/device_id/action
Строка с командами же отправляется по адресу zigbee2mqtt/device_id/set/action содержимое PWR:1,SPD:2,HTE:1,HTT:17
arduino - проект в Arduino IDE версии 1.8.16 - сдесь код для контроллера ATmega328P
kicad - проект в kiCAD версии 5.0.2 - схема платы, печатная плата и готовые герберы.
CC2530 - прошивки для ZigBee модулей
TION-O2_ZIGBEE.js - файл описания устройства для zigbee2mqtt. Его надо положить в каталог data проекта zigbee2mqtt и прописать в файле configuration.yaml:
external_converters:
- TION-O2_ZIGBEE.jsПрошивка для ZigBee модуля создана с помощью контруктора прошивок с сайта https://ptvo.info
Вдохновлялся проектом https://hackaday.io/project/168959-let-me-control-you-hitachi-air-conditioner
| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | 1KOhm | library:R_0805_2012Metric | R7, R9, R10, R11, R12, R13, R15, R16, R20, R21, R22 |
| 9 | 10KOhm | library:R_0805_2012Metric | R1, R2, R3, R4, R6, R8, R14, R17, R18 |
| 4 | MountingHole_3.2mm_M3 | MountingHole:MountingHole_3.2mm_M3 | , , , |
| 3 | IRF5852TRPBF | library:TSOP-6_1.65x3.05mm_P0.95mm | Q1, Q2, Q3 |
| 2 | 0.1mkF | library:C_1206_3216Metric | C4, C5 |
| 2 | 10mkF | library:C_0805_2012Metric | C3, C7 |
| 2 | 22pF | library:C_0805_2012Metric | C1, C2 |
| 1 | 10mkF | library:CP_EIA-3528-21_Kemet-B | C6 |
| 1 | 160Ohm | library:R_0805_2012Metric | R19 |
| 1 | 16MHz | library:Crystal_SMD_HC49-SD | Y1 |
| 1 | 22mkF | library:C_0805_2012Metric | C8 |
| 1 | 330Ohm | library:R_0805_2012Metric | R5 |
| 1 | AMS1117-3.3 | library:SOT-223-3_TabPin2 | U4 |
| 1 | ATmega328P-AU | Package_QFP:TQFP-32_7x7mm_P0.8mm | U1 |
| 1 | AVR_ICSP | library:PinHeader_2x03_P2.00mm_Vertical | J3 |
| 1 | BRIZER_CON | library:IDC-Header_2x05_P2mm_Vertical | J1 |
| 1 | Busy LED | library:PinHeader_1x02_P2.54mm_Vertical | J2 |
| 1 | CC2530_DEBUG | library:PinHeader_2x05_P2.00mm_Vertical | J4 |
| 1 | E18-MS1-PCB | library:E18-MS1PA1-PCB | U3 |
| 1 | Pair Button | library:PinHeader_1x02_P2.54mm_Vertical | J5 |
| 1 | Pair LED | library:PinHeader_1x02_P2.54mm_Vertical | J6 |
| 1 | TXS0108EPW | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U2 |

Czubixx/zigbee-desk-lamp
DIY Zigbee desk lamp based on CC2530 controllable smart light for workbench/desk use.


vooon/smart-roller-gate-controller
ESP32 based roller gate controller with ZigBee remotes


unicab369/ESP-MESS
I am building a Wireless Bridge System that can manage multiple devices using a variety of wireless technologies.

wangyeee/OpenHardware
Collections of hardware design related to my drone project.

MetalMusings/MyOwnEtherCATDevice
Documentation accompanying the "Make My Own EtherCAT device" video serie on Youtube.

galopago/din-rail-circuits
Collection of electronic circuits for DIN RAIL mount
It measures 72 × 45 mm and has 2 copper layers, 1.6 mm thick.
48 parts, built around the ATMEGA328P-AU, E18-MS1-PCB, AMS1117-3.3 and TXS0108EPW. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the kvazimoda24/TionO2-ZigBee repository on GitHub, at the commit this page was made from: the board is kiCAD/Brizer-ZigBee/Brizer-ZigBee.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask kvazimoda24 before reusing the design.