Spisu treści:

ForgetMeNot - Platforma powiadomień Smart Home: 14 kroków (ze zdjęciami)
ForgetMeNot - Platforma powiadomień Smart Home: 14 kroków (ze zdjęciami)

Wideo: ForgetMeNot - Platforma powiadomień Smart Home: 14 kroków (ze zdjęciami)

Wideo: ForgetMeNot - Platforma powiadomień Smart Home: 14 kroków (ze zdjęciami)
Wideo: SPONGEBOB SQUAREPANTS Triangle Bikini. 2024, Czerwiec
Anonim
ForgetMeNot - platforma powiadomień inteligentnego domu
ForgetMeNot - platforma powiadomień inteligentnego domu

Jako zapracowani studenci, biegający między zajęciami, pracą i obowiązkami rodzinnymi, zapominamy o drobiazgach. Urodziny przychodzą i odchodzą bez naszej uwagi, ważny termin mija z powodu zwykłego zapomnienia, a czasami, tylko czasami, wybucha pożar i wypala twój pokój, ponieważ zapomniałeś o włączonym grzejniku.

Nie martw się, drodzy przyjaciele - przychodzimy na ratunek.

ForgetMeNot to platforma powiadomień inteligentnego domu, stworzona z prawdziwej potrzeby, którą napotkaliśmy w naszym codziennym życiu (i, jeśli jesteśmy całkowicie uczciwi, nieco napędzana ostatnim projektem na zajęciach z informatyki).

W istocie jest to połączenie sprzętu i oprogramowania. Daje pewność, że jesteś świadomy (i możesz działać!) o rzeczach, o których zapomniałeś zrobić, wychodząc z domu.

Remiksować?

Chociaż używamy tylko kilku czujników (rzeczy, które obserwują) i aktywatorów (rzeczy, które robią), ogólność każdego komponentu sprawia, że nadaje się on do różnych przypadków użycia przy minimalnych zmianach sprzętu i oprogramowania. Daj nam znać, jeśli zremiksowałeś część (lub całość!) projektu - szalejemy na punkcie kolaboracji!

Kto?

Dumnie stworzony przez (podzbiór) zespołu Red Panda z IDC Herzliya w McCann Valley, Mizpe Ramon. Dosłowny worek wdzięczności trafia do Zviki Markfeld z ForRealTeam za to, że pojechała z nami na pustynię, aby budować niesamowite rzeczy w środku najpiękniejszej części naszego kraju.

Specjalne podziękowania

Ludziom z Random Nerd Tutorials za ich niekończący się przepływ interesujących, nowych koncepcji, które możemy przetestować z Node-RED i naszymi ESP8266, szczególnie tutaj.

Kieszonkowe dzieci

Wow, tyle rzeczy…

Jest to dość obszerny projekt i dokonaliśmy kilku wczesnych wyborów projektowych dotyczących sprzętu, oprogramowania i innych gadżetów, których używamy.

Chociaż zalecamy poniższą listę, jeśli planujesz podążać dalej, wiele części można zamienić na łatwiejsze do zdobycia przedmioty. Jednym z przykładów są tablice WeMos – bez względu na to, jak tania wersja tablicy, na której siedzisz, prawdopodobnie możesz sprawić, by działała bez wprowadzania wielu zmian.

Przykładem innego rodzaju jest obudowa Smart Outlet. Choć ładne i solidne, każde (niemetalowe) pudełko wystarczy. Tak się złożyło, że mieliśmy dostęp do wycinarki laserowej, a każdy, kto ma dostęp do wycinarki laserowej, nagle ma wiele, wiele zastosowań do cięcia laserowego. WSZYSTKIE RZECZY. To samo dotyczy naszych części drukowanych w 3D.

Więc - po prostu zaszalej własnym sprzętem i zostaw komentarz poniżej, jeśli potrzebujesz pomocy w zamianie jakiejś części na inną.

Mikrokontrolery, tablice i osłony

  • 4 x płytki ESP8266 (użyliśmy minis WeMos D1 produkcji LoLin)
  • 1 x osłona przekaźnika mini D1
  • 1 x L293N Hbridge (używany do silnika DC aktywatora drzwi)

Moc

  • 50 x zworki w stylu Arduino (w zależności od używanej płyty, możesz potrzebować więcej żeńsko-męskich lub męsko-męskich. Po prostu weź kilka z nich, zawsze się przydadzą) - zauważ, że niektóre z nich będą być rozebrany do aktywatora drzwi
  • Rezystory 3 x 10 Ohm
  • 1 x Xuanshi XS-XB6 16A ~250v max. Listwa zasilająca 3500W + przedłużacz (każdy przedłużacz + rozgałęźnik do gniazd 220V powinien wystarczyć) - należy pamiętać, że zostanie rozebrany do Smart Outlet
  • 3 x kable Micro-USB
  • 3 x ładowarki ścienne USB
  • 1 x DY-0120200 (Wejście: 100-240V, 50-60Hz Wyjście: 12V---2A) Zasilacz AC/DC z męską głowicą DC (lub równoważny adapter)
  • 1 x żeńskie gniazdo DC
  • 1 x transformator 220V na 5V (do zasilania płytki Smart Outlet bezpośrednio z listwy zasilającej, bez dodatkowego źródła zasilania)

Czujniki

  • 1 x czujnik światła LDR
  • 1 x kontaktron (działający jako czujnik do okna)
  • 1 x czujnik temperatury DHT

Motoryzacja

  • 1 x silnik prądu stałego (użyliśmy bezrdzeniowego silnika ze szczotką metalową, ale każdy silnik, który pasuje do obudowy aktywatora drzwi wydrukowanej w 3D, wystarczy)
  • 1 x silnik servo (prawdopodobnie każdy rozmiar wystarczy, ale upewnij się, że używasz wystarczająco mocnego, aby przełączyć wymagany przełącznik)

Części wycinane laserowo

1 x inteligentna skrzynka wylotowa

Części drukowane w 3D

1 x obudowa aktywatora drzwi

Telefon komórkowy

Ten samouczek został stworzony z myślą o telefonach z systemem Android i na razie wygląda na to, że Integromat nie obsługuje urządzeń z systemem iOS. Dlatego niestety ta instrukcja wymaga telefonu z Androidem.

Oprogramowanie

  • Arduino IDE (zintegrowane środowisko programistyczne - w zasadzie fantazyjny edytor kodu)

    • Załaduj swoją tablicę do IDE, aby ułatwić przesyłanie
    • Zobacz załączone szkice wszystkich odpowiednich bibliotek
  • Platforma integracyjna Node-RED

    Używamy głównie węzłów standardowych, z kilkoma wyjątkami - zobacz załączony przepływ dla wszystkich odpowiednich węzłów

  • Integromat.com (złącze serwisowe, umożliwiające łączenie wielu usług razem - w naszym przypadku aplikacja na Androida i nasz serwer Node-RED)

    Skorzystaliśmy z darmowego poziomu, który powinien wystarczyć do codziennego korzystania z platformy

  • PushBullet.com (usługa powiadomień push)

    Skorzystaliśmy z darmowej wersji, która powinna wystarczyć do codziennego korzystania z platformy

  • ngrok (bezpieczna usługa tunelowania)

    Używamy tego bezpłatnego oprogramowania do tunelowania, aby udostępnić światu link z naszego lokalnie działającego pulpitu nawigacyjnego, dzięki czemu możemy uzyskać dostęp do pulpitu nawigacyjnego z adresu URL w powiadomieniu push

  • Mosquitto MQTT Broker

    MQTT to protokół używany do przesyłania wiadomości między naszymi podłączonymi urządzeniami a Node-RED. Ponieważ Node-RED nie ma wbudowanego serwera MQTT, musimy skorzystać z zewnętrznego

Krok 1: Zrozum przepływ

Image
Image

Zapoznaj się z powyższym filmem, aby zobaczyć demonstrację systemu. Zauważ, że ogólny przepływ systemu (po którym konstruowany jest przepływ Node-RED) jest następujący:

  1. Wychodzisz z domu
  2. Twój telefon rozłącza się z domową siecią Wi-Fi
  3. Integromat otrzymuje wiadomość i powiadamia Node-RED
  4. Node-RED sprawdza, jaki jest stan czujników w Twoim domu i przełączników na desce rozdzielczej
  5. Jeśli coś pozostanie włączone lub otwarte, powiadomi PushBullet
  6. PushBullet wysyła powiadomienie na Twój telefon z linkiem do pulpitu nawigacyjnego Node-RED
  7. Możesz przejść do pulpitu nawigacyjnego i zamknąć/wyłączyć odpowiednie rzeczy

Zasadniczo oferujemy scentralizowane podejście do zarządzania różnymi obiektami w Twoim domu i sprawdzania, czy mają one prawidłowy status, gdy wychodzisz z domu.

W praktyce mamy w tym projekcie następujące możliwości:

  1. Status okna - otwarte/zamknięte (wskazywane przez status Reed Relay)
  2. Status świateł - wł./wył. (wskazywany przez status LDR)
  3. Stan ogrzewacza pomieszczenia - wł./wył. (wskazywany przez czujnik temperatury DHT)
  4. Aktywator drzwi - otwarte/zamknięte (wykonana na zamówienie obudowa 3D do silnika prądu stałego)
  5. Aktywator Smart Outlet - on/off (przekaźnik D1 podłączony do listwy zasilającej)
  6. Switch Press Activator - on/off (serwo podłączone do płyty)

To wystarczy w naszej książce, aby pokazać możliwości platformy. Można go łatwo rozszerzyć (za pomocą Node-RED), aby dodać więcej wskaźników stanu / aktywatorów, jeśli zajdzie taka potrzeba.

Krok 2: Ngrok

Ngrok
Ngrok

ngrok to usługa tunelowania. Pozwala nam wystawić lokalnie działającą usługę (w naszym przypadku Node-RED) na świat zewnętrzny - bez kłopotów z konfiguracją serwera lub zajmowaniem się rekordami DNS. Po prostu uruchamiasz Node-RED na swoim komputerze, a następnie uruchamiasz ngrok na tym samym porcie, na którym działa Node-RED. To wszystko – otrzymasz adres URL, którego możesz użyć, aby uzyskać dostęp do Node-RED z dowolnego miejsca na świecie, niezależnie od sieci, do której jest podłączony.

Instalacja i konfiguracja

  1. Pobierz ngrok dla swojego systemu operacyjnego stąd.
  2. Postępuj zgodnie z instrukcjami na stronie pobierania, aż do kroku „Uruchom go”.
  3. W kroku "Uruchom go" zamień 80 na 1880 - tak jak w./ngrok http 1880 lub ngrok http 1880, w zależności od systemu operacyjnego.
  4. Zanotuj adres URL http, który zobaczysz w wierszu poleceń - będziemy go potrzebować na później. Zobacz obrazek jako przykład.

Krok 3: Węzeł-CZERWONY

Węzeł-CZERWONY
Węzeł-CZERWONY
Węzeł-CZERWONY
Węzeł-CZERWONY
Węzeł-CZERWONY
Węzeł-CZERWONY

Instalacja i konfiguracja

Główny sterownik logiczny projektu, Node-RED, to wizualne środowisko programistyczne, które pozwala na łączenie różnych usług programowych (i sprzętowych!) w celu stworzenia zunifikowanej aplikacji. Jako bonus umożliwia generowanie pięknych pulpitów nawigacyjnych, które mogą uzyskiwać informacje z różnych usług, a nawet kontrolować.

Jeśli znasz Node-RED, po prostu pobierz nasz opis z tego opisu i dodaj swój identyfikator ngrok z kroku 8 poniżej.

Jeśli nie znasz Node-RED lub nie masz go zainstalowanego, wykonaj następujące kroki, aby załadować nasz przepływ Node-RED na lokalnym komputerze:

  1. Node-RED wymaga Node.js, który jest językiem programowania z własnym specjalnym środowiskiem programistycznym. Pobierz instalator odpowiedni dla Twojego systemu operacyjnego stąd, a następnie postępuj zgodnie z instrukcjami.
  2. Możesz teraz zainstalować samego Node-RED, korzystając z instrukcji tutaj. Proszę zwrócić uwagę na lokalizację, w której zainstalowano Node-RED, ponieważ będzie ona potrzebna w następnym kroku.
  3. Teraz, gdy masz już zainstalowany Node-RED, uruchom go zgodnie z instrukcjami w powyższym kroku i sprawdź, czy widzisz pustą stronę kanwy. Powinien znajdować się w
  4. Będziesz teraz musiał zainstalować kilka dodatkowych węzłów (tak nazywa się Node-RED swoje rozszerzenia lub moduły) używanych w tym projekcie. Postępuj zgodnie z instrukcjami tutaj i tutaj i zainstaluj oba te moduły.
  5. Teraz, gdy węzły są zainstalowane, zrestartuj serwer z czerwonym węzłem (po prostu zabicie usługi i ponowne jej uruchomienie powinno wystarczyć). Powinieneś mieć teraz oba węzły dostępne w swoim przepływie.
  6. Pobierz przepływ Node-RED tego projektu stąd i postępuj zgodnie z instrukcjami tutaj, aby zaimportować go do swojej instalacji Node-RED.
  7. Upewnij się, że obraz przepływu jest widoczny powyżej na ekranie.
  8. Pamiętasz adres URL nrok z ostatniego kroku? Wprowadź go w węźle Build Push Notification. Pozwoli nam to zobaczyć na żywo link do pulpitu nawigacyjnego (działającego na naszym lokalnym komputerze) na dowolnym urządzeniu, z którego korzystamy do otrzymywania powiadomień.

Wyjaśnienie przepływu

Zauważ, że przepływ jest podzielony na dwie części - górna to główna logika, a dolna to logika komponentu.

Główna logika polega na tym, aby dowiedzieć się, czy wyszedłeś z domu (odbierając żądanie GET z Integromatu w węźle Integromat WiFi Leave Endpoint), odesłanie odpowiedzi o powodzeniu (aby Integromat się nie zawiesił, wewnątrz komunikatu Wyślij wiadomość o sukcesie do Integromatu), a następnie uruchomienie sprawdzania wszystkich czujników i aktywatorów w celu sprawdzenia ich aktualnego stanu (odbywa się to w węźle funkcji Build Push Notification, korzystając z globalnego magazynu kontekstu w celu uzyskania informacji). Jeśli to sprawdzenie wykryje, że coś jest włączone lub otwarte, wyzwala powiadomienie push PushBullet (w najwyższym węźle Wyślij powiadomienie push). Najniższy węzeł wysyłania powiadomień wypychanych zajmuje się wysyłaniem spóźnionych powiadomień wypychanych (w przypadku grzejnika - zobacz jego krok, aby uzyskać więcej informacji na temat logiki stojącej za nim). Zwróć uwagę, że jest tam również węzeł debugowania (zwany Get Request), który rejestruje wszystkie przychodzące żądania, dzięki czemu możemy wykryć każdy problem po stronie ogrodzenia Integromatu.

Przepływ logiki komponentu dba o aktualizację globalnego magazynu kontekstu ze stanem każdego aktywatora/czujnika, dzięki czemu możemy zdecydować, jakie (jeśli w ogóle) informacje musimy wysłać w naszym powiadomieniu push. Zauważ, że istnieją dwa różne warianty tych przepływów:

Przepływy aktywatora (naciśnięcie przełącznika/drzwi/inteligentne gniazdko) - są to przepływy, które muszą zaktualizować deskę rozdzielczą po przełączeniu przełącznika na desce rozdzielczej + wywołać pewną aktywność w świecie rzeczywistym. W szczególności oba z nich czekają na wykonanie akcji na desce rozdzielczej (w węzłach przełączania), a następnie przełączają stan w węzłach funkcji State Logic i aktualizują pulpit nawigacyjny zgodnie z odwróconym przełącznikiem (włącz/wyłącz diodę LED w Stan węzłów LED i zmień tekst w węzłach wskaźnika stanu). Ponadto, po przełączeniu przełącznika, wiadomość MQTT jest wysyłana do kontrolerów WeMos kontrolujących aktywatory (za pomocą węzłów MQTT-out Activator), aby stworzyć akcję w świecie fizycznym (tj. Otwórz/zamknij drzwi lub zabij/włącz Smart Wylot).

Przepływy czujnika (ogrzewanie światła/okna/przestrzeni) - są to przepływy, które wymagają aktualizacji deski rozdzielczej po nadejściu komunikatu czujnika przez MQTT. W szczególności oba z nich czekają na przyjście komunikatu MQTT (przy użyciu węzłów Sensor-in MQTT), a następnie analizują informacje i zmieniają stan w węzłach funkcji State Logic. Następnie aktualizują pulpit nawigacyjny zgodnie z przychodzącą wiadomością (włącz/wyłącz diodę LED w węzłach diody stanu i zmień tekst w węzłach wskaźnika stanu).

Widzisz węzły wtryskiwaczy dołączone do każdego elementu? Dbają one o zapewnienie rozsądnych wartości domyślnych dla pulpitu nawigacyjnego, gdy jest on uruchamiany po raz pierwszy, aby zapewnić, że przy pierwszym ładowaniu nie wydarzy się żaden zabawny biznes.

Uwaga: Node-RED ma dwa "tryby": płótno i interfejs użytkownika. Canvas to miejsce, w którym tworzysz i edytujesz węzły (na https://127.0.0.1:1880 lub https://TWOJ_ID_NGROK.ngrok.io), a interfejs użytkownika to miejsce, w którym widzisz swoje pulpity nawigacyjne (na https://127.0.0.1:1880/ui lub

Krok 4: Integromat

Integromat
Integromat
Integromat
Integromat
Integromat
Integromat

Zapisać się

Integromat, określany przez siebie jako „Klej Internetu”, to usługa, która w ciekawy sposób łączy ze sobą różne elementy oprogramowania. W naszym przypadku używamy jej aplikacji na Androida, aby sprawdzić, kiedy rozłączyłeś się z siecią Wi-Fi swojego domu, a następnie wywołać żądanie HTTP do naszego serwera Node-Red. To żądanie uruchomi cały przepływ przedstawiony w poprzednim kroku.

  1. Zarejestruj się tutaj, aby założyć konto Integromat.
  2. Pobierz aplikację na Androida stąd.
  3. W konsoli internetowej Integromat (powinna być widoczna po zarejestrowaniu się w Integromat) otwórz zakładkę Urządzenia po lewej stronie, pośrodku.
  4. Dodaj swoje urządzenie, klikając „Dodaj urządzenie” w lewym górnym rogu i wykonując przedstawione czynności.
  5. Po zakończeniu autoryzacji aplikacji w konsoli internetowej otwórz ją i przejdź do ustawień w prawym dolnym rogu.
  6. Kliknij Wi-Fi, a następnie zaznacz (w sekcji Zdarzenia) pole zdarzenia Rozłączenie Wi-Fi. Dzięki temu aplikacja będzie mogła zobaczyć, kiedy telefon rozłączył się z siecią Wi-Fi.

Tworzenie naszego scenariusza

Przepływy działań w Integromacie nazywane są Scenariuszy. Zamierzamy stworzyć scenariusz, który czeka na rozłączenie dowolnej sieci Wi-Fi, a następnie filtruje tylko te, które pasują do sieci Wi-Fi w naszym domu.

  1. Zobacz obrazek powyżej, aby zapoznać się z opisem scenariusza.
  2. Utwórz każdy z węzłów („bąbelków”), klikając dolny znak „+” w pobliżu Ulubionych i dodając trzy wymagane węzły – Android (Rozłączenie Wi-Fi), JSON (Utwórz JSON) i HTTP (Złóż żądanie).
  3. Połącz węzeł Androida z węzłem JSON, a węzeł JSON z węzłem
  4. Skonfiguruj filtr między węzłami Androida i JSON zgodnie z powyższym obrazem.
  5. Skonfiguruj każdy węzeł zgodnie z powyższymi obrazami. Zwróć uwagę na użycie adresu URL ngrok utworzonego w poprzednim kroku dla węzła HTTP. Jeśli twój adres URL ngrok to https://ac72hs.ngrok.io, to twoim identyfikatorem ngrok jest ac72hs.

Krok 5: Komar

Komar
Komar

Ponieważ Node-RED nie ma własnego brokera MQTT i będziemy musieli komunikować się z naszymi czujnikami i aktywatorami przez MQTT, użyjemy dedykowanego brokera MQTT. Ponieważ Node-RED poleca Mosquitto, to właśnie tego użyjemy. Zobacz tutaj, aby uzyskać informacje na temat MQTT i dlaczego jest często używany w projekcie IoT.

Instalacja i konfiguracja

  1. Pobierz Mosquitto stąd i zainstaluj go, wszystko zgodnie z twoim systemem operacyjnym.
  2. Zwykle musisz postępować zgodnie z instrukcjami tutaj, aby połączyć Node-RED z Mosquitto. Jeśli jednak skorzystałeś z naszego przepływu, jest on już dla Ciebie wstępnie skonfigurowany. Dopóki poprawnie zainstalujesz flow i Mosquitrro, a Mosquitto działa na porcie 1883 (na którym działa domyślnie), powinno działać po wyjęciu z pudełka.
  3. Zauważ, że oznacza to, że broker MQTT i serwer Node-RED działają na tej samej maszynie. Jest to przydatne do uproszczenia komunikacji wewnątrz systemu. Więcej informacji znajdziesz w poniższej uwadze.

Uwaga na temat sieci lokalnej

Aby Twoje urządzenia działały poprawnie z Node-RED, musisz mieć dostęp do brokera. Chociaż moglibyśmy zdefiniować serwer proxy i użyć go do komunikacji z Mosquitto, aby uniknąć komplikacji, proponujemy proste rozwiązanie: upewnij się, że Twój komputer (z uruchomionym Node-RED i Mosquitto) i płyty ESP8266 są podłączone do tego samego Wi-Fi. W ten sposób Twoje urządzenia mogą komunikować się bezpośrednio z Twoim brokerem, bez pośredników.

Ktoś mógłby zapytać, dlaczego nie użyć do tego ngrok, w taki sam sposób, w jaki używamy go do przeglądania pulpitu nawigacyjnego z innego urządzenia. Prosta odpowiedź jest taka, że możesz - ale ngrok jest ograniczony (w darmowej wersji) do jednego tunelu od każdego użytkownika. Oznacza to, że możesz otworzyć tylko jeden port na świat zewnętrzny, który w naszym przypadku służy do odsłonięcia Node-RED. Zamiast tego używamy sieci lokalnej, aby to ominąć.

Oznacza to, że w każdym szkicu będziesz musiał zmodyfikować adres IP brokera, aby pasował do adresu IP twojego komputera w sieci lokalnej. Dostęp do tego adresu można uzyskać, uruchamiając ipconfig (w systemie Windows) i ifconfig (w systemie Mac / Linux) i szukając odpowiedniego interfejsu WiFi. Powinien być wymieniony pod adresem inet.

Jednak po drodze możesz napotkać pewne problemy z MQTT. Z tego powodu warto monitorować cały przychodzący i wychodzący ruch MQTT.

Monitorowanie ruchu MQTT

Podczas gdy Mosquitto zapewnia tę funkcjonalność po wyjęciu z pudełka, używając mosuitto_sub, dla osób bardziej zorientowanych na GUI klient z interfejsem graficznym może być łatwiejszy w użyciu. MQTTfx to świetne narzędzie, z którego intensywnie korzystaliśmy podczas pracy nad tym projektem i polecamy je z głębi serca. Dziękuję Jens Deters za to niesamowite narzędzie!

Krok 6: Pushbullet

Pushbullet
Pushbullet
Pushbullet
Pushbullet

Pushbullet to usługa powiadomień push. Umożliwia subskrypcję urządzenia do usługi, a następnie przesyłanie do niego powiadomień na podstawie kilku możliwych integracji. Użyjemy go, aby powiadomić nasze urządzenie, gdy jedna z rzeczy w domu została włączona lub otwarta, i dodamy link do pulpitu nawigacyjnego, dzięki czemu będziemy mogli zamknąć lub wyłączyć rzeczy, o których zapomnieliśmy się zająć przed wyjściem z domu.

Rejestracja i konfiguracja

  1. Załóż konto Pushbullet tutaj, używając swojego konta Google.
  2. Pobierz aplikację Pushbullet na Androida stąd.
  3. Po zalogowaniu się do Pusbullet kliknij tutaj i dodaj swoje urządzenie za pomocą przycisku po lewej stronie.
  4. Następnie przejdź tutaj i wybierz Utwórz token dostępu. Zanotuj ten token, będziemy go potrzebować w następnym kroku.
  5. Przejdź do Node-RED i kliknij węzeł Send Push Notification.
  6. Na pasku bocznym (patrz zdjęcie) wybierz "PushBullet Config", a następnie ikonę ołówka.
  7. Dodaj token dostępu z kroku 4 w polu „Klucz API”.
  8. Powinieneś teraz móc otrzymywać powiadomienia push na swój telefon.

Krok 7: Arduino IDE

IDE Arduino
IDE Arduino

W tym samouczku używamy płyt ESP8266, aby kontrolować różne używane przez nas urządzenia. Aby wgrać nasze oprogramowanie na płyty, musimy je sflashować za pomocą kabla USB. Proces jest bardzo prosty: podłączasz płytkę do komputera, a następnie naciskasz przycisk. Jednak, aby się tam dostać, musimy dokonać wstępnej konfiguracji.

Instalacja i konfiguracja

  1. Postępuj zgodnie z przewodnikiem tutaj, aby zainstalować Arduino IDE.
  2. Postępuj zgodnie z przewodnikiem tutaj, aby zainstalować odpowiednie "sterowniki" dla płyt ESP8266 w swoim Arduino IDE.
  3. Upewnij się, że używasz odpowiedniego kabla USB (nie zasilającego, tylko do transmisji danych) podczas przesyłania szkiców (plików.ino) na swoje tablice.

Przesyłanie szkiców na tablice

W kolejnych krokach – które będą dotyczyły podłączenia sprzętu do naszego istniejącego interfejsu oprogramowania – powiemy po prostu „prześlij szkic na tablicę”. Aby każdy z poniższych kroków był bardziej związany ze sprzętem, a mniej z oprogramowaniem, szczegółowo opisujemy przepływ przesyłania tutaj:

  1. Podłącz płytkę do komputera za pomocą kabla USB.
  2. Otwórz środowisko Arudiono IDE.
  3. Otwórz szkic pobrany dla odpowiedniego kroku.
  4. W menu "Narzędzia" wybierz odpowiednią tablicę w opcji "Płyta".
  5. W tym samym menu upewnij się, że opcja „Port” wybiera port, do którego podłączona jest twoja płyta. powinien to robić domyślnie, ale jeśli nie, po prostu upewnij się, że tak. Jeśli nie masz pewności, który port na Twoim komputerze jest który, przejdź do następnego kroku.
  6. Prześlij szkic na tablicę, klikając przycisk strzałki w prawym górnym rogu ekranu (tuż obok ikony znacznika wyboru). Spowoduje to skompilowanie i próbę załadowania szkicu na tablicę.
  7. Jeśli kolejny krok się nie powiódł, spróbuj wybrać inny port lub inną kartę w menu narzędzi.
  8. Jeśli nadal utknąłeś, spróbuj spojrzeć na tę odpowiedź Quora, aby uzyskać dalsze kroki.

Krok 8: Pulpit nawigacyjny

Pulpit nawigacyjny
Pulpit nawigacyjny

Powyższy obrazek pokazuje, jak będzie wyglądał ostateczny pulpit nawigacyjny. Zwróć uwagę na przełączniki? Aktywują różne elementy sprzętu, które skonfigurujemy w kolejnych krokach. Diody LED są wskaźnikami stanu, które zmieniają się, gdy czujnik wykryje jakąś zmianę, a także po przełączeniu przełączników.

Krok 9: Czujnik światła

Czujnik światła
Czujnik światła
Czujnik światła
Czujnik światła
Czujnik światła
Czujnik światła

Ten czujnik światła pozwoli Ci stwierdzić, czy zostawiłeś włączone lub wyłączone światło w jednym z pomieszczeń w domu. Prawidłowo zamknięty w pudełku i umieszczony blisko światła nie może być większy niż dwa sklejone pudełka zapałek.

Montaż + Konfiguracja

  1. Podłącz obwód zgodnie z załączonym schematem Fritzinga.
  2. Otwórz szkic i zmień następujące zmienne:

    • mqtt_server - lokalny adres IP komputera (jako działający Mosquitto, broker MQTT)
    • ssid - nazwa sieci Wi-Fi, do której podłączony jest komputer, do której ma być podłączona tablica
    • hasło - hasło do wspomnianej sieci WiFi
  3. Prześlij dołączony szkic na swoją tablicę.
  4. Przetestuj to na desce rozdzielczej!

Deska rozdzielcza Spójrz na diodę LED zakładki „Światło” - wskaże, czy światło jest włączone, czy wyłączone.

Krok 10: Inteligentny aktywator gniazdka

Inteligentny aktywator gniazdek
Inteligentny aktywator gniazdek
Inteligentny aktywator gniazdek
Inteligentny aktywator gniazdek
Inteligentny aktywator gniazdek
Inteligentny aktywator gniazdek

Smart Outlet bierze zwykłą listwę zasilającą (z przedłużaczem o przyzwoitej długości) i zamienia ją w Smart Object - mianowicie przekaźnik z WiFi zajmuje się włączaniem i wyłączaniem za pomocą kliknięcia przycisku z Node-RED deska rozdzielcza. W ten sposób, jeśli zapomnisz wyłączyć coś, co jest podłączone do gniazdka, będziesz mógł to wyłączyć ręcznie!

Montaż + Konfiguracja

  1. Odetnij przewód zasilający na środku i zdejmij przewody.
  2. Włóż pozbawione izolacji przewody do zacisku śrubowego zgodnie ze schematem Fritzing.
  3. Otwórz szkic i zmień następujące zmienne:
  4. mqtt_server - lokalny adres IP komputera (jako działający Mosquitto, broker MQTT)
  5. ssid - nazwa sieci Wi-Fi, do której podłączony jest komputer, do której ma być podłączona tablica
  6. hasło - hasło do wspomnianej sieci WiFi
  7. Prześlij szkic na tablicę.
  8. Podłącz ekran przekaźnika do płytki.
  9. Zmontuj obwód zgodnie ze schematem Fritzinga.
  10. Przetestuj to na desce rozdzielczej!

Punkty bonusowe - Obudowa

  1. Jeśli możesz, wytnij laserem obudowę za pomocą dołączonego obrazu SmartOutletCasing. Jeśli masz mało wycinarek laserowych, weź kartonowe pudełko, wklej obraz po jednej stronie i wytnij kawałki.
  2. Wytnij dwa otwory z boku pudełka i wsuń listwę zasilającą jak na załączonym obrazku.
  3. Zawiąż końce paska wewnątrz pudełka, aby zapewnić, że obwód nie zostanie przeciągnięty przez otwory.

Deska rozdzielcza

Spójrz na diodę LED zakładki „Inteligentne gniazdko” – wskaże ona, czy inteligentne gniazdko jest włączone, czy wyłączone. Ponadto włączaj i wyłączaj przełącznik dla zabawy i zysku!

Krok 11: Aktywator drzwi

Aktywator drzwi
Aktywator drzwi
Aktywator drzwi
Aktywator drzwi
Aktywator drzwi
Aktywator drzwi

Ten fajny mechanizm przekręca klucz do przodu i do tyłu, umożliwiając nam zablokowanie i odblokowanie drzwi. W szczególności, jeśli zostawiłeś drzwi otwarte po wyjściu z domu, możesz je zdalnie zamknąć!:)

Montaż + Konfiguracja

  1. Otwórz szkic i zmień następujące zmienne:
  2. mqtt_server - lokalny adres IP komputera (jako działający Mosquitto, broker MQTT)
  3. ssid - nazwa sieci Wi-Fi, do której podłączony jest komputer, do której ma być podłączona tablica
  4. hasło - hasło do wspomnianej sieci WiFi
  5. Prześlij szkic na płytkę ESP8266.
  6. Zmontuj obwód zgodnie ze schematem. Zauważ, że użyliśmy zewnętrznego źródła zasilania do sterowania (stosunkowo mocnym) silnikiem prądu stałego. Wymagało to zastosowania mostka HBridge L298-N i zewnętrznego źródła zasilania. Nie wymagaliśmy żadnego lutowania, ponieważ zarówno żeńskie gniazdo baryłkowe, jak i HBridge miały ładne zaciski śrubowe, których mogliśmy użyć - z jednego końca zdjęliśmy kilka kabli połączeniowych ze względu na te połączenia. Niech spoczywają w pokoju.
  7. Przetestuj to na desce rozdzielczej!

Punkty premiowe - obudowa

Wykorzystaliśmy istniejący projekt Jacka Lewa. Jeśli masz dostęp do drukarki 3D, jest to niesamowite etui, które możesz przykleić do drzwi i przymocować za pomocą śrub lub kleju na gorąco.

Deska rozdzielcza Spójrz na diodę LED zakładki „Drzwi” - wskaże ona, czy drzwi są otwarte czy zamknięte. Ponadto włączaj i wyłączaj przełącznik dla zabawy i zysku!

Krok 12: Czujnik okna

Czujnik okienny
Czujnik okienny
Czujnik okienny
Czujnik okienny
Czujnik okienny
Czujnik okienny

Nie pozwól kotu wyjść! Ten czujnik wykorzystuje przekaźnik kontaktronowy do sprawdzania, czy okno jest otwarte, czy zamknięte. Zwróć uwagę, że wybraliśmy okno tylko ze względu na przykład - można je wykorzystać do wielu innych rzeczy, w tym do sprawdzania, czy drzwi są otwarte, czy nie, w tym drzwi domu, pokoju i lodówki.

Montaż i konfiguracja

  1. Zmontuj obwód zgodnie z powyższym schematem Fritzinga.
  2. Otwórz szkic i zmień następujące zmienne:
  3. mqtt_server - lokalny adres IP komputera (jako działający Mosquitto, broker MQTT)
  4. ssid - nazwa sieci Wi-Fi, do której podłączony jest komputer, do której ma być podłączona tablica
  5. hasło - hasło do wspomnianej sieci WiFi
  6. Prześlij swój szkic na tablicę.
  7. Przymocuj jedną część przekaźnika kontaktronowego do parapetu, a drugą do samego okna (lub innego otworu, do którego zdecydowałeś się przymocować czujnik).
  8. Przetestuj na desce rozdzielczej!

Deska rozdzielcza

Spójrz na diodę zakładki "Okno" - wskaże ona, czy okno jest otwarte czy zamknięte.

Krok 13: Czujnik nagrzewnicy przestrzeni

Czujnik ogrzewania przestrzeni
Czujnik ogrzewania przestrzeni
Czujnik ogrzewania przestrzeni
Czujnik ogrzewania przestrzeni
Czujnik ogrzewania przestrzeni
Czujnik ogrzewania przestrzeni

Pozostawienie grzejnika w pomieszczeniu jest gwarantowanym zagrożeniem pożarowym! Zachowaj bezpieczeństwo i monitoruj swój grzejnik z daleka, korzystając z tego obwodu. W szczególności czujnik ciepła w obwodzie monitoruje ciepło przez dłuższy czas – zakodowane na stałe do 5 minut dla rozsądnej wartości domyślnej – i po tym czasie nadal paruje, przerzuca diodę LED na desce rozdzielczej. Ma to na celu zapobieganie przypadkowemu włączeniu diody LED przez rozpraszanie ciepła (np. po wyłączeniu grzejnika).

Montaż i konfiguracja

  1. Zmontuj obwód zgodnie z załączonym schematem Fritzinga.
  2. Otwórz szkic i zmień następujące zmienne:
  3. mqtt_server - lokalny adres IP komputera (jako działający Mosquitto, broker MQTT)
  4. ssid - nazwa sieci Wi-Fi, do której podłączony jest komputer, do której ma być podłączona tablica
  5. hasło - hasło do wspomnianej sieci WiFi
  6. Prześlij załączony szkic na swoją tablicę.
  7. Umieść w pobliżu grzejnika, odczekaj 5 minut i sprawdź deskę rozdzielczą!

Deska rozdzielcza

Spójrz na diodę LED zakładki „Grzałka pomieszczenia” – wskaże, czy grzejnik pomieszczenia jest włączony, czy wyłączony.

Krok 14: Przełącznik Naciśnij Aktywator

Przełącznik Naciśnij Aktywator
Przełącznik Naciśnij Aktywator
Przełącznik Naciśnij Aktywator
Przełącznik Naciśnij Aktywator

Jest to bardzo prosty silnik Servo, który może włączać i wyłączać fizyczny przełącznik (przełącznik światła, przełącznik bojlera wodnego, przełącznik listwy zasilającej itp.). Jeśli zostawiłeś jeden z elementów sterowanych przełącznikiem w swoim domu - na przykład światło lub bojler - możesz go wyłączyć zdalnie.

Montaż i konfiguracja

  1. Otwórz szkic i zmień następujące zmienne:
  2. mqtt_server - lokalny adres IP komputera (jako działający Mosquitto, broker MQTT)
  3. ssid - nazwa sieci Wi-Fi, do której podłączony jest komputer, do której ma być podłączona tablica
  4. hasło - hasło do wspomnianej sieci WiFi
  5. Prześlij szkic na swoją tablicę.
  6. Zmontuj obwód zgodnie ze schematem Fritzinga.
  7. Przymocuj Servo do odpowiedniego przełącznika za pomocą gorącego kleju lub odpowiedniej obudowy, którą sam wykonałeś. Wyślij nam zdjęcie, jeśli je zrobiłeś!
  8. Przetestuj deskę rozdzielczą!

Deska rozdzielcza

Spójrz na diodę LED zakładki „Switch Press” - wskaże ona, czy naciśnięcie przełącznika jest włączone, czy wyłączone. Ponadto włączaj i wyłączaj przełącznik dla zabawy i zysku!

Zalecana: