Indholdsfortegnelse:

Sensorstationsnetværk til belysning og sikkerhedskontrol: 5 trin (med billeder)
Sensorstationsnetværk til belysning og sikkerhedskontrol: 5 trin (med billeder)

Video: Sensorstationsnetværk til belysning og sikkerhedskontrol: 5 trin (med billeder)

Video: Sensorstationsnetværk til belysning og sikkerhedskontrol: 5 trin (med billeder)
Video: Motion sensor wiring #shorts #motion #sensor #wiring 2024, Juli
Anonim
Sensorstationsnetværk til belysning og sikkerhedskontrol
Sensorstationsnetværk til belysning og sikkerhedskontrol
Sensorstationsnetværk til belysning og sikkerhedskontrol
Sensorstationsnetværk til belysning og sikkerhedskontrol
Sensorstationsnetværk til belysning og sikkerhedskontrol
Sensorstationsnetværk til belysning og sikkerhedskontrol

Med dette sensorstations netværk konfigureret i en master/slave -tilstand, vil du være i stand til at udføre belysning og sikkerhedskontrol i dit hjem. Disse sensorstationer (Node01, Node02 i dette projekt) er forbundet til en masterstation (Node00) forbundet til dit lokale wifi -netværk. Jeg har installeret Node01 i mit lagerrum og Node02 i min garage, der styrer lys og bevægelser. Masterstationen er installeret i vores spisestue forbundet til vores wifi -router. Jeg har installeret klokken i garagen og en lille summer i masterstationen for at lyde, når der registreres en bevægelse af en eller anden sensorstation i netværket.

Netværkets hovedtræk er:

  • Det er muligt at konfigurere et netværk med mere end to sensorstationer (slave -stationer) (Node01, Node02, Node03,….)
  • Fordi brugen af trådløse transceivere med antenne, er netværket i stand til at dække et stort område
  • Du kan styre hele netværket fra en mobiltelefon
  • Send en e -mail (Gmail -konto), når der registreres en bevægelse, og alarmtilstanden er aktiveret. Så hvis du aktiverer Gmail -push -meddelelser i din mobil, ved du, når der registreres en bevægelse i dit netværk

til domotiske formål:

  • Tænd lyset, når der registreres en bevægelse / tænd altid lyset (for hele netværket eller for hver slave -station)
  • Skift tiden i minutter, lysene er tændt, efter at der er registreret en bevægelse for hver slave -station

af sikkerhedsmæssige årsager:

  • Aktiver og deaktiver alarmtilstanden
  • Hver slave -station er i stand til at sende et signal til en masterstation (Node00), når alarmtilstanden er aktiveret, og der registreres en bevægelse
  • Masterstationen er i stand til at aktivere en klokke og sende en e -mail, når et af disse signaler modtages fra en slavestation, og alarmtilstanden er aktiveret. Masterstationen (Node00) er forbundet til internettet ved hjælp af en wifi -forbindelse til at styre hele systemet ved hjælp af en mobiltelefon. Det er konfigureret som en WifiWebServer

Trin 1: Liste over materiale

Liste over materiale
Liste over materiale
Liste over materiale
Liste over materiale

Listen over materiale, jeg har brugt til at bygge Node01 og Node02 (slave -stationer), er følgende:

  • Mega 2560 R3 bord
  • Plaststøtte til MEGA 2560 R3
  • HC-SR501 PIR-sensor
  • Plaststøtte til HC-SR501
  • 5V relæ
  • Trådløs transceivermodul 2.4G 1100m NRF24L01+PA+LNA med antenne LKY67
  • 8Pin NRF24L01 adapter (for at forbedre funktionerne i NRF24L01)
  • HLK-PM01 AC DC 220V til 5V Mini strømforsyning

Listen over materialer til at bygge Node00 (masterstationer) er følgende:

  • Mega 2560 R3 bord
  • Plaststøtte til MEGA 2560 R3
  • WiFi -modul NodeMCU Lua Amica V2 ESP8266
  • Trådløs transceivermodul 2.4G 1100m NRF24L01+PA+LNA med antenne LKY67
  • 5v-3.3v VCC adapterkort til NRF24L01 (for at forbedre funktionerne i NRF24L01)
  • Adapter AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

Desuden har jeg brugt følgende materiale:

  • 2 Pin 5 mm PCB konektorer
  • Jumper ledninger
  • Breadboard MB-102 (800 kontakter)
  • Mini loddefri brødbræt 170 kontakter
  • Sæt med lysdioder og modstande
  • PCB -plader
  • Tin Loddejern Kit
  • Limpistol
  • Gennemsigtig methacrylat
  • klokke

Trin 2: Sådan tilsluttes og programmeres Node01 og Node02 (slave -stationer)

Sådan tilsluttes og programmeres Node01 og Node02 (slave -stationer)
Sådan tilsluttes og programmeres Node01 og Node02 (slave -stationer)
Sådan tilsluttes og programmeres Node01 og Node02 (slave -stationer)
Sådan tilsluttes og programmeres Node01 og Node02 (slave -stationer)

For at programmere skitsen "SlaveSation.ino" havde jeg brug for RF24 -biblioteket og RF24 -netværksbiblioteket.

I rutediagrammet ovenfor kan du se sensorstationens logik og de meddelelser, der udveksles mellem en slavesensorstation og den master.

Inden du indlæser skitsen, skal du konfigurere adressen til slaveknuden i oktalt format

const uint16_t this_node = 01; // Adresse på vores node i oktalt format (slave): 01, 02, 03 …

Betydningen af lysdioderne i hver slave station er følgende:

  • Blå led. Den vil være tændt, mens PIR -sensorstiften er høj.
  • Grøn førte. Den vil være tændt, når alarmen er tilsluttet.

Trin 3: Sådan tilsluttes og programmeres Node00 (Master Station)

Sådan tilsluttes og programmeres Node00 (Master Station)
Sådan tilsluttes og programmeres Node00 (Master Station)
Sådan tilsluttes og programmeres Node00 (Master Station)
Sådan tilsluttes og programmeres Node00 (Master Station)
Sådan tilsluttes og programmeres Node00 (Master Station)
Sådan tilsluttes og programmeres Node00 (Master Station)

I Node00 -stationen kan vi finde to forskellige tavler:

  • MEGA 2560 R3 bord. Denne enhed bruges til at modtage meddelelser fra slavestation, når der registreres en bevægelse ved hjælp af trådløs kommunikation. Den aktiverer en klokke, når der registreres en bevægelse, og alarmen er tilsluttet. For at stoppe klokken skal du kun afbryde alarmtilstanden. Desuden sender den til slaver -stationen meddelelser fra NodeMCU for at aktivere eller deaktivere bevægelsesdetektering, for altid at tænde lysene, for altid at slukke lyset, …
  • NodeMCU Lua Amica V2 ESP8266 bord. Det fungerer som en Wifi -webserver til at overføre og modtage kommandoer fra et fjernt sted ved hjælp af en webside i en mobiltelefon. Desuden sender e-mail-beskeder, når der registreres en bevægelse, og alarmtilstanden er aktiveret.

Begge enheder er programmeret til at kommunikere med hinanden i en Master (NodeMCU)/Slave (MEGA) konfiguration via I2C synkron seriel protokol ved hjælp af Wire Library. I2C -protokollen indebærer at bruge to linjer til at sende og modtage data: en seriel urpind (SCL) og en seriel datapind (SDA), over hvilken data sendes mellem de to enheder.

Som du kan se på tegningen, er de to ben til I2C -kommunikationen i MEGA 2560 R3 -kortet:

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

og de andre i NodemMCU er:

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

Inden du indlæser skitsen til ESP8266, skal du installere ESP8266 -kortet. For at gøre det skal du indtaste "https://arduino.esp8266.com/stable/package_esp8266com_index.json" i "Yderligere bestyrelsesmanager -webadresser" i indstillingsvinduet i Arduino IDE. Derefter skal du åbne boards manager og installere "esp8266"

Jeg bruger en ekstern strømforsyningsadapter (9V, 1A) til MEGA 2560 R3 -kortet (DC -stik, 2, 1 mm x 5, 5 mm), og jeg slutter NodeMCU -kortet til 3V3 -stiften i MEGA -kortet.

Trin 4: WifiWebServer (NodeMCU i Master Station)

WifiWebServer (NodeMCU i Master Station)
WifiWebServer (NodeMCU i Master Station)
WifiWebServer (NodeMCU i Master Station)
WifiWebServer (NodeMCU i Master Station)

Skitsen, der er indlæst i NodeMCU (Node00 eller masterstation), er konfigureret som en WebServer, der er forbundet til dit wifi -hjemmenetværk. Det er muligt at få fjernadgang, hvis du konfigurerer port forwarding i din router.

Inden du indlæser WifiWebServerV3.ino -skitsen til NodeMCU, skal du gøre følgende:

  1. Opdater den port, du skal konfigurere i din router (port forwarding) for at få fjernadgang til NodeMCU
  2. Opdater brugeren og adgangskoden for at få adgang til dit wifi -hjemmenetværk
  3. Opdater login og adgangskode til din Gmail-konto for at sende e-mails, når der registreres en bevægelse, og alarmen er tilsluttet
  4. Opdater den e-mail-adresse, hvor du vil modtage e-mails

For at opdatere brugeren, adgangskoden og den port, serveren vil bruge til at lytte til, skal du søge efter følgende kode i WifiWebServerV3.ino -skitsen og opdatere den:

const char*ssid = "*** din ssid ***";

const char*password = "*** din adgangskode ***"; WiFiServer -server (80);

For at opdatere e-mail-adressen, hvor du vil modtage e-mails, skal du søge efter følgende kode og opdatere den:

const char*to_email = "*** e-mail-adresse, hvor du vil modtage beskeden ***";

For at opdatere brugeren og adgangskoden til din Gmail-konto for at modtage e-mails skal du søge efter følgende kode i filen "Gsender.h" og opdatere den:

const char*EMAILBASE64_LOGIN = "*** din e-mail-adresse koder i BASE64 ***";

const char*EMAILBASE64_PASSWORD = "*** din adgangskode koder i BASE64 ***"; const char*FROM = "*** din e-mail-adresse ***";

For at kode eller afkode data i BASE64 har jeg brugt www.base64encode.org

Hvis du har brug for flere oplysninger om at sende og modtage e-mails med ESP8266, er der en "instruerbar" om det her

Når du kan gøre det, kan du teste forbindelsen i din router. Hvis enheden er tilsluttet, skal du reservere den tildelte IP -adresse til denne enhed. Desuden er det en god idé at tale med din internetudbyder for at angive en statisk IP -adresse på din router.

For at få adgang til websiden i nærheden af din wifi -router skal du bare indtaste den lokale IP -adresse, der er tildelt af din router efter den port, du bruger i en webnavigator. For eksempel: 192.168.40.15:800. Hvis du forsøger at få fjernadgang, skal du indtaste IP -adressen på din router efter den port, du bruger som ovenfor.

Den webside, jeg viser dig på billederne, er programmeret til at styre et netværk med to slave -stationer.

Systemet er oprindeligt konfigureret til at styre maksimalt 5 slave -stationer, men du kan ændre det. Bare søg kun efter følgende kode i WifiWebServerV3.ino og SlaveStation.ino

#define number_max_slaves 5

Websiden er oprindeligt opdelt i 4 sektioner:

  1. Afsnittet "Angiv", hvor den viser dig, om alarmen er tilsluttet eller ej
  2. Afsnittet "Alarmtæller", hvor det viser antallet af bevægelsesdetektering i hver slave -station
  3. Afsnittet "Alarm", hvor du kan tilslutte eller afbryde (TILSLUT ALARM/AFBRYD ALARM) alarmen og nulstille alarmtælleren (NULSTIL TÆLLER)
  4. Afsnit "Belysning", hvor du kan styre lysene på hver slave station. Du kan kontrollere følgende:

    • Tænd lyset på alle slave -stationer / tænd kun lyset, når der registreres en bevægelse i alle slave -stationer (NETVÆRK ALTID TIL / NETVÆRK, NÅR BEVÆGELSE)
    • Skift tiden i minutter, lysene er tændt for hver slave -station (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
    • Tænd lyset for hver slave station (NODExx ALTID TIL)
    • Tænd kun lyset for hver slave -station, når der registreres en bevægelse (NODExx_MOV)

Du behøver ikke ændre noget, fordi det vil fungere uanset navnet på slave -stationer, du konfigurerer. Desuden registrerer det automatisk antallet af slave -stationer, der er tilsluttet netværket.

Selvfølgelig kan du downloade skitsen og nemt ændre den kode, der er nødvendig for at vise din egen webkontrolside.

Trin 5: Fra begyndelsen …

Her er du de trin, du skal følge for at opbygge dit netværk:

  1. Køb alt materiale efter listen, jeg giver dig i "Trin 1"
  2. Tilslut komponenterne efter tegningen, du kan downloade i "Trin 2" og "Trin 3"
  3. Byg kasser til hver slave station og master station. Jeg har bygget metakrylatkasser.
  4. Konfigurer hver slave station:

    Download og indlæs skitsen "SlaveStation.ino" i et MEGA 2560 R3 -kort. Du behøver kun at redigere skitsen og opdatere adressen på slavestationen, som du kan se i "Trin 2"

  5. Konfigurer masterstationen:

    • Download og indlæs skitsen "SlaveStation.ino" i en MEGA 2560 R3. Du behøver ikke ændre noget uanset antallet af slaveknuder i dit netværk. Oprindeligt er skitsen konfigureret til maksimalt 5 slavestationer.
    • Download og indlæs skitsen "WifiServerV3.ino" i NodeMCU. Du skal opdatere skitsen efter instruktionen i "Trin 4"
  6. Konfigurer din router til at få fjernadgang til NodeMCU (port videresendelse, statisk IP …)

Anbefalede: