Spisu treści:
- Krok 1: Konfiguracja sprzętu
- Krok 2: Konfiguracja ESP8266
- Krok 3: Router i IP
- Krok 4: Konfiguracja aplikacji
- Krok 5: Integracja Taskera
Wideo: Automatyka domowa z Androidem i Arduino: otwórz bramę po powrocie do domu: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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
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
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
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
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:
Bezstykowa automatyka domowa z Arduino-bluetooth: 5 kroków
Bezstykowa automatyka domowa na Arduino-Bluetooth: powitanie w czasach pandemii Covid-19 to konieczność unikania kontaktu i zachowania dystansu społecznego, ale włączanie i wyłączanie urządzeń trzeba dotykać centrali, ale nie czekaj.Wprowadzamy system bezkontaktowy do kontroli
GPS Car Tracker z powiadomieniem SMS i przesyłaniem danych Thingspeak, oparty na Arduino, automatyka domowa: 5 kroków (ze zdjęciami)
GPS Car Tracker z powiadomieniem SMS i przesyłaniem danych Thingspeak, opartym na Arduino, automatyką domową: Zrobiłem ten tracker GPS w zeszłym roku, a ponieważ działa dobrze, publikuję go teraz na Instructable. Jest podłączony do wtyczki akcesoriów w moim bagażniku. Lokalizator GPS przesyła pozycję samochodu, prędkość, kierunek i zmierzoną temperaturę za pośrednictwem danych mobilnych
Automatyka domowa na podczerwień z Arduino: 5 kroków
Automatyka domowa na podczerwień z Arduino: AUTOMATYKA DOMU ARDUINO Automatyka domowa oznacza po prostu automatyczne wykonywanie czynności, które zwykle wykonujesz ręcznie. Zwykle wstaniesz, aby przełączyć przełącznik, co by było, gdybyś mógł po prostu nacisnąć pilota, a światło automatycznie się włączy
Automatyka domowa Arduino, automatyczne otwieranie drzwi: 6 kroków
Automatyka domowa Arduino, automatyczne otwieranie drzwi: Zapisz się na mój kurs „Elektronika w pigułce” tutaj: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARKAZajrzyj również na mój kanał na YouTube, aby uzyskać więcej informacji projekty i tutoriale dotyczące elektroniki: https://www.youtube.com/channel/UCelOOR
Automatyka domowa z Arduino: 6 kroków
Automatyka domowa z Arduino: HISTORIA Rozpocząłem ten projekt jako projekt szkolny. Właściwie chciałem stworzyć coś, co przyniesie korzyści społeczeństwu. Dlatego zacząłem badać, jakie różne problemy pojawiające się na świecie można rozwiązać. Wtedy znalazłem