Profruit banner

Умен звънец в openHAB

16 декември 2023

Телефонът е винаги с мен и сега, където и да се намирам получавам известие от openHAB, че някой е позвънил и чака пред вратата. А ако ме няма вкъщи става ясно часа и датата на последното позвъняване.

Tasmota Multipress

30 септември 2023

Идеята е Sonoff Touch T1 US 2 в салона, да управлява освен своето осветление и това в кухнята, а още вентилатора.

DIY 12V 1A WiFi Router UPS

22 април 2023

При поредно прекъсване на захранването вкъщи, батерията на нoтбука и двата UPS автоматично превключват на аварийно захранване и едновременно полита съобщение за конфуза

Zigbee2MQTT клониране

21 януари 2023

... как да клонираме съществуваща настройка на Zigbee2MQTT без да се налага последвало интервю на zigbee-устройствата.

LD2410 - бюджетен датчик присъствие в openHAB

11 февруари 2023

Цената на HLK-LD2410 зададе име на поредната тема в моя блог. С негова помощ се постига "народен" датчик присъствие в домашната автоматизация. . ...

power OFF
Уведомление в щорката на телефона ми, че вкъщи няма ток, а долу, че е постъпил. За целта се грижи облака на OpenHAB ...
power ON
... CC2530-zigbee модул и SD XMDZ 8-12W 9-12V UPS.
SD XMDZ-cc2530

УВОД

Градската електро-мрежа в моя квартал е допотопен вид. Силови трансформатори на открито. Дървени стълбове. Кабели, жици протягани според времето. Много често енергозахранването пропада. Било заради поройни дъждове или от претоварване. Реших, че е по силите ми да слепя UPS-блок за моя сървър. Резултатът надмина очакванията ми, за което споделям решението.

OpenHAB center
Toва е моя OpenHAB център.
От 2019г претърпя доста промени. За желязо ползвам стар ноутбук Acer Aspire 4333 ZQ5 (2012г модел). Наличието на монитор и клавиатура е главният коз за този избор. При затворен капак консумацията се колебае около 10W~12W. Родната батерия стана на 11г, но тя държи сървъра над 45мин и това окончателно ме закова като избор на hardware за моята домашна автоматизация.На борда:

3GB 800MHz DDR3 MFG памет.
Оригинален 80GB HDD WDC WD800BEVS-60LAT0, търкалящ се денонощно трета година. Процесор Pentium Dual-Core T4300, наследен от Dell Studio 1555, след неговия upgrade.

Относно рутерите.
При мен конкуренцията между доставчиците на интернет е остра. Прехода към нов доставчик гарантира безплатен рутер завинаги свой. Старите рутери ползвам за донори и логично един такъв отдаде кутията си този UPS проект.

Главният рутер е оптичен, двулентов, 5GHz. Той раздава интернет към десктопите, телефоните и телевизорите вкъщи. Изискванията му са 12V 2A токоизправител. Към главния е закачен втори рутер, купен на свои пари. Този рутер е само за OpenHAB (сървър, esp-та, усилвател, прахосмукачка). Изискванията му са 12V 1A токоизправител. Всеки рутер се поддържа от свой UPS.

ЗАМИСЪЛ

При поредно прекъсване на захранването вкъщи, батерията на нетбука и двата UPS автоматично превключват на аварийно захранване и едновременно полита съобщение за конфуза. В рамките на 45мин, ако захранването от енергото е възстановено, да получа поредно съобщение.

ИЗПЪЛНЕНИЕ

Накратко, абдикирам от ESP Wi-Fi микроконтролери и плавно, но безвъзвратно ги заменям с zigbee аналози. Интерференции от съседи, телефони на гости и пренаситеност вкъщи на Wi-Fi клиенти води до нестабилна работа на някои от 30-те броя ESP разхвърляни на 110кв м площ вкъщи. Заигравка с по-мощен рутер или сместване на Wi-Fi канала в по-чист ефир не са панацея, а горчилката остава. Zigbee e по-стабилен и по-енерго-икономичен. Тук спирам, защото това е поле за дълга отделна тема.
schematic diagram
На входа на самоделния UPS постъпва захранване от токоизправителя. Оптронът, в роля на ключ, следи входното напрежение и подава сигнал към CC2530 модула. Изходът от UPS продължава към рутера, а част от него се заделя за нуждите на E18 MS1-PCB.

Firmware е генериран от PTVO Zigbee Configurator.
PTVO Zigbee Configurator
Подсказки.
GPIO P1.7 e произволно избран. Първият вход (Input 1) на PTVO Zigbee Configurator е замислен като бутон за интервю, затова е самостоятелен без референция към изход. Може да се пропусне, но следващо интервю е възможно само така "Power on, wait 2 seconds, power off, repeat this cycle three times".

На GPIO P1.6 e свързан колектора на транзистора от отпрона. Получава се ключ. Притеглен порта към HIGH става LOW, когато транзистора се отпуши. Този ключ рефлектира на вируален порт P3.0 (Link to out 2). Съответно топик state_l2 публикува съобщения ON или OFF в zigbee2mqtt.

Веднага след флашването, ако CC2530-модул получи 3.3V захранване стартира сам и търси координатор за провеждане на интервю. В моя случай ползвам тестови сървър и едва след успех на теста прикачам новото zigbee-устройство към действащия вкъщи. Това обяснява бутон LINK в схемата.

Всички светодиоди са подбрано в зависимост от пада на напрежение и работен ток.

Важно!
CC2530 GPIO е разчетен на максимален ток 4mA. Изключение правят P1.0 и P1.1 разчетени на максимален ток 20mA.

ФЛАШВАНЕ

Нищo ново и то повтаря процеса описан в тема Zigbee E18-TBH-27 coordinator.
CC Debugger и поялник.
CC2530 flashing
Не купувам единични бройки E18 MS1-PCB и в моя случай цена за един модул излиза 2.60$. Спрях се на тях, заради рекламата че ползват кондензатори Murata. Мощност от 2.5mW радио-излъчване е повече от достатъчна за моята площ. Това гарантира консумация около 29mA, докато при ESP вдига на 70mA до 170mA. Особеност е, че преди първото флашване изисква изтриване на чипа, а веднага след него е възможно флашване.
erasing
flashing
Поредните две снимки показват успешно интервю и първи потоци на топиците.
interview
topics

OpenHAB

OpenHAB interface
За финал. Правило в OpenHAB.
 rule "Power Supply detection"
when
    Item UPS_OnLine changed
then
    val String upsState = UPS_OnLine.state.toString
    switch(upsState) {
        case "ON": { // има ток
            if (UPS_OnLine.state == ON){
              sendNotification("openhab@mail.com","Има ток вкъщи :  " 
                + new DateTimeType().format("%1$td.%1$tm в %1$tH:%1$tM"))}
            }
        case "OFF": { // няма ток
            if(UPS_OnLine.state == OFF){
              sendNotification("openhab@mail.com","Няма ток вкъщи :  " 
                + new DateTimeType().format("%1$td.%1$tm в %1$tH:%1$tM"))}
        }
        default: { logInfo("D1", "No match found for {}", upsState)}
    }
end
  




до нови срещи   ^.^
22 април 2023 profruit 

0 Response to "DIY 12V 1A WiFi Router UPS"

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: openHAB, Ubuntu, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога