Spisu treści:

Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa: 6 kroków (ze zdjęciami)
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa: 6 kroków (ze zdjęciami)

Wideo: Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa: 6 kroków (ze zdjęciami)

Wideo: Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa: 6 kroków (ze zdjęciami)
Wideo: DAJMY POSZKODOWANEMU SZANSĘ! 2024, Listopad
Anonim
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa
Symulator obecności w domu i urządzenie do kontroli bezpieczeństwa

Ten projekt pozwala nam symulować obecność i wykrywać ruchy w naszym domu.

Możemy skonfigurować sieć urządzeń zainstalowanych w różnych pomieszczeniach naszego domu, wszystkie sterowane przez główne urządzenie.

Ten projekt łączy te cechy na jednym urządzeniu (ZDJĘCIE 1):

  1. Jest to symulator obecności: urządzenie włącza i wyłącza jedną żarówkę (ZDJĘCIE 1) i używa nadajnika IR (ZDJĘCIE 2) do wysyłania kodów sterujących IR 38 KHz do urządzeń sterowanych IR (telewizor, magnetowid, lampy, …)
  2. Jest to wykrywacz ruchu: urządzenie posiada czujnik PIR do wykrywania ruchu (ZDJĘCIE 3)

Cały system jest kontrolowany przez urządzenie nadrzędne, które wysyła sygnały do innych urządzeń podrzędnych obecnych w sieci, aby włączać i wyłączać światła oraz aktywować sterowane urządzenia na podczerwień zgodnie z zaplanowaną symulacją obecności.

Główne cechy urządzenia nadrzędnego to:

  • Wykorzystuje zaplanowane sekwencje poleceń do sterowania każdym urządzeniem podrzędnym. Na przykład: światło w stacji podrzędnej 1 będzie się włączać codziennie w przypadkowym okresie czasu lub stacja podrzędna 2 włączy telewizor i zmieni kanał po pewnym czasie.
  • Odbiera sygnały ze stacji podrzędnych po wykryciu ruchu i wysyła do nas e-mail
  • Konfiguruje serwer sieciowy, aby zdalnie kontrolować i aktualizować cały system z chmury

Mam nadzieję, że lubisz i będziesz dla kogoś przydatny.

Krok 1: Budowanie urządzenia podrzędnego

Budowanie urządzenia podrzędnego
Budowanie urządzenia podrzędnego
Budowanie urządzenia podrzędnego
Budowanie urządzenia podrzędnego
Budowanie urządzenia podrzędnego
Budowanie urządzenia podrzędnego

Do zbudowania urządzenia podrzędnego będziemy potrzebować:

  • Elektryczne pudełko
  • ARDUINO NANO lub kompatybilny mikrokontroler ARDUINO NANO
  • Płyta prototypowa 480
  • Przekaźnik
  • Nadajnik podczerwieni 38 KHz
  • Czujnik PIR
  • Moduł nRF24L01 + antena
  • Adapter do modułu nRF24L01
  • Zasilanie 5V, 0,6A
  • Oprawka
  • Żarówka
  • Kable
  • Blok zacisków

Kroki, aby go zamontować są następujące (patrz rysunek Fritzing dla każdego połączenia pinowego):

  1. ZDJĘCIE 1: otwórz otwór w skrzynce elektrycznej na oprawkę lampy;
  2. ZDJĘCIE 2: zainstaluj płytkę protoboard 480 z mikrokontrolerem NANO, nadajnikiem podczerwieni i zasilaczem;
  3. ZDJĘCIE 3: podłączyć przewód fazowy oprawki lampy do zacisku NC przekaźnika, a przewód neutralny do wejścia neutralnego w listwie zaciskowej. Następnie podłącz wspólny zacisk przekaźnika do przewodu fazowego wejścia w listwie zaciskowej
  4. ZDJĘCIE 4: podłącz nadajnik IR i czujnik PIR do mikrokontrolera NANO. Zobacz krok 3, aby skonfigurować kody IR dla urządzenia, którym chcesz sterować
  5. ZDJĘCIE 5: zainstaluj adapter nRF24L01 na zewnątrz skrzynki elektrycznej i podłącz go do mikrokontrolera NANO. Jak widać na tym zdjęciu kable wchodzą do puszki elektrycznej przez otwór, który również służy do podłączenia kabla USB do programowania do mikrokontrolera NANO

Krok 2: Budowanie urządzenia głównego

Budowanie urządzenia głównego
Budowanie urządzenia głównego
Budowanie urządzenia głównego
Budowanie urządzenia głównego
Budowanie urządzenia głównego
Budowanie urządzenia głównego

Do zbudowania urządzenia nadrzędnego będziemy potrzebować:

  • Elektryczne pudełko
  • ARDUINO MEGA 2560 R3 lub kompatybilny mikrokontroler ARDUINO MEGA 2560 R3
  • Moduł WiFi NodeMCU Lua Amica V2 ESP8266
  • RTC DS3231
  • Płyta prototypowa 170
  • Przekaźnik
  • Nadajnik podczerwieni 38 KHz
  • Czujnik PIR
  • Moduł nRF24L01 + antena
  • Adapter do modułu nRF24L01
  • Zasilanie 5V, 0,6A
  • Oprawka
  • Żarówka
  • Kable
  • Blok zacisków

Kroki montażu są bardzo podobne do poprzedniego, ponieważ urządzenie główne jest zasadniczo urządzeniem podrzędnym z większą liczbą funkcji (patrz rysunek Fritzing dla każdego połączenia pinów):

  • ZDJĘCIE 1: otwórz otwór w skrzynce elektrycznej na oprawkę lampy;
  • ZDJĘCIE 2, ZDJĘCIE 3: zainstaluj moduł ESP8266 w płytce protoboard 170 i umieść go nad mikrokontrolerem MEGA 2560 jak widać na zdjęciach
  • ZDJĘCIE 4: wklej kawałek drewna do skrzynki elektrycznej. Nad kawałkiem drewna zainstaluj mikrokontroler MEGA 2560 z układem ESP8266, modułem zegarowym DS3231 oraz adapterem nRF24L01
  • ZDJĘCIE 5: zainstaluj zasilacz i naprawdę. Podłączyć przewód fazowy oprawki lampy do zacisku NC przekaźnika, a przewód neutralny do wejścia neutralnego w listwie zaciskowej. Następnie podłącz wspólny zacisk przekaźnika do przewodu fazowego wejścia w listwie zaciskowej.

Krok 3: Konfiguracja urządzeń Master i Slave

Konfiguracja urządzeń Master i Slave
Konfiguracja urządzeń Master i Slave

Aby skonfigurować urządzenia musisz wykonać kolejne kroki:

KROK 3.1 (oba urządzenia)

Zainstaluj biblioteki IRremote, RF24Network, RF24, DS3231 i Time w swoim ARDUINO IDE

KROK 3.2 (tylko dla urządzenia podrzędnego)

Skonfiguruj adres w sieci. Wystarczy poszukać w szkicu następującego kodu „presence_slave.ino” i podać adres w formacie ósemkowym. Używaj tylko adresów większych niż 0, ponieważ adres 0 jest zarezerwowany dla urządzenia nadrzędnego

const uint16_t this_node = 01; // Adres naszego urządzenia podrzędnego w formacie ósemkowym

Załaduj szkic "presence_slave.ino" do mikrokontrolera.

KROK 3.3 (tylko dla urządzenia nadrzędnego) (WPROWADZENIE KODY STERUJĄCE NA PODCZERWIEŃ)

Jeśli zamierzasz używać urządzenia sterowanego kodami sterującymi IR 38KHz do symulowania obecności, musisz znać niektóre z nich.

W przeciwnym razie musisz uzyskać kody sterujące IR ze swojego urządzenia.

Aby to zrobić, potrzebujesz odbiornika podczerwieni 38KHz, załaduj do jednego mikrokontrolera NANO szkic "ir_codes.ino" i podłącz wszystko tak, jak widać na ZDJĘCIU 1

Następnie skieruj pilota na odbiornik podczerwieni, naciśnij dowolny przycisk, a na monitorze szeregowym zobaczysz coś podobnego do:

(12 bitów) Dekodowane SONY: A90 (HEX), 101010010000 (BIN) // Przycisk POWER

(12 bitów)Dekodowane SONY: C10 (HEX), 110000010000 (BIN) // 4 przycisk (12 bitów)Dekodowane SONY: 210 (HEX), 1000010000 (BIN) // 5 przycisk

W tym przypadku pilot korzysta z protokołu SONY IR i po naciśnięciu przycisku zasilania na pilocie otrzymujemy kod IR "0xA90" o długości 12 bitów lub po naciśnięciu przycisku 4 na pilocie otrzymujemy IR kod "0xC10".

Polecam przynajmniej poszukać zasilania i kilku numerów przycisków kodu sterującego IR do symulacji obecności.

Po wcześniejszym uzyskaniu kodów IR należy je wprowadzić w następujący sposób:

PIERWSZY SPOSÓB

Jeśli masz skonfigurowaną sieć Wi-Fi, możesz to zrobić za pomocą strony internetowej (patrz krok: Serwer WWW)

DRUGI SPOSÓB

W przeciwnym razie musisz poszukać kolejnego kodu w pliku „ir_codes.ino” i zaktualizować informacje. W poniższym kodzie możesz zobaczyć jak możemy wprowadzić informacje uzyskane powyżej tylko dla urządzenia master (adres = 0)

/******************************************/

/******** Kody sterujące IR *****************/ /******************** **********************/ // protocol_id, number_of_bits, 10 kodów sterujących IR dla urządzenia master (adres = 0) SONY, 12, 0xA90, 0xC10, 0x210, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 Kody sterujące IR dla urządzenia podrzędnego (adres = 1) NIEZNANE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // id_protokołu, liczba_bitów, 10 Kody sterujące IR dla urządzenia podrzędnego (adres = 2) NIEZNANE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 kodów sterujących IR dla urządzenia podrzędnego (adres = 3) NIEZNANE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 kodów sterujących IR dla urządzenia podrzędnego (adres = 4) NIEZNANE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************* ***********************************/ /********** Zakończ kody sterujące IR ** ************/ /**************************************** **********/

Szkic jest skonfigurowany do pracy z następującymi protokołami IR:

  • NEC
  • SONY
  • RC5
  • RC6
  • LG
  • JVC
  • DLACZEGO?
  • SAMSUNG
  • OSTRY
  • DANIE
  • DENON
  • LEGO_PF

W pliku „ir_codes.ino” można znaleźć kilka kodów sterujących IR dla protokołów SAMSUNG i SONY.

/***************************************************************************/

// NIEKTÓRE IR_PROTOCOLS AND KODY // (SAMSUNG, liczba_bitów, przycisk POWER, przycisk 1, 2, 3) // SAMSUNG, 32, 0xE0E010EF, 0xE0E020DF, 0xE0E0609F, 0xE0E0A05F // (SONY, liczba, przycisk 1, przycisk 2, 3, 4, 5, 6, 7, 8, 9, 0) // SONY, 12, 0xA90, 0x010, 0x810, 0x410, 0xC10, 0x210, 0xA10, 0x610, 0xE10, 0x110, 0x910 /***** ************************************************** ********************/

WAŻNE: pierwszy wprowadzony kod sterujący IR musi być kodem sterującym IR, aby wyłączyć urządzenie. Zostanie on wysłany przez urządzenie nadrzędne do urządzeń podrzędnych, gdy nie zaplanowano żadnej akcji dla tego urządzenia

Jeśli ktoś wie lub ktoś uzyskał kody kontrolne IR niektórych protokołów wymienionych powyżej, prosimy o przesłanie komentarza w tej instrukcji z następującymi informacjami: identyfikator protokołu, długość protokołu i kody kontrolne IR.

KROK 3.4 (tylko dla urządzenia master) (PRZEDSTAWIENIE PLANOWANIA SYMULACJI OBECNOŚCI)

Planowanie symulacji obecności możesz wprowadzić w następujący sposób:

PIERWSZY SPOSÓB

Jeśli masz skonfigurowaną sieć Wi-Fi, możesz to zrobić za pomocą strony internetowej (patrz krok: Serwer WWW)

DRUGI SPOSÓB

Musisz poszukać kolejnego kodu w pliku "ir_codes.ino" i zaktualizować informacje.

Format planowania symulacji obecności jest następujący:

(interwał_początku_godziny1), (interwał_początkowy_godziny1), (interwał_początkowy_godziny2), (interwał_początkowy_godziny2), (min_opóźnienie_ir), (max_opóźnienie_ir), (min_opóźnienie_światła), (max_opóźnienie_światła)

/************* PLANOWANIE SYMULACJI OBECNOŚCI ************/

7, 8, 17, 3, 5, 60, 10, 40, // urządzenie nadrzędne (adres = 0) 0, 0, 17, 23, 3, 30, 5, 10, // urządzenie podrzędne (adres = 1) 0, 0, 0, 0, 0, 0, 0, 0, // urządzenie podrzędne (adres = 2) 0, 0, 0, 0, 0, 0, 0, 0, // urządzenie podrzędne (adres = 3) 0, 0, 0, 0, 0, 0, 0, 0 // urządzenie podrzędne (adres = 4) /*********** SYMULATOR OBECNOŚCI KOŃCA ********** **********/

W powyższym przykładzie planowanie symulacji obecności dla urządzenia nadrzędnego wygląda następująco:

  • (hour_init_interval1 = 7) Pierwsza symulacja interwału rozpocznie się codziennie o 7:00 rano
  • (hour_end_interval1 = 8) Pierwsza symulacja interwału zakończy się o godzinie 8:00 tego samego dnia
  • (hour_init_interval2 = 17) Symulacja drugiego interwału rozpocznie się o 17:00. codziennie
  • (hour_end_interval2 = 3) Druga symulacja interwału zakończy się o 3:00 następnego dnia
  • (min_delay_ir = 5) (max_delay_ir = 60) Czas opóźnienia w minutach pomiędzy losowymi wysyłkami kodów sterujących IR jest liczbą losową z zakresu od 5 do 60
  • (min_delay_light = 10) (max_delay_light = 40) Czas opóźnienia w minutach między włączeniem a wyłączeniem światła jest liczbą losową z zakresu od 10 do 40

a planowanie symulacji obecności dla urządzenia podrzędnego o adresie 2 jest następujące:

  • (godzina_początku_interwał1

    = 0) Nie zdefiniowano symulacji pierwszego interwału

  • (hour_end_interval1 = 0) Nie zdefiniowano symulacji pierwszego interwału
  • (hour_init_interval2 = 17) Symulacja rozpocznie się o 17:00. codziennie
  • (hour_end_interval2 = 23) Symulacja zakończy się o 23:00. tego samego dnia
  • (min_opóźnienie_ir = 3)

    (max_delay_ir

    = 30) Czas opóźnienia w minutach pomiędzy losowymi wysyłkami kodów sterujących IR jest liczbą losową z przedziału od 3 do 30

    (min_opóźnienie_światło = 5)

    (max_delay_light

    = 10) Czas opóźnienia w minutach między włączeniem a wyłączeniem światła jest liczbą losową od 5 do 10

KROK 3.5 (tylko dla urządzenia master) (KONFIGURACJA ZEGARA CZASU RZECZYWISTEGO)

Jednym z kluczy tego projektu jest czas. Musimy ustawić czas ARDUINO, kiedy szkic zacznie działać. W tym celu potrzebujemy modułu zegara czasu rzeczywistego. Jednym z modułów zegara jest DS3231, który obsługuje zapasową ładowarkę akumulatorową, z której można korzystać, chyba że jest podłączony do mikrokontrolera za pomocą trzech kabli danych przy użyciu protokołu I2C.

Przed użyciem DS3231 musisz ustawić czas w tym module. Aby to zrobić, musisz uruchomić w urządzeniu nadrzędnym szkic „DS3231_set.ino”.

KROK 3.6 (tylko dla urządzenia master) (KONFIGURACJA MODUŁU ESP8266)

Szkic działający w tym module spróbuj połączyć się z lokalną siecią Wi-Fi i skonfigurować serwer WWW.

Musimy więc zaktualizować następujące informacje w szkicu „presence_web.ino”, aby uzyskać dostęp do lokalnej sieci Wi-Fi i skonfigurować adres e-mail Gmaila, z którego ESP8266 ma wysyłać ruchy wykryte przez wszystkie urządzenia w sieci oraz adres e-mail, na który chcesz otrzymywać powiadomienia (instrukcja ESP8266 Gmail Sender)

const char* ssid = "identyfikator Twojej lokalnej sieci Wi-Fi";

const char* password = "hasło lokalnej sieci Wi-Fi"; const char* to_email = "e-mail, na który chcesz otrzymywać powiadomienia o wykryciu ruchu"; Serwer WiFiServer(80); // port używany do nasłuchiwania

oraz następujące informacje w szkicu „Gsender.h”.

const char* EMAILBASE64_LOGIN = "*** Twój login Gmaila koduje w BASE64 ***";

const char* EMAILBASE64_PASSWORD = "*** Twoje hasło do Gmaila jest zakodowane w BASE64 ***"; const char* FROM = "*** twój adres gmail ***";

WAŻNE: ten kod nie działa z rdzeniem ESP8266 dla Arduino w wersji 2.5.0. W przypadku tymczasowego rozwiązania użyj wersji podstawowej 2.4.2

KROK 3.7 (tylko dla urządzenia master)

Po wykonaniu poprzedniego kroku 3.3, 3.4, 3.5 i 3.6 załaduj szkic "presence_master.ino" w mikrokontrolerze NANO oraz szkic "presence_web.ino" w module ESP8266

Krok 4: Testowanie systemu

Aby sprawdzić, czy wszystko działa tak, jak chcemy, szkic „presence_master.ino” można uruchomić w trybie testowym.

Konkretne urządzenie możesz przetestować na dwa sposoby:

PIERWSZY SPOSÓB: jeśli nie korzystasz z sieci Wi-Fi, musisz poszukać następnego kodu w pliku „presence_master.ino”, zmienić na „true” początkową wartość zmiennej „bool_test_activated” i zaktualizować adres jednej urządzenie do testowania w następnej linii kodu i załadowania szkicu do mikrokontrolera ARDUINO w urządzeniu nadrzędnym.

wartość logiczna bool_test_activated = false; // zmień na true, aby uruchomić tryb testowy

int urządzenie_do_testu = 0; // adres urządzenia podrzędnego do przetestowania

Nie zapomnij zmienić wartości na false, gdy chcesz wyjść z trybu testowego i ponownie załadować szkic

DRUGI SPOSÓB: Jeśli korzystasz z sieci Wi-Fi, możesz użyć strony internetowej, aby aktywować tryb testowy. Zobacz krok „Serwer WWW”

Jeśli testowane urządzenie będzie wysyłać kody sterujące na podczerwień, umieść urządzenie nadrzędne lub podrzędne przed urządzeniem sterowanym na podczerwień (telewizor, radio…).

Ten tryb działa w następujący sposób:

  • TESTOWANIE ŚWIATŁA. Światło konkretnego urządzenia musi włączać się i wyłączać co 10 sekund.
  • TESTOWANIE KODÓW IR. Szkic wybierze losowo wprowadzony wcześniej kod IR i będzie wysyłał do urządzenia sterowanego IR co 10 sekund. Musisz więc sprawdzić, czy to urządzenie wykonuje akcję odpowiadającą otrzymanemu kodowi IR
  • TESTOWANIE DETEKTORA RUCHU. Jeśli urządzenie wykryje ruch przed czujnikiem PIR, wyśle sygnał do urządzenia nadrzędnego, a jego światło musi kilkakrotnie zacząć migać

W filmie na końcu tej instrukcji można zobaczyć uruchomiony tryb testowy.

Krok 5: Serwer WWW

Serwer WWW
Serwer WWW
Serwer WWW
Serwer WWW
Serwer WWW
Serwer WWW

Aby kontrolować system i sprawdzić, czy wszystko działa poprawnie, moduł ESP8266 jest skonfigurowany jako serwer WWW. Nie potrzebujesz żadnego dodatkowego oprogramowania, aby uzyskać zdalny dostęp do sieci, wystarczy wpisać w przeglądarce internetowej adres IP swojego routera. W routerze skonfigurowałeś wcześniej przekierowanie portów, aby uzyskać dostęp do modułu ESP8266 za pomocą statycznego lokalnego adresu IP skonfigurowanego przez Ciebie.

Moduł ten jest podłączony do mikrokontrolera ARDUINO za pomocą protokołu I2C.

Możesz zobaczyć pierwszą stronę internetową na ZDJĘCIU 1:

  • Sekcja STAN SYSTEMU pokazuje nam informacje o systemie:

    • Data i godzina systemu. Bardzo ważne jest, aby data i godzina były na czas
    • Stan symulatora obecności (włączony lub wyłączony), data i godzina ostatniej akcji obecności oraz adres urządzenia, które wykonało akcję (RYSUNEK 2)
    • Stan czujnika ruchu (włączony lub wyłączony) oraz historia wykrycia ruchu przez urządzenie: licznik oraz data i godzina ostatniego wykrycia ruchu (ZDJĘCIE 3) Na tym obrazku widać, że w urządzeniu o adresie 1 wykryto 1 ruch, a ostatni był o 16:50:34
  • Sekcja POLECENIA pozwala nam wykonać następujące czynności:

    • Aby aktywować symulator obecności
    • Aby aktywować czujnik ruchu
    • Aby wybrać urządzenie do inicjacji i zatrzymać test (ZDJĘCIE 4)
  • Sekcja POLECENIE OBECNOŚCI pozwala nam wykonać następujące czynności:

    Aby wprowadzić lub zaktualizować planowanie symulacji obecności dla konkretnego urządzenia. Na ZDJĘCIU 5 widać, jak zaktualizować planowanie symulacji obecności dla urządzenia adresowego 1. Format ciągu jest następujący: (addr_device), (hour_init1), (end_init1), (hour_init2), (end_init2), (min_delay_ir), (max_delay_ir), (min_delay_light), (max_delay_light). Wszystkie liczby są liczbami całkowitymi. Jeśli wprowadziłeś poprawny ciąg, zobaczysz nowe planowanie symulacji obecności przed tekstem „LAST”, w przeciwnym razie zobaczysz komunikat „LAST: NOT VALID”

  • Sekcja IR CODE COMMAND pozwala nam wykonać następujące czynności:

    Wprowadzenie lub aktualizacja kodu sterującego IR dla określonego urządzenia. Na ZDJĘCIU 6 widać, jak zaktualizować lub wprowadzić nowy kod sterujący IR dla urządzenia adresowego 1. Format ciągu jest następujący: (addr_device), (protokół_IR), (długość_protokołu_bitów), (index_IR_control_code), (IR_control_code). Protokół (IR_protocol) jest ciągiem rozróżniającym wielkość liter, który akceptuje tylko następne wartości (SONY, NEC, RC5, RC6, LG, JVC, WHYNTER, SAMSUNG, DISH, DENON, SHARP, LEGO_PF), a (IR_control_code) jest liczbą szesnastkową. Ponieważ system jest skonfigurowany do przechowywania 10 kodów kontrolnych IR, (index_IR_control_code) jest liczbą całkowitą z zakresu od 1 do 10. Tak jak poprzednio, jeśli wprowadziłeś poprawny format ciągu, zobaczysz nowy kod kontrolny IR przed tekstem „LAST”, w przeciwnym razie zobaczysz komunikat „LAST: NOT VALID”

Aby uzyskać dostęp do tej strony internetowej z lokalnej sieci Wi-Fi, wystarczy wpisać w przeglądarce adres IP, który router przypisał do ESP8266. Na wszystkich zdjęciach widać, że adres IP przydzielony przez mój router to 192.168.43.120.

Aby uzyskać zdalny dostęp poza lokalną siecią Wi-Fi, musisz skonfigurować w routerze port, którego będziesz używać do nasłuchiwania danych przychodzących i przekierować go do ESP8266 w sieci lokalnej. Następnie wpisz adres IP routera w przeglądarce internetowej.

Krok 6: Przykład wyjaśniający wszystko

Image
Image
Przykład wyjaśniający wszystko
Przykład wyjaśniający wszystko

Zaprojektowałem konkretny przykład, aby wszystko wyjaśnić

Zbudowałem następujące urządzenia (ZDJĘCIE 2)

  • Jedno urządzenie sterowane podczerwienią za pomocą mikrokontrolera NANO, dioda LED RGB w piłce pingpongowej i jeden moduł odbiornika podczerwieni (ZDJĘCIE 1). Gdy wciśniemy przycisk sterujący od 1 do 7 pilota IR, piłeczka do ping-ponga zmienia swój kolor.
  • Urządzenie nadrzędne (adres 0)
  • Jedno urządzenie podrzędne (adres 1)

Mając to na uwadze, zamierzamy przetestować wszystkie funkcje projektu. Planowanie symulacji obecności może być:

  1. Kula sterowana przez urządzenie slave zmieni swoje kolory od godziny 17:00. do 23:00 oraz rano od 7:00 do 8:00 co losowy interwał minut między 1 a 1.
  2. Światło sterowane przez urządzenie slave będzie się włączać i wyłączać od godziny 17:00. do 23:00 oraz rano od 7:00 do 8:00 co losowy interwał minut między 1 a 2
  3. Światło sterowane przez urządzenie master będzie się włączać i wyłączać od godziny 16:00. do 1:00 następnego dnia co losowy interwał minut od 1 do 2

Po wykonaniu szkicu „ir_codes.ino” uzyskaliśmy, że protokół IR używany przez pilota IR to „NEC”, długość kodów IR to 32 bity, a kody sterujące IR dla przycisków od 1 do 7 w formacie szesnastkowym są:

PRZYCISK 1 = FF30CF

PRZYCISK 2 = FF18E7

PRZYCISK 3 = FF7A85

PRZYCISK 4 = FF10EF

PRZYCISK 5 = FF38C7

PRZYCISK 6 = FF5AA5

PRZYCISK 7 = FF42BD

System można skonfigurować na dwa sposoby:

PIERWSZY SPOSÓB: korzystanie ze strony internetowej (zobacz wideo na końcu tej instrukcji)

DRUGI SPOSÓB: aktualizacja pliku „ir_codes.ino” i przesłanie go po:

/******************************************/

/******** Kody sterujące IR *****************/ /******************** **********************/ // protocol_id, number_of_bits, 10 kodów sterujących IR dla urządzenia master (adres = 0) NEC, 32, 0xFF30CF, 0xFF18E7, 0xFF7A85, 0xFF10EF, 0xFF38C7, 0xFF5AA5, 0xFF42BD, 0, 0, 0, // id_protokołu, liczba_bitów, 10 Kody sterujące IR dla urządzenia podrzędnego (adres = 1) NIEZNANE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // id_protokołu, liczba_bitów, 10 Kody sterujące IR dla urządzenia podrzędnego (adres = 2) NIEZNANE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 kodów sterujących IR dla urządzenia podrzędnego (adres = 3) NIEZNANE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // protocol_id, number_of_bits, 10 kodów sterujących IR dla urządzenia podrzędnego (adres = 4) NIEZNANE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /************* ***********************************/ /********** Zakończ kody sterujące IR ** ************/ /**************************************** **********/

/************* PLANOWANIE SYMULACJI OBECNOŚCI ************/

0, 0, 16, 1, 0, 0, 1, 2, // urządzenie nadrzędne (adres = 0) 7, 8, 17, 23, 1, 1, 1, 2, // urządzenie podrzędne (adres = 1) Kula RGB 0, 0, 0, 0, 0, 0, 0, 0, // urządzenie podrzędne (adres = 2) 0, 0, 0, 0, 0, 0, 0, 0, // urządzenie podrzędne (adres = 3) 0, 0, 0, 0, 0, 0, 0, 0 // urządzenie podrzędne (adres = 4) /*********** SYMULATOR OBECNOŚCI KOŃCA ******* ************/

Zalecana: