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

De HATLAB
Ligne 86 : Ligne 86 :
 
{{Tuto Step
 
{{Tuto Step
 
|Step_Title=Collez le code suivant
 
|Step_Title=Collez le code suivant
|Step_Content="#include <ESP8266WiFi.h>"
+
|Step_Content=<nowiki>#include <ESP8266WiFi.h></nowiki>
 
WiFiClient client;
 
WiFiClient client;
 
String MakerIFTTT_Key ;
 
String MakerIFTTT_Key ;

Version du 8 juin 2018 à 15:23

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

No-image-yet.jpg


Liste des matériaux

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

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 cables à connecter entre le capteur et le NodeMcu

Etape n°2 - Utiliser IFTTT

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

Etape n°3 - Notez votre MakerIFTTT_Key

tous les caractères après /use/ disponible sur https://ifttt.com/services/maker_webhooks/settings

Etape n°4 - Créez une nouvelle applet

Etape n°5 - Cliquez sur This

Etape n°6 - Recherchez le service webhooks

Etape n°7 - Cliquez sur Receive a web request

Etape n°8 - Nommez votre applet alarme

Etape n°9 - Cliquez sur That

Etape n°10 - Recherchez le service Gmail

Etape n°11 - Sélectionnez Send yourself an email

Etape n°12 - Renseignez 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 - Collez le code suivant

La valeur fournie « #include <ESP8266WiFi.h>

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("Nom de votre réseau wifi","Mot de passe");
 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 ="Votre MakerIFTTT_Key";
       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);
     }
} » contient des marqueurs de bande et ne peut donc pas être suffisamment analysée.

Etape n°15 - Remplacez les valeurs suivantes

  • Nom de votre réseau wifi
  • Mot de passe
  • Votre MakerIFTTT_Key

Etape n°16 - Téléversez le code vers le NodeMCU

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.

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 vous en servir pour activer automatiquement le wifi sur votre mobile quand vous arrivez chez vous.

Notes et références

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