Table des matières:

Réseau de stations de détection pour l'éclairage et le contrôle de la sécurité : 5 étapes (avec photos)
Réseau de stations de détection pour l'éclairage et le contrôle de la sécurité : 5 étapes (avec photos)

Vidéo: Réseau de stations de détection pour l'éclairage et le contrôle de la sécurité : 5 étapes (avec photos)

Vidéo: Réseau de stations de détection pour l'éclairage et le contrôle de la sécurité : 5 étapes (avec photos)
Vidéo: Webinaire - Les bases de l'éclairage de sécurité 2024, Novembre
Anonim
Réseau de stations de capteurs pour le contrôle de l'éclairage et de la sécurité
Réseau de stations de capteurs pour le contrôle de l'éclairage et de la sécurité
Réseau de stations de capteurs pour le contrôle de l'éclairage et de la sécurité
Réseau de stations de capteurs pour le contrôle de l'éclairage et de la sécurité
Réseau de stations de capteurs pour le contrôle de l'éclairage et de la sécurité
Réseau de stations de capteurs pour le contrôle de l'éclairage et de la sécurité

Avec ce réseau de stations de détection configuré en mode maître/esclave, vous pourrez faire le contrôle de l'éclairage et de la sécurité dans votre maison. Ces stations de capteurs (Node01, Node02 dans ce projet) sont connectées à une station maître (Node00) connectée à votre réseau wifi local. J'ai installé le Node01 dans ma salle de stockage et le Node02 dans mon garage pour contrôler les lumières et les mouvements. La station maître est installée dans notre salle à manger connectée à notre routeur wifi. J'ai installé la sonnette dans le garage et un petit buzzer dans la station principale pour sonner lorsqu'un mouvement est détecté par une station de détection du réseau.

Les principales caractéristiques du réseau sont:

  • Il est possible de configurer un réseau avec plus de deux stations capteurs (stations esclaves) (Node01, Node02, Node03, ….)
  • Grâce à l'utilisation d'émetteurs-récepteurs sans fil avec antenne, le réseau est capable de couvrir une large zone
  • Vous pouvez contrôler l'ensemble du réseau à partir d'un téléphone mobile
  • Envoyez un e-mail (compte Gmail) lorsqu'un mouvement est détecté et que le mode alarme est activé. Donc si vous activez les notifications push Gmail dans votre mobile vous saurez quand un mouvement est détecté dans votre réseau

à des fins domotiques:

  • Allumer les lumières lorsqu'un mouvement est détecté / allumer toujours les lumières (pour tout le réseau ou pour chaque station esclave)
  • Modifiez la durée en minutes pendant laquelle les lumières s'allument après qu'un mouvement a été détecté pour chaque station esclave

pour des raisons de sécurité:

  • Activer et désactiver le mode alarme
  • Chaque station esclave est capable d'envoyer un signal à une station maître (Node00) lorsque le mode alarme est activé et qu'un mouvement est détecté
  • La station maître est capable d'activer une sonnerie et d'envoyer un e-mail lorsqu'un de ces signaux est reçu de n'importe quelle station esclave et que le mode alarme est activé. Le poste maître (Node00) est connecté à Internet via une connexion wifi pour contrôler l'ensemble du système à l'aide d'un téléphone mobile. Il est configuré comme un WifiWebServer

Étape 1: Liste du matériel

Liste du matériel
Liste du matériel
Liste du matériel
Liste du matériel

La liste du matériel que j'ai utilisé pour construire Node01 et Node02 (stations esclaves) est la suivante:

  • Carte Mega 2560 R3
  • Support plastique pour MEGA 2560 R3
  • Capteur PIR HC-SR501
  • Support en plastique pour HC-SR501
  • Relais 5V
  • Module émetteur-récepteur sans fil 2.4G 1100m NRF24L01+PA+LNA avec antenne LKY67
  • Adaptateur 8Pin NRF24L01 (pour améliorer les fonctionnalités du NRF24L01)
  • Mini alimentation HLK-PM01 AC DC 220V à 5V

La liste du matériel pour construire le Node00 (postes maîtres) est la suivante:

  • Carte Mega 2560 R3
  • Support plastique pour MEGA 2560 R3
  • Module WiFi NodeMCU Lua Amica V2 ESP8266
  • Module émetteur-récepteur sans fil 2.4G 1100m NRF24L01+PA+LNA avec antenne LKY67
  • Carte adaptateur 5v-3.3v VCC pour NRF24L01 (pour améliorer les fonctionnalités du NRF24L01)
  • Adaptateur AC-DC, 9V, 1A (2, 1 mm x 5, 5 mm)

De plus, j'ai utilisé le matériel suivant:

  • Connecteurs PCB 2 broches 5 mm
  • Fils de cavalier
  • Planche à pain MB-102 (800 contacts)
  • Mini planche à pain sans soudure 170 contacts
  • Jeu de leds et résistances
  • Cartes PCB
  • Kit de fer à souder à l'étain
  • Pistolet à colle
  • Méthacrylate transparent
  • cloche

Étape 2: Comment se connecter et programmer Node01 et Node02 (stations esclaves)

Comment se connecter et programmer Node01 et Node02 (stations esclaves)
Comment se connecter et programmer Node01 et Node02 (stations esclaves)
Comment se connecter et programmer Node01 et Node02 (stations esclaves)
Comment se connecter et programmer Node01 et Node02 (stations esclaves)

Pour programmer le sketch "SlaveSation.ino", j'avais besoin de la bibliothèque RF24 et de la bibliothèque RF24 Network.

Dans l'organigramme ci-dessus, vous pouvez voir la logique de la station de capteur et les messages échangés entre une station de capteur esclave et la station maître.

Avant de charger le sketch, vous devez configurer l'adresse du nœud esclave au format octal

const uint16_t this_node = 01; // Adresse de notre nœud au format octal (esclave): 01, 02, 03 …

La signification des leds dans chaque station esclave est la suivante:

  • Led bleu. Il sera allumé tant que la broche du capteur PIR est haute.
  • LED verte. Il sera allumé lorsque l'alarme sera connectée.

Étape 3: Comment se connecter et programmer Node00 (station maître)

Comment se connecter et programmer Node00 (station maître)
Comment se connecter et programmer Node00 (station maître)
Comment se connecter et programmer Node00 (station maître)
Comment se connecter et programmer Node00 (station maître)
Comment se connecter et programmer Node00 (station maître)
Comment se connecter et programmer Node00 (station maître)

Dans la station Node00, nous pouvons trouver deux cartes différentes:

  • Carte MEGA 2560 R3. Cet appareil est utilisé pour recevoir des messages de la station esclave lorsqu'un mouvement est détecté à l'aide de la communication sans fil. Il activera une cloche lorsqu'un mouvement est détecté et que l'alarme est connectée. Pour arrêter la sonnerie, il suffit de déconnecter le mode alarme. De plus, il envoie à la station esclave des messages de NodeMCU pour activer ou désactiver la détection de mouvement, pour allumer toujours les lumières, pour éteindre toujours les lumières, …
  • Carte NodeMCU Lua Amica V2 ESP8266. Il fonctionne comme un serveur Web Wifi pour transmettre et recevoir des commandes à partir d'un endroit distant à l'aide d'une page Web dans un téléphone mobile. En outre, envoie des messages électroniques lorsqu'un mouvement est détecté et que le mode alarme est activé.

Les deux appareils sont programmés pour communiquer entre eux dans une configuration Maître (NodeMCU)/Esclave (MEGA) via le protocole série synchrone I2C à l'aide de la bibliothèque de fils. Le protocole I2C implique l'utilisation de deux lignes pour envoyer et recevoir des données: une broche d'horloge série (SCL) et une broche de données série (SDA) sur laquelle les données sont envoyées entre les deux appareils.

Comme vous pouvez le voir sur le dessin, les deux broches pour la communication I2C dans la carte MEGA 2560 R3 sont:

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

et les autres dans le NodemMCU sont:

  1. SDA -> broche numérique 1
  2. SCL -> broche numérique 2

Avant de charger le croquis de l'ESP8266, vous devez installer la carte ESP8266. Pour ce faire, vous devez entrer "https://arduino.esp8266.com/stable/package_esp8266com_index.json" dans les "URL supplémentaires du gestionnaire de cartes" dans la fenêtre des préférences de l'IDE Arduino. Après cela, vous devez ouvrir le gestionnaire de cartes et installer "esp8266"

J'utilise un adaptateur d'alimentation externe (9V, 1A) pour la carte MEGA 2560 R3 (jack d'alimentation CC, 2, 1mm x 5, 5 mm) et je connecte la carte NodeMCU à la broche 3V3 de la carte MEGA.

Étape 4: WifiWebServer (NodeMCU dans la station maître)

WifiWebServer (NodeMCU dans la station maître)
WifiWebServer (NodeMCU dans la station maître)
WifiWebServer (NodeMCU dans la station maître)
WifiWebServer (NodeMCU dans la station maître)

Le sketch chargé dans le NodeMCU (Node00 ou station maître) est configuré comme un WebServer connecté à votre réseau wifi domestique. Il est possible d'accéder à distance si vous configurez la redirection de port dans votre routeur.

Avant de charger l'esquisse WifiWebServerV3.ino sur le NodeMCU, vous devez procéder comme suit:

  1. Mettez à jour le port que vous allez configurer dans votre routeur (redirection de port) pour accéder à distance au NodeMCU
  2. Mettez à jour l'utilisateur et le mot de passe pour accéder à votre réseau wifi domestique
  3. Mettez à jour le login et le mot de passe de votre compte Gmail pour envoyer des e-mails lorsqu'un mouvement est détecté et que l'alarme est connectée
  4. Mettez à jour l'adresse e-mail où vous recevrez les e-mails

Pour mettre à jour l'utilisateur, le mot de passe et le port que le serveur utilisera pour écouter, vous devez rechercher le code suivant dans le sketch WifiWebServerV3.ino et le mettre à jour:

const char* ssid = "*** votre ssid ***";

const char* mot de passe = "*** votre mot de passe ***"; Serveur WiFiServer (80);

Pour mettre à jour l'adresse e-mail où vous recevrez les e-mails, vous devez rechercher le code suivant et le mettre à jour:

const char* to_email = "*** adresse e-mail où vous recevrez le message ***";

Pour mettre à jour l'utilisateur et le mot de passe de votre compte Gmail pour recevoir des e-mails, vous devez rechercher le code suivant dans le fichier "Gsender.h" et le mettre à jour:

const char* EMAILBASE64_LOGIN = "*** votre adresse e-mail encode en BASE64 ***";

const char* EMAILBASE64_PASSWORD = "*** votre mot de passe encode en BASE64 ***"; const char* FROM = "*** votre adresse e-mail ***";

Pour coder ou décoder des données en BASE64, j'ai utilisé www.base64encode.org

Si vous avez besoin de plus d'informations sur l'envoi et la réception d'e-mails avec l'ESP8266, il existe un "Instructable" à ce sujet ici

Une fois que vous pouvez le faire, vous pouvez tester la connexion dans votre routeur. Si l'appareil est connecté, vous devez réserver l'adresse IP attribuée à cet appareil. De plus, c'est une bonne idée de parler avec votre fournisseur d'accès Internet pour définir une adresse IP statique sur votre routeur.

Pour accéder à la page Web à proximité de votre routeur wifi, saisissez simplement l'adresse IP locale attribuée par votre routeur en suivant le port que vous utilisez dans un navigateur Web. Par exemple: 192.168.40.15:800. Si vous essayez d'accéder à distance, vous devez taper l'adresse IP de votre routeur en suivant le port que vous utilisez comme ci-dessus.

La page Web que je vous montre dans les images est programmée pour contrôler un réseau avec deux stations esclaves.

Le système est initialement configuré pour contrôler 5 stations esclaves maximum, mais vous pouvez le modifier. Recherchez simplement le code suivant dans WifiWebServerV3.ino et SlaveStation.ino

#define number_max_slaves 5

La page Web est initialement divisée en 4 sections:

  1. Section « État » où il vous indique si l'alarme est connectée ou non
  2. Section "Compteur d'alarmes" où il vous montre le nombre de détection de mouvement dans chaque station esclave
  3. Section "Alarme" où vous pouvez connecter ou déconnecter (CONNECT ALARM/DISCONNECT ALARM) l'alarme et réinitialiser le compteur d'alarmes (RESET COUNTERS)
  4. Section "Eclairage" où vous pouvez contrôler les lumières de chaque station esclave. Vous pouvez contrôler les éléments suivants:

    • Allumer les lumières dans toutes les stations esclaves / allumer les lumières uniquement lorsqu'un mouvement est détecté dans toutes les stations esclaves (RÉSEAU TOUJOURS ACTIVÉ/RÉSEAU QUAND MOUVEMENT)
    • Modifiez le temps en minutes pendant lequel les lumières sont allumées pour chaque station esclave (NODExx ON 1 MINUTE/NODEXX ON 2 MINUTE)
    • Allumez les lumières pour chaque station esclave (NODExx ALWAYS ON)
    • Allumez les lumières de chaque station esclave uniquement lorsqu'un mouvement est détecté (NODExx_MOV)

Vous n'avez rien à changer car cela fonctionnera quel que soit le nom des stations esclaves que vous configurez. De plus, il détectera automatiquement le nombre de stations esclaves connectées au réseau.

Bien sûr, vous pouvez télécharger le croquis et modifier facilement le code nécessaire pour afficher votre propre page de contrôle Web.

Étape 5: Depuis le début…

Voici les étapes à suivre pour construire votre réseau:

  1. Achetez tout le matériel suivant la liste que je vous donne dans l'"Etape 1"
  2. Connectez les composants en suivant le dessin que vous pouvez télécharger dans "Etape 2" et "Etape 3"
  3. Construisez des boîtes pour chaque station esclave et la station maître. J'ai construit des boîtes en méthacrylate.
  4. Configurez chaque station esclave:

    Téléchargez et chargez le sketch "SlaveStation.ino" dans une carte MEGA 2560 R3. Vous n'avez qu'à éditer le croquis et mettre à jour l'adresse de la station esclave comme vous pouvez le voir dans l'"Etape 2"

  5. Configurez le poste maître:

    • Téléchargez et chargez le sketch "SlaveStation.ino" dans un MEGA 2560 R3. Vous n'avez rien à changer quel que soit le nombre de nœuds esclaves de votre réseau. Initialement, le sketch est configuré pour un maximum de 5 stations esclaves.
    • Téléchargez et chargez le sketch "WifiServerV3.ino" dans le NodeMCU. Vous devez mettre à jour le croquis en suivant les instructions de l'"Étape 4"
  6. Configurez votre routeur pour accéder à distance au NodeMCU (redirection de port, IP statique…)

Conseillé: