Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Med dette sensorstasjonens nettverk konfigurert i en master/slave -modus, vil du kunne utføre belysning og sikkerhetskontroll i hjemmet ditt. Disse sensorstasjonene (Node01, Node02 i dette prosjektet) er koblet til en hovedstasjon (Node00) koblet til ditt lokale wifi -nettverk. Jeg har installert Node01 i oppbevaringsrommet mitt og Node02 i garasjen min for å kontrollere lys og bevegelser. Masterstasjonen er installert i rommet vårt som er koblet til wifi -ruteren. Jeg har installert klokken i garasjen og en liten summer i hovedstasjonen for å høres når en bevegelse blir oppdaget av en sensorstasjon i nettverket.
Hovedtrekkene i nettverket er:
- Det er mulig å konfigurere et nettverk med mer enn to sensorstasjoner (slave -stasjoner) (Node01, Node02, Node03,….)
- Fordi bruken av trådløse transceivere med antenne, er nettverket i stand til å dekke et stort område
- Du kan kontrollere hele nettverket fra en mobiltelefon
- Send en e -post (Gmail -konto) når en bevegelse oppdages og alarmmodusen er aktivert. Så hvis du aktiverer Gmail -push -varslene i mobilen din, vet du når en bevegelse oppdages i nettverket ditt
for domotiske formål:
- Slå på lysene når det oppdages en bevegelse / slå alltid på lysene (for hele nettverket eller for hver slavestasjon)
- Endre tiden i minutter lysene er på etter at en bevegelse er registrert for hver slave -stasjon
av sikkerhetshensyn:
- Aktiver og deaktiver alarmmodus
- Hver slavestasjon kan sende et signal til en hovedstasjon (Node00) når alarmmodusen er aktivert og en bevegelse oppdages
- Hovedstasjonen kan aktivere en bjelle og sende en e -post når et av disse signalene mottas fra en slavestasjon og alarmmodusen er aktivert. Hovedstasjonen (Node00) er koblet til internett ved hjelp av en wifi -tilkobling for å kontrollere hele systemet ved hjelp av en mobiltelefon. Den er konfigurert som en WifiWebServer
Trinn 1: Liste over materiale
Listen over materiale jeg har brukt til å bygge Node01 og Node02 (slavestasjoner) er følgende:
- Mega 2560 R3 brett
- Plaststøtte for MEGA 2560 R3
- HC-SR501 PIR-sensor
- Plaststøtte for HC-SR501
- 5V relé
- Trådløs transceivermodul 2.4G 1100m NRF24L01+PA+LNA med antenne LKY67
- 8Pin NRF24L01 adapter (for å forbedre funksjonene til NRF24L01)
- HLK-PM01 AC DC 220V til 5V mini strømforsyning
Listen over materiale for å bygge Node00 (hovedstasjoner) er følgende:
- Mega 2560 R3 brett
- Plaststøtte for 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 for NRF24L01 (for å forbedre funksjonene til NRF24L01)
- Adapter AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)
Dessuten har jeg brukt følgende materiale:
- 2 Pin 5 mm PCB -kontakter
- Jumper ledninger
- Brødbrett MB-102 (800 kontakter)
- Mini Loddefritt brødbrett 170 kontakter
- Sett med lysdioder og motstander
- PCB -plater
- Tinnloddejernssett
- Limpistol
- Gjennomsiktig metakrylat
- Klokke
Trinn 2: Slik kobler du til og programmerer Node01 og Node02 (slave -stasjoner)
For å programmere skissen "SlaveSation.ino" trengte jeg RF24 -biblioteket og RF24 -nettverksbiblioteket.
I flytskjemaet ovenfor kan du se logikken til sensorstasjonen og meldingene som utveksles mellom en slavesensorstasjon og hovedstasjonen.
Før du laster inn skissen, må du konfigurere adressen til slavenoden i oktalt format
const uint16_t this_node = 01; // Adressen til noden vår i oktalt format (slave): 01, 02, 03 …
Betydningen av lysdiodene i hver slavestasjon er følgende:
- Blå led. Den vil være på mens PIR -sensorpinnen er høy.
- Grønn ledet. Den vil være på når alarmen er tilkoblet.
Trinn 3: Slik kobler du til og programmerer Node00 (Master Station)
I Node00 -stasjonen kan vi finne to forskjellige tavler:
- MEGA 2560 R3 brett. Denne enheten brukes til å motta meldinger fra slavestasjon når en bevegelse oppdages ved hjelp av trådløs kommunikasjon. Den aktiverer en klokke når en bevegelse oppdages og alarmen er tilkoblet. For å stoppe klokken må du bare koble fra alarmmodusen. Dessuten sender den til slavestasjonen meldinger fra NodeMCU for å aktivere eller deaktivere bevegelsesdeteksjon, å alltid slå på lysene, å alltid slå av lysene, …
- NodeMCU Lua Amica V2 ESP8266 -bord. Det fungerer som en Wifi webserver for å overføre og motta kommandoer fra et eksternt sted ved hjelp av en webside i en mobiltelefon. Videre sender e-postmeldinger når en bevegelse oppdages og alarmmodusen er aktivert.
Begge enhetene er programmert til å kommunisere med hverandre i en Master (NodeMCU)/Slave (MEGA) konfigurasjon via I2C synkron seriell protokoll ved hjelp av Wire Library. I2C -protokollen innebærer bruk av to linjer for å sende og motta data: en seriell klokkepinne (SCL) og en seriell datapinne (SDA) som data sendes mellom de to enhetene.
Som du kan se på tegningen, er de to pinnene for I2C -kommunikasjonen i MEGA 2560 R3 -kortet:
- SDA -> pin 20 SDA
- SCL -> pin 21 SCL
og de andre i NodemMCU er:
- SDA -> digital pin 1
- SCL -> digital pin 2
Før du laster skissen for ESP8266 må du installere ESP8266 -kortet. For å gjøre det må du skrive inn "https://arduino.esp8266.com/stable/package_esp8266com_index.json" i "Ytterligere styringsleder -URLer" i innstillingsvinduet i Arduino IDE. Etter det må du åpne boards manager og installere "esp8266"
Jeg bruker en ekstern strømforsyningsadapter (9V, 1A) for MEGA 2560 R3 -kortet (likestrømkontakt, 2, 1 mm x 5, 5 mm), og jeg kobler NodeMCU -kortet til 3V3 -pinnen i MEGA -kortet.
Trinn 4: WifiWebServer (NodeMCU i Master Station)
Skissen lastet inn i NodeMCU (Node00 eller hovedstasjon) er konfigurert som en WebServer koblet til ditt hjemmenettverk. Det er mulig å få ekstern tilgang hvis du konfigurerer portvideresending i ruteren.
Før du laster WifiWebServerV3.ino -skissen til NodeMCU, må du gjøre følgende:
- Oppdater porten du skal konfigurere i ruteren (portvideresending) for å få ekstern tilgang til NodeMCU
- Oppdater brukeren og passordet for å få tilgang til ditt hjemmenettverk
- Oppdater påloggingen og passordet til Gmail-kontoen din for å sende e-post når en bevegelse oppdages og alarmen er tilkoblet
- Oppdater e-postadressen der du vil motta e-postene
For å oppdatere brukeren, passordet og porten serveren vil bruke til å lytte til, må du søke etter følgende kode i WifiWebServerV3.ino -skissen og oppdatere den:
const char*ssid = "*** din ssid ***";
const char*password = "*** passordet ditt ***"; WiFiServer -server (80);
For å oppdatere e-postadressen der du vil motta e-postene, må du søke etter følgende kode og oppdatere den:
const char*to_email = "*** e-postadresse hvor du vil motta meldingen ***";
For å oppdatere brukeren og passordet til Gmail-kontoen din for å motta e-post, må du søke etter følgende kode i filen "Gsender.h" og oppdatere den:
const char*EMAILBASE64_LOGIN = "*** din e-postadressekode i BASE64 ***";
const char*EMAILBASE64_PASSWORD = "*** passordkoden din i BASE64 ***"; const char*FROM = "*** din e-postadresse ***";
For å kode eller dekode data i BASE64 har jeg brukt www.base64encode.org
Hvis du trenger mer informasjon om å sende og motta e-post med ESP8266, er det en "instruerbar" om det her
Når du kan gjøre det, kan du teste tilkoblingen i ruteren. Hvis enheten er tilkoblet, må du reservere den tildelte IP -adressen til denne enheten. Videre er det en god idé å snakke med Internett -leverandøren for å angi en statisk IP -adresse på ruteren din.
For å få tilgang til websiden i nærheten av wifi -ruteren, bare skriv den lokale IP -adressen som er tilordnet av ruteren din etter porten du bruker i en webnavigator. For eksempel: 192.168.40.15:800. Hvis du prøver å få ekstern tilgang, må du skrive inn IP -adressen til ruteren din etter porten du bruker som ovenfor.
Nettsiden jeg viser deg på bildene er programmert til å kontrollere et nettverk med to slavestasjoner.
Systemet er i utgangspunktet konfigurert til å kontrollere maksimum 5 slave -stasjoner, men du kan endre det. Bare søk etter følgende kode i WifiWebServerV3.ino og SlaveStation.ino
#define number_max_slaves 5
Websiden er opprinnelig delt inn i 4 seksjoner:
- Del "Oppgi" hvor den viser deg om alarmen er tilkoblet eller ikke
- Seksjon "Alarmteller" der den viser antall bevegelsesdeteksjoner i hver slave -stasjon
- Del "Alarm" hvor du kan koble til eller fra (KOBLE ALARM/KOBLE ALARM) alarmen og tilbakestille alarmtelleren (RESET COUNTERS)
-
Seksjon "Belysning" hvor du kan kontrollere lysene til hver slavestasjon. Du kan kontrollere følgende:
- Slå på lysene i alle slavestasjoner / slå på lysene bare når det oppdages en bevegelse i alle slavestasjoner (NETTVERK ALLTID PÅ / NETTVERK NÅR BEVEGELSE)
- Endre tiden i minutter lysene er på for hver slavestasjon (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
- Slå på lysene for hver slavestasjon (NODExx ALLTID PÅ)
- Slå på lysene for hver slavestasjon bare når det oppdages en bevegelse (NODExx_MOV)
Du trenger ikke å endre noe fordi det vil fungere uansett navnet på slavestasjoner du konfigurerer. Videre vil det automatisk oppdage antall slave -stasjoner som er koblet til nettverket.
Selvfølgelig kan du laste ned skissen og enkelt endre koden som er nødvendig for å vise din egen webkontrollside.
Trinn 5: Fra begynnelsen …
Her er trinnene du må følge for å bygge nettverket ditt:
- Kjøp alt materialet etter listen jeg gir deg i "Trinn 1"
- Koble til komponentene etter tegningen du kan laste ned i "Trinn 2" og "Trinn 3"
- Bygg bokser for hver slavestasjon og hovedstasjonen. Jeg har bygget metakrylatbokser.
-
Konfigurer hver slavestasjon:
Last ned og last skissen "SlaveStation.ino" i ett MEGA 2560 R3 -brett. Du trenger bare å redigere skissen og oppdatere adressen til slavestasjonen som du kan se i "Trinn 2"
-
Konfigurer hovedstasjonen:
- Last ned og last skissen "SlaveStation.ino" i en MEGA 2560 R3. Du trenger ikke å endre noe uansett antall slave -noder i nettverket ditt. I utgangspunktet er skissen konfigurert for maksimalt 5 slavestasjoner.
- Last ned og last skissen "WifiServerV3.ino" i NodeMCU. Du må oppdatere skissen etter instruksjonene i "Trinn 4"
- Konfigurer ruteren din for å få ekstern tilgang til NodeMCU (portvideresending, statisk IP …)