Sadržaj:

Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu: 5 koraka (sa slikama)
Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu: 5 koraka (sa slikama)

Video: Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu: 5 koraka (sa slikama)

Video: Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu: 5 koraka (sa slikama)
Video: CS50 2013 - Week 5, continued 2024, Juli
Anonim
Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu
Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu
Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu
Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu
Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu
Mreža senzorskih stanica za osvjetljenje i sigurnosnu kontrolu

S ovom mrežom senzorskih stanica konfiguriranom u master/slave načinu rada, moći ćete vršiti kontrolu rasvjete i sigurnosti u svom domu. Ove senzorske stanice (Node01, Node02 u ovom projektu) su povezane na glavnu stanicu (Node00) povezanu na vašu lokalnu WiFi mrežu. Instalirao sam Node01 u svoju ostavu i Node02 u svojoj garaži za kontrolu svjetla i pokreta. Glavna stanica instalirana je u našoj sobi za sjedenje koja je povezana s našim WiFi ruterom. Instalirao sam zvono u garaži i mali zvučni signal u glavnoj stanici da se oglasi kad neka senzorska stanica u mreži otkrije pokret.

Glavne karakteristike mreže su:

  • Moguće je konfigurirati mrežu s više od dvije senzorske stanice (slave stanice) (Node01, Node02, Node03,….)
  • Zbog upotrebe bežičnih primopredajnika s antenom, mreža može pokriti široko područje
  • Cijelom mrežom možete upravljati s mobilnog telefona
  • Pošaljite e -poštu (Gmail račun) kada se otkrije pokret i kada je omogućen način alarma. Dakle, ako omogućite Gmail push obavijesti na svom mobilnom telefonu, znat ćete kada se otkrije kretanje na vašoj mreži

za domotičke svrhe:

  • Uključite svjetla kada se otkrije pokretanje / uvijek uključite svjetla (za cijelu mrežu ili za svaku slave stanicu)
  • Promijenite vrijeme u minutama da se svjetla upale nakon otkrivanja pokreta za svaku podređenu stanicu

iz sigurnosnih razloga:

  • Omogućite i onemogućite način alarma
  • Svaka podređena stanica može poslati signal glavnoj stanici (Node00) kada je alarmni način omogućen i kada se detektira pokret
  • Glavna stanica može aktivirati zvono i poslati e -poruku kada se jedan od ovih signala primi sa bilo koje podređene stanice i kada je omogućen način alarma. Glavna stanica (Node00) povezana je s internetom putem WiFi veze za upravljanje cijelim sistemom pomoću mobilnog telefona. Konfiguriran je poput WifiWebServera

Korak 1: Lista materijala

Lista materijala
Lista materijala
Lista materijala
Lista materijala

Spisak materijala koji sam koristio za izradu Node01 i Node02 (slave stanice) je sledeći:

  • Mega ploča 2560 R3
  • Plastični nosač za MEGA 2560 R3
  • HC-SR501 PIR senzor
  • Plastični nosač za HC-SR501
  • 5V relej
  • Modul bežičnog primopredajnika 2.4G 1100m NRF24L01+PA+LNA s antenom LKY67
  • 8Pin NRF24L01 adapter (za poboljšanje karakteristika NRF24L01)
  • HLK-PM01 AC DC 220V do 5V mini napajanje

Spisak materijala za izgradnju Node00 (master stanica) je sledeći:

  • Mega ploča 2560 R3
  • Plastični nosač za MEGA 2560 R3
  • WiFi modul NodeMCU Lua Amica V2 ESP8266
  • Modul bežičnog primopredajnika 2.4G 1100m NRF24L01+PA+LNA s antenom LKY67
  • 5v-3.3v VCC adapterska ploča za NRF24L01 (radi poboljšanja karakteristika NRF24L01)
  • Adapter AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

Osim toga, koristio sam sljedeće materijale:

  • 2 Pin 5 mm PCB konektora
  • Žice za kratkospojnike
  • Oglasna ploča MB-102 (800 kontakata)
  • Mini Leatherless Breadboard 170 kontakata
  • Set LED dioda i otpora
  • PCB ploče
  • Komplet limenog lemilice
  • Pištolj za ljepilo
  • Prozirni metakrilat
  • Bell

Korak 2: Kako se povezati i programirati Node01 i Node02 (slave stanice)

Kako se povezati i programirati Node01 i Node02 (slave stanice)
Kako se povezati i programirati Node01 i Node02 (slave stanice)
Kako se povezati i programirati Node01 i Node02 (slave stanice)
Kako se povezati i programirati Node01 i Node02 (slave stanice)

Za programiranje skice "SlaveSation.ino" bila mi je potrebna biblioteka RF24 i biblioteka mreže RF24.

Na gornjoj shemi toka možete vidjeti logiku senzorske stanice i poruke razmijenjene između podređene senzorske stanice i glavne.

Prije nego učitate skicu, morate konfigurirati adresu slave čvora u osmerovoljnom formatu

const uint16_t this_node = 01; // Adresa našeg čvora u oktalnom formatu (slave): 01, 02, 03…

Značenje LED dioda na svakoj slave stanici je sljedeće:

  • Plava LED dioda. On će biti uključen dok je pin PIR senzora visok.
  • Green je vodio. Uključit će se kada je alarm povezan.

Korak 3: Kako se povezati i programirati Node00 (Master Station)

Kako se povezati i programirati Node00 (Master Station)
Kako se povezati i programirati Node00 (Master Station)
Kako se povezati i programirati Node00 (Master Station)
Kako se povezati i programirati Node00 (Master Station)
Kako se povezati i programirati Node00 (Master Station)
Kako se povezati i programirati Node00 (Master Station)

Na stanici Node00 možemo pronaći dvije različite ploče:

  • MEGA 2560 R3 ploča. Ovaj uređaj se koristi za primanje poruka sa slave stanice kada se detektira pokret putem bežične komunikacije. Aktivirat će se zvono kada se detektira pokret i uključi alarm. Za zaustavljanje zvona samo isključite način alarma. Štaviše, šalje slave stanicama poruke sa NodeMCU -a da omogući ili onemogući detekciju pokreta, da uvijek pali svjetla, da uvijek gasi svjetla,…
  • NodeMCU ploča Lua Amica V2 ESP8266. Radi kao Wifi web poslužitelj za prijenos i primanje naredbi s udaljenog mjesta pomoću web stranice na mobilnom telefonu. Štaviše, šalje poruke e-pošte kada se detektira pokret i omogući alarmni način rada.

Oba uređaja programirana su za međusobnu komunikaciju u Master (NodeMCU)/Slave (MEGA) konfiguraciji putem I2C sinhronog serijskog protokola koristeći Wire Library. I2C protokol uključuje korištenje dvije linije za slanje i primanje podataka: pin za serijski sat (SCL) i pin za serijske podatke (SDA) preko kojeg se šalju podaci između dva uređaja.

Kao što možete vidjeti na crtežu, dva pina za I2C komunikaciju na ploči MEGA 2560 R3 su:

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

a drugi u NodemMCU -u su:

  1. SDA -> digitalni pin 1
  2. SCL -> digitalni pin 2

Prije nego što učitate skicu za ESP8266, morate instalirati ploču ESP8266. Da biste to učinili, morate unijeti "https://arduino.esp8266.com/stable/package_esp8266com_index.json" u "Dodatne URL -ove upravitelja ploče" u prozoru sa postavkama u Arduino IDE -u. Nakon toga morate otvoriti upravitelj ploča i instalirati "esp8266"

Koristim vanjski adapter za napajanje (9V, 1A) za ploču MEGA 2560 R3 (utičnica za jednosmjernu struju, 2, 1 mm x 5, 5 mm) i povezujem ploču NodeMCU s pinom 3V3 na MEGA ploči.

Korak 4: WifiWebServer (NodeMCU u glavnoj stanici)

WifiWebServer (NodeMCU u glavnoj stanici)
WifiWebServer (NodeMCU u glavnoj stanici)
WifiWebServer (NodeMCU u glavnoj stanici)
WifiWebServer (NodeMCU u glavnoj stanici)

Skica učitana u NodeMCU (Node00 ili glavna stanica) konfigurirana je kao WebServer spojen na vašu kućnu WiFi mrežu. Moguće je pristupiti daljinski ako konfigurirate prosljeđivanje portova u usmjerivaču.

Prije nego što učitate skicu WifiWebServerV3.ino u NodeMCU morate učiniti sljedeće:

  1. Ažurirajte port koji ćete konfigurirati na usmjerivaču (prosljeđivanje portova) za daljinski pristup NodeMCU -u
  2. Ažurirajte korisnika i lozinku za pristup svojoj kućnoj WiFi mreži
  3. Ažurirajte prijavu i lozinku svog Gmail računa za slanje e-pošte kada se otkrije pokret i kada je alarm povezan
  4. Ažurirajte adresu e-pošte na koju ćete primati e-poštu

Da biste ažurirali korisnika, lozinku i port koji će poslužitelj koristiti za slušanje, morate potražiti sljedeći kôd u skici WifiWebServerV3.ino i ažurirati ga:

const char*ssid = "*** vaš ssid ***";

const char*password = "*** vaša lozinka ***"; WiFiServer server (80);

Da biste ažurirali adresu e-pošte na koju ćete primati e-poštu, morate potražiti sljedeći kôd i ažurirati ga:

const char*to_email = "*** adresa e-pošte na koju ćete primiti poruku ***";

Da biste ažurirali korisnika i lozinku svog Gmail računa za primanje e-pošte, morate potražiti sljedeći kôd u datoteci "Gsender.h" i ažurirati ga:

const char*EMAILBASE64_LOGIN = "*** vaša adresa e-pošte kodirana u BASE64 ***";

const char*EMAILBASE64_PASSWORD = "*** vaša lozinka kodirana u BASE64 ***"; const char*FROM = "*** vaša adresa e-pošte ***";

Za kodiranje ili dekodiranje podataka u BASE64 koristio sam www.base64encode.org

Ako trebate više informacija o slanju i primanju e-pošte s ESP8266, ovdje se nalazi "Uputstvo"

Kada to učinite, možete testirati vezu na usmjerivaču. Ako je uređaj povezan, morate rezervirati dodijeljenu IP adresu za ovaj uređaj. Osim toga, dobra je ideja razgovarati s vašim internetskim provajderom kako biste postavili statičku IP adresu na usmjerivaču.

Za pristup web stranici u blizini vašeg WiFi rutera samo upišite lokalnu IP adresu koju je usmjerivač dodijelio nakon porta koji koristite u web navigatoru. Na primjer: 192.168.40.15:800. Ako pokušate pristupiti daljinski, morate upisati IP adresu usmjerivača prema portu koji koristite, kao što je gore navedeno.

Web stranica koju vam prikazujem na slikama programirana je za upravljanje mrežom sa dvije slave stanice.

Sistem je inicijalno konfiguriran da kontrolira najviše 5 slave stanica, ali ga možete promijeniti. Samo tražite sljedeći kôd na WifiWebServerV3.ino i SlaveStation.ino

#define number_max_slaves 5

Web stranica je u početku podijeljena u 4 odjeljka:

  1. Odjeljak "Država" gdje vam pokazuje je li alarm povezan ili nije
  2. Odjeljak "Brojač alarma" gdje vam prikazuje broj detekcije pokreta u svakoj slave stanici
  3. Odjeljak "Alarm" gdje možete spojiti ili isključiti (CONNECT ALARM/DISCONNECT ALARM) alarm i resetirati brojač alarma (RESET COUNTERS)
  4. Odjeljak "Osvjetljenje" gdje možete kontrolirati svjetla svake slave stanice. Možete kontrolirati sljedeće:

    • Uključite svjetla na svim slave stanicama / uključite svjetla samo kada se detektira pokret na svim slave stanicama (MREŽA UVIJEK UKLJUČENA / MREŽA KADA SE KRETE)
    • Promenite vreme u minutima svetla su uključena za svaku podređenu stanicu (NODExx UKLJUČENO 1 MINUTU/NODEXX UKLJUČENO 2 MINUTE)
    • Uključite svjetla za svaku slave stanicu (NODExx UVIJEK UKLJUČENO)
    • Uključite svjetla za svaku slave stanicu samo kada se detektira pokret (NODExx_MOV)

Ne morate ništa mijenjati jer će raditi bez obzira na naziv slave stanica koje konfigurirate. Štaviše, automatski će otkriti broj slave stanica povezanih u mrežu.

Naravno, možete skinuti skicu i lako izmijeniti kôd koji je neophodan za prikaz vaše vlastite web stranice za kontrolu.

Korak 5: Od početka…

Evo koraka koje morate slijediti da biste izgradili svoju mrežu:

  1. Kupite sav materijal slijedeći spisak koji vam dajem u "koraku 1"
  2. Spojite komponente prema crtežu koji možete preuzeti u "Korak 2" i "Korak 3"
  3. Napravite kutije za svaku slave stanicu i glavnu stanicu. Napravio sam kutije od metakrilata.
  4. Konfigurirajte svaku slave stanicu:

    Preuzmite i učitajte skicu "SlaveStation.ino" u jednu ploču MEGA 2560 R3. Morate samo urediti skicu i ažurirati adresu slave stanice kao što možete vidjeti u "Koraku 2"

  5. Konfigurirajte glavnu stanicu:

    • Preuzmite i učitajte skicu "SlaveStation.ino" u jednom MEGA 2560 R3. Ne morate ništa mijenjati bez obzira na broj podređenih čvorova vaše mreže. U početku je skica konfigurirana za najviše 5 slave stanica.
    • Preuzmite i učitajte skicu "WifiServerV3.ino" u NodeMCU. Morate ažurirati skicu slijedeći upute u "Koraku 4"
  6. Konfigurirajte svoj usmjerivač za daljinski pristup NodeMCU (prosljeđivanje portova, statički IP …)

Preporučuje se: