Spisu treści:
- Krok 1: Lista materiałów
- Krok 2: Jak połączyć i zaprogramować Node01 i Node02 (stacje podporządkowane)
- Krok 3: Jak podłączyć i zaprogramować Node00 (stacja główna)
- Krok 4: WifiWebServer (NodeMCU w stacji głównej)
- Krok 5: Od początku…
Wideo: Sieć stacji czujników do sterowania oświetleniem i bezpieczeństwem: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Dzięki tej sieci stacji czujników skonfigurowanej w trybie master/slave, będziesz mógł kontrolować oświetlenie i bezpieczeństwo w swoim domu. Te stacje czujników (Node01, Node02 w tym projekcie) są połączone ze stacją główną (Node00) podłączoną do lokalnej sieci Wi-Fi. Zainstalowałem Node01 w moim magazynie i Node02 w moim garażu, kontrolując światła i ruchy. Stacja główna jest zainstalowana w naszej jadalni połączonej z naszym routerem Wi-Fi. Zainstalowałem dzwonek w garażu i mały brzęczyk w stacji głównej, aby zabrzmieć, gdy jakiś czujnik w sieci wykryje ruch.
Główne cechy sieci to:
- Możliwe jest skonfigurowanie sieci z więcej niż dwiema stacjami czujników (stacje podrzędne) (Node01, Node02, Node03, ….)
- Dzięki zastosowaniu bezprzewodowych nadajników-odbiorników z anteną sieć jest w stanie pokryć duży obszar
- Możesz kontrolować całą sieć z telefonu komórkowego
- Wyślij wiadomość e-mail (konto Gmail) po wykryciu ruchu i włączeniu trybu alarmowego. Jeśli więc włączysz powiadomienia push Gmaila w telefonie komórkowym, będziesz wiedzieć, kiedy w Twojej sieci zostanie wykryty ruch
do celów domotycznych:
- Włącz światła po wykryciu ruchu / zawsze włączaj światła (dla całej sieci lub dla każdej stacji slave)
- Zmień czas w minutach, w którym światła są włączone po wykryciu ruchu dla każdej stacji podrzędnej
ze względów bezpieczeństwa:
- Włącz i wyłącz tryb alarmu
- Każda stacja slave może wysłać sygnał do stacji master (Node00), gdy włączony jest tryb alarmu i wykryty zostanie ruch
- Stacja master może aktywować dzwonek i wysłać e-mail, gdy jeden z tych sygnałów zostanie odebrany z dowolnej stacji slave i włączony jest tryb alarmu. Stacja główna (Node00) jest połączona z Internetem za pomocą połączenia Wi-Fi, aby sterować całym systemem za pomocą telefonu komórkowego. Jest skonfigurowany jak WifiWebServer
Krok 1: Lista materiałów
Lista materiałów, których użyłem do budowy Node01 i Node02 (stacji podrzędnych) jest następująca:
- Płyta Mega 2560 R3
- Plastikowy wspornik do MEGA 2560 R3
- Czujnik PIR HC-SR501
- Plastikowa podstawka do HC-SR501
- Przekaźnik 5 V
- Bezprzewodowy moduł nadawczo-odbiorczy 2.4G 1100m NRF24L01+PA+LNA z anteną LKY67
- Adapter 8Pin NRF24L01 (w celu poprawy funkcji NRF24L01)
- HLK-PM01 Zasilacz AC DC 220 V do 5 V
Lista materiałów do budowy Node00 (stacji głównych) jest następująca:
- Płyta Mega 2560 R3
- Plastikowy wspornik do MEGA 2560 R3
- Moduł WiFi NodeMCU Lua Amica V2 ESP8266
- Bezprzewodowy moduł nadawczo-odbiorczy 2.4G 1100m NRF24L01+PA+LNA z anteną LKY67
- Płytka adaptera 5v-3.3v VCC dla NRF24L01 (w celu poprawy funkcji NRF24L01)
- Zasilacz AC-DC, 9V, 1A (2, 1 mm x 5,5 mm)
Ponadto wykorzystałem następujący materiał:
- 2 pinowe złącza PCB 5 mm
- Przewody połączeniowe
- Płytka prototypowa MB-102 (800 kontaktów)
- Płytka bez lutowania Mini 170 kontaktów
- Zestaw diod i oporników
- płytki PCB
- Zestaw do lutowania cyny
- Pistolet na klej
- Przezroczysty metakrylan
- dzwon
Krok 2: Jak połączyć i zaprogramować Node01 i Node02 (stacje podporządkowane)
Do zaprogramowania szkicu "SlaveSation.ino" potrzebowałem biblioteki RF24 i biblioteki RF24 Network.
Na powyższym schemacie blokowym można zobaczyć logikę stacji czujników oraz komunikaty wymieniane między podrzędną stacją czujników a stacją nadrzędną.
Przed załadowaniem szkicu musisz skonfigurować adres węzła podrzędnego w formacie ósemkowym
const uint16_t this_node = 01; // Adres naszego węzła w formacie ósemkowym (slave): 01, 02, 03 …
Znaczenie diod led w każdej stacji podrzędnej jest następujące:
- Niebieska dioda. Będzie świecić, gdy pin czujnika PIR jest wysoki.
- Zielona dioda. Będzie się świecić, gdy alarm jest podłączony.
Krok 3: Jak podłączyć i zaprogramować Node00 (stacja główna)
W stacji Node00 możemy znaleźć dwie różne tablice:
- Płyta MEGA 2560 R3. To urządzenie służy do odbierania wiadomości ze stacji podrzędnej po wykryciu ruchu za pomocą komunikacji bezprzewodowej. Aktywuje dzwonek po wykryciu ruchu i podłączeniu alarmu. Aby zatrzymać dzwonek wystarczy odłączyć tryb alarmu. Ponadto wysyła do stacji slave wiadomości z NodeMCU, aby włączyć lub wyłączyć wykrywanie ruchu, aby zawsze włączać światła, aby zawsze wyłączać światła, …
- Płytka NodeMCU Lua Amica V2 ESP8266. Działa jak serwer sieciowy Wi-Fi do przesyłania i odbierania poleceń ze zdalnego miejsca za pomocą strony internetowej w telefonie komórkowym. Ponadto wysyła wiadomości e-mail po wykryciu ruchu i włączeniu trybu alarmowego.
Oba urządzenia są zaprogramowane do komunikowania się ze sobą w konfiguracji Master (NodeMCU) / Slave (MEGA) za pośrednictwem synchronicznego protokołu szeregowego I2C przy użyciu biblioteki przewodów. Protokół I2C wykorzystuje dwie linie do wysyłania i odbierania danych: szeregowy pin zegarowy (SCL) i szeregowy pin danych (SDA), przez który dane są przesyłane między dwoma urządzeniami.
Jak widać na rysunku dwa piny do komunikacji I2C w płytce MEGA 2560 R3 to:
- SDA -> pin 20 SDA
- SCL -> pin 21 SCL
a pozostałe w NodemMCU to:
- SDA -> cyfrowy pin 1
- SCL -> pin cyfrowy 2
Zanim załadujesz szkic dla ESP8266 musisz zainstalować płytkę ESP8266. Aby to zrobić, musisz wpisać „https://arduino.esp8266.com/stable/package_esp8266com_index.json” w „Additional Board Manager URLs” w oknie preferencji w Arduino IDE. Następnie musisz otworzyć menedżera tablic i zainstalować "esp8266"
Używam zewnętrznego zasilacza (9V, 1A) do płyty MEGA 2560 R3 (gniazdo zasilania DC, 2,1mm x 5,5mm) i podłączam płytkę NodeMCU do pinu 3V3 w płycie MEGA.
Krok 4: WifiWebServer (NodeMCU w stacji głównej)
Szkic załadowany do NodeMCU (Node00 lub stacja główna) jest skonfigurowany jak serwer WWW podłączony do domowej sieci Wi-Fi. Dostęp zdalny jest możliwy po skonfigurowaniu przekierowania portów w routerze.
Zanim załadujesz szkic WifiWebServerV3.ino do NodeMCU, musisz wykonać następujące czynności:
- Zaktualizuj port, który zamierzasz skonfigurować w routerze (przekierowanie portów), aby uzyskać zdalny dostęp do NodeMCU
- Zaktualizuj użytkownika i hasło, aby uzyskać dostęp do domowej sieci Wi-Fi
- Zaktualizuj login i hasło swojego konta Gmail, aby wysyłać e-maile po wykryciu ruchu i podłączeniu alarmu
- Zaktualizuj adres e-mail, na który będziesz otrzymywać e-maile
Aby zaktualizować użytkownika, hasło i port, którego serwer będzie używał do nasłuchiwania, musisz wyszukać następujący kod w szkicu WifiWebServerV3.ino i zaktualizować go:
const char* ssid = "*** twój ssid ***";
const char* password = "*** twoje hasło ***"; Serwer WiFiServer(80);
Aby zaktualizować adres e-mail, na który będziesz otrzymywać e-maile, musisz wyszukać następujący kod i zaktualizować go:
const char* to_email = "*** adres e-mail, na który otrzymasz wiadomość ***";
Aby zaktualizować użytkownika i hasło konta Gmail, aby otrzymywać e-maile, musisz wyszukać następujący kod w pliku „Gsender.h” i zaktualizować go:
const char* EMAILBASE64_LOGIN = "*** twój adres e-mail zakodowany w BASE64 ***";
const char* EMAILBASE64_PASSWORD = "*** twoje hasło zakodowane w BASE64 ***"; const char* FROM = "*** twój adres e-mail ***";
Do kodowania lub dekodowania danych w BASE64 użyłem www.base64encode.org
Jeśli potrzebujesz więcej informacji na temat wysyłania i odbierania wiadomości e-mail za pomocą ESP8266, znajduje się tutaj "Instruktaż" na ten temat
Gdy to zrobisz, możesz przetestować połączenie w routerze. Jeśli urządzenie jest podłączone, musisz zarezerwować przypisany adres IP dla tego urządzenia. Ponadto dobrym pomysłem jest porozmawianie z dostawcą Internetu w celu ustawienia statycznego adresu IP na routerze.
Aby uzyskać dostęp do strony internetowej w pobliżu routera Wi-Fi, wystarczy wpisać tylko lokalny adres IP przypisany przez router zgodnie z portem, którego używasz w nawigatorze sieciowym. Na przykład: 192.168.40.15:800. Jeśli próbujesz uzyskać dostęp zdalny, musisz wpisać adres IP routera zgodnie z portem, którego używasz, jak powyżej.
Strona internetowa, którą pokazuję na zdjęciach, jest zaprogramowana do sterowania siecią z dwiema stacjami podrzędnymi.
System jest wstępnie skonfigurowany do sterowania maksymalnie 5 stacjami podrzędnymi, ale można to zmienić. Wystarczy wyszukać następujący kod w WifiWebServerV3.ino i SlaveStation.ino
#define number_max_slaves 5
Strona początkowo podzielona jest na 4 sekcje:
- Sekcja „Stan”, w której pokazuje, czy alarm jest podłączony, czy nie
- Sekcja „Licznik alarmów”, w której pokazuje liczbę wykrytych ruchu w każdej stacji podrzędnej
- Sekcja „Alarm” gdzie można podłączyć lub odłączyć (POŁĄCZ ALARM/ODŁĄCZ ALARM) alarm oraz zresetować licznik alarmów (RESET COUNTERS)
-
Sekcja „Oświetlenie”, w której można sterować oświetleniem każdej stacji podrzędnej. Możesz kontrolować następujące elementy:
- Włącz światła we wszystkich stacjach podrzędnych / włącz światła tylko w przypadku wykrycia ruchu we wszystkich stacjach podrzędnych (SIEĆ ZAWSZE ON/NETWORK WHEN MOVEMENT)
- Zmień w minutach czas świecenia świateł dla każdej stacji podrzędnej (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
- Włącz światła dla każdej stacji podrzędnej (NODExx ZAWSZE ON)
- Włącz światła dla każdej stacji podrzędnej tylko po wykryciu ruchu (NODExx_MOV)
Nie musisz nic zmieniać, ponieważ będzie działać niezależnie od nazwy stacji slave, którą skonfigurujesz. Ponadto automatycznie wykryje liczbę stacji podrzędnych podłączonych do sieci.
Oczywiście możesz pobrać szkic i łatwo zmodyfikować kod niezbędny do wyświetlenia własnej strony internetowej.
Krok 5: Od początku…
Oto kroki, które musisz wykonać, aby zbudować swoją sieć:
- Kup wszystkie materiały zgodnie z listą, którą podaję w „Kroku 1”
- Połącz komponenty zgodnie z rysunkiem, który możesz pobrać w "Kroku 2" i "Kroku 3"
- Zbuduj skrzynki dla każdej stacji podrzędnej i stacji głównej. Zbudowałem pudła z metakrylanu.
-
Skonfiguruj każdą stację podrzędną:
Pobierz i załaduj szkic "SlaveStation.ino" na jednej płycie MEGA 2560 R3. Musisz tylko edytować szkic i zaktualizować adres stacji podrzędnej, jak widać w "Kroku 2"
-
Skonfiguruj stację główną:
- Pobierz i załaduj szkic "SlaveStation.ino" w jednym MEGA 2560 R3. Nie musisz nic zmieniać, niezależnie od liczby węzłów slave w Twojej sieci. Początkowo szkic jest skonfigurowany dla maksymalnie 5 stacji podrzędnych.
- Pobierz i załaduj szkic „WifiServerV3.ino” w NodeMCU. Musisz zaktualizować szkic zgodnie z instrukcją w „Kroku 4”
- Skonfiguruj router, aby uzyskać zdalny dostęp do NodeMCU (przekierowanie portów, statyczny adres IP…)
Zalecana:
Sieć czujników LTE CAT-M1 GSM IoT T - 15 minut.: 5 kroków
LTE CAT-M1 GSM IoT Sensors Network… T - 15 Minutes.: 8 kwietnia 2018 r. R&D Software Solutions srl [itbrainpower.net] ujawnił publicznie ogłoszenie xyz-mIoT przez tarczę itbrainpower.net - pierwsza i najbardziej kompaktowa płyta IoT, która łączy w sobie wszechstronność mikrokontroli ARM0
Sieć czujników temperatury: 6 kroków
Sieć czujników temperatury: Temperatura i wilgotność to kluczowe dane w laboratorium, kuchni, linii produkcyjnej, biurze, zabójczych robotach, a nawet w domu. Jeśli potrzebujesz monitorować wiele lokalizacji lub pomieszczeń lub przestrzeni, potrzebujesz czegoś, co jest niezawodne, kompaktowe, dokładne i niedrogie
Tania bezprzewodowa sieć czujników w paśmie 433 MHz: 5 kroków (ze zdjęciami)
Niskokosztowa bezprzewodowa sieć czujników w paśmie 433 MHz: Wielkie podziękowania dla Teresy Rajby za uprzejme wyrażenie zgody na wykorzystanie danych z ich publikacji w tym artykule. sieci? Prosta definicja
Robot autonomiczny Wallace - część 4 - dodanie czujników odległości na podczerwień i czujników „wzmacniacza”: 6 kroków
Robot autonomiczny Wallace – część 4 – Dodaj czujniki odległości na podczerwień i czujniki „wzmacniacza”: Witam, dzisiaj rozpoczynamy kolejny etap ulepszania możliwości Wallace'a. W szczególności staramy się poprawić jego zdolność wykrywania i omijania przeszkód za pomocą czujników odległości na podczerwień, a także wykorzystać możliwości kontrolera silnika Roboclaw
Cienki klient Compaq EVO T20 jako odtwarzacz MP3 (z możliwością sterowania przez sieć): 9 kroków
Cienki klient Compaq EVO T20 jako odtwarzacz MP3 (sterowany przez sieć): W pracy potrzebujemy podkładu muzycznego w poczekalni, a po chwili 5 płyt CD na odtwarzaczu CD staje się trochę przewidywalne, a jedyna lokalna stacja radiowa, którą możemy odbierać, jest po prostu irytująca. Więc co stworzyłem przy użyciu niskiej specyfikacji (najniższy NTe Evo T20 Th