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=Téléchargez et chargez le code suivant
 
|Step_Content=https://www.sqylab.org/tutoriaux/arrosage-automatique-arduino/alarme_sqylab.ino
 
|Step_Content=https://www.sqylab.org/tutoriaux/arrosage-automatique-arduino/alarme_sqylab.ino
 
&#x23;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);
 
      }
 
}
 
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step

Version du 27 août 2018 à 16:21

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

Comment cr er une alarme avec notification sur mobile ScreenHunter 1950 Jun. 08 20.23.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 fils à 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

Ce sont les caractères après /use/ disponiblent 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 - Téléchargez et chargez le code suivant

https://www.sqylab.org/tutoriaux/arrosage-automatique-arduino/alarme_sqylab.ino

Etape n°15 - Remplacez les valeurs suivantes

  • 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 - 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é