Spisu treści:

Sieć stacji czujników do sterowania oświetleniem i bezpieczeństwem: 5 kroków (ze zdjęciami)
Sieć stacji czujników do sterowania oświetleniem i bezpieczeństwem: 5 kroków (ze zdjęciami)

Wideo: Sieć stacji czujników do sterowania oświetleniem i bezpieczeństwem: 5 kroków (ze zdjęciami)

Wideo: Sieć stacji czujników do sterowania oświetleniem i bezpieczeństwem: 5 kroków (ze zdjęciami)
Wideo: Czy Wasi faceci też zamieniają się w Kubicę kiedy tylko zobaczą serpentyny? #kierowca #góry #żołądek 2024, Lipiec
Anonim
Sieć stacji czujnikowych do sterowania oświetleniem i bezpieczeństwem
Sieć stacji czujnikowych do sterowania oświetleniem i bezpieczeństwem
Sieć stacji czujnikowych do sterowania oświetleniem i bezpieczeństwem
Sieć stacji czujnikowych do sterowania oświetleniem i bezpieczeństwem
Sieć stacji czujnikowych do sterowania oświetleniem i bezpieczeństwem
Sieć stacji czujnikowych do sterowania oświetleniem i bezpieczeństwem

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
Lista materiałów
Lista materiałów
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)

Jak podłączyć i zaprogramować Node01 i Node02 (stacje podporządkowane)
Jak podłączyć i zaprogramować Node01 i Node02 (stacje podporządkowane)
Jak podłączyć i zaprogramować Node01 i Node02 (stacje podporządkowane)
Jak podłą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)

Jak podłączyć i zaprogramować Node00 (stacja główna)
Jak podłączyć i zaprogramować Node00 (stacja główna)
Jak podłączyć i zaprogramować Node00 (stacja główna)
Jak podłączyć i zaprogramować Node00 (stacja główna)
Jak podłączyć i zaprogramować Node00 (stacja główna)
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:

  1. SDA -> pin 20 SDA
  2. SCL -> pin 21 SCL

a pozostałe w NodemMCU to:

  1. SDA -> cyfrowy pin 1
  2. 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)

WifiWebServer (NodeMCU w stacji głównej)
WifiWebServer (NodeMCU w stacji głównej)
WifiWebServer (NodeMCU w stacji głównej)
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:

  1. Zaktualizuj port, który zamierzasz skonfigurować w routerze (przekierowanie portów), aby uzyskać zdalny dostęp do NodeMCU
  2. Zaktualizuj użytkownika i hasło, aby uzyskać dostęp do domowej sieci Wi-Fi
  3. Zaktualizuj login i hasło swojego konta Gmail, aby wysyłać e-maile po wykryciu ruchu i podłączeniu alarmu
  4. 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:

  1. Sekcja „Stan”, w której pokazuje, czy alarm jest podłączony, czy nie
  2. Sekcja „Licznik alarmów”, w której pokazuje liczbę wykrytych ruchu w każdej stacji podrzędnej
  3. Sekcja „Alarm” gdzie można podłączyć lub odłączyć (POŁĄCZ ALARM/ODŁĄCZ ALARM) alarm oraz zresetować licznik alarmów (RESET COUNTERS)
  4. 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ć:

  1. Kup wszystkie materiały zgodnie z listą, którą podaję w „Kroku 1”
  2. Połącz komponenty zgodnie z rysunkiem, który możesz pobrać w "Kroku 2" i "Kroku 3"
  3. Zbuduj skrzynki dla każdej stacji podrzędnej i stacji głównej. Zbudowałem pudła z metakrylanu.
  4. 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"

  5. 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”
  6. Skonfiguruj router, aby uzyskać zdalny dostęp do NodeMCU (przekierowanie portów, statyczny adres IP…)

Zalecana: