Comment créer une alarme avec notification sur mobile : Différence entre versions

De HATLAB
 
(28 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
{{Tuto Details
 
{{Tuto Details
 
|Type=Création
 
|Type=Création
|Area=Maison
+
|Area=Électronique, Maison
|Tags=domotique, esp, nodemcu, alarme,
+
|Tags=domotique, esp, nodemcu, alarme, PIR, HC-SR501, Fix, carte-arduino
 
|Description=Nous allons voir comment créer une alarme à détection de mouvement avec notifications push sur votre mobile pour moins de 5 €
 
|Description=Nous allons voir comment créer une alarme à détection de mouvement avec notifications push sur votre mobile pour moins de 5 €
 
|Difficulty=Facile
 
|Difficulty=Facile
Ligne 10 : Ligne 10 :
 
|Duration-type=minute(s)
 
|Duration-type=minute(s)
 
|Licences=GNU Free Hardware Designs
 
|Licences=GNU Free Hardware Designs
 +
|Main_Picture=Comment_cr_er_une_alarme_avec_notification_sur_mobile_IMG_20190301_131658.jpg
 +
}}
 +
{{Introduction
 +
|Introduction=Ce tutoriel explique comment envoyer des alarmes instantanéement sur votre téléphone avec IFTTH. Depuis, ce service est devenu payant.
 +
 +
Au fablab nous pouvons aussi montrer comment envoyer ces alarmes:
 +
 +
* par SMS (donc sans activer la Data sur le téléphone)
 +
* par l'application Telegram
 +
* par l'application Discord
 
}}
 
}}
{{Introduction}}
 
 
{{Materials
 
{{Materials
|Material=Il vous faudra un nodeMcu, un capteur de mouvement, 3 fils et un cable micro-sub
+
|Material=Il vous faudra un nodeMcu, un capteur de mouvement, 3 fils Dupont et un cable micro-usb
 
|Tools=aucun si vous achetez des cables femelle-femelle. Sinon, il vous faudra un fer à souder.
 
|Tools=aucun si vous achetez des cables femelle-femelle. Sinon, il vous faudra un fer à souder.
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1925_May._30_14.22.jpg
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1925_May._30_14.22.jpg
Ligne 22 : Ligne 31 :
 
{{Separator}}
 
{{Separator}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Content=-Le cablage : vous avez juste 3 cables à connecter entre le capteur et le NodeMcu
+
|Step_Title=Le cablage
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1932_May._30_18.37.jpg
+
|Step_Content=vous avez juste 3 fils à connecter entre le capteur et le NodeMcu
 
|Step_Picture_01=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1932_May._30_18.37.jpg
 
|Step_Picture_01=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1932_May._30_18.37.jpg
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Utiliser IFTTT
+
|Step_Title=Créer un compte IFTTT
 
|Step_Content=IFTTT va recevoir la requête http envoyée par le NodeMCU
 
|Step_Content=IFTTT va recevoir la requête http envoyée par le NodeMCU
Créez-vous un compte sur https://ifttt.com
+
Créez-vous un compte sur https://ifttt.com (gratuit)
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Notez votre MakerIFTTT_Key
+
|Step_Title=Noter votre MakerIFTTT_Key
|Step_Content=tous les caractères après /use/
+
|Step_Content=Ce sont les caractères après /use/
disponible sur https://ifttt.com/services/maker_webhooks/settings
+
disponiblent sur https://ifttt.com/services/maker_webhooks/settings
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1938_May._30_19.06.jpg
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1938_May._30_19.06.jpg
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Créez une nouvelle applet
+
|Step_Title=Créer une nouvelle applet
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1935_May._30_18.43.jpg
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1935_May._30_18.43.jpg
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Cliquez sur This
+
|Step_Title=Cliquer sur This
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1939_May._31_00.14.jpg
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1939_May._31_00.14.jpg
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Recherchez le service webhooks
+
|Step_Title=Rechercher le service webhooks
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1940_May._31_00.17.jpg
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1940_May._31_00.17.jpg
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Cliquez sur Receive a web request
+
|Step_Title=Cliquer sur Receive a web request
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Nommez votre applet alarme
+
|Step_Title=Nommer votre applet "alarme"
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Cliquez sur That
+
|Step_Title=Cliquer sur That
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1943_May._31_00.38.jpg
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1943_May._31_00.38.jpg
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Recherchez le service Gmail
+
|Step_Title=Rechercher le service Gmail
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1944_May._31_00.40.jpg
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1944_May._31_00.40.jpg
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Sélectionnez Send yourself an email
+
|Step_Title=Sélectionner "Send yourself an email"
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Renseignez les champs suivants
+
|Step_Title=Renseigner les champs suivants
 
|Step_Content=*Renseignez les champs en respectant les valeurs
 
|Step_Content=*Renseignez les champs en respectant les valeurs
 
*Enregistrez votre applet
 
*Enregistrez votre applet
Ligne 85 : Ligne 94 :
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Collez le code suivant
+
|Step_Title=Télécharger et charger le code Arduino
|Step_Content=#include <ESP8266WiFi.h>
+
|Step_Content=https://www.sqylab.org/tutoriaux/alarme_sqylab.ino
WiFiClient client;
 
String MakerIFTTT_Key ;
 
;String MakerIFTTT_Event;
 
char *append_str(char *here, String s) {  int i=0; while (*here++ = s[i]){i++;};return here-1;}
 
char *append_ul(char *here, unsigned long u) { char buf[20]; return append_str(here, ultoa(u, buf, 10));}
 
char post_rqst[256];char *p;char *content_length_here;char *json_start;int compi;
 
int sensor = 13; // Pin D7
 
 
 
void setup() {
 
  // connect to the wifi
 
  Serial.begin(9600);
 
  WiFi.disconnect();
 
  delay(3000);
 
  Serial.println("START");
 
  WiFi.begin("<b>Nom de votre réseau wifi","Mot de passe</b>");
 
  while ((!(WiFi.status() == WL_CONNECTED))){
 
    delay(300);
 
    Serial.print("..");
 
  }
 
  Serial.println("Connected");
 
  Serial.println("Your IP is");
 
  Serial.println((WiFi.localIP().toString()));
 
  pinMode(sensor, INPUT); // declare sensor as input
 
  //  2 minutes to leave home
 
  pinMode(LED_BUILTIN, OUTPUT);
 
  digitalWrite(LED_BUILTIN, LOW);  // LED on
 
  delay(120000);
 
  digitalWrite(LED_BUILTIN, HIGH);  // LED off
 
}
 
void loop(){
 
  long state = digitalRead(sensor); //check sensor value
 
  if(state == HIGH){  // send an http request to IFTTT if motion detected
 
      Serial.println("Motion detected!");
 
      if (client.connect("maker.ifttt.com",80)) {
 
        MakerIFTTT_Key ="<b>Votre MakerIFTTT_Key</b>";
 
        MakerIFTTT_Event ="alarme";
 
        p = post_rqst;
 
        p = append_str(p, "POST /trigger/");
 
        p = append_str(p, MakerIFTTT_Event);
 
        p = append_str(p, "/with/key/");
 
        p = append_str(p, MakerIFTTT_Key);
 
        p = append_str(p, " HTTP/1.1\r\n");
 
        p = append_str(p, "Host: maker.ifttt.com\r\n");
 
        p = append_str(p, "Content-Type: application/json\r\n");
 
        p = append_str(p, "Content-Length: ");
 
        content_length_here = p;
 
        p = append_str(p, "NN\r\n");
 
        p = append_str(p, "\r\n");
 
        json_start = p;
 
        p = append_str(p, "{\"value1\":\"");
 
        p = append_str(p, "alarme esp");
 
        p = append_str(p, "\",\"value2\":\"");
 
        p = append_str(p, "alarme");
 
        p = append_str(p, "\",\"value3\":\"");
 
        p = append_str(p, "");
 
        p = append_str(p, "\"}");
 
        compi= strlen(json_start);
 
        content_length_here[0] = '0' + (compi/10);
 
        content_length_here[1] = '0' + (compi%10);
 
        client.print(post_rqst);
 
 
 
        Serial.println("request sent");
 
            delay(600000); // wait for 10 mns before sending another alert
 
        }
 
  }
 
  else {
 
  Serial.println("No Motion");
 
  delay(1000);
 
      }
 
}
 
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Remplacez les valeurs suivantes
+
|Step_Title=Remplacer les valeurs wifi et MakerIFTTT_Key
 
|Step_Content=*Nom de votre réseau wifi
 
|Step_Content=*Nom de votre réseau wifi
*Mot de passe
+
*Mot de passe (SSID de votre réseau wifi)
*Votre MakerIFTTT_Key
+
*Votre MakerIFTTT_Key (que vous avez récupéré à l'étape 3)
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
|Step_Title=Téléversez le code vers le NodeMCU
+
|Step_Title=Découper la boite
 +
|Step_Content=-Découpez et montez la boite.
 +
Voici le fichier dxf qui vous permettra de découper une petite boite en MDF :
 +
https://www.sqylab.org/wp-content/uploads/2019/03/boite_alarme.zip
 +
 
 +
-Installez le nodeMCU et le capteur dans la boite
 +
-Branchez le cable USB sur le NodeMCU et sur votre box ou un chargeur de téléphone
 +
-Réglez la sensibilité et le délai (2 boutons oranges sur le capteur) au minimum (comme sur la photo)
 +
-Le cavalier jaune sur le capteur doit être positionné sur les deux broches de droite (comme sur la photo)
 +
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_IMG_20190301_165440.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Téléverser le code vers le NodeMCU
 
|Step_Content=Voilà, votre alarme est prête à l’emploi !
 
|Step_Content=Voilà, votre alarme est prête à l’emploi !
 
Vous pouvez la brancher sur un chargeur de mobile ou sur le port USB de votre box par exemple.
 
  
 
Après 2 min (le temps de sortir), elle passe en mode surveillance et vous alertera par email en cas de mouvement.
 
Après 2 min (le temps de sortir), elle passe en mode surveillance et vous alertera par email en cas de mouvement.
  
Vous pouvez aussi installer l’appli mobile IFTTT et activer l’option Receive notifications when this Applet runs ce qui permet de recevoir une alerte plus rapidement.
+
Vous pouvez aussi installer l’appli mobile IFTTT et activer l’option "Receive notifications when this Applet runs" afin de recevoir une alerte plus rapidement.
  
Vous pouvez aussi vous en servir pour activer automatiquement le wifi sur votre mobile quand vous arrivez chez vous.
+
Astuce : Vous pouvez aussi configurer votre applet IFTTT pour activer automatiquement le wifi de votre mobile quand vous arrivez chez vous.
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1942_May._31_00.26.jpg
 
|Step_Picture_00=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1942_May._31_00.26.jpg
 
|Step_Picture_01=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1941_May._31_00.24.jpg
 
|Step_Picture_01=Comment_cr_er_une_alarme_avec_notification_sur_mobile_ScreenHunter_1941_May._31_00.24.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Résoudre les faux positifs (fausses alarmes) du PIR HC-SR501
 +
|Step_Content=(Ajout par Sylvain)
 +
L'association du nodemcu et du PIR HC-SR501 donne un capteur connecté très pratique et puissant.
 +
 +
Malheureusement, beaucoup constatent des faux positifs: de fausses alertes alors qu'il n'y a eu aucun changement devant le capteur. Cela semble provenir du rayonnement du wifi 2.4GHz qui perturbe le circuit du capteur.
 +
 +
J'ai pu résoudre ça grâce à 2 solutions:
 +
 +
* De préférence, alimenter de préférence le PIR avec 5V comme prévu dans ses spécifications. La connexion sur le 3V3 n'est pas conforme. Sur le nodemcu LoLin v3, il existe un PIN "VV" qui convient.
 +
* Et surtout: ajouter sur le circuit du PIR une "capa" entre les PIN 12 et 13 du chip BSS0001. C'est la solution miracle !
 +
 +
Voir en photo ce que cela donne.
 +
Il est très difficile de souder la capa directement. Pour limiter se problème , j'ai commencé par souder de petits fils sur les pin. Les fils sont souples et peuvent être adaptés à la taille de la capa. j'ai ensuite soudé la capa sur ces "rallonges".
 +
 +
Il est préconisé une capa de 220nF. J'ai mis une 100nF qui fait le job avec succès sur mes capteurs.
 +
 +
L'idée vient du Forum:  [https://www.letscontrolit.com/forum/viewtopic.php?t=671#p13980 la solution de "chunter1"]. Merci à lui.
 +
 +
Sylvain
 +
|Step_Picture_00=Comment_créer_une_alarme_avec_notification_sur_mobile_fix2-HC-SR501.png
 +
|Step_Picture_01=Comment_créer_une_alarme_avec_notification_sur_mobile_fix-HC-SR501.png
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Résolution des fausses alarmes (suite)
 +
|Step_Content=(Ajout par Sylvain - suite)
 +
Voici un peu plus de détails sur la solution.
 +
 +
Le diagramme montre le circuit du HC-SR501.
 +
L'encoche ou le petit rond visible sur le chip BSS0001 est du côté du pin "1".
 +
 +
Au milieu du côté opposé se trouvent les pin 12 et 13.
 +
* pour la pin 13,  on peut se connecter sur les résistances R6, R7 ou sur la pin 13. La pin 13 reste le plus simple à mon avis.
 +
* pour la pin 12, celle-ci est connectée directement sur une des  résistances variables. Si souder sur la pin 12 est difficile, il est possible d'utiliser une des 2 pattes de la résistance variable, ou même la partie métallique de la résistance. J'ai trouvé que le plus simple est de souder sur l'autre face du PCB, et de relier la capa avec une rallonge. Voir les photos.
 +
 +
En utilisant des "rallonges", la soudure est plus facile, et cela permet de rabattre la capa pour qu'elle ne dépasse pas du gabarit.
 +
|Step_Picture_00=Comment_créer_une_alarme_avec_notification_sur_mobile_HC-SR501_03_.jpg
 +
|Step_Picture_01=Comment_créer_une_alarme_avec_notification_sur_mobile_Screenshot_from_2021-05-02_22-42-15.png
 +
|Step_Picture_02=Comment_créer_une_alarme_avec_notification_sur_mobile_Screenshot_from_2021-05-02_22-41-54.png
 
}}
 
}}
 
{{Notes}}
 
{{Notes}}

Version actuelle datée du 4 septembre 2023 à 20:54

Une Création de avatarLudovic dans les catégories Électronique, Maison. Dernière modification le 4/09/2023 par Sgiraud.

Comment cr er une alarme avec notification sur mobile IMG 20190301 131658.jpg

Introduction

Ce tutoriel explique comment envoyer des alarmes instantanéement sur votre téléphone avec IFTTH. Depuis, ce service est devenu payant.

Au fablab nous pouvons aussi montrer comment envoyer ces alarmes:

  • par SMS (donc sans activer la Data sur le téléphone)
  • par l'application Telegram
  • par l'application Discord

Liste des matériaux

Il vous faudra un nodeMcu, un capteur de mouvement, 3 fils Dupont et un cable micro-usb

Liste des outils

aucun si vous achetez des cables femelle-femelle. Sinon, il vous faudra un fer à souder.

Etape n°1 - Le cablage

vous avez juste 3 fils à connecter entre le capteur et le NodeMcu

Etape n°2 - Créer un compte IFTTT

IFTTT va recevoir la requête http envoyée par le NodeMCU Créez-vous un compte sur https://ifttt.com (gratuit)

Etape n°3 - Noter votre MakerIFTTT_Key

Ce sont les caractères après /use/ disponiblent sur https://ifttt.com/services/maker_webhooks/settings

Etape n°4 - Créer une nouvelle applet

Etape n°5 - Cliquer sur This

Etape n°6 - Rechercher le service webhooks

Etape n°7 - Cliquer sur Receive a web request

Etape n°8 - Nommer votre applet "alarme"

Etape n°9 - Cliquer sur That

Etape n°10 - Rechercher le service Gmail

Etape n°11 - Sélectionner "Send yourself an email"

Etape n°12 - Renseigner les champs suivants

  • Renseignez les champs en respectant les valeurs
  • Enregistrez votre applet

Etape n°13 - Installer Arduino IDE

  • Si ce n'est déjà fait, téléchargez, installez et lancez Arduino IDE
  • Allez dans Menu - Fichier - préférences.
  • Collez http://arduino.esp8266.com/stable/package_esp8266com_index.json dans le champ URL de gestionnaire
  • Allez dans le menu Outils - Type de carte - Gestionnaire de carte.
  • Filtrez sur ESP, choisissez ESP8266 puis installez
  • Allez dans le menu Outils - Type de carte
  • Choisissez NodeMCU 1.0
  • Choisissez le port (branchez et débranchez le NodeMCU pour voir le port)
  • Créez un nouveau script (Fichier / Nouveau)

Etape n°14 - Télécharger et charger le code Arduino

https://www.sqylab.org/tutoriaux/alarme_sqylab.ino

Etape n°15 - Remplacer les valeurs wifi et MakerIFTTT_Key

  • Nom de votre réseau wifi
  • Mot de passe (SSID de votre réseau wifi)
  • Votre MakerIFTTT_Key (que vous avez récupéré à l'étape 3)

Etape n°16 - Découper la boite

-Découpez et montez la boite. Voici le fichier dxf qui vous permettra de découper une petite boite en MDF : https://www.sqylab.org/wp-content/uploads/2019/03/boite_alarme.zip

-Installez le nodeMCU et le capteur dans la boite -Branchez le cable USB sur le NodeMCU et sur votre box ou un chargeur de téléphone -Réglez la sensibilité et le délai (2 boutons oranges sur le capteur) au minimum (comme sur la photo) -Le cavalier jaune sur le capteur doit être positionné sur les deux broches de droite (comme sur la photo)

Etape n°17 - Téléverser le code vers le NodeMCU

Voilà, votre alarme est prête à l’emploi !

Après 2 min (le temps de sortir), elle passe en mode surveillance et vous alertera par email en cas de mouvement.

Vous pouvez aussi installer l’appli mobile IFTTT et activer l’option "Receive notifications when this Applet runs" afin de recevoir une alerte plus rapidement.

Astuce : Vous pouvez aussi configurer votre applet IFTTT pour activer automatiquement le wifi de votre mobile quand vous arrivez chez vous.

Etape n°18 - Résoudre les faux positifs (fausses alarmes) du PIR HC-SR501

(Ajout par Sylvain) L'association du nodemcu et du PIR HC-SR501 donne un capteur connecté très pratique et puissant.

Malheureusement, beaucoup constatent des faux positifs: de fausses alertes alors qu'il n'y a eu aucun changement devant le capteur. Cela semble provenir du rayonnement du wifi 2.4GHz qui perturbe le circuit du capteur.

J'ai pu résoudre ça grâce à 2 solutions:

  • De préférence, alimenter de préférence le PIR avec 5V comme prévu dans ses spécifications. La connexion sur le 3V3 n'est pas conforme. Sur le nodemcu LoLin v3, il existe un PIN "VV" qui convient.
  • Et surtout: ajouter sur le circuit du PIR une "capa" entre les PIN 12 et 13 du chip BSS0001. C'est la solution miracle !

Voir en photo ce que cela donne. Il est très difficile de souder la capa directement. Pour limiter se problème , j'ai commencé par souder de petits fils sur les pin. Les fils sont souples et peuvent être adaptés à la taille de la capa. j'ai ensuite soudé la capa sur ces "rallonges".

Il est préconisé une capa de 220nF. J'ai mis une 100nF qui fait le job avec succès sur mes capteurs.

L'idée vient du Forum: la solution de "chunter1". Merci à lui.

Sylvain

Etape n°19 - Résolution des fausses alarmes (suite)

(Ajout par Sylvain - suite) Voici un peu plus de détails sur la solution.

Le diagramme montre le circuit du HC-SR501. L'encoche ou le petit rond visible sur le chip BSS0001 est du côté du pin "1".

Au milieu du côté opposé se trouvent les pin 12 et 13.

  • pour la pin 13, on peut se connecter sur les résistances R6, R7 ou sur la pin 13. La pin 13 reste le plus simple à mon avis.
  • pour la pin 12, celle-ci est connectée directement sur une des résistances variables. Si souder sur la pin 12 est difficile, il est possible d'utiliser une des 2 pattes de la résistance variable, ou même la partie métallique de la résistance. J'ai trouvé que le plus simple est de souder sur l'autre face du PCB, et de relier la capa avec une rallonge. Voir les photos.

En utilisant des "rallonges", la soudure est plus facile, et cela permet de rabattre la capa pour qu'elle ne dépasse pas du gabarit.

Notes et références

Cochez cette case si vous considérez ce tutoriel terminé