Taula de continguts:
- Pas 1: Llista de material
- Pas 2: Com connectar i programar Node01 i Node02 (estacions esclaus)
- Pas 3: Com connectar i programar Node00 (Master Station)
- Pas 4: WifiWebServer (NodeMCU a Master Station)
- Pas 5: des del principi …
Vídeo: Xarxa d'estacions de sensors per a control d'il·luminació i seguretat: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Amb aquesta xarxa d’estacions de sensors configurada en mode mestre / esclau, podreu fer il·luminació i control de seguretat a casa vostra. Aquestes estacions de sensors (Node01, Node02 en aquest projecte) estan connectades a una estació principal (Node00) connectada a la vostra xarxa wifi local. He instal·lat el Node01 al meu traster i el Node02 al garatge controlant llums i moviments. L'estació principal està instal·lada a la nostra sala de menjador connectada al nostre router wifi. He instal·lat la campana al garatge i un petit brunzidor a l'estació principal perquè soni quan es detecta un moviment per part d'alguna estació de sensors de la xarxa.
Les principals característiques de la xarxa són:
- És possible configurar una xarxa amb més de dues estacions de sensor (estacions esclaves) (Node01, Node02, Node03, …).
- A causa de l'ús de transceptors sense fils amb antena, la xarxa pot cobrir una àrea àmplia
- Podeu controlar tota la xarxa des d’un telèfon mòbil
- Envieu un correu electrònic (compte de Gmail) quan es detecti un moviment i el mode d'alarma estigui activat. Així, si activeu les notificacions automàtiques de Gmail al vostre mòbil, sabreu quan es detecta un moviment a la vostra xarxa
amb finalitats domòtiques:
- Enceneu els llums quan es detecta un moviment / enceneu-los sempre (per a tota la xarxa o per a cada estació esclava)
- Canvieu el temps en minuts que s’encenen els llums després que s’hagi detectat un moviment per a cada estació esclava
per motius de seguretat:
- Activeu i desactiveu el mode d'alarma
- Cada estació esclava pot enviar un senyal a una estació principal (Node00) quan el mode d'alarma està habilitat i es detecta un moviment
- L'estació principal pot activar una campana i enviar un correu electrònic quan es rebi un d'aquests senyals des de qualsevol estació esclava i el mode d'alarma estigui habilitat. L'estació principal (Node00) està connectada a Internet mitjançant una connexió wifi per controlar tot el sistema mitjançant un telèfon mòbil. Està configurat com un servidor WifiWeb
Pas 1: Llista de material
La llista de material que he utilitzat per construir Node01 i Node02 (estacions esclaus) és la següent:
- Taula Mega 2560 R3
- Suport de plàstic per MEGA 2560 R3
- Sensor PIR HC-SR501
- Suport de plàstic per HC-SR501
- Relleu de 5V
- Mòdul de transceptor sense fil 2.4G 1100m NRF24L01 + PA + LNA amb antena LKY67
- Adaptador NRF24L01 de 8 pins (per millorar les funcions del NRF24L01)
- HLK-PM01 CA DC 220V a 5V Mini font d'alimentació
La llista de material per construir el Node00 (estacions mestres) és la següent:
- Taula Mega 2560 R3
- Suport de plàstic per MEGA 2560 R3
- Mòdul WiFi NodeMCU Lua Amica V2 ESP8266
- Mòdul de transceptor sense fil 2.4G 1100m NRF24L01 + PA + LNA amb antena LKY67
- Taula adaptadora VCC de 5v a 3,3v per a NRF24L01 (per millorar les característiques del NRF24L01)
- Adaptador AC-DC, 9V, 1A (2, 1 mm x 5, 5mm)
A més, he utilitzat el material següent:
- Conectors PCB de 2 pins de 5 mm
- Filferros de pont
- Tauler de pa MB-102 (800 contactes)
- Mini tauler de soldar sense soldar 170 contactes
- Conjunt de leds i resistències
- Taules PCB
- Kit de soldadura de llauna
- Pistola de cola
- Metacrilat transparent
- timbre
Pas 2: Com connectar i programar Node01 i Node02 (estacions esclaus)
Per programar l'esbós "SlaveSation.ino" he necessitat la biblioteca RF24 i la biblioteca RF24 Network.
Al diagrama de flux anterior podeu veure la lògica de l'estació del sensor i els missatges intercanviats entre l'estació del sensor esclau i l'estació mestra.
Abans de carregar l'esbós, heu de configurar l'adreça del node esclau en format octal
const uint16_t this_node = 01; // Adreça del nostre node en format octal (esclau): 01, 02, 03 …
El significat dels leds de cada estació esclava és el següent:
- Led blau. Estarà activat mentre el pin del sensor PIR estigui alt.
- Led verd. Estarà activada quan es connecti l'alarma.
Pas 3: Com connectar i programar Node00 (Master Station)
A l’estació Node00 podem trobar dues taules diferents:
- Tauler MEGA 2560 R3. Aquest dispositiu s’utilitza per rebre missatges de l’estació d’esclaus quan es detecta un moviment mitjançant la comunicació sense fils. Activarà una campana quan es detecti un moviment i es connecti l'alarma. Per aturar la campana, només cal desconnectar el mode d'alarma. A més, envia a l'estació d'esclaus missatges des de NodeMCU per habilitar o desactivar la detecció de moviment, per encendre sempre els llums, apagar sempre els llums, …
- Taula NodeMCU Lua Amica V2 ESP8266. Funciona com un servidor web Wifi per transmetre i rebre ordres des d’un lloc remot mitjançant una pàgina web d’un telèfon mòbil. A més, envia missatges de correu electrònic quan es detecta un moviment i s'activa el mode d'alarma.
Tots dos dispositius estan programats per comunicar-se entre si en una configuració Màster (NodeMCU) / Esclau (MEGA) mitjançant el protocol sèrie síncron I2C mitjançant la biblioteca de cables. El protocol I2C consisteix a utilitzar dues línies per enviar i rebre dades: un pin de rellotge sèrie (SCL) i un pin de dades serial (SDA) sobre el qual s’envien dades entre els dos dispositius.
Com podeu veure al dibuix, els dos pins per a la comunicació I2C a la placa MEGA 2560 R3 són:
- SDA -> pin 20 SDA
- SCL -> pin 21 SCL
i els altres del NodemMCU són:
- SDA -> pin digital 1
- SCL -> pin digital 2
Abans de carregar l’esbós de l’ESP8266, heu d’instal·lar la placa ESP8266. Per fer-ho, heu d'introduir "https://arduino.esp8266.com/stable/package_esp8266com_index.json" a les "URL addicionals del gestor de taules" a la finestra de preferències de l'IDE Arduino. Després, haureu d'obrir el gestor de taules i instal·lar "esp8266"
Utilitzo un adaptador de font d'alimentació extern (9V, 1A) per a la placa MEGA 2560 R3 (presa d'alimentació de CC, 2, 1mm x 5, 5 mm) i connecto la placa NodeMCU al pin 3V3 de la placa MEGA.
Pas 4: WifiWebServer (NodeMCU a Master Station)
L'esbós carregat al NodeMCU (Node00 o estació principal) es configura com un servidor web connectat a la vostra xarxa wifi domèstica. És possible accedir de forma remota si configureu el reenviament de ports al vostre encaminador.
Abans de carregar l'esbós de WifiWebServerV3.ino al NodeMCU, heu de fer el següent:
- Actualitzeu el port que configurareu al vostre encaminador (reenviament de ports) per accedir remotament a la NodeMCU
- Actualitzeu l’usuari i la contrasenya per accedir a la vostra xarxa wifi domèstica
- Actualitzeu l'inici de sessió i la contrasenya del vostre compte de Gmail per enviar correus electrònics quan es detecti un moviment i l'alarma estigui connectada
- Actualitzeu l'adreça de correu electrònic on rebreu els correus electrònics
Per actualitzar l’usuari, la contrasenya i el port que escoltarà el servidor, heu de cercar el següent codi a l’esbós de WifiWebServerV3.ino i actualitzar-lo:
const char * ssid = "*** el teu ssid ***";
const char * password = "*** la vostra contrasenya ***"; Servidor WiFiServer (80);
Per actualitzar l'adreça de correu electrònic on rebrà els correus electrònics, heu de cercar el codi següent i actualitzar-lo:
const char * to_email = "*** adreça de correu electrònic on rebreu el missatge ***";
Per actualitzar l'usuari i la contrasenya del vostre compte de Gmail per rebre correus electrònics, heu de cercar el codi següent al fitxer "Gsender.h" i actualitzar-lo:
const char * EMAILBASE64_LOGIN = "*** la vostra adreça de correu electrònic codifica a BASE64 ***";
const char * EMAILBASE64_PASSWORD = "*** la vostra contrasenya codifica a BASE64 ***"; const char * FROM = "*** la vostra adreça de correu electrònic ***";
Per codificar o descodificar dades a BASE64 he utilitzat www.base64encode.org
Si necessiteu més informació sobre com enviar i rebre correus electrònics amb l'ESP8266, aquí hi ha un document "instructiu"
Un cop ho pugueu fer, podeu provar la connexió al vostre encaminador. Si el dispositiu està connectat, heu de reservar l'adreça IP assignada a aquest dispositiu. A més, és una bona idea parlar amb el vostre proveïdor d’Internet per establir una adreça IP estàtica al vostre encaminador.
Per accedir a la pàgina web propera al vostre encaminador wifi, només cal que escriviu l'adreça IP local assignada pel vostre encaminador després del port que utilitzeu en un navegador web. Per exemple: 192.168.40.15:800. Si intenteu accedir de forma remota, heu d’escriure l’adreça IP del vostre encaminador seguint el port que utilitzeu, tal com s’ha indicat anteriorment.
La pàgina web que us mostro a les imatges està programada per controlar una xarxa amb dues estacions esclaves.
El sistema està inicialment configurat per controlar 5 estacions esclaves com a màxim, però podeu modificar-lo. Només cal que cerqueu el codi següent a WifiWebServerV3.ino i SlaveStation.ino
#define number_max_slaves 5
La pàgina web es divideix inicialment en 4 seccions:
- Secció "Estat" on es mostra si l'alarma està connectada o no
- Secció "Comptador d'alarmes" on es mostra el nombre de detecció de moviment a cada estació esclava
- Secció "Alarma" on podeu connectar o desconnectar (CONNECCIONAR ALARMA / DESCONNECTAR ALARMA) l'alarma i restablir el comptador d'alarmes (RESET COMPTADORS)
-
Secció "Il·luminació" on podeu controlar els llums de cada estació esclava. Podeu controlar el següent:
- Enceneu els llums de totes les estacions esclaus / enceneu els llums només quan es detecti un moviment a totes les estacions esclaves (XARXA SEMPRE ENCÀRREGA / XARXA QUAN EL MOVIMENT)
- Canvieu el temps en minuts que els llums estan encesos per a cada estació esclava (NODExx ON 1 MINUTE / NODEXX ON 2 MINUTE)
- Enceneu els llums de cada estació esclava (NODExx SEMPRE ON)
- Enceneu els llums de cada estació esclava només quan es detecti un moviment (NODExx_MOV)
No haureu de canviar res perquè funcionarà independentment del nom de les estacions d'esclaus que configureu. A més, detectarà automàticament el nombre d’estacions esclaves connectades a la xarxa.
Per descomptat, podeu descarregar l’esbós i modificar fàcilment el codi necessari per mostrar la vostra pròpia pàgina de control web.
Pas 5: des del principi …
Aquí teniu els passos que heu de seguir per construir la vostra xarxa:
- Compreu tot el material seguint la llista que us dono al "Pas 1"
- Connecteu els components seguint el dibuix que podeu descarregar al "Pas 2" i al "Pas 3".
- Construeix caixes per a cada estació esclava i l'estació principal. He construït caixes de metacrilat.
-
Configureu cada estació esclava:
Descarregueu i carregueu l'esbós "SlaveStation.ino" en una placa MEGA 2560 R3. Només heu d’editar l’esbós i actualitzar l’adreça de l’estació esclava com podeu veure al "Pas 2"
-
Configureu l'estació principal:
- Descarregueu i carregueu l'esbós "SlaveStation.ino" en un MEGA 2560 R3. No haureu de canviar res, independentment del nombre de nodes esclaus de la vostra xarxa. Inicialment l'esbós es configura per a un màxim de 5 estacions esclaves.
- Baixeu-vos i carregueu l'esbós "WifiServerV3.ino" al NodeMCU. Heu d'actualitzar l'esbós seguint la instrucció del "Pas 4"
- Configureu el vostre enrutador per accedir remotament a la NodeMCU (reenviament de ports, IP estàtica …)
Recomanat:
Llum LED d'escriptori intel·ligent - Il·luminació intel·ligent amb Arduino - Espai de treball Neopixels: 10 passos (amb imatges)
Llum LED d'escriptori intel·ligent | Il·luminació intel·ligent amb Arduino | Espai de treball de Neopixels: ara passem molt de temps a casa estudiant i treballant virtualment, per què no fer que el nostre espai de treball sigui més gran amb un sistema d’il·luminació personalitzat i intel·ligent basat en els LEDs Arduino i Ws2812b. Aquí us mostro com construir el vostre Smart Llum LED d'escriptori que
Sistema d’il·luminació de passarel·la intel·ligent: equip Sailor Moon: 12 passos
Sistema d’il·luminació intel·ligent de passarel·la: equip Sailor Moon: Hola! Es tracta de Grace Rhee, Srijesh Konakanchi i Juan Landi, i junts som Team Sailor Moon. Avui us presentarem un projecte de bricolatge en dues parts que podeu implementar directament a casa vostra. El nostre sistema d’il·luminació de passarel·la intel·ligent final inclou un ul
Inversor lligat a la xarxa (no alimenta la xarxa) Alternativa UPS: 7 passos (amb imatges)
Inversor lligat a la quadrícula de bricolatge (no alimenta la xarxa) Alternativa de SAI: aquest és un missatge de seguiment de la meva altra instrucció sobre com fer un inversor de connexió a la xarxa que no es retroalimenta, ja que ara sempre és possible fer-ho en certes àrees com a projecte de bricolatge i en alguns llocs no es permet alimentar-s’hi
Il·luminació posterior intel·ligent: 4 passos (amb imatges)
Retroil·luminació intel·ligent: Venco és un dispositiu dissenyat per instal·lar-se en una posició centrada i muntada a la part posterior del vehicle. Analitza les dades dels sensors - giroscopi i acceleròmetre i mostra l'estat actual del vehicle - acceleració, frenada a
Il·luminació LED per a habitacions ràpida, ràpida, econòmica i amb bon aspecte (per a qualsevol persona): 5 passos (amb imatges)
Il·luminació LED d’habitacions ràpida, ràpida, econòmica i de bon aspecte (per a qualsevol persona): Benvinguts a tots :-) Aquesta és la meva primera instrucció, així que els comentaris són benvinguts :-) El que espero mostrar-vos és com fer una il·luminació LED ràpida TINY buget.Què necessiteu: CableLEDsResistors (510Ohms per a 12V) GrapesSoldador de ferroTalladores i altres bases