Envoyer des alertes d'ouverture de porte par Gmail avec Arduino Uno – Guide débutant étape par étape
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Shield PHPoC pour Arduino | 1 |
| Capteur magnétique (deux parties : capteur + aimant) | 1 |
À propos de ce projet
Si vous êtes débutant, vous pouvez apprendre les bases du WiFi et des capteurs avec Arduino via les tutoriels « WiFi et Arduino » et « Capteur de porte ».
Dans ce tutoriel, je vais vous montrer comment détecter l'ouverture d'une porte et envoyer une notification via Gmail en utilisant un Arduino Uno. Ce tutoriel est conçu pour les débutants ! C'est vraiment simple.
Détection de l'ouverture de porte
Le capteur magnétique se compose de deux parties : le capteur et l'aimant. Lorsque les deux parties sont proches, la broche de sortie du capteur est à l'état HAUT (HIGH), sinon elle est à l'état BAS (LOW). En installant une partie sur le vantail de la porte et l'autre sur l'huisserie, on peut détecter l'ouverture de la porte en surveillant l'état de la broche de sortie.
Gestion de l'événement
Lorsqu'un événement se produit (porte ouverte), une notification est envoyée via Gmail.
Bibliothèques nécessaires
Le code utilise deux bibliothèques : PHPoC et Button (ezButton).
Références de fonctions
- loop()
- setup()
- Serial.begin()
- Serial.println()
- delay()
- Boucle for
- Boucle while
- Condition if else
- String.toInt()
Code source
#include <Phpoc.h>
#include <ezButton.h>
PhpocEmail email;
ezButton button(A0); // Objet bouton sur la broche A0
void setup() {
Serial.begin(9600);
Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP);
// Phpoc.beginIP6(); // Décommenter pour IPv6
button.setDebounceTime(100); // Anti-rebond 100 ms
}
void loop() {
button.loop(); // À appeler en premier
if (button.isPressed()) { // Si porte ouverte...
email.setOutgoingServer("smtp.gmail.com", 587);
email.setOutgoingLogin("Votre_Google_ID", "Votre_Mot_De_Passe_Google");
email.setFrom("Votre_Adresse_Gmail", "Nom_Expéditeur");
email.setTo("Adresse_Destinataire", "Nom_Destinataire");
email.setSubject("Porte ouverte. [#905]");
email.beginMessage();
email.println("#905");
email.println("");
email.println("La porte est ouverte.");
email.endMessage();
if (email.send() > 0) {
Serial.println("Votre email a été envoyé avec succès");
} else {
Serial.println("Votre email n'a pas été envoyé");
}
}
else if (button.isReleased()) { // Si porte fermée...
// Écrire le code de la même manière
}
}
Bibliothèque PHPoC pour Arduino
Cette bibliothèque communique avec le Shield PHPoC pour la connexion Internet. Elle inclut aussi la bibliothèque Gmail.
Installation : Manuel PHPoC Shield | GitHub
Schémas
- Empiler le Shield PHPoC sur l'Arduino
- Connecter un câble LAN ou un dongle USB WiFi au shield pour l'Ethernet
- Câblage entre Arduino et capteur :
- 5V → broche rouge
- A0 → broche noire


Processus de fabrication
- Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur
- Construisez un Stadiomètre Numérique : Suivez la Croissance avec Arduino et Capteur Laser
- Intégrer un capteur d'empreintes capacitif DFRobot (ID809) avec Arduino ou ESP8266
- Tour de Capteurs avec Arduino Cloud : Température, Mouvement et Gaz
- Pistolet à eau intelligent à détection de mouvement avec Arduino Nano
- Portique de contrôle de température sans contact pour dépistage rapide et précis
- Arduino UNO & Shield WiFi : Affichage température temps réel sur le Web via série
- Système de Surveillance Thermique Scolaire : Précis, Temps Réel et Sécurisé
- Système radar compact Arduino avec capteur ultrasonique HC-SR04 et écran 1,8"