POSTMAN
Détecteur d'arrivée d'une lettre ou d'un colis dans une boite aux lettres avec alerte, à la fois sur un voyant clignotant
déporté (par câble) et par l'envoi d'un message sur WatsApp (Wifi).
- 1 x MULTI32 câblage POSTMAN
- 1 x ACCELEROMETRE MPU-6050
- 1 x Bouton Poussoir N.O.
- 1
x VOYANT AUTO-CLIGNOTANT 230V
MATERIEL
Comment ça marche ?
La solution qui semble la plus efficace a été l'utilisation d'un accéléromètre fixé sur le clapet
"lettre"
de la boite à lettre. (après essais de détecteurs optiques)
Dés qu'il y a un mouvement, soit du clapet, soit de la porte, l'accéléromètre
fourni des informations
d'accélération X et Y proportionnelles au mouvement (ce qui permet de différencier une lettre ou un
colis).
Le
choix s'est porté sur une platine câblée avec un chip MPU6050. Il exsite une librairie pour
L'IDE ARDUINO ce qui simplifie le codage.
En
une ligne de code, on récupère les accélérations X et Y. Après détection d'un seuil (par expérimentation - 0.5g dans mon cas - paramétrable),
un relais va commander un voyant auto-clignotant jaune. (5€ Aliexpress en 220v)
En même temps, le programme envoi un message
sur WhatsApp via le service CallMeBot connecté au Wifi de la box.
Le nobre d'ouvertures est comptabilisé avec une différence
de message entre lettre et porte.
Un bouton poussoir permet de désarmer l'alerte (avec remise a zéro du compteur d'ouverture)
et d'arrter le contrôle de l'accéléromètre le temps de récupérer le courrier (pour ne pas provoquer une deuxieme alerte pendant la
récupération du courrier).).
LOGICIEL
L'électronique est basée sur la carte MULTI-32 en version complète (sans l'optocoupleur).
L'accéléromètre MPU-6050 est "collé"
à l'arrière du volet d'insertion du courrier.(sur le bord pour ne pas géné l'insertion d'une lettre), un vernis de protection sera
pulvérisé pour le protéger de l'humidité.il est branché sur le bus I2C de la platine.
De sa position dépendra la mesure d'accélération
X et Y.
L'ensemble voyant et bouton poussoir de rearmement est placé à distance dans un coffret type électricien à quelques
mètres du module de contrôle pour des raisons de visibilité.
Comme d'habitude, prendre les précautions d'usage pour le câblâge
du 230v et les manipulations sous tension.
Le logiciel pour le ESP32, a été développé sous environement ARDUINO (IDE).
Structure classique, avec librairies (WIFI,
MPU-6050), paramètres hardware, paramètres des variables puis une routine principale (Loop) qui analyse les mouvements de l'accéléromètre
et valide ou pas un mode "alerte mouvement", plus une routine séparée pour l'envoi du message WhatsApp.
La gestion des messages
est assuré via CallMeBot (voir descriptif suivant), avec l'appel d'une API en mode HTTP.
Un Bouton poussoir inhibe le contrôle
(désarmement) pendant 20 secondes (paramétrable), le temps de récupérr le courrier sans enclencher de nouveaux messages.
-
Si le module MPU-6550 n'est pas correctement détecté au reset, le système se fige et le voyant alerte mouvement est allumé.(pour informer
qu'il y a un défaut)
- En mode normal, sans alerte, si on appuie sur le BP, le voyant d'alerte clignote tant qu'on appui sur
la BP (un moyen de vérifier en passant devant le voyant que le système est toujours actif).
- Il existe une sécurité
sur l'envoi des messages, ils sont limités à 10, tant que le réarmement n'a pas été effectué. Ceci pour éviter qu'en cas de perturbation
électrique ou de défaut de mesure, on envoi sans cesse des messages en boucle sur le smartphone.
- Les valeurs et les niveaux
de contrôle des accélérations sont paramétrables, à régler suivant le montage et la position du capteur (avec une différence de détection
clapet ou porte).
- Pour le "désarmement", après appui sur le BP qui éteint le voyant d'alerte, une temporisation de 40
secondes permet d'aller chercher le courrier et de ne pas tenir compte des mouvements dans la boite aux lettres au moment ou on récupère
le courrer. Puis au start, le voyant clignote 5 secondes.
- Un mode 0, permet de ne plus faire clignoter le voyant en cas de
détection (vacances ou absence). pour ne pas attirer l'attention.
- la configuration se fait en mode dialogue terminal HTTP suivant
le protocole GS-NET.
- En version 1b, un buzzer est géré (pour feedback audio lors de la récupération du courrier).
ENVOI D'UN MESSAGE WHATSAPP AVEC CALLMEBOT
CallMebot (callmebot.com) propose un service (gratuit pour les tests, puis 5$ par an illimité) d'envoi de messages avec WhatsApp et
c'est très simple.
il faut bien sur avoir installé WhatsApp sur son smartphone.
- Enregistrer le numéro +34 644 99
26 98 dans vos contacts (nommé CallMebot)
- Envoyer à ce numéro le message suivant: I allow callmebot to send me messages
- En
retour (quelques secondes plus tard) vous recevrez un message (toujours sur WhatsApp) qui vous confirme votre inscription pour votre
numéro de téléphne avec une APIKEY.
- Il faudra saisir ces 2 informations (PhoneNumber et apikey) dans le programme et ça fonctionne
tout seul ....
const char* ssid = "***************";
// Identifiant WIFI
const char* password = "==========="; // Mot de passe Wifi
String phoneNumber = "+336---------"; //
Numéro de téléphone Whatsapp (international)
String apiKey = "123456789"; //Clef
API
Le message sera envoyé après la constitution d'un message et de l'appel de la fonction Callmebot.whatsappMessage.
Un
test peut être fait à partir d'un navigateur en saisissant les mêmes données (avec les bons numéros) pour contrôle.