Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

System monitorowania domu na Intel Edison z modułem ESP8266

ghost666 03 Nov 2015 18:31 7389 3
Nazwa.pl
  • System monitorowania domu na Intel Edison z modułem ESP8266
    W poniższym artykule opisane jest, jak autor projektu wykorzystując moduł ED-E (EDison-Esp8266, wymowa jak Eddie) skonstruował system automatyzacji domowej. ED-E do monitorowania i zarządzania domem wykorzystuje sensory i aktuatory bezprzewodowe. System składa się dwóch elementów: jednostki bazowej i jednostek wykonawczych z WiFi.

    Jednostka bazowa składa się z modułu Intel Edison, sześciu sensorów, wyświetlacza OLED oraz czterech przycisków do kontroli systemu. Jednostkę wyposażono także w buzzer alarmowy. Całość zamknięta jest w obudowie wykonanej w technologii druku 3D. Moduł Intel Edison odpowiedzialny jest m.in. za logowanie danych z sensorów i zapis ich w bazie danych MySQL. Dane te wysyłane są też do Intel IoT Analytics Dashboard, co umożliwia oglądanie danych w czasie rzeczywistym. W sytuacji alarmowej jednostka bazowa wydaje głośny dźwięk z buzzera oraz wysyła powiadomienie poprzez e-mail. W jednostkę bazową wbudowano następujące sensory:

    * Płomienia
    * Gazowy (monitoruje poziom H2, LPG, CH4, CO, par alkoholu, dym i propan)
    * Jakości powietrza (monitoruje poziom CO, par alkoholu, acetonu, rozpuszczalników i formaldehydu)
    * Termometr
    * Miernik wilgotności
    * Decybelomierz (miernik poziomi hałasu)

    Jednostki wykonawcze wyposażone są w transmiter WiFi. Te niewielkie modułu pozwalają na umieszczenie ich w dowolnym miejscu, zależnie gdzie są potrzebne. Podzielić je można na dwa rodzaje: sensory i aktuatory.

    Sensory to niewielkie moduły działające generalnie bistabilnie. Gdy system detekcji w module wykryje przekroczenie pewnego progu, sygnał z sensora zostaje wysłany poprzez WiFi do jednostki bazowej, która z kolei wysyła dane do IoT Analytics . Sensory takie mogą być umieszczane np. przy drzwiach, co umożliwia użytkownikowi systemu zdalne monitorowanie stanu drzwi etc.

    Aktuatory działają odwrotnie niż sensory. Gdy naciśniemy jakiś wirtualny przycisk w IoT Analytics, jednostka bazowa wyśle sygnał do aktuatora poprzez WiFi. Moduł taki, po otrzymaniu informacji wykona jakąś akcję - trochę jak przekaźnik. Można wykorzystać te moduły do otwierania drzwi, załączania świateł, ogrzewania etc. z dowolnego miejsca na świecie.

    System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266


    System ED-E wspiera w zasadzie nieskończoną ilość modułów na WiFi (ograniczona jest jedynie maksymalną ilością urządzeń w danej sieci), więc możliwości konfiguracji systemu automatyki są w zasadzie nieskończone. W poniższym artykule opisano, jak zmontować jednostkę bazową i jak złożyć, i uruchomić moduły WiFi.





    Krok 1: Zbierz potrzebne materiały

    System monitorowania domu na Intel Edison z modułem ESP8266


    Zanim zaczniemy musimy zgromadzić potrzebne do budowy materiały. Do zmontowania jednostki bazowej potrzebujemy:

    * Modułu Intel Edison z płytką Arduino Breakout
    * Płytkę uniwersalną Adafruit Permaproto
    * Sensor jakości powietrza Grove Air Quality
    * Sensor gazowy Grove MQ2
    * Sensor temperatury i wilgotności Grove DHT22
    * Sensor dźwięku Grove Sound
    * Sensor płomienia Grove Flame
    * Wyświetlacz OLED Grove 96x96 OLED Display
    * Buzzer - Grove Buzzer
    * Złącza z rastrem 0,1"
    * Złącza do zasilania
    * Rezystor 10 kΩ
    * Przyciski 6 mm
    * Dużo kabelków

    Do konstrukcji sensorów z WiFi potrzebne nam będą:

    * Moduł Adafruit HUZZAH Esp8266
    * Bateria o pojemności 500 mAh
    * Konektor JST z płytką z wyprowadzeniami
    * Mikroswitch

    Do konstrukcji aktuatorów z WiFi potrzebne nam będą:

    * Moduł Adafruit HUZZAH Esp8266
    * Przekaźnik SPDT
    * Zasilacz 5 V (np. ładowarka USB)
    * Przedłużacz

    Krok 2: Druk 3D obudowy jednostki bazowej

    System monitorowania domu na Intel Edison z modułem ESP8266


    Obudowa jednostki bazowej składa się z trzech elementów wydrukowanych osobno:

    * Lewej strony
    * Prawej strony
    * Przycisków

    Jeśli nie posiadacie drukarki 3D, można druk zlecić komuś innemu. W oryginalnym artykule autor podaje kilka potencjalnych firm z swojej okolic.

    Pliki .stl z projektami tych elementów pobrać można korzystając z poniższych linków:

    http://www.instructables.com/files/orig/FC5/TDYI/IEOOZ8VS/FC5TDYIIEOOZ8VS.stl
    http://www.instructables.com/files/orig/F2O/F95C/IEOOZ8VW/F2OF95CIEOOZ8VW.stl
    http://www.instructables.com/files/orig/FJ9/WTB6/IEOOZ8W6/FJ9WTB6IEOOZ8W6.stl

    Krok 3: Podłączanie sensorów do jednostki bazowej

    System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266


    Rozpocznijmy montaż systemu od złożenia jednostki bazowej. Najpierw należy podłączyć sensory do modułów Intel Edison. Do realizacji tego etapu potrzebne są nam wszystkie sensory wbudowane w bazę (oprócz OLEDa), płytka uniwersalna i trochę kabelków.

    Wszystkie sensory od Grove używają tego samego, 4-pinowego połączenia. W ramach połączenia znajdziemy dwie linie sygnałowe (jednakże przedstawione moduły korzystają tylko z jednej), zasilanie oraz masę. Rozpoczynamy montaż od przecięcia płytki uniwersalnej na dwie części i zalutowanie pinów, tak jakbyśmy konstruowali shield do Arduino. Upewnijmy się, że płytki pasują do Intel Edison, jak pokazano na zdjęciu.

    Montaż sensorów rozpoczynamy od przylutowania czerwonych kabelków - zasilania - do płytki uniwersalnej. Następnie lutujemy kabelki czarne - masę. Na płytce uniwersalnej wykonujemy połączenia tak, aby masa i 5 V z Intel Edison połączone było z, odpowiednio, masą i zasilaniem sensorów. Gdy podłączymy już zasilanie do sensorów, musimy podłączyć - żółte kabelki - linie sygnałowe. Lutujemy je w następujący sposób:

    * Sensor jakości powietrza > A0
    * Sensor płomienia > D2
    * Sensor gazowy MQ2 > A1
    * Decybelomierz > A2
    * Buzzer > D3
    * Termometr > D8

    Po zlutowaniu wszystkiego w całość sprawdzamy jeszcze raz wszystkie połączenia. Jeśli wszystko jest ok, możemy kontynuować do następnego kroku.

    Krok 4: Dodanie modułu wyświetlacza OLED do jednostki bazowej

    System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266


    Inaczej niż sensory, wyświetlacz zasilany jest napięciem 3,3 V i kompatybilne z tym napięciem muszą być także sygnały sterujące. Podłączenie wyświetlacza pokazanego na zdjęciu przebiega następująco:

    * Podłączamy czerwony przewód - zasilanie - do napięcia 3,3 V
    * Podłączamy czarny przewód - masę - do GND
    * Podłączamy żółty przewód - SCL interfejsu - do A5
    * Podłączamy biały przewód - SDA interfejsu - do A4.

    I gotowe!

    Krok 5: Dodanie przycisków i zasilania do jednostki bazowej

    System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266


    Już prawie skończyliśmy montaż jednostki bazowej. Na tym etapie montujemy przyciski i gniazdo zasilania. Potrzebne nam będzie do tego trochę kabelków i rezystory 10 kΩ. Całość montujemy na fragmencie płytki uniwersalnej.

    * Umieszczamy przyciski możliwie najbliżej siebie na płytce drukowanej.
    * Podłączamy nóżkę górnego przycisku do D4
    * Podłączamy nóżkę kolejnego przycisku do D5
    * Podłączamy nóżkę kolejnego przycisku do D6
    * Podłączamy nóżkę dolnego przycisku do D7
    * Do każdej z powyższych nóżek przyłączamy poprzez rezystory 10 kΩ zasilanie (5 V)
    * Przeciwległe nóżki przycisków podłączamy do masy

    Złącze zasilania łączymy kabelkami z masą i pinem VIN modułu Intel Edison. Na tym etapie trzeba być niezmiernie ostrożnym, jako że nie chcielibyśmy podłączyć nic odwrotnie i podać 12 V tam, gdzie powinna być masa lub inny sygnał.

    Krok 6: Instalacja oprogramowania jednostki bazowej

    System monitorowania domu na Intel Edison z modułem ESP8266


    Zanim umieścimy całą elektronikę jednostki bazowej musimy wgrać do modułu oprogramowanie i je przetestować. Rozpoczynamy od wgrania najnowszego firmware do modułu Intel Edison Następnie musimy zainstalować zależności:

    1. Otwieramy plik konfiguracyjny opkg:

    vi /etc/opkg/base-feeds.conf 


    2. Do pliku dodajemy trzy linijki i zapisujemy go:

    src/gz all  http://repo.opkg.net/edison/repo/all
    src/gz edison  http://repo.opkg.net/edison/repo/edison
    src/gz core2-32  http://repo.opkg.net/edison/repo/core2-32


    3. Odświeżamy listę pakietów:

    opkg update


    4. Fianalnie instalujemy zależności korzystając z:

    opkg install boost boost-dev libmysqlclient-dev mariadb python-pip


    Następnie skonfigurować musimy IoT Analytics. Aby oprogramowanie komunikowało się z chmurą musimy wykonać następujące kroki:

    1. Rozpoczynamy od wgrania najnowszej wersji iotkit-agent z pomocą komendy:

    npm update -g iotkit-agent


    2. Tworzymy konto na https://dashboard.us.enableiot.com/.

    3. Gdy zalogujemy się do systemu nadajemy nazwę, naszemu systemowi. Autor wybrał ED-E, jako że tak nazywa się jego system. Tworzymy system na stronie

    4. Z menu w lewej górnej strony wybieramy "Account"

    5. Otwieramy zakładkę z szczegółami i kopiujemy stamtąd kod aktywacyjny, który podajemy do Intel Edison w następujący sposób:

    iotkit-admin activate activation_code


    6. Następnie klikamy na zakładkę "Catalog" gdzie wybieramy "Add New Catalog Item" u dołu ekranu.

    7. Konfigurujemy wszystkie sensory, wprowadzając ich typ, rodzaj generowanych danych, jednostkę i rodzaj prezentacji danych jako Time Series. Klikamy Zapisz.

    Następnie zainstalować musimy oprogramowanie. Pobieramy je na ED-E z girhuba, rozpakowujemy i instalujemy:

    wget https://github.com/spadgenske/ED-E/archive/0.1.0.zip
    mv 0.1.0.zip ED-E.zip
    unzip ED-E.zip
    cd ED-E/base/src
    python install.py


    Skrypt Pythona powinien zainstalować program bez żadnych problemów. Aby sprawdzić oprogramowanie, wykorzystujemy:

    python main.py


    Ekran powinien stać się pusty, a następnie wyświetlić główne menu programu. Po chwili wszystkie sensory powinny zostać odczytane, a dane wysłane do Intel IoT Analytics. Aby je odczytać, wystarczy wejść w zakładkę "Charts" na stronie. Dane przechowywane są także w bazie danych MySQL o nazwie EDE, co umożliwia ich np. eksport do Excela.

    Aby oprogramowanie automatycznie startowało, po uruchomieniu systemu:

    cd /etc
    mkdir init.d
    cd init.d


    W tym folderze tworzymy plik ED-E.sh:

    #!/bin/sh                                                                                        
    python ~/ED-E/base/src/main.py


    I nadajemy mu prawo wykonywalności. Następnie musimy wykonać odświeżenie ustawień:

    chmod +x ED-E.sh
    update-rc.d ED-E.sh defaults


    Przy kolejnym uruchomieniu systemu, program ED-E powinien uruchomić się automatycznie. Jeśli wszystko działa poprawnie, to możemy umieścić elektronikę stacji bazowej w obudowie.

    Krok 7: Finalny montaż jednostki bazowej

    System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266


    Na tym etapie zmontujemy jednostkę bazową w całość. Wykonujemy po kolei poniższe kroki:

    1. Delikatnie wklejamy płytkę uniwersalną z przyciskami do elementu z drukarki 3D. Pomiędzy obudową a płytką z przyciskami umieszczamy wydrukowany element - przyciski. To bardzo trudny do zmontowania element, więc róbcie to delikatnie, a na koniec pokryjcie całość potrójną warstwą kleju, aby wszystko dobrze trzymało.
    2. Delikatnie przykręć sensor jakości powietrza, płomienia i dźwięku do połowy obudowy, w której są przyciski. Do tego potrzebne będzie nam 6 sztuk śrub M2x5.
    3. Korzystając z dwóch kolejnych śrub M2x5 przykręć wyświetlacz OLED.
    4. Korzystając ze śrub 4-40 przyłączamy Moduł Intel Edison wraz z płytką mu towarzyszącą do obudowy. Należy to zrobić delikatnie, aby nic nie popsuć.
    5. Do Intel Edison przyczepić możemy płytki uniwersalne z przylutowanymi kablami.
    6. Korzystając z kolejnych śrubek M2 przykręć buzzer, sensor gazu i termometr do drugiej połówki obudowy.
    7. Wklej na klej na ciepło gniazdo zasilania.
    8. Skręć obie połówki obudowy korzystając z sześciu śrub 4-40.
    9. Podłącz zasilanie do urządzenia i zaloguj się do niego poprzez SSH. System jest już na chodzie i można z niego do woli korzystać.

    Krok 8: Budowanie Sensorów z WiFi

    System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266


    Budowa sensora wyposażonego w interfejs WiFi jest bardzo prosta. Potrzebują one układu zasilania i detektora. Oto jak je montujemy:

    1. Podłącz terminal ujemny na złączu JST do masy płytki Huzzah.
    2. Dołącz terminal dodani na złączu JST do zasilania (vbat) płytki Huzzah.
    3. Podłącz jedno wyprowadzenie przełącznika do masy, a drugi do pinu rst.
    4. Otwórz plik sensor.ino w Arduino IDE (powyżej wersji 1.6.4), zmień SSID i hasło na ustawienia swojej sieci.
    5. Ustaw HOST - numer IP stacji bazowej, można zobaczyć go w menu ED-E.
    6. Zmień nazwę urządzenia na taką, która poinformuje co to za sensor.
    7. Upewnij się, że płytka Adafruit Huzzah jest zainstalowana i wybrana w Arduino IDE.
    8. Wgraj program do pamięci i podłącz do baterii (autor wykorzystał baterię o pojemności 500 mAh).
    9. Umieść sensor w obudowie.

    Jeśli moduł bazowy działa poprawnie, tak jak układy ESP8266, za każdym razem, gdy przycisk zostanie zwarty płytka Huzzah wyśle do ED-E informacje o tym fakcie, które następnie zostaną zapisane w bazie MySQL i Intel IoT Analytics. Wykorzystana bateria oferuje dosyć duży czas pracy sensora, ale oczywiście po jakimś czasie się wyczerpie. Jeśli wykorzystaliśmy akumulatorek, można go naładować dedykowaną ładowarką.

    Krok 9: Budowanie aktuatorów z WiFi

    System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266 System monitorowania domu na Intel Edison z modułem ESP8266


    Aktuatory są przeciwieństwem sensorów w tym systemie: otrzymują one dane z sieci i zmieniają swój stan zgodnie z otrzymanymi danymi. Działają mniej-więcej jak przekaźnik i w takiej formie je wykorzystamy. Poniższy opis omawia, jak skonstruować sterowany poprzez opisywany system przedłużacz.

    W jednostce bazowej aktywujemy aktuator i ustawiamy jego protokół jako websockets zamiast REST:

    iotkit-admin register Lamp powerswitch.v1.0
    iotkit-admin protocol rest+ws


    Gdy już aktywowaliśmy wykorzystanie aktuatorów przez jednostkę bazową możemy zbudować taki moduł. Podłączamy masę ESP8266 do masy przekaźnika, V+ do zasilania (VCC) PIN 13 ESP8266 do jego cewki. Do ESP8266 podłączyć musimy zasilanie. Następnie podłączamy przedłużacz do przekaźnika tak, aby sterował on przepływem prądu do gniazdek w przedłużaczu. Montaż należy przeprowadzić bardzo uważnie - z napięciem sieciowym nie ma żartów!

    Do ESP8266 w aktuatorze wgrywamy actuator.ino, w którym musimy zmienić SSID, hasło i numer IP stacji bazowej. Po dokonaniu tego musimy zresetować stację bazową. Gdy system załaduje się, już możemy sterować naszym przedłużaczem z poziomu Intel IoT Analytics.

    Źródło: http://www.instructables.com/id/Build-your-own-Home-Automation-and-Monitoring-Syst/?ALLSTEPS

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    ghost666
    Translator, editor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 wrote 11695 posts with rating 9883, helped 157 times. Live in city Warszawa. Been with us since 2003 year.
  • Nazwa.pl
  • #2
    treker
    Level 25  
    Wreszcie ktoś pomyślał o ciekawej obudowie i nie wpakował wszystkiego w zwykły prostopadłościan :)
  • Nazwa.pl
  • #3
    dragonn
    Level 11  
    Jakieś info ile trzyma bateria w module?
  • #4
    Gruby__
    Level 16  
    Wydaje mi się, że metalowa puszka ogranicza zasięg czujników, mam racje?