piątek, 16 września 2016

Arduino i ESP8266 w projekcie Home IoT (inteligentnego domu)

Wnioski z działania

Dotychczasowe funkcjonowanie "centrum zarządzania" inteligentnym domem jest więcej niż bardzo dobre.


Praktycznie nie obserwuję jakichkolwiek resetów systemu a wszystkie funkcje (sterowanie cyrkulacją ciepłej wody, sterowanie gniazdami ELRO 433 MHz,sterowanie bramą garażową) działają bezproblemowo. Dodatkowo, po zamontowaniu całości w obudowie czujki PIR całość prezentuje się  naprawdę dobrze. Obudowę pozostawię nie zamkniętą gdyż istotne elementy systemu (NANO, ESP-01, nadajnik i odbiornik 433 MHz) zamontowane są w przejściówkach z goldpinami (jest to układ bądź co bądź testowy) przez co cała konstrukcja jest wyższa niż głębokość obudowy.
Równie ważne jest to że układ praktycznie nie nagrzewa się pomimo zasilania z zasilacza 12 V i konieczności zejścia z napięciem do poziomu 5 i 3,3 V. A to dzięki wysokosprawnej miniaturowej przetwornicy DC DC 12/5 V zamontowanej pod spodem płytki drukowanej. Więcej ciepła wydziela stabilizator 5/3,3V mimo że spadek napięcia na nim to tylko 1,7V i zasila jedynie układ ESP-01. Te chińskie mini przetwornice to naprawdę świetne rozwiązanie do zasilań elektroniki.

O aplikacji BLYNK pisałem już wielokrotnie - bez niej cała ta zabawa w Inteligentny dom nie miałaby większego sensu. Sam nigdy nie napisałbym programu wizualizacyjnego podobnej klasy nie mówiąc już o stworzeniu skutecznego i bezbłędnie działającego łącza internetowego pomiędzy procesorem a aplikacją w telefonie. Chłopaki z BLYNKa wciąż rozbudowują system dodając nowe widgety i funkcjonalności ale nawet to co już jest stanowi rewolucję dla rynku DIY. Trzymam kciuki by ich projekt się powiódł i by zarobili tyle by nie musieć sprzedać się wielkim tego świata. Zobaczymy......

Największa rewolucja od początku tworzenia projektu IoT nastąpiła w oprogramowaniu procesora. Kod programu jest najszybciej zmieniającym elementem w całej zabawie. To zrozumiała bo właśnie w tym zakresie mam najwięcej do nadrobienia. I jakkolwiek kopiowanie fragmentów kodu z innych obcych programów jest podstawowym sposobem jego powstawania  to udaje się mi już z sukcesem tworzyć własne fragmenty działające mniej więcej tak jak tego oczekuję. Najważniejsze jest to, iż program w połączeniu z procesorami (NANO i ESP-01) tworzy w miarę niezawodny system bez zawieszania się czy dziwnych nie planowanych zachowań. To jest nawet ważniejsze niż różnorodność czy elegancja tworzonych funkcji. System na którym w 100% nie można polegać gdy chodzi o ciągłość pracy nie nadaje się praktycznie do stosowania. Świadomie nie wyprowadzam więc na zewnątrz przycisku RESET do przywracania poprawności pracy modułu kiedy dochodzi do jego zaburzenia  np. z powodu zewnętrznych zakłóceń, zaniku napięcia zasilania czy innych zdarzeń "wysypujących" kod programu. Program sam musi sobie poradzić w takich sytuacjach. W programie sporo więc miejsca zajmują elementy samokontroli i autostartu umożliwiające przywracanie prawidłowej jego pracy. Do rozwiązania wciąż pozostaje jednak  problem złej obsługi watchdoga w module NANO. To ostatni element jaki muszę dopracować by uznać tą część programu za w miarę skończoną.

Całość programu na obecną chwile wygląda tak





I to na razie tyle w temacie domowej inteligencji

 cdn ............ jak mniemam

3 komentarze:

  1. Kurcze widzę że naprawdę dużo pracy włożyłeś w ten projekt za co dozgonnie dziękuję. Ja niestety nie umiem programować w Arduino, ale zawsze są gotowe rozwiązania. Dlatego zrobiłem kilka zakupów z https://interblue.pl/inteligentny-dom,c,31 i w sumie moje mieszkanie zaczyna przypominać inteligentny dom :)

    OdpowiedzUsuń
  2. Nie wyrzucę ci tego wpisu tylko dlatego, że ten sklep zasługuje na reklamę. Ma wiele ciekawych elementów do IoT w tym sporo fajnych modułów z ZAMELa.
    https://interblue.pl

    OdpowiedzUsuń
  3. Ten komentarz został usunięty przez administratora bloga.

    OdpowiedzUsuń