Умен дом, как стигнах дотук

В тази част ще ви кажа какви недостатъци са установени през четирите години работа на системата и какви други полезни неща са внедрени.
Е, малък спойлер: под разреза ще има кратко описание на „друг занаят на esp8266 с предпочитание и куртизанки“.
И така, изминаха четири години (от началото на работата на първите модули, общо шест) Като цяло системата се показа добре, но се появиха два недостатъка, но съвсем очаквани.
Първое централизацията. Да, това е лошо, да, знаех за това, но нямаше опит в производството на крайни автономни устройства и протоколът 1-Wire, избран като основен, не предоставяше такава възможност.
Съответно централният сървър се превърна в тясно място. Пет пъти, поради повреда на хардуера, цялата система не работи повече от един ден (или дори два или три) и трябваше да използвам резервен (включете осветлението с ножови превключватели в щита, правете без подово отопление, вентилация, повторно калибриране на водомери и т.н.).
Освен това се наблюдава увеличение на прекъсванията на тока в дома за повече от час. Зареждането на UPS-а беше на изчерпване и сървърът спираше аварийно или по-точно много грубо беше спрян. След това възходът му не винаги вървеше гладко, главно защото MySQL наистина не харесва такова грубо отношение към себе си. Възстановяването на таблици (и има цялата история за всички сензори от много години) понякога отнемаше часове и той не винаги успяваше да го направи без външна намеса. Да, този проблем, теоретично, може да бъде решен чрез закупуване на по-интелигентен UPS, свързването му към сървъра и обучениесървърът обикновено се изключва в случай на прекъсване на захранването. Но сегашният ми UPS все още е доста бодър старец и дънната платка на сървъра по някаква причина не искаше да работи нормално в режим, като се включва автоматично след включване, ако е била изключена преди това.
Второе ограничение на топологията на шината 1-Wire + моята неопитност.
Да, четох, че трябва да има централен ствол и само малки клони, много е писано за това. Но проектът се разшири много непредвидимо и в същото време всичко изглеждаше работещо. И тогава, в един „перфектен“ момент, спря да работи. Тоест, изключваш някои от устройствата, всичко е наред, включваш го отново и сигналът започва да "плува". Замених някои от основните линии с екранирани, минимизирах разклоненията, но вече не е възможно да се направи пълноценна единична шина без перфоратор и значителна повреда на финала. В резултат на това разделих мрежата на два сегмента, донесох я на два отделни контролера, но въпреки това веднъж на всеки няколко месеца отново възникна проблем, когато устройствата започнаха да изпадат от мрежата. Помогна само пълното изключване на цялата система с последващото включване и тази процедура не е много тривиална и без мен членовете на семейството ми не могат да я изпълнят.
Междувременно преди около две години попаднах на една статия и ми хрумна идеята да направя нещо като подарък за рождения ден на баща ми. Той обича да отглежда различни екзотични растения в двора си и се нуждае от постоянен контрол на температурата в различните климатични зони на градината си. Всъщност, преди въвеждането на системата, това ставаше чрез пълно заобикаляне (топла тръба :) ) на аналоговите алкохолни термометри два пъти на ден. Подхранвах тази идея няколко месеца, след което поръчах необходимотокомпоненти, направи платка, написа фърмуера. Като цяло се оказа нещо подобно:


Силата е пасивна. Поръчах водоустойчива версия на сензора за басейн.

Сега татко гледа температурата на компютъра.

Е, с диаграми:


По време на процеса на разработка наистина харесах този модул и започнах да мисля как да го приложа в моята система, а след това проблемите, описани в началото на статията, просто се натрупаха. След още няколко експеримента с тези чипове, започнах да разработвам платката, която вече успешно замени старата система в три зони на моя скромен дом.
И така, на вашето внимание е представен “esp07_4PIO_6S v2”.


Миналия път големият проблем беше подборът на тялото, така че този път танцувах от тялото. Тъй като имаше случаи от стари модели на медийния плейър Dune, изборът падна върху тях. След като довърших с файл (дупките за входовете и изходите на медийния плеър са малко по-различни, не можеше да се качат 220v към HDMI конектора :)) пасна идеално. Само температурният сензор трябваше да бъде направен отвън, тъй като вътре пълнежът загрява въздуха.
Входове и изходи на 220v

Входове и изходи на 5v и 12v

Какво може този модул и защо е по-добър от старата система?
- Не са необходими допълнителни кабели за монтаж. Захранва се от същата мрежа, която го управлява.
- Ако централният сървър или Wi-Fi е прекъснат или недостъпен, той превключва в офлайн режим и управлява според офлайн сценарий (сценарият за всяка зона може да бъде различен)
- Взима данни за температурата / влажността / светлината в помещението.
- Управлява 4 устройства 220, четеданни от 6 сензора за сух контакт.
- Възможност за независимо изпращане на данни към thingspeak.com и подобни системи.
- Отговаря по-бързо от старата система (не че това беше проблем, но преди всеки сензор се запитваше два пъти в секунда, което можеше да даде общ лаг от повече от секунда). Тази система е прекъсната.
- Възможност за актуализиране на фърмуера „по въздуха“.

Не беше възможно да се разреди такава дъска в един слой, така че трябваше да овладея двустранния LUT:

Експлоатационният опит е вече повече от шест месеца, плановете са всички контролни части на системата да бъдат заменени с този модул, като остане само мониторингът на 1-Wire.
Въпреки че, ако има въпроси относно фърмуера и архитектурата на esp07_4PIO_6S, ще напиша подробна статия за този занаят, според мен има няколко интересни решения.