Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
PYTANIE: Czy byłbyś zainteresowany nową wersją wykorzystującą Wemos D1 mini i zarówno czujnik DS18 (dla temperatury) jak i DHT22 (dla wilgotności)? Daj znać w komentarzach. Dziękuję!
Jeśli podoba Ci się ten projekt, GŁOSUJ na niego w konkursie Wireless… Wszystkim bardzo dziękujemy
Cześć ludzie, po kilku miesiącach zabawy z ESP8266 w końcu dostałem nową wersję TerraControl, z której jestem zadowolony i którym chcę się z Wami podzielić. Niektórzy z was mogą zauważyć, że pomijam wersję 2.0… to dlatego, że ta wersja używała głównie starego kodu z kilkoma dodatkami, ale wciąż był bałagan jak diabli. Dzięki Blynk udało mi się wyciąć ponad 600 rzędów kodu do 100 rzędów bardzo prostego kodu!
Co się zmieniło?
- Małe poprawki to fizyczne połączenia. Głównie ze względu na czujnik DHT, który nie mógł być podłączony podczas uruchamiania w starej wersji. Wszystko jest teraz naprawione i żadne przerwy w dostawie prądu nie zepsują twoich ustawień.
- Nie ESP8266 Serwer WWW. Co jest dobre, zaufaj mi w tej sprawie.
- Pełna kontrola za pomocą aplikacji Blynk. Z dowolnego miejsca na świecie możesz kontrolować wszystko, co chcesz. Wiem, że to może brzmieć jak reklama, ale naprawdę polubiłem Blynk.
- Dużo więcej możliwości - całe gospodarstwo domowe połączone i kontrolowane/monitorowane za pomocą jednej aplikacji.
Krok 1: Czego potrzebujesz…
- Płyta NodeMCU 1.0 12E - 3,32 USD
- Płytka przekaźnikowa - na przykład - $5,90
- Czujnik temperatury i wilgotności DHT22(11) - $2.87
- Biorąc pod uwagę charakter płyty NodeMCU (jej wyjście to tylko 3,3 V), będziesz musiał albo kupić płytkę przekaźnikową 3,3 V (w powyższym linku), albo zmodyfikować kartę 5 V, albo kupić moduł konwertera logicznego I2C - na przykład - 0,9 USD
- Źródło 5V (używam starszej ładowarki USB)
- przewody
- lutować
- etui/pudełko
- IDE Arduino
Węzeł połączeńMCU
Styk danych DHT22/11 D6
relayLight D1relayHeat D2relayHeat2 D5relayFan D9 (pin RX na NodeMCU)
Musisz zasilać moduły zgodnie z ich specyfikacją. Jeśli używasz płytki przekaźnikowej 3.3V, możesz ją zasilać bezpośrednio z NodeMCU, w przeciwnym razie musisz użyć zewnętrznego 5V.
Używam moich starych części i obudowy, wystarczy zamienić dwa przewody…
Krok 2: Konfiguracja Blynka
Dla tych, którzy nie wiedzą, czym jest Blynk, jest to platforma z aplikacjami na iOS i Androida do kontrolowania Arduino, Raspberry Pi i tym podobnych przez Internet. Jest to cyfrowy pulpit nawigacyjny, w którym możesz zbudować interfejs graficzny swojego projektu, po prostu przeciągając i upuszczając widżety. Być może będziesz musiał kupić trochę energii w aplikacji Blynk, ale myślę, że 4-5 USD to dobra cena za taki projekt.
Zacznijmy na urządzeniu z Androidem (wersja iOS nie pozwala jeszcze na dodawanie widżetów ani edycję wydarzeń Eventor):
- Pobierz aplikację Blynk
- Zarejestruj się lub zaloguj (jeśli masz już konto)
- Naciśnij "+", aby utworzyć nowy projekt Nadaj projektowi nazwę i wybierz urządzenie, którego używasz (w naszym przypadku jest to ESP8266) i naciśnij "Utwórz" Otrzymasz token uwierzytelniający na swoją skrzynkę pocztową, będziemy go potrzebować później
-
Na stronie projektu Blynk dotknij „+” i dodaj:
- 4 przyciski
- 4 diody LED
- 2 (oznaczone) wyświetlacze
- Zegar czasu rzeczywistego
- Notyfikacja
- Eventor
- Wykres historii (opcjonalnie)
- Użyj ustawień widżetu, jak widać na ostatnim obrazku (jeśli ustawisz go inaczej, będziesz musiał zmodyfikować kod)
- W ustawieniach projektu (ikona nakrętki na górze) „Wyślij polecenie podłączonej aplikacji” na ON.
- Zamknij ustawienia i otwórz Eventor
Krok 3: Eventor
Kontynuujmy tworzenie wydarzeń Eventor…
Najpierw skonfiguruj kontrolę światła:
-
Dodaj nowe wydarzenie
Gdy… CZAS (wybierz czas, kiedy światło ma się włączyć) ustaw pin…(V10) na 1
-
Dodaj nowe wydarzenie
Kiedy…TIME (wybierz czas, kiedy światło ma się wyłączyć) ustaw pin…(V10) na 0
Teraz kontrola ciepła
-
Dodaj nowe wydarzenie
Gdy temperatura V8 jest niższa niż 30, ustaw pin…(V11) na 1
-
Dodaj nowe wydarzenie
Gdy temperatura V8 jest wyższa lub równa 30, ustaw pin…(V11) na 0
Kiedy skończysz, zamknij Eventor i naciśnij przycisk odtwarzania na swoim projekcie.
Mam nadzieję, że wpadłeś na pomysł. Jeśli zaczniesz grać z Eventorem, odkryjesz więcej możliwości i opcji. W obecnej konfiguracji oświetlenie i ogrzewanie są zautomatyzowane, a ogrzewanie2 i wentylator są sterowane ręcznie, ale wszystkimi czterema funkcjami można sterować po prostu za pomocą przycisku i zastąpią one bieżące ustawienia, dopóki nie zostanie spełniony następny warunek.
Krok 4: Kodeks
Podłącz swoją płytkę do komputera, odpal Arduino IDE, otwórz kod źródłowy i rzućmy okiem na to…
Biblioteki
Aby kod działał, musisz pobrać trzy biblioteki:
ESP8266WiFi.hDHT.hBlynkSimpleEsp8266.h (z biblioteki Blynk)
Ustawienia (zmiana do własnych potrzeb)
const char ssid = "TWÓJ SSID WIFI";const char pass = "TWOJE HASŁO WIFI";char auth = "TWÓJ ŻETON PROJEKTU BLYNK"; (otrzymasz to w e-mailu po utworzeniu projektu w aplikacji Blynk)
Otóż to! Możesz wgrać kod i sprawdzić na swoim telefonie, czy jest podłączony.
Dla pełnego ujawnienia nadal używam przeciwnych stanów dla przekaźnika 3 i 4 (Heat2 i Fan) z pierwszej wersji. Zobacz zdjęcie. Ciepło ma stan WYSOKI, gdy przycisk Blynk jest WŁĄCZONY, NISKI, gdy WYŁĄCZONY. Heat2 ma przeciwne stany.
Krok 5: Praca…? Świetny
Być może wymyślisz jeszcze lepsze rozwiązanie korzystania z Eventora. Wyjaśnienie użycia widżetów LED: Gdy naciśniesz przycisk lub Eventor wyśle zdarzenie przełączenia, kod najpierw przełączy przekaźnik do pożądanego stanu, a następnie uruchomi virtualWrite, aby włączyć/wyłączyć odpowiednią diodę LED. W ten sposób zawsze wiesz, czy Twoja akcja się powiodła (może być przyczyną problemów z połączeniem, ale nie stało się to, gdy korzystałem z tej aplikacji przez ostatnie dwa miesiące).
Wykres historii nie jest konieczny, ale jest fajną funkcją, ponieważ używa tych samych danych, które wysyłamy do wartości oznaczonych i przechowuje je na serwerze Blynk. Dzięki opcji eksportu możesz mieć znacznie więcej danych, co nie było możliwe w poprzedniej wersji.
Ta konfiguracja jest uniwersalna. Wierzę, że udało mi się uporządkować kod tak bardzo, jak to było możliwe przy tych samych funkcjonalnościach i nie tylko. Możesz go używać do sterowania swoim terrarium, akwarium, ogrodem, systemami akwafonicznymi, inkubatorami itp. Po prostu baw się dobrze, a jeśli podoba Ci się ten projekt, zostaw komentarz. Przepraszam, jeśli pominąłem jakąś konfigurację lub coś nie jest wystarczająco jasne. W takim przypadku wyślij mi PW, a naprawię to jak najszybciej. Dziękuję za przeczytanie!