Spisu treści:
- Krok 1: Projekt ESP8266-01
- Krok 2: Zasilacz
- Krok 3: Montaż płyty PC
- Krok 4: Testowanie płyty PC
- Krok 5: Obudowa
- Krok 6: Programowanie ESP8266-01/NodeMCU
- Krok 7: Pierwsza konfiguracja
- Krok 8: Konfiguracja zegara IoT
Wideo: ESP8266-01 Inteligentny zegar IoT do automatyki domowej: 9 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
AKTUALIZACJE
30.09.2018: Aktualizacja oprogramowania układowego do wersji 1.09. Teraz z podstawową obsługą Sonoff
01.10.2018: Wersja próbna oprogramowania układowego 1.10 dostępna do testowania na ESP8266-01 z problemami
Ponieważ nowe modne hasła to Internet Rzeczy (IoT) i Automatyka Domowa, postanowiłem przyjrzeć się obecnym przedmiotom w moim domu i wokół niego, które są sterowane za pomocą jakiegoś urządzenia. Wyróżniały się następujące elementy:
- Pompa basenowa
- Wlew wody w basenie
- Basen i oświetlenie otoczenia
- Oświetlenie szafki telewizyjnej/rozrywkowej
Powszechnym elementem używanym do sterowania tymi urządzeniami są standardowe zegary ścienne. Każde urządzenie jest wyposażone we własny zegar i wszystkie znajdują się w różnych lokalizacjach. Możesz zapytać, dlaczego wybrałem te elementy, aby rozpocząć projekty Internetu rzeczy lub automatyki domowej?
Cóż, życie w RPA oznacza, że awarie zasilania są na porządku dziennym. Ze statystykami mojego domu, w ciągu ostatniego roku miałem 35 awarii zasilania, w sumie 40 godzin. Zwykle nie stanowi to problemu, ponieważ wszystkie aktualnie zainstalowane zegary są wyposażone w baterię podtrzymującą do utrzymywania czasu podczas awarii zasilania. Ale jest kilka problemów:
- Te zapasowe baterie wytrzymują tylko rok lub dwa, a następnie należy wymienić timer. Zegary są skonstruowane w taki sposób, że należy je zniszczyć, aby uzyskać dostęp do wewnętrznej baterii Ni-Cad.
- Za każdym razem, gdy nastąpi awaria zasilania, należy przeprogramować zegary z uszkodzonymi bateriami i ustawić czas.
- Fizyczna lokalizacja timera, po podłączeniu do gniazdka ściennego, prawie uniemożliwia odczytywanie wyświetlaczy LCD, patrząc na timer od góry. Oznacza to, że timer musi być odłączony lub muszę położyć się na podłodze, aby ustawić lub wyregulować timery po awarii zasilania.
Z powyższych powodów zdecydowałem się przetestować możliwość wymiany timerów na Smart Timer IoT, podłączony do mojej lokalnej sieci domowej.
Pomysł polegał na zaprojektowaniu samodzielnego timera, który może:
- Automatycznie dostosuj aktualny czas za pomocą Internetu (IoT)
- Obsługiwane bez żadnych działań użytkownika (Smart)
- Włącz/wyłącz wyjście zgodnie z ustawionymi czasami (Timer)
- Programowalny i sterowany przez sieć (Automatyka domowa)
Krok 1: Projekt ESP8266-01
Projekt został wykonany przy użyciu modułu WiFi ESP8266-01, ponieważ taki miałem do dyspozycji. W swojej najprostszej formie ESP8266-01 ma cztery piny I/O:
- GPIO0
- GPIO2
- TX
- RX
ESP8266-01 Tryby zasilania
Stan logiczny pinów I/O służy do określenia, w jakim trybie uruchomi się ESP8266-01. Pierwszym krokiem było określenie, który z pinów I/O może być użyty do sterowania przekaźnikiem wyjściowym.
- Dla normalnego uruchomienia, GPIO0 i GPIO2 muszą być ustawione na logiczne HIGH. Jest więc jasne, że te dwa piny nie mogą być używane jako wyjście cyfrowe.
- Pin Tx jest ustawiony jako wyjście po włączeniu zasilania, a wyjście ustawione na wysoki. Ten pin Tx przesyła również niektóre dane szeregowe podczas uruchamiania. Tak więc ten pin nie może być również używany jako wyjście.
Jedynym pozostałym pinem jest pin Rx. Ten pin jest ustawiany jako wejście przy włączaniu i nie musi być wyciągany wysoko podczas włączania. Ten pin jest zatem najbardziej odpowiedni do użycia jako pin wyjściowy.
Rozruch
Aby zapewnić prawidłowy tryb rozruchu ESP8266-01 podczas uruchamiania, następujące piny są podciągnięte do góry za pomocą rezystorów 10K:
- GPIO0
- GPIO2
- RST
- CH_PD
Zapewnia to prawidłowe uruchamianie urządzenia za każdym razem.
Przekaźnik wyjściowy
RX jest jedynym pinem nadającym się do wykorzystania jako wyjście. Ten pin służy zatem do sterowania przekaźnikiem wyjściowym przez tranzystor NPN. Dodano standardową diodę koła zamachowego i rezystory bazowe tranzystora.
Przycisk MODE/SET
Przycisk jest podłączony do GPIO2, a po zwolnieniu przycisku rezystor 10K podniesie GPIO2 w stan wysoki. Gdy przycisk jest wciśnięty, GPIO2 jest podciągnięty do 0V.
Ten przycisk jest używany do dwóch funkcji:
- Wstępna konfiguracja w celu podłączenia urządzenia do lokalnej sieci Wi-Fi
- Aby ręcznie sterować wyjściem podczas normalnych operacji
Wskaźnik LED
Dioda LED jest podłączona do GPIO0 i wskazuje:
- Po pierwszym uruchomieniu miga SZYBKO, wskazując tryb konfiguracji WiFi
- Miga wolno, gdy czas urządzenia nie jest ustawiony
- wskazuje stan włączenia/wyłączenia przekaźnika wyjściowego
Krok 2: Zasilacz
IoT Smart Timer będę używał na różnych poziomach napięcia, dlatego dostępne są dwie opcje zasilania:
12–24 V DC
Zastosowany konwerter DC-DC nadaje się do zasilania do 28V DC. Wyjście konwertera jest regulowane i jest ustawione na 5V. Należy to zrobić przed podłączeniem modułu ESP8266.
Dodano diodę zabezpieczającą przed odwrotną polaryzacją na wejściu zasilania.
220V AC Do tej opcji udało mi się na eBayu zaopatrzyć się w mały zasilacz impulsowy 220V/5V.
Niezależnie od napięcia wejściowego, Smart Timer IoT potrzebuje dwóch zasilaczy:
Szyna 5V
W obu opcjach napięcie 5 V DC jest uzyskiwane z zasilacza impulsowego, a nie z regulatora liniowego. Oznacza to, że ciepło generowane przez zasilacz jest minimalne. 5 V służy do sterowania przekaźnikiem wyjściowym;
Szyna 3,3 V
Napięcie 3,3 V dla ESP8266-01 pochodzi z regulatora ASM1117 3.3. ASM1117 3.3 jest regulatorem liniowym i może obsługiwać do 500mA. Jednak generowane ciepło będzie określone przez napięcie wejściowe do ASM1117. Aby zredukować ciepło, ASM1117 jest zasilany z szyny 5V.
Filtrowanie szumów
Aby zredukować tętnienie napięcia w ESP8266-01, szyna 3,3 V jest wyposażona w kondensator 100 - 1000 uf. Zarówno szyny 5 V, jak i 3,3 V są również chronione przed zakłóceniami o wysokiej częstotliwości przez kondensatory 0,1 uf.
Krok 3: Montaż płyty PC
Płyta PC została zaprojektowana przy użyciu darmowej wersji Eagle. Jest to tablica jednostronna, którą można łatwo wykonać w domu metodą transferu tonera.
Po wykonaniu płytki PC, złóż ją w następującej kolejności:
- Przylutuj regulator ASM1117 i trzy komponenty SMD 0.1uf do lutowanej strony płyty
- Dodaj pojedynczą zworkę po stronie komponentów płyty
- Przylutuj rezystory i diody na miejscu
- Dodaj nagłówki dla modułu ESP8266-01
- Dodaj szpilki nagłówka dla diody LED i przycisku
- Dodaj zaciski śrubowe
- Za pomocą kołków rozgałęźnych podłącz konwerter DC/DC do płytki.
- Przylutuj przekaźnik na miejsce
- Uzupełnij płytkę, lutując tranzystor i kondensator 100uf.
Po przylutowaniu wszystkich komponentów do płytki sprawdź wszystkie punkty lutowania i upewnij się, że nie ma zwarć między padami.
! ! ! WAŻNA UWAGA ! ! ! Aby upewnić się, że płytka PC może wytrzymać duże prądy na stykach wyjściowych, należy nałożyć odpowiednią ilość lutowia na ścieżki między stykami przekaźnika a zaciskami śrubowymi
Krok 4: Testowanie płyty PC
! ! ! Przed zastosowaniem mocy ! ! !
Wyjmij moduł ESP8266-01 z urządzenia. Ma to zapobiec przegrzaniu regulatora ASM1117 przed wyregulowaniem zasilania 5V.
Niewiele jest testów, które można wykonać po montażu. Najważniejszym krokiem jest zapewnienie prawidłowych poziomów napięcia.
- Doprowadzić do urządzenia napięcie 12–24 V DC.
- Zmierz napięcie wyjściowe przetwornika DC/DC
- Ustaw wyjście konwertera na pomiędzy 5,0 a 5,5V.
- Następnie zmierz zasilanie 3,3V.
- Jeśli zasilanie jest w porządku, odłącz zasilanie od urządzenia
Możesz teraz włożyć moduł ESP8266-01 do dostarczonych nagłówków.
! ! ! Notatka !
Po przetestowaniu timera IoT i jego działaniu użyj przezroczystego lakieru, aby pokryć lutowaną stronę płytki PC. Zapobiegnie to utlenianiu torów i zapewni dodatkową izolację między stykami przekaźnika a resztą obwodu
Krok 5: Obudowa
Obudowa nie jest tak ważna, o ile płytka PC i całe okablowanie pasuje do niej ładnie i bezpiecznie.
Aby ułatwić budowę wykonałem kabel z dołączoną diodą LED i przyciskiem MODE/SETUP. Dało mi to większą elastyczność w montażu diody i przycisku do obudowy. Ten kabel jest następnie podłączany do złącza na płycie PC.
Zdjęcia przedstawiają jedną z jednostek 12V używanych do świateł LED.
Krok 6: Programowanie ESP8266-01/NodeMCU
Aby zaprogramować ESP8266-01, musisz najpierw skonfigurować Arduino IDE. Nie wchodzę w te szczegóły, ponieważ dostępnych jest wiele świetnych instrukcji na ten temat. Wybrałem następujące linki w Instruktażach w celach informacyjnych, bez żadnej konkretnej kolejności dla autorów. Dzięki za ich indywidualne instrukcje.
Postępuj zgodnie z tym ESP8266 i Arduino IDE, aby skonfigurować Arduino IDE dla modułu ESP8266.
Następnie będziesz potrzebował programatora do zaprogramowania ESP8266. Oto dwa linki:
Korzystanie z Arduino Uno
Deska do programowania dla majsterkowiczów
Biblioteki
Będziesz musiał zainstalować dodatkowe biblioteki, aby móc skompilować kod. Ponownie zapoznaj się z tą instrukcją:
Zainstaluj i używaj bibliotek Arduino
Nie pamiętam, jakie biblioteki musiałem zainstalować, ale wiem, że WiFiManager musi być pobrany osobno.. Umieściłem je w pliku Libraries.zip.
Krok 7: Pierwsza konfiguracja
Przy pierwszym użyciu inteligentny czasomierz IoT musi być podłączony do sieci Wi-Fi. To zadanie jest wykonywane przy użyciu biblioteki WiFiManager, więc w kodzie nie trzeba wpisywać identyfikatora SSID ani haseł.
Wykonaj te kilka kroków:
- Włącz urządzenie
- Dioda zacznie szybko migać
- Naciśnij przycisk MODE/SETUP
- Gdy dioda LED zgaśnie, zwolnij przycisk
- Poczekaj kilka sekund, a następnie otwórz połączenia Wi-Fi smartfona lub urządzenia
- Będzie widoczne nowe słowo sieciowe Wi-Fi o nazwie IoT Timer
- Wybierz ten punkt dostępu
- Zaloguj się do IoT Timer (hasło nie jest wymagane)
- Poczekaj, aż urządzenie połączy się z siecią IoT Timer
- Otwórz dowolną przeglądarkę internetową
- W pasku adresu wpisz następujący adres IP - 192.168.4.1
- Otworzy się konsola WiFiManager
- Wybierz Konfiguruj WiFi
- Wyświetli się lista z dostępnymi punktami sieci WiFi
- Wybierz żądaną sieć Wi-Fi i wpisz hasło
- Następnie wprowadź adres IP, którego chcesz używać do łączenia się z zegarem IoT
- Wprowadź adres IP bramy domyślnej, a następnie maskę
- Po zakończeniu wszystkich ustawień kliknij przycisk Zapisz
- Otworzy się nowe okno potwierdzające zapisanie nowych danych uwierzytelniających
- Zamknij przeglądarkę
Po zapisaniu sieć IoT Timer zostanie wyłączona, a urządzenie spróbuje połączyć się z siecią Wi-Fi.
- Podłącz swój smartfon lub urządzenie do tej samej sieci Wi-Fi, która jest używana przez IoT Timer.
- Otwórz przeglądarkę
- W pasku adresu wpisz adres IP swojego licznika IoT
- Otworzy się strona konfiguracji IoT Timer
Twój licznik czasu IoT jest teraz gotowy do użycia
Krok 8: Konfiguracja zegara IoT
Wbudowana strona internetowa IoT Timer składa się z pięciu sekcji:
Status
Pokazuje nazwę urządzenia, a także aktualny czas i stan wyjścia timera
Dodatkowo w tej sekcji ustawia się tryb pracy timera. Dostępne są trzy tryby:
- Auto - Wyjście będzie kontrolowane przez różne programy czasowe
- On - wyjście jest wymuszone i pozostanie włączone do momentu zmiany trybu
- Off - wyjście jest wymuszone w pozycji OFF i pozostanie wyłączone do momentu zmiany trybu.
Programy
Ta sekcja zawiera czasy włączenia i wyłączenia timera. Dostępnych jest siedem programów, a każdy program można ustawić indywidualnie.
Przed zmianą następnego programu naciśnij przycisk ZAPISZ, aby zapisać zmiany wprowadzone w bieżącym programie.
Funkcja przycisku
Przycisk MODE/SETUP może służyć do sterowania przekaźnikiem wyjściowym podczas normalnej pracy. Tutaj wybierz, co przycisk ma zrobić po naciśnięciu.
Zaznacz pole „Aktualizuj funkcję przycisku” przed naciśnięciem przycisku Zapisz, aby zapisać nowe ustawienia.
Konfiguracja
Tutaj możesz zmienić nazwę timera IoT. Ułatwia to identyfikację wielu timerów.
Czas na urządzeniu jest pobierany z Internetu za pośrednictwem serwera czasu NTP. Aby wyświetlić prawidłowy czas, zaktualizuj strefę czasową do swojego regionu.
Jeśli chcesz skorzystać z innego serwera czasu NTP, wprowadź nowy adres IP w odpowiednim miejscu.
Zaznacz pole „Aktualizuj konfigurację” przed naciśnięciem przycisku Zapisz, aby zapisać nowe ustawienia.
NOTATKA
Podczas zmiany strefy czasowej nowy czas zostanie ustawiony poprawnie dopiero podczas następnego zapytania o czas. Urządzenie jest ustawione na aktualizowanie czasu co 5 minut.
Dostosować czas
Czasami zdarza się, że serwer czasu NTP nie odpowiada na każde zapytanie o czas. Jeśli ustawienie czasu przez serwer NTP zajmie zbyt dużo czasu, możesz ręcznie wprowadzić godzinę i datę.
Zaznacz pole „Aktualizuj czas” przed naciśnięciem przycisku Zapisz, aby zapisać nowy czas i datę.
Synchronizacja czasu
Ostatnia część strony wskazuje czas i datę ostatniej synchronizacji czasu za pośrednictwem serwera czasu NTP.
Zalecana:
System automatyki domowej WiFi o bardzo niskim poborze mocy: 6 kroków (ze zdjęciami)
Ultra-low Power WiFi Home Automation System: W tym projekcie pokazujemy, jak w kilku krokach można zbudować podstawowy lokalny system automatyki domowej. Zamierzamy użyć Raspberry Pi, które będzie działać jako centralne urządzenie WiFi. Podczas gdy w przypadku węzłów końcowych zamierzamy użyć IOT Cricket, aby stworzyć zasilanie bateryjne
Moduł przekaźnika 4CH sterowany przez Wi-Fi do automatyki domowej: 7 kroków (ze zdjęciami)
Moduł przekaźnika 4CH sterowany przez Wi-Fi do automatyki domowej: Wcześniej korzystałem z wielu WI-FI opartych na wyłącznikach. Ale to nie jest zgodne z moimi wymaganiami. Dlatego chciałem zbudować własne, które może zastąpić normalne gniazdka Wall Switch bez żadnych przeróbek. Chip ESP8266 umożliwia Wi-Fi
Budowa urządzeń domowych dla IoT lub automatyki domowej: 7 kroków (ze zdjęciami)
Budowanie domowych urządzeń dla IoT lub automatyki domowej: Ta instrukcja jest częścią mojej serii DIY Home Automation, sprawdź główny artykuł „Planowanie systemu automatyki domowej DIY”. Jeśli jeszcze nie wiesz, co to jest Homie, zajrzyj na homie-esp8266 + homie od Marvina Rogera. Sen jest bardzo dużo
Potężny samodzielny system automatyki domowej - Pi, Sonoff, ESP8266 i Node-Red: 9 kroków (ze zdjęciami)
Potężny samodzielny system automatyki domowej - Pi, Sonoff, ESP8266 i Node-Red: Ten przewodnik powinien doprowadzić Cię do pierwszej bazy, w której możesz włączyć / wyłączyć światło lub urządzenie za pomocą dowolnego urządzenia, które może połączyć się z siecią lokalną i świetny konfigurowalny interfejs sieciowy. Możliwości rozbudowy/dodawania funkcji są ogromne, w tym
Lampa DIY IoT do automatyki domowej -- Samouczek ESP8266: 13 kroków (ze zdjęciami)
Lampa DIY IoT do automatyki domowej || Samouczek ESP8266: W tym samouczku stworzymy inteligentną lampę podłączoną do Internetu. To zagłębi się w Internet rzeczy i otworzy świat automatyki domowej! Lampa jest połączona z Wi-Fi i zbudowana tak, aby mieć otwarty protokół wiadomości. Oznacza to, że możesz wybrać