Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
En aquest tutorial, us mostraré com detectar l'esdeveniment d'obertura de la porta i enviar una notificació a través de Gmail mitjançant Arduino Uno.
Si sou principiant, podeu aprendre sobre el wifi i el sensor als tutorials Arduino - WiFi i Arduino - Door Sensor.
Comencem!
El sensor magnètic que he fet servir per detectar esdeveniments d’obertura de porta inclou dues parts: sensor i imant. Quan hi ha dues parts a prop, el pin de sortida del sensor és ALT, en cas contrari el pin de sortida és BAIX. Aprofitant aquesta característica, vaig instal·lar una part del sensor a la fulla de la porta i l’altra al marc de la porta. En comprovar l’estat del pin de sortida, podem detectar quan s’obre la porta i després fer una alerta o enviar una notificació.
Handling Event
Quan es produeix l'esdeveniment d'obertura de la porta, s'envia una notificació a Gmail.
Pas 1: coses que necessitem
1. Arduino UNO o Genuino UNO
2. Escut PHPoC per a Arduino
3. Sensor magnètic
Pas 2: Muntatge
1. Apileu PHPoC Shield a Arduino.
2. Connecteu el cable LAN al blindatge per Ethernet.
3. Cablatge de pins entre Arduino i el sensor.
---- 5v -------- passador vermell.
---- A0 ------- pin negre.
Pas 3: instal·leu aquest conjunt a la porta
1. Col·loqueu la part del sensor, el conjunt Arduino (inclòs l'escut PHPoC) al marc de la porta
2. Col·loqueu la part de l’imant a la fulla de la porta.
3. Power Arduino
4. Connecteu-vos a Internet mitjançant un cable LAN o un dongle USB Wifi.
Pas 4: descarregueu i instal·leu la biblioteca a Arduino
Instal·leu la biblioteca PHPoC i ezButton
Pas 5: Codi Arduino
#incloure
#include correu electrònic de PhpocEmail; botó ezButton (A0); // Creeu un objecte Button que s'adjunta al pin A0; configuració nul·la () {Serial.begin (9600); Phpoc.begin (PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP); //Phpoc.beginIP6 (); descomenteu aquesta línia si feu servir IPv6 button.setDebounceTime (100); // Estableix el temps de rebounce a 100 mil·lisegons} void loop () {button.loop (); // primer heu de trucar a la funció loop () si (button.isPressed ()) {// si la porta està oberta … email.setOutgoingServer ("smtp.gmail.com", 587); email.setOutgoingLogin ("Identificador de Google", "Contrasenya de Google"); email.setFrom ("Adreça de Gmail", "Nom del remitent"); email.setTo ("Adreça de correu electrònic del receptor", "Nom del receptor"); email.setSubject ("La porta està oberta. [# 905]"); // Assumpte del correu // Contingut del correu electrònic email.beginMessage (); email.println ("# 905"); email.println (""); email.println ("La porta està oberta"); email.endMessage (); if (email.send ()> 0) // Enviar correu electrònic Serial.println ("El vostre correu s'ha enviat correctament"); else Serial.println ("El vostre correu no s'ha enviat"); } else if (button.isReleased ()) {// si la porta està tancada … // Escriviu codis de la mateixa manera}}
Pas 6: Referències de funcions
- loop ()
- setup ()
- Serial.begin ()
- Serial.println ()
- retard()
- per a bucle
- mentre bucle
- si una altra cosa
- String.toInt ()