Spisu treści:

Automatyka domowa z Androidem i Arduino: otwórz bramę po powrocie do domu: 5 kroków
Automatyka domowa z Androidem i Arduino: otwórz bramę po powrocie do domu: 5 kroków

Wideo: Automatyka domowa z Androidem i Arduino: otwórz bramę po powrocie do domu: 5 kroków

Wideo: Automatyka domowa z Androidem i Arduino: otwórz bramę po powrocie do domu: 5 kroków
Wideo: Sonoff 4CH Pro R3 Sonoff ZigBee Bridge Sonoff DW2 2024, Wrzesień
Anonim
Automatyka domowa z Androidem i Arduino: otwórz bramę, gdy wrócisz do domu
Automatyka domowa z Androidem i Arduino: otwórz bramę, gdy wrócisz do domu

Ta instrukcja dotyczy konfiguracji systemu automatyki domowej, która będzie sterowana za pomocą smartfona, za pomocą połączenia internetowego, aby można było uzyskać do niego dostęp z dowolnego miejsca. Co więcej, po spełnieniu określonych kryteriów będzie wykonywał określone czynności (jak np. włączanie światła, gdy smartfon łączy się z domową siecią Wi-Fi, otwieranie bramy, gdy wjeżdżasz na obszar wyznaczony przez GPS, czy wszystko inne, co chcesz).

Zostanie użyta istniejąca aplikacja na Androida, która wymaga najmniejszej możliwej ilości kodowania: po prostu prześlij kod i gotowe. Mózgiem - mikrokontrolerem - będzie płyta zgodna z Arduino lub Arduino, taka jak Aruino Uno z osłoną Ethernet lub NodeMCU ESP8266.

Aby uruchomić system, gdy warunek zostanie spełniony (pozycja GPS, czas, ecc…) użyjemy znanego Taskera; więcej o tym później.

Realizując system, zwrócono uwagę na następujące kluczowe punkty:

  • To musi być tanie.
  • Musi być dostępny spoza lokalnej sieci domowej (tj. Wi-Fi).
  • Musi być NAPRAWDĘ łatwy i szybki w budowie i konfiguracji.
  • Musi być niezawodny.

Biorąc to pod uwagę, cały projekt będzie kosztował około 20 € (7,50 € za ESP8266, 8 € za tablicę przekaźnikową, reszta za dodatkowy sprzęt) i zajmie Ci około 30 minut, aby wszystko skonfigurować - wcale nieźle.

Jeśli więc jesteś zainteresowany, postępuj zgodnie z tym prostym i szybkim przewodnikiem i skonfiguruj swój własny!

Krok 1: Konfiguracja sprzętu

Konfiguracja sprzętu
Konfiguracja sprzętu

Po zebraniu wszystkich komponentów pierwszą rzeczą do zrobienia jest połączenie ich wszystkich.

W tym przykładzie podłączymy żarówkę do ESP8266; pamiętaj, że musisz być bardzo ostrożny podczas pracy z głównym napięciem - domy używają 220 V, które mogą cię zabić! Zawsze odcinaj zasilanie przed rozpoczęciem pracy, a jeśli nie masz pewności, poszukaj pomocy eksperta!

To powiedziawszy: aby poradzić sobie z takimi poziomami napięcia i prądu (które spalą maleńkie ESPR8266) musimy użyć odpowiedniego przekaźnika (takiego, który jest logiką 5 V, odpowiedni dla standardowego Arduino, lub ten, przekaźnik poziomu logicznego 3,3 V, odpowiedni dla pinout 3.3 V ESP82666); połączenia są dość proste, postępuj zgodnie z załączonym schematem.

Zauważ, że niektóre karty przekaźnikowe (takie jak ta, którą połączyliśmy) są ACTIVE LOW; oznacza to, że musisz podłączyć przekaźnik do masy, aby się włączał i na odwrót. Jeśli tak jest w Twoim przypadku, Homotica oferuje dobre rozwiązanie; zobaczymy w następnym akapicie.

Krok 2: Konfiguracja ESP8266

Konfiguracja ESP8266
Konfiguracja ESP8266
Konfiguracja ESP8266
Konfiguracja ESP8266
Konfiguracja ESP8266
Konfiguracja ESP8266

Teraz, gdy mamy już skonfigurowany sprzęt systemu automatyki, musimy zaprogramować mikrokontroler.

W tym celu będziemy potrzebować oprogramowania Arduino, aby wgrać dostarczony szkic do ESP8266; więc przejdź do strony pobierania Arduino i pobierz wersję najbardziej odpowiednią dla siebie.

Po pobraniu zainstaluj go.

Teraz, gdy mamy zainstalowane nasze IDE, potrzebujemy biblioteki potrzebnej do działania szkicu; aby go zainstalować otwórz App Github Repo i wybierz Pobierz z zielonego przycisku po prawej stronie.

Przejdź do folderu Pobierz na swoim komputerze i za pomocą oprogramowania takiego jak WinRar lub WinZip rozpakuj plik; otwórz nowo utworzony folder „homotica-master” i skopiuj wewnętrzny folder o nazwie „Homotica” do folderu Arduino Editor Libraries (zwykle można go znaleźć w C:\Users\your_user_name\Documents\Arduino\libraries). Usuń pozostałe pliki w "homotica-master", nie będziemy ich potrzebować

Brakuje jednego kroku przed przesłaniem kodu do ESP8266: musimy uzyskać bibliotekę, aby Arduino IDE komunikowało się z płytą, ponieważ nie jest oficjalnie obsługiwane.

Aby to zrobić, wykonaj następujące kroki (kredyty: Github ES8266 Arduino Repo):

  • Uruchom Arduino i otwórz okno Pliki>Preferencje.
  • Wpisz „https://arduino.esp8266.com/stable/package_esp8266com_index.json” (bez cudzysłowów) w polu Dodatkowe adresy URL menedżera tablicy. Możesz dodać wiele adresów URL, oddzielając je przecinkami.
  • Otwórz Menedżera tablic z menu Narzędzia > Tablica i zainstaluj platformę esp8266 (wyszukaj „esp8266” i pobierz „esp8266 od ESP8266 Community”).

Wszystko jest ustawione. Zajmijmy się kodem szkicu.

Otwórz Plik>Przykład>Homotica>Homotica ESP8266, skopiuj CAŁY kod w nowym szkicu i zmodyfikuj następujące parametry:

  • ssid: wstaw tutaj nazwę swojej sieci bezprzewodowej
  • hasło: twoje hasło do Wi-Fi
  • ip, brama, podsieć: prawdopodobnie nie będziesz musiał dotykać tych ustawień; zmień ip, jeśli chcesz, aby Twój ESP8266 miał inny adres
  • mUdpPort: port, który otworzymy później w routerze; jeśli nie wiesz co to jest, nie dotykaj tego
  • kod: unikalny 8-znakowy kod, który będzie używany do uwierzytelniania Twojej aplikacji; możesz wybrać, co chcesz.

Jeśli używasz konfiguracji ACTIVE LOW, nie zapomnij wywołać homotica.setActiveLow(), jak pokazano w przykładowym kodzie!

Aby zakończyć: dodaj homotica.addUsedPin(5) (jak pokazano w przykładzie), aby poinformować ESP8266, które GPIO ma obsługiwać, między pętlą while a homotica.set(mUdpPort, kod); usuń wszystkie wiersze homotica.simulateUdp(…).

Oto kod, który powinieneś pozostawić:

#włączać

#include #include const char* ssid = "mywifiname"; const char* hasło = "wifipassword"; Adres IP ip(192, 168, 1, 20); Brama IPAddress (192, 168, 1, 1); Podsieć adresu IP (255, 255, 255, 0); unsigned int mUdpPort = 5858; statyczny kod ciągu = "aBc159"; Homotica homotica; void setup() { WiFi.config(ip, brama, podsieć); WiFi.begin(SSid, hasło); while (WiFi.status() != WL_CONNECTED) { delay(500); } homotica.addUsedPin(5); homotica.setActiveLow(); //<-- tylko jeśli potrzebujesz homotica.set(mUdpPort, kod); } void loop() { homotica.refresh(); }

Gdy wszystko jest poprawnie skonfigurowane, zmień ustawienia kompilatora z menu Narzędzia zgodnie z załączonym zrzutem ekranu i wybierz port, do którego jest podłączony Twój ESP8266 na komputerze w Narzędzia>Port.

Teraz kliknij prześlij. Twój mikrokontroler jest skonfigurowany i gotowy do uruchomienia!

Krok 3: Router i IP

Router i IP
Router i IP
Router i IP
Router i IP

Aby komunikować się z ESP8266 z każdej sieci, musimy powiedzieć routerowi, aby wpuścił polecenie, które do niego wysyłamy.

Aby to zrobić, przejdź do strony konfiguracji routera (zwykle 192.168.1.1) i poszukaj czegoś takiego jak „serwer wirtualny” lub „przekierowanie portów”; możesz zlokalizować dokładne ustawienie wyszukiwania modelu routera w Google.

W przekierowaniu portów utwórz nową regułę, która zezwala na wszystkie połączenia z ESP8266 (ten skonfigurowany wcześniej) przez port ESP8266 (ponownie, ten skonfigurowany wcześniej). Nazwij go Homotica, wstaw adres IP ESP8266 w polu IP i zapisz.

Jeśli router, którego używasz, nie pozwala na to, nie martw się: nie będziesz mógł korzystać z aplikacji z sieci komórkowej, ale będzie działać doskonale z poziomu Twojej domowej sieci Wi-Fi.

Teraz, aby odnieść się do naszego routera ze świata zewnętrznego, musimy znać jego publiczny adres IP; Minusem jest to, że większość dostawców Internetu nie podaje statycznego adresu IP, ale dynamiczny, który zmienia się z czasem.

Ale czekaj, możemy to rozwiązać!

Udaj się do NoIp, utwórz nowe konto, a następnie utwórz nową nazwę hosta (patrz załączony obrazek). Zanotuj swoją nazwę hosta (w moim przykładzie: https://nazwahosta.ddns.net) i przejdź do następnego kroku.

(Uwaga: możesz chcieć, aby komputer automatycznie synchronizował adres IP routera z nazwą hosta NoIp: pobierz bezpłatną aplikację, aby to zrobić)

Krok 4: Konfiguracja aplikacji

Konfiguracja aplikacji
Konfiguracja aplikacji
Konfiguracja aplikacji
Konfiguracja aplikacji
Konfiguracja aplikacji
Konfiguracja aplikacji

Zajmijmy się aplikacją, dobrze?

Pobierz aplikację ze strony Sklepu Play i otwórz ją.

Otwórz lewe menu, wybierz Tablice i utwórz nowe. Uzupełnimy parametry, które wcześniej zdefiniowaliśmy w kodzie szkicu ESP8266:

  • Nazwa Arduino: czego chcesz (niech to będzie ESP8266)
  • IP hosta: może to być

    • statyczny adres IP routera, do którego odwołuje się łącze NoIp
    • ESP8266 IP, jeśli chcesz go używać tylko z domowej sieci Wi-Fi 192.168.1.20
  • Port hosta: ten, który skonfigurowaliśmy i otworzyliśmy wcześniej 5858
  • Auth code: 8-znakowy kod, który zdefiniowaliśmy w szkicu aBc195

Zapisać. Ponownie otwórz menu, utwórz nowe urządzenie; do demonstracji dołączymy żarówkę:

  • Nazwa: światło
  • Nazwa przycisku: użyjemy On, wybierz to, co wolisz
  • Numer pinu: pin, do którego przyczepiliśmy żarówkę. Bądź ostrożny! Na ESP8266 etykiety pinów (D1, D2…) NIE odpowiadają nazwie pinów GPIO! Wyszukaj w Google, aby określić, który pin to który GPIO (w naszym przykładzie: pin 5 jest oznaczony jako D1)
  • Zachowanie: możesz wybrać między włączeniem, wyłączeniem, zmianą stanu „pchania” (włączenie, a następnie wyłączenie) urządzenia.

Zapisać. Jeśli do tej pory wszystko skonfigurowałeś poprawnie, naciśnięcie Włącz żarówka powinna się włączyć.

Fajne, prawda?

Teraz możesz się dobrze bawić dodając kolejne urządzenia, jeszcze więcej plansz i układając je w sceny.

Ale aby wykorzystać z pełną mocą to, co właśnie stworzyłeś, będziemy musieli użyć Taskera.

Krok 5: Integracja Taskera

Integracja Taskera
Integracja Taskera
Integracja Taskera
Integracja Taskera
Integracja Taskera
Integracja Taskera

Jeśli posiadasz Taskera lub chcesz go kupić, czytaj dalej! Wykorzystamy go, aby powiedzieć Homotice, co i kiedy ma robić.

W tym przykładzie będziemy włączać światło za każdym razem, gdy połączymy się z naszym domowym Wi-Fi ORAZ czas przypada między 16:00 a 18:00.

Otwórz Taskera; utwórz nowe zadanie (nadaj mu nazwę Włącz światło), wybierz Dodaj>Wtyczka>Homotica, naciśnij ikonę ołówka, aby skonfigurować wtyczkę. Wybierz Światło>Włącz i Zapisz. Wróć do menu głównego, utwórz nowy profil, wybierz Stan>Połączono z WiFi, w polu SSID wstaw nazwę trasy Wifi; naciśnij wstecz i wybierz Włącz światło, aby wprowadzić aktywność. Teraz naciśnij i przytrzymaj lewą część nowo utworzonego profilu, wybierz Dodaj> Czas> Od 16:00 do 18:00, a następnie zamknij.

Skończyliśmy. Nasze światło zapali się, gdy wejdziemy do domu o ustalonej godzinie.

To przydatne!

Teraz twoja kolej: bądź kreatywny z Homotica i Tasker i nie zapomnij pokazać nam, co stworzyłeś!

Zalecana: