Innehållsförteckning:

Sensorstationsnätverk för belysning och säkerhetskontroll: 5 steg (med bilder)
Sensorstationsnätverk för belysning och säkerhetskontroll: 5 steg (med bilder)

Video: Sensorstationsnätverk för belysning och säkerhetskontroll: 5 steg (med bilder)

Video: Sensorstationsnätverk för belysning och säkerhetskontroll: 5 steg (med bilder)
Video: Как спрятать данные в ячейках Excel? 2024, Juli
Anonim
Sensorstationsnätverk för belysning och säkerhetskontroll
Sensorstationsnätverk för belysning och säkerhetskontroll
Sensorstationsnätverk för belysning och säkerhetskontroll
Sensorstationsnätverk för belysning och säkerhetskontroll
Sensorstationsnätverk för belysning och säkerhetskontroll
Sensorstationsnätverk för belysning och säkerhetskontroll

Med detta sensorstationsnätverk konfigurerat i ett master/slavläge kommer du att kunna utföra belysning och säkerhetskontroll i ditt hem. Dessa sensorstationer (Node01, Node02 i detta projekt) är anslutna till en masterstation (Node00) ansluten till ditt lokala wifi -nätverk. Jag har installerat Node01 i mitt förråd och Node02 i mitt garage som styr ljus och rörelser. Masterstationen är installerad i vårt matrum anslutet till vår wifi -router. Jag har installerat klockan i garaget och en liten summer i masterstationen för att låta när en rörelse detekteras av någon sensorstation i nätverket.

Huvuddragen i nätverket är:

  • Det är möjligt att konfigurera ett nätverk med mer än två sensorstationer (slavstationer) (Node01, Node02, Node03,….)
  • Eftersom användningen av trådlösa sändtagare med antenn kan nätverket täcka ett stort område
  • Du kan styra hela nätverket från en mobiltelefon
  • Skicka ett e -postmeddelande (Gmail -konto) när en rörelse detekteras och larmläget är aktiverat. Så om du aktiverar Gmail -push -aviseringar i din mobil vet du när en rörelse detekteras i ditt nätverk

för domotiska ändamål:

  • Slå på lamporna när en rörelse detekteras / slå alltid på lamporna (för hela nätverket eller för varje slavstation)
  • Ändra tiden i minuter som lamporna lyser efter att en rörelse har detekterats för varje slavstation

av säkerhetsskäl:

  • Aktivera och inaktivera larmläget
  • Varje slavstation kan skicka en signal till en masterstation (Node00) när larmläget är aktiverat och en rörelse detekteras
  • Masterstationen kan aktivera en klocka och skicka ett e -postmeddelande när en av dessa signaler tas emot från en slavstation och larmläget är aktiverat. Masterstationen (Node00) är ansluten till internet med en wifi -anslutning för att styra hela systemet med en mobiltelefon. Den är konfigurerad som en WifiWebServer

Steg 1: Lista över material

Lista över material
Lista över material
Lista över material
Lista över material

Listan över material jag har använt för att bygga Node01 och Node02 (slavstationer) är följande:

  • Mega 2560 R3 bräda
  • Plaststöd för MEGA 2560 R3
  • HC-SR501 PIR-sensor
  • Plaststöd för HC-SR501
  • 5V Relä
  • Trådlös sändtagarmodul 2.4G 1100m NRF24L01+PA+LNA med antenn LKY67
  • 8Pin NRF24L01 -adapter (för att förbättra funktionerna i NRF24L01)
  • HLK-PM01 AC DC 220V till 5V Mini Power Supply

Listan över material för att bygga Node00 (masterstationer) är följande:

  • Mega 2560 R3 bräda
  • Plaststöd för MEGA 2560 R3
  • WiFi -modul NodeMCU Lua Amica V2 ESP8266
  • Trådlös sändtagarmodul 2.4G 1100m NRF24L01+PA+LNA med antenn LKY67
  • 5v-3.3v VCC-adapterkort för NRF24L01 (för att förbättra funktionerna i NRF24L01)
  • Adapter AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

Dessutom har jag använt följande material:

  • 2 stift 5 mm kretskortskontakter
  • Bygelkablar
  • Brödbräda MB-102 (800 kontakter)
  • Mini Solderless Breadboard 170 kontakter
  • Uppsättning av lysdioder och motstånd
  • PCB -skivor
  • Tennlödkitssats
  • Limpistol
  • Genomskinligt metakrylat
  • klocka

Steg 2: Hur man ansluter och programmerar Node01 och Node02 (slavstationer)

Hur man ansluter och programmerar Node01 och Node02 (slavstationer)
Hur man ansluter och programmerar Node01 och Node02 (slavstationer)
Hur man ansluter och programmerar Node01 och Node02 (slavstationer)
Hur man ansluter och programmerar Node01 och Node02 (slavstationer)

För att programmera skissen "SlaveSation.ino" behövde jag RF24 -biblioteket och RF24 -nätverksbiblioteket.

I flödesschemat ovan kan du se logiken för sensorstationen och meddelandena som utbyts mellan en slavsensorstation och en master.

Innan du laddar skissen måste du konfigurera adressen till slavnoden i oktalt format

const uint16_t this_node = 01; // Adress till vår nod i oktalt format (slav): 01, 02, 03 …

Betydelsen av lysdioderna i varje slavstationer är följande:

  • Blå led. Den kommer att vara på medan PIR -sensorstiftet är högt.
  • Grön ledde. Det kommer att vara på när larmet är anslutet.

Steg 3: Hur man ansluter och programmerar Node00 (Master Station)

Hur man ansluter och programmerar Node00 (Master Station)
Hur man ansluter och programmerar Node00 (Master Station)
Hur man ansluter och programmerar Node00 (Master Station)
Hur man ansluter och programmerar Node00 (Master Station)
Hur man ansluter och programmerar Node00 (Master Station)
Hur man ansluter och programmerar Node00 (Master Station)

I Node00 -stationen kan vi hitta två olika kort:

  • MEGA 2560 R3 bräda. Denna enhet används för att ta emot meddelanden från slavstationer när en rörelse detekteras med hjälp av trådlös kommunikation. Den aktiverar en klocka när en rörelse detekteras och larmet är anslutet. För att stoppa klockan kopplar du bara bort larmläget. Dessutom skickar den till slavstationen meddelanden från NodeMCU för att aktivera eller inaktivera rörelsedetektering, att alltid tända lamporna, att alltid stänga av lamporna, …
  • NodeMCU Lua Amica V2 ESP8266 -kort. Det fungerar som en Wifi -webbserver för att överföra och ta emot kommandon från en avlägsen plats med hjälp av en webbsida i en mobiltelefon. Dessutom skickar e-postmeddelanden när en rörelse detekteras och larmläget är aktiverat.

Båda enheterna är programmerade att kommunicera med varandra i en Master (NodeMCU)/Slave (MEGA) konfiguration via I2C synkrona seriella protokoll med hjälp av trådbiblioteket. I2C -protokollet innebär att man använder två rader för att skicka och ta emot data: en seriell klockstift (SCL) och en seriell datastift (SDA) över vilken data skickas mellan de två enheterna.

Som du kan se på ritningen är de två stiften för I2C -kommunikationen i MEGA 2560 R3 -kortet:

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

och de andra i NodemMCU är:

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

Innan du laddar skissen för ESP8266 måste du installera ESP8266 -kortet. För att göra det måste du ange "https://arduino.esp8266.com/stable/package_esp8266com_index.json" i "Ytterligare Board Manager -webbadresser" i inställningsfönstret i Arduino IDE. Efter det måste du öppna styrhanteraren och installera "esp8266"

Jag använder en extern nätadapter (9V, 1A) för MEGA 2560 R3 -kortet (DC -uttag, 2, 1 mm x 5, 5 mm) och jag ansluter NodeMCU -kortet till 3V3 -stiftet i MEGA -kortet.

Steg 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)

Skissen som laddats in i NodeMCU (Node00 eller huvudstation) är konfigurerad som en WebServer ansluten till ditt wifi -hemnätverk. Det är möjligt att få fjärråtkomst om du konfigurerar portvidarebefordran i din router.

Innan du laddar WifiWebServerV3.ino -skissen till NodeMCU måste du göra följande:

  1. Uppdatera porten du ska konfigurera i din router (port vidarebefordran) för att fjärråtkomst till NodeMCU
  2. Uppdatera användaren och lösenordet för att komma åt ditt wifi -hemnätverk
  3. Uppdatera inloggningen och lösenordet för ditt Gmail-konto för att skicka e-post när en rörelse detekteras och larmet är anslutet
  4. Uppdatera den e-postadress där du kommer att få e-postmeddelandena

För att uppdatera användaren, lösenordet och porten som servern kommer att använda för att lyssna på måste du söka efter följande kod i WifiWebServerV3.ino -skissen och uppdatera den:

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

const char*password = "*** ditt lösenord ***"; WiFiServer -server (80);

För att uppdatera e-postadressen där du får e-postmeddelandena måste du söka efter följande kod och uppdatera den:

const char*to_email = "*** e-postadress där du kommer att få meddelandet ***";

För att uppdatera användarens och lösenordet för ditt Gmail-konto för att ta emot e-post måste du söka efter följande kod i filen "Gsender.h" och uppdatera den:

const char*EMAILBASE64_LOGIN = "*** din e-postadresskodning i BASE64 ***";

const char*EMAILBASE64_PASSWORD = "*** ditt lösenord kodar i BASE64 ***"; const char*FROM = "*** din e-postadress ***";

För att koda eller avkoda data i BASE64 har jag använt www.base64encode.org

Om du behöver mer information om att skicka och ta emot e-post med ESP8266 finns det en "instruerbar" om det här

När du kan göra det kan du testa anslutningen i din router. Om enheten är ansluten måste du reservera den tilldelade IP -adressen till den här enheten. Dessutom är det en bra idé att prata med din internetleverantör för att ställa in en statisk IP -adress på din router.

För att komma åt webbsidan nära din wifi -router skriver du bara in den lokala IP -adressen som tilldelats av din router efter porten du använder i en webbnavigator. Till exempel: 192.168.40.15:800. Om du försöker komma åt på distans måste du ange routerns IP -adress efter porten du använder som ovan.

Webbsidan som jag visar dig på bilderna är programmerad för att styra ett nätverk med två slavstationer.

Systemet är initialt konfigurerat för att styra maximalt 5 slavstationer, men du kan ändra det. Sök bara efter följande kod i WifiWebServerV3.ino och SlaveStation.ino

#define number_max_slaves 5

Webbsidan är inledningsvis uppdelad i 4 avsnitt:

  1. Avsnittet "Ange" där det visar dig om larmet är anslutet eller inte
  2. Avsnittet "Larmräknare" där det visar antalet rörelsedetektering i varje slavstation
  3. Avsnittet "Larm" där du kan ansluta eller koppla bort (ANSLUTA LARM/KOPPLA LARM) larmet och återställa larmräknaren (ÅTERSTÄLL RÄNKARE)
  4. Avsnittet "Belysning" där du kan styra lamporna på varje slavstation. Du kan styra följande:

    • Slå på lamporna i alla slavstationer / slå på lamporna endast när en rörelse detekteras i alla slavstationer (NÄTVERK ALLTID PÅ / NÄTVERK NÄR RÖRELSE)
    • Ändra tiden i minuter som lamporna lyser för varje slavstation (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
    • Slå på lamporna för varje slavstation (NODExx ALLTID PÅ)
    • Slå på lamporna för varje slavstation endast när en rörelse detekteras (NODExx_MOV)

Du behöver inte ändra något eftersom det kommer att fungera oavsett namnet på slavstationer du konfigurerar. Dessutom kommer det automatiskt att upptäcka antalet slavstationer som är anslutna i nätverket.

Naturligtvis kan du ladda ner skissen och enkelt ändra koden som är nödvändig för att visa din egen webbkontrollsida.

Steg 5: Från början …

Här är stegen du måste följa för att bygga ditt nätverk:

  1. Köp allt material efter listan jag ger dig i "Steg 1"
  2. Anslut komponenterna efter ritningen som du kan ladda ner i "Steg 2" och "Steg 3"
  3. Bygg lådor för varje slavstation och masterstation. Jag har byggt metakrylatlådor.
  4. Konfigurera varje slavstation:

    Ladda ner och ladda skissen "SlaveStation.ino" i ett MEGA 2560 R3 -kort. Du behöver bara redigera skissen och uppdatera adressen till slavstationen som du kan se i "Steg 2"

  5. Konfigurera huvudstationen:

    • Ladda ner och ladda skissen "SlaveStation.ino" i en MEGA 2560 R3. Du behöver inte ändra någonting oavsett antalet slavnoder i ditt nätverk. Ursprungligen är skissen konfigurerad för maximalt 5 slavstationer.
    • Ladda ner och ladda skissen "WifiServerV3.ino" i NodeMCU. Du måste uppdatera skissen enligt instruktionen i "Steg 4"
  6. Konfigurera din router för att fjärråtkomst till NodeMCU (vidarebefordran av port, statisk IP …)

Rekommenderad: