Comment créer une alarme avec notification sur mobile : Différence entre versions
Ligne 89 : | Ligne 89 : | ||
#include <ESP8266WiFi.h> | #include <ESP8266WiFi.h> | ||
WiFiClient client; | WiFiClient client; | ||
+ | </nowiki> | ||
String MakerIFTTT_Key ; | String MakerIFTTT_Key ; | ||
;String MakerIFTTT_Event; | ;String MakerIFTTT_Event; | ||
Ligne 95 : | Ligne 96 : | ||
char post_rqst[256];char *p;char *content_length_here;char *json_start;int compi; | char post_rqst[256];char *p;char *content_length_here;char *json_start;int compi; | ||
int sensor = 13; // Pin D7 | int sensor = 13; // Pin D7 | ||
− | + | ||
void setup() { | void setup() { | ||
// connect to the wifi | // connect to the wifi |
Version du 8 juin 2018 à 15:15
Une Création de dans les catégories Maison. Dernière modification le 4/09/2023 par Sgiraud.
Nous allons voir comment créer une alarme à détection de mouvement avec notifications push sur votre mobile pour moins de 5 €
Sommaire
- 1 Etape n°1 -
- 2 Etape n°2 - Utiliser IFTTT
- 3 Etape n°3 - Notez votre MakerIFTTT_Key
- 4 Etape n°4 - Créez une nouvelle applet
- 5 Etape n°5 - Cliquez sur This
- 6 Etape n°6 - Recherchez le service webhooks
- 7 Etape n°7 - Cliquez sur Receive a web request
- 8 Etape n°8 - Nommez votre applet alarme
- 9 Etape n°9 - Cliquez sur That
- 10 Etape n°10 - Recherchez le service Gmail
- 11 Etape n°11 - Sélectionnez Send yourself an email
- 12 Etape n°12 - Renseignez les champs suivants
- 13 Etape n°13 - Installer Arduino IDE
- 14 Etape n°14 - Collez le code suivant
- 15 Etape n°15 - Remplacez les valeurs suivantes
- 16 Etape n°16 - Téléversez le code vers le NodeMCU
- 17 Notes et références
[[Fichier:{{{Main_Picture}}}|frameless|border]]
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°7 - Cliquez sur Receive a web request
Etape n°8 - Nommez votre applet alarme
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
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.