Inhoudsopgave:

Sensor Stations-netwerk voor verlichting en beveiligingscontrole - Ajarnpa
Sensor Stations-netwerk voor verlichting en beveiligingscontrole - Ajarnpa

Video: Sensor Stations-netwerk voor verlichting en beveiligingscontrole - Ajarnpa

Video: Sensor Stations-netwerk voor verlichting en beveiligingscontrole - Ajarnpa
Video: How To Install A Two Way Light Switch | easy project4u 2024, Juli-
Anonim
Sensor Stations-netwerk voor verlichtings- en beveiligingscontrole
Sensor Stations-netwerk voor verlichtings- en beveiligingscontrole
Sensor Stations-netwerk voor verlichtings- en beveiligingscontrole
Sensor Stations-netwerk voor verlichtings- en beveiligingscontrole
Sensor Stations-netwerk voor verlichtings- en beveiligingscontrole
Sensor Stations-netwerk voor verlichtings- en beveiligingscontrole

Met dit netwerk van sensorstations geconfigureerd in een master/slave-modus, kunt u verlichting en beveiligingscontrole in uw huis uitvoeren. Deze sensorstations (Node01, Node02 in dit project) zijn verbonden met een masterstation (Node00) dat is verbonden met je lokale wifi-netwerk. Ik heb de Node01 in mijn opslagruimte geïnstalleerd en de Node02 in mijn garage die lichten en bewegingen regelt. Het hoofdstation is geïnstalleerd in onze eetkamer die is verbonden met onze wifi-router. Ik heb de bel in de garage geïnstalleerd en een kleine zoemer in het hoofdstation om te klinken wanneer een beweging wordt gedetecteerd door een sensorstation in het netwerk.

De belangrijkste kenmerken van het netwerk zijn:

  • Het is mogelijk om een netwerk te configureren met meer dan twee sensorstations (slave stations) (Node01, Node02, Node03, ….)
  • Door het gebruik van draadloze transceivers met antenne kan het netwerk een groot gebied bestrijken
  • U kunt het hele netwerk bedienen vanaf een mobiele telefoon
  • Stuur een e-mail (Gmail-account) wanneer een beweging wordt gedetecteerd en de alarmmodus is ingeschakeld. Dus als je de Gmail-pushmeldingen op je mobiel inschakelt, weet je wanneer er een beweging wordt gedetecteerd in je netwerk

voor domotische doeleinden:

  • Schakel de verlichting in wanneer er beweging wordt gedetecteerd / schakel altijd de verlichting in (voor het hele netwerk of voor elk slave-station)
  • Wijzig de tijd in minuten dat de lichten aan zijn nadat een beweging is gedetecteerd voor elk slave-station

voor veiligheidsdoeleinden:

  • De alarmmodus in- en uitschakelen
  • Elk slave-station kan een signaal naar een master-station (Node00) sturen wanneer de alarmmodus is ingeschakeld en een beweging wordt gedetecteerd
  • Het hoofdstation kan een bel activeren en een e-mail sturen wanneer een van deze signalen wordt ontvangen van een slaafstation en de alarmmodus is ingeschakeld. Het hoofdstation (Node00) is verbonden met internet via een wifi-verbinding om het hele systeem te bedienen met een mobiele telefoon. Het is geconfigureerd als een WifiWebServer

Stap 1: Lijst met materiaal

Lijst met materiaal
Lijst met materiaal
Lijst met materiaal
Lijst met materiaal

De lijst met materiaal dat ik heb gebruikt om Node01 en Node02 (slave-stations) te bouwen, is als volgt:

  • Mega 2560 R3-bord
  • Kunststof steun voor MEGA 2560 R3
  • HC-SR501 PIR-sensor
  • Kunststof steun voor HC-SR501
  • 5V relais
  • Draadloze zendontvangermodule 2.4G 1100m NRF24L01+PA+LNA met antenne LKY67
  • 8-pins NRF24L01-adapter (om de functies van de NRF24L01 te verbeteren)
  • HLK-PM01 AC DC 220V naar 5V mini-voeding

De lijst met materiaal om de Node00 (hoofdstations) te bouwen is als volgt:

  • Mega 2560 R3-bord
  • Kunststof steun voor MEGA 2560 R3
  • WiFi-module NodeMCU Lua Amica V2 ESP8266
  • Draadloze zendontvangermodule 2.4G 1100m NRF24L01+PA+LNA met antenne LKY67
  • 5v-3.3v VCC-adapterkaart voor NRF24L01 (om de functies van de NRF24L01 te verbeteren)
  • Adapter AC-DC, 9V, 1A (2, 1 mm x 5,5 mm)

Verder heb ik het volgende materiaal gebruikt:

  • 2 Pin 5 mm PCB-connectoren
  • Doorverbindingsdraden
  • Breadboard MB-102 (800 contacten)
  • Mini Solderless Breadboard 170 contacten
  • Set leds en weerstanden
  • printplaten
  • Tin soldeerbout kit
  • Lijmpistool
  • Transparant methacrylaat
  • Klok

Stap 2: Aansluiten en programmeren van Node01 en Node02 (slavestations)

Aansluiten en programmeren van Node01 en Node02 (slavestations)
Aansluiten en programmeren van Node01 en Node02 (slavestations)
Aansluiten en programmeren van Node01 en Node02 (slavestations)
Aansluiten en programmeren van Node01 en Node02 (slavestations)

Om de sketch "SlaveSation.ino" te programmeren, had ik de RF24-bibliotheek en de RF24-netwerkbibliotheek nodig.

In het bovenstaande stroomschema ziet u de logica van het sensorstation en de berichten die worden uitgewisseld tussen een slave-sensorstation en het masterstation.

Voordat u de schets laadt, moet u het adres van de slave-node in octaal formaat configureren

const uint16_t this_node = 01; // Adres van onze node in octaal formaat (slave): 01, 02, 03 …

De betekenis van de leds in elk slavestation is als volgt:

  • Blauwe led. Het zal aan zijn terwijl de PIR-sensorpin hoog is.
  • Groene led. Het zal aan zijn wanneer het alarm is aangesloten.

Stap 3: Aansluiten en programmeren van Node00 (Master Station)

Aansluiten en programmeren van Node00 (Master Station)
Aansluiten en programmeren van Node00 (Master Station)
Aansluiten en programmeren van Node00 (Master Station)
Aansluiten en programmeren van Node00 (Master Station)
Aansluiten en programmeren van Node00 (Master Station)
Aansluiten en programmeren van Node00 (Master Station)

In het Node00-station kunnen we twee verschillende borden vinden:

  • MEGA 2560 R3-kaart. Dit apparaat wordt gebruikt om berichten van het slave-station te ontvangen wanneer een beweging wordt gedetecteerd met behulp van draadloze communicatie. Het zal een bel activeren wanneer een beweging wordt gedetecteerd en het alarm is aangesloten. Om de bel te stoppen, koppelt u alleen de alarmmodus los. Bovendien stuurt het naar het slavenstation berichten van NodeMCU om bewegingsdetectie in of uit te schakelen, om altijd de lichten aan te doen, om de lichten altijd uit te doen, …
  • NodeMCU Lua Amica V2 ESP8266-bord. Het werkt als een Wifi-webserver om opdrachten van een externe plaats te verzenden en te ontvangen met behulp van een webpagina in een mobiele telefoon. Verstuurt bovendien e-mailberichten wanneer een beweging wordt gedetecteerd en de alarmmodus is ingeschakeld.

Beide apparaten zijn geprogrammeerd om met elkaar te communiceren in een Master (NodeMCU)/Slave (MEGA) configuratie via het I2C synchrone seriële protocol met behulp van de Wire Library. Het I2C-protocol omvat het gebruik van twee lijnen om gegevens te verzenden en te ontvangen: een seriële klokpen (SCL) en een seriële gegevenspen (SDA) waarover gegevens tussen de twee apparaten worden verzonden.

Zoals u in de tekening kunt zien, zijn de twee pinnen voor de I2C-communicatie in het MEGA 2560 R3-bord:

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

en de andere in de NodemMCU zijn:

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

Voordat je de schets voor de ESP8266 laadt, moet je het ESP8266-bord installeren. Om dat te doen moet je "https://arduino.esp8266.com/stable/package_esp8266com_index.json" invoeren in de "Additional Board Manager URL's" in het voorkeurenvenster in de Arduino IDE. Daarna moet je Board Manager openen en "esp8266" installeren

Ik gebruik een externe voedingsadapter (9V, 1A) voor het MEGA 2560 R3-bord (DC-stroomaansluiting, 2, 1 mm x 5,5 mm) en ik sluit het NodeMCU-bord aan op de 3V3-pin in het MEGA-bord.

Stap 4: WifiWebServer (NodeMCU in Master Station)

WifiWebServer (NodeMCU in Master Station)
WifiWebServer (NodeMCU in Master Station)
WifiWebServer (NodeMCU in Master Station)
WifiWebServer (NodeMCU in Master Station)

De schets die in de NodeMCU (Node00 of hoofdstation) is geladen, is geconfigureerd als een webserver die is aangesloten op uw wifi-thuisnetwerk. Het is mogelijk om op afstand toegang te krijgen als u port forwarding in uw router configureert.

Voordat je de WifiWebServerV3.ino-schets naar de NodeMCU laadt, moet je het volgende doen:

  1. Werk de poort bij die u in uw router gaat configureren (port forwarding) om op afstand toegang te krijgen tot de NodeMCU
  2. Werk de gebruiker en het wachtwoord bij om toegang te krijgen tot uw wifi-thuisnetwerk
  3. Werk de login en het wachtwoord van uw Gmail-account bij om e-mails te verzenden wanneer een beweging wordt gedetecteerd en het alarm is aangesloten
  4. Werk het e-mailadres bij waarop u de e-mails zult ontvangen

Om de gebruiker, het wachtwoord en de poort die de server zal gebruiken om naar te luisteren bij te werken, moet je naar de volgende code zoeken in de WifiWebServerV3.ino-schets en deze bijwerken:

const char* ssid = "*** uw ssid ***";

const char* wachtwoord = "*** uw wachtwoord ***"; WiFiServer-server (80);

Om het e-mailadres waarop u de e-mails ontvangt bij te werken, moet u naar de volgende code zoeken en deze bijwerken:

const char* to_email = "*** e-mailadres waarop u het bericht *** zult ontvangen";

Om de gebruiker en het wachtwoord van uw Gmail-account bij te werken om e-mails te ontvangen, moet u de volgende code zoeken in het bestand "Gsender.h" en deze bijwerken:

const char* EMAILBASE64_LOGIN = "*** uw e-mailadres codeert in BASE64 ***";

const char* EMAILBASE64_PASSWORD = "*** uw wachtwoord codeert in BASE64 ***"; const char* FROM = "*** uw e-mailadres ***";

Voor het coderen of decoderen van gegevens in BASE64 heb ik www.base64encode.org gebruikt

Als u meer informatie nodig heeft over het verzenden en ontvangen van e-mails met de ESP8266, vindt u hier een "Instructable" over

Zodra u dit kunt doen, kunt u de verbinding in uw router testen. Als het apparaat is aangesloten, moet u het toegewezen IP-adres voor dit apparaat reserveren. Bovendien is het een goed idee om met uw internetprovider te overleggen om een statisch IP-adres op uw router in te stellen.

Om toegang te krijgen tot de webpagina in de buurt van uw wifi-router, typt u alleen het lokale IP-adres dat is toegewezen door uw router volgens de poort die u gebruikt in een webnavigator. Bijvoorbeeld: 192.168.40.15:800. Als u op afstand toegang probeert te krijgen, moet u het IP-adres van uw router typen volgens de poort die u gebruikt, zoals hierboven.

De webpagina die ik u in de afbeeldingen laat zien, is geprogrammeerd om een netwerk met twee slave-stations te besturen.

Het systeem is aanvankelijk geconfigureerd om maximaal 5 slave-stations te besturen, maar u kunt dit wijzigen. Zoek alleen naar de volgende code in WifiWebServerV3.ino en SlaveStation.ino

#define number_max_slaves 5

De webpagina is in eerste instantie verdeeld in 4 secties:

  1. Sectie "Status" waar het u laat zien of het alarm is aangesloten of niet
  2. Sectie "Alarmteller" waar het u het aantal bewegingsdetectie in elk slave-station toont
  3. Sectie "Alarm" waar u het alarm kunt aansluiten of loskoppelen (CONNECT ALARM/DISCONNECT ALARM) en de alarmteller resetten (RESET COUNTERS)
  4. Sectie "Verlichting" waar u de lichten van elk slave-station kunt bedienen. U kunt het volgende regelen:

    • Schakel de verlichting in alle slave-stations in / schakel de verlichting alleen in als er beweging wordt gedetecteerd in alle slave-stations (NETWERK ALTIJD AAN/NETWERK BIJ BEWEGING)
    • Verander de tijd in minuten dat de verlichting aan is voor elk slave-station (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
    • Schakel de verlichting voor elk slave-station in (NODExx ALTIJD AAN)
    • Schakel de verlichting voor elk slave-station alleen in als er beweging wordt gedetecteerd (NODExx_MOV)

U hoeft niets te veranderen, want het werkt ongeacht de naam van de slave-stations die u configureert. Bovendien detecteert het automatisch het aantal slave-stations dat in het netwerk is aangesloten.

Natuurlijk kunt u de schets downloaden en eenvoudig de code wijzigen die nodig is om uw eigen webcontrolepagina te tonen.

Stap 5: Vanaf het begin …

Hier zijn de stappen die u moet volgen om uw netwerk op te bouwen:

  1. Koop al het materiaal volgens de lijst die ik je geef in de "Stap 1"
  2. Sluit de componenten aan volgens de tekening die u kunt downloaden in de "Stap 2" en "Stap 3"
  3. Bouw dozen voor elk slave-station en het master-station. Ik heb methacrylaatdozen gebouwd.
  4. Configureer elk slave-station:

    Download en laad de schets "SlaveStation.ino" in één MEGA 2560 R3-bord. U hoeft alleen de schets te bewerken en het adres van het slave-station bij te werken, zoals u kunt zien in de "Stap 2"

  5. Configureer het hoofdstation:

    • Download en laad de schets "SlaveStation.ino" in één MEGA 2560 R3. U hoeft niets te veranderen, ongeacht het aantal slave-knooppunten van uw netwerk. In eerste instantie is de schets geconfigureerd voor maximaal 5 slave-stations.
    • Download en laad de schets "WifiServerV3.ino" in de NodeMCU. U moet de schets bijwerken volgens de instructies in "Stap 4"
  6. Configureer uw router om op afstand toegang te krijgen tot de NodeMCU (port forwarding, statische IP …)

Aanbevolen: