Nous allons voir comment créer une alarme à détection de mouvement avec notifications push sur votre mobile pour moins de 5 €. Cet article s'adresse à des bricoleurs ayant des notions de base en informatique.

Partie 1
Partie 1 sur 4:
Réunir le matériel

  1. Image intitulée ScreenHunter_1925 May. 30 14.22
    1
    Allez sur Aliexpress.
    Publicité

Partie 3
Partie 3 sur 4:
Utiliser IFTTT

Cela va vous servir à recevoir la requête http envoyée par le NodeMCU.

  1. 1
    Créez-vous un compte sur IFTTT.
  2. 2
  3. 3
    Notez votre MakerIFTTT_Key (tous les caractères après /use/).
  4. 4
  5. 5
    Cliquez sur This.
  6. 6
    Recherchez le service webhooks.
  7. 7
    Cliquez sur Receive a web request.
  8. 8
    Nommez votre applet alarme.
  9. 9
    Cliquez sur That.
  10. 10
    Recherchez le service Gmail.
  11. 11
    Sélectionnez Send yourself an email.
  12. 12
    Renseignez les champs suivants (en respectant les valeurs). Enregistrez votre applet.
    Publicité

Partie 4
Partie 4 sur 4:
Installer Arduino IDE

  1. 1
    Téléchargez, installez et lancez Arduino IDE.
  2. 2
    Allez dans Menu - Fichier - préférences. Collez http://arduino.esp8266.com/stable/package_esp8266com_index.json dans le champ URL de gestionnaire.
  3. 3
    Allez dans le menu Outils - Type de carte - Gestionnaire de carte. Filtrez sur ESP, choisissez ESP8266 puis installez.
  4. 4
    Allez dans le menu Outils - Type de carte .Choisissez NodeMCU 1.0 puis choisissez le port (branchez et débranchez le NodeMCU pour voir le port).
  5. 5
    Créez un nouveau script (Fichier / Nouveau).
  6. 6
    Collez le code suivant :
    #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("<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);
          }
    }
    
  7. 7
    Remplacez les valeurs suivantes :
    • "Nom de votre réseau wifi"
    • "Mot de passe"
    • "Votre MakerIFTTT_Key".
  8. 8
    Téléversez le code vers le NodeMCU.
  9. 9
    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.
    Publicité

À propos de ce wikiHow

wikiHow est un wiki, ce qui veut dire que de nombreux articles sont rédigés par plusieurs auteurs(es). Pour créer cet article, des auteur.e.s volontaires ont participé à l'édition et à l'amélioration. Cet article a été consulté 2 868 fois.
Catégories: Sécurité personnelle
Publicité