Entraide pour un projet d'alarme

Bonjour La communauté Arduino ! Bonjour le Forum !!

Je viens a vous car j’ai une idée que je voudrai bien mener à bien mais hélas je n’ai pas les connaissances suffisante pour la mettre en oeuvre… Et pour tout vous admettre je suis fan de ESPeasy perso qui me conviens à chaque fois !

Mais j’aurai envie d’essayer de créer un petit programme sur l’IDE Arduino et sans votre aide ce projet ne verra pas le jour… :sob:

Voilà donc vous l’aurez compris j’ai peu de connaissance avec la programmation mais je suis motiver a m’investir !!
D’ailleurs sur ce post j’ajouterai les processus que j’ai imaginer et qui sera surement discutable et améliorable mais vous aurez au moins
une idée de ou je veux aller…

Bon… le projet !
En quelques mots… une interface qui permets de gérer des alarmes :slight_smile:

En plus détailée… en fonction du type de carte (Nodemcu, arduino UNO ou MEGA) j’aurai voulu que…

Et le mode serai assez simple

  1. Connexion en AP Mode puis Configuration par l’utilisateur de son propre SSID pour rapatrié la nodemcu sur son wifi
    (donc accès via page HTML) pour le nodemcu

ou direct si carte de type UNO/MEGA avec shield ethernet

  1. Page accueil (HTML) se composerai de :

Header
• un Titre
• une image
• une fonction alerte
• une barre de navigation
Body
• une table qui contiendrai tous ce qui a en dessous (Ajout d’une ligne pour chaque entrée/sortie utilisée)
• un input text / pour le titre de l’alarme
• un bouton de test / On - Off
• un dropdown button / pour le choix du GPIO
• un dropdown button / pour si la sortie doit être à LOW ou HIGH
• un checkbox / Alarme active ?
• une image lien / Rédirection sur une page de configuration de l’alarme (timer dérgoation d’alarme par exemple, seuil avertissement/Alarme)

  1. Une page HTML pour la configuration de l’adresse email (smtp entrant/sortant, port etc…)

  2. il faudrait que les actions de ajout/suppression d’alarme modification timer soit exportable en csv.

C’est déjà pas mal pour un début…
Et le plus important : j’utilise la dernière version de l’IDE arduino sois la 1.8.13
et le code :

Ps. Merci d’avance à ceux qui prendrons de leurs temps pour moi !!

Test_alarming_v2.ino (17.5 KB)

Bonjour tous le monde !!

Alors j’ai un peu bosser, pour que vous puissiez mieux cerner ce qui y a dans ma petite tête j’ai créer quelques schémas !

• Schéma de principe électrique (Page 5)
• Processus de 1ère connexion et fonctionnement interface HTML (Page 1)
• Processus Création d’alarme (Page 2)
• Processus Suppression d’alarme (Page 3)
• Processus Configuration d’alarme (Page 4)
• Processus Gestion des alarmes (Page 6)

Prochaine étape pour les prochains jours : Bootstap ou layoutit pour l’interface HTML !!

Après je reprendrai depuis le début le code arduino et c’est à ce moment que j’aurai le plus besoin de vous le forum !! :grin:

A très bientôt !!

Alarm.pdf (1.63 MB)

Bonjour Tous !

Alors voilà j’ai réalisé une petite interface un peu brut à l’aide de Bootstrap (ceux qui savent le HTML vont pleurer) mais je pense que pour ce rendre compte des besoins c’est top. (1ere page acceuil ap mode.html)

Bon maintenant pour essayer un peu de comprendre (et pour les autres dans mon cas) je vais reprendre le programme depuis le début et j’espère que vous pourrez m’aider dans les prochaines étapes !

Si vous avez lu ma pièce joint précédente ((alarme.pdf) qui va évoluer en vue de l’interface)et si vous l’avez pas lu ben voici un petit résumé de ce que je voudrai mettre en place pour mon système d’alarme :

Une nodeMCU / qui travaillerai sur Wifi et stockerai des données sur ca mémoire
arduino UNO ou MEGA / qui travaillerai sur réseau Ethernet et stockerai les données sur une micro SD (Shield Ethernet) puis pour pimenter le toute avec shield sim900 pour des SMS sans oublier les E-mail

Pour compliquer le truc j’aimerai que les libraires sois activer/désactivée si après le choix de type de carte.

Donc si je ne me trompe pas je dois commencer par créer 3 variables pour les type de carte et inclure les libraires qui vont être utile à tout ça (corriger moi tout de suite si c’est pas le cas).

Par contre je commencerai le code arduino demain ! Passé une bonne soirée !!

Project Alarming.zip (1.11 MB)

L’idée pour le moment est juste d’inclure le librairie sans les conditions… après je sais pas si j’ai besoins de tout ça ??

// --- Wifi Client Mode --- [iurl=https://github.com/esp8266/Arduino]https://github.com/esp8266/Arduino[/iurl]
#include <ESP8266WiFi.h> //
 
// --- Wifi AP Mode --- [iurl=https://github.com/esp8266/Arduino]https://github.com/esp8266/Arduino[/iurl]
#include <ESP8266WebServer.h>
 
// --- Ethernet Shield --- [iurl=https://www.arduino.cc/en/Reference/Ethernet]https://www.arduino.cc/en/Reference/Ethernet[/iurl]
#include <SPI.h>
#include <Ethernet.h>
 
// --- E-mail --- [iurl=https://github.com/xreef/EMailSender]https://github.com/xreef/EMailSender[/iurl]
 
// --- GSM Shield --- [iurl=https://www.arduino.cc/en/Reference/GSM]https://www.arduino.cc/en/Reference/GSM[/iurl]
#include <GSM.h>
 
// --- Stockage donnée NodeMCU --- [iurl=https://github.com/me-no-dev/ESPAsyncWebServer]https://github.com/me-no-dev/ESPAsyncWebServer[/iurl] & [iurl=https://github.com/me-no-dev/ESPAsyncTCP]https://github.com/me-no-dev/ESPAsyncTCP[/iurl]
#include <ESPAsyncWebServer.h> //
#include <ESPAsyncTCP.h> //

J'ai un peu de mal à saisir ton objectif. S'il s'agit de relever à distance la température de ton frigo et l'état de ta chaudière, je trouve que tu te compliques bien la vie. Si tu veux créer un produit, le diffuser, et que tes utilisateurs puissent le programmer pour répondre à des tas de besoins différents, eh bien je crois que tu devrais prendre un peu de recul, faire une étude de marché même succinte, et rédiger un bon cahier des charges. Tu veux que je te donne un truc ? Le meilleur des cahiers des charges, c'est la notice d'utilisation du produit. Alors ferme ton IDE arduino, mets toi sur Word, et rédige la notice d'utilisation de ton produit. :slight_smile:

Non... je veux envoyer une tension de 5V sur les contacts libre de potentiel qui servent généralement pour des alarmes sur différente installations genre frigos, chaudières, ventilations etc...
et des que une entrée/sortie d'un arduino ou nodemcu est alimenté ou pas, cela dépend si du contact sur l'installation si il est NO ou NC, il y a alarme.
Et en cas d'alarme ça envoi une notifications SMS ou email.
En cas de maintenance sur cette installations j'aimerai pourvoir mettre une dérogation pour éviter les notifications.
Et j'aimerai aussi bien pouvoir tester le contact manuellement
Et j'aimerai bien créer un fichier log de toutes ces alarmes et de toutes les actions (dérogation)qui ce font sur ce système.
Et mon idée générale est d'essayer de remplacer des relais SMS COMAT 2G qui sont obsélète (et pas beaucoup d'entrée) et les nouveaux coûte 500€

Bon premier soucis… error: expected unqualified-id before ‘if’

// --- Variable pour le type de carte
boolean CarteArduinoUno = false;
boolean CarteArduinoMega = false;
boolean CarteNodemcu = true;

// Libraire à inclure en cas d'utilisation d'une nodeMCU
if (CarteNodemcu == true){
// --- Wifi Client Mode --- https://github.com/esp8266/Arduino
#include <ESP8266WiFi.h> 
// --- Wifi AP Mode --- = https://github.com/esp8266/Arduino]
#include <ESP8266WebServer.h>
// --- Stockage donnée NodeMCU --- https://github.com/me-no-dev/ESPAsyncWebServer & https://github.com/me-no-dev/ESPAsyncTCP
#include <ESPAsyncWebServer.h> 
#include <ESPAsyncTCP.h> 
// Déclaration des pin utilisé par la nodemcu (1 pin = 1 alarme)
uint8_t ENT1_Pin = D0; //GPIO16
uint8_t ENT2_Pin = D1; //GPIO5
uint8_t ENT3_Pin = D2; //GPIO4
uint8_t ENT4_Pin = D3; //GPIO0
uint8_t ENT5_Pin = D4; //GPIO2
uint8_t ENT6_Pin = D5; //GPIO14
uint8_t ENT7_Pin = D6; //GPIO12
uint8_t ENT8_Pin = D7; //GPIO13
uint8_t ENT9_Pin = D8; //GPIO15
}

// Libraire à inclure en cas d'utilisation d'une carte arduino UNO ou MEGA
if (CarteArduinoUno or CarteArduinoMega == true)
{
// --- Ethernet Shield --- https://www.arduino.cc/en/Reference/Ethernet
#include <SPI.h>
#include <Ethernet.h>
 
// --- E-mail --- https://github.com/xreef/EMailSender
#include <EMailSender.h>
 
// --- GSM Shield --- https://www.arduino.cc/en/Reference/GSM
#include <GSM.h>
}

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Ca ne marcha pas comme ça les include !
le compilateur a besoin des includes pour comprendre le code que tu écris.
il en a besoin au moment de la phase de compilation du programme.
Au moment de la compilation, le compilateur se fout pas mal de la valeur des variables CarteArduinoUno, etc…
Il compile toutes les lignes de code.
par exemple:

bool CarteMachin = false;
if ( CarteMachin ) {
#include "truc.h"
}

les lignes entre {} seront quand-même compilées.
De plus, le code inclus de truc.h va se trouver entre les {}, ce qui va générer d’autres erreurs
Si tu veux faire de la compilation conditionnelle, il fait faire comme ça :

#define CARTE_MACHIN

#ifdef CARTE_MACHIN
  #include "truc.h"
#endif

Si tu mets la 1ere ligne en commentaire (ou que tu l’enlèves), truc.h ne sera pas inclus.

Ok d’accord alors si j’ai bien compris ca doit donner quelque chose comme ça …
Par contre j’ai pas mal d’autre erreur mais je vais d’abord essayer de comprendre pourquoi…

// --- Variable pour le type de carte
//#define CarteArduinoUno 
//#define CarteArduinoMega
#define CarteNodemcu 

// Libraire à inclure en cas d'utilisation d'une nodeMCU
#ifdef CarteNodemcu
// --- Wifi Client Mode --- https://github.com/esp8266/Arduino
#include <ESP8266WiFi.h> 
// --- Wifi AP Mode --- = https://github.com/esp8266/Arduino]
#include <ESP8266WebServer.h>
// --- Stockage donnée NodeMCU --- https://github.com/me-no-dev/ESPAsyncWebServer & https://github.com/me-no-dev/ESPAsyncTCP
#include <ESPAsyncWebServer.h> 
#include <ESPAsyncTCP.h> 
// Déclaration des pin utilisé par la nodemcu (1 pin = 1 alarme)
uint8_t ENT1_Pin = D0; //GPIO16
uint8_t ENT2_Pin = D1; //GPIO5
uint8_t ENT3_Pin = D2; //GPIO4
uint8_t ENT4_Pin = D3; //GPIO0
uint8_t ENT5_Pin = D4; //GPIO2
uint8_t ENT6_Pin = D5; //GPIO14
uint8_t ENT7_Pin = D6; //GPIO12
uint8_t ENT8_Pin = D7; //GPIO13
uint8_t ENT9_Pin = D8; //GPIO15
#endif
// Libraire à inclure en cas d'utilisation d'une carte arduino UNO ou MEGA
#ifdef CarteArduinoUno or CarteArduinoMega 

// --- Ethernet Shield --- https://www.arduino.cc/en/Reference/Ethernet
#include <SPI.h>
#include <Ethernet.h>
 
// --- E-mail --- https://github.com/xreef/EMailSender
#include <EMailSender.h>
 
// --- GSM Shield --- https://www.arduino.cc/en/Reference/GSM
#include <GSM.h>

#endif
//Si carte ArduinoUno utilisé Déclaration des pin utilisé par la carte ArduinoUNO (1 pin = 1 alarme)
#ifdef CarteArduinoUno
uint8_t ENT1_Pin = D0; //GPIO0
uint8_t ENT2_Pin = D1; //GPIO1
uint8_t ENT3_Pin = D2; //GPIO2
uint8_t ENT4_Pin = D3; //GPIO3
uint8_t ENT5_Pin = D4; //GPIO4
uint8_t ENT6_Pin = D5; //GPIO5
uint8_t ENT7_Pin = D6; //GPIO6
uint8_t ENT8_Pin = D7; //GPIO7
uint8_t ENT9_Pin = D8; //GPIO8
uint8_t ENT10_Pin = D9; //GPIO9
uint8_t ENT11_Pin = D10; //GPIO10
uint8_t ENT12_Pin = D11; //GPIO11
uint8_t ENT13_Pin = D12; //GPIO12
uint8_t ENT14_Pin = D13; //GPIO13
#endif
//Si carte ArduinoUno utilisé Déclaration des pin utilisé par la carte ArduinoMEGA (1 pin = 1 alarme)
#ifdef CarteArduinoMega 
uint8_t ENT1_Pin = D0; //GPIO0
uint8_t ENT2_Pin = D1; //GPIO1
uint8_t ENT3_Pin = D2; //GPIO2
uint8_t ENT4_Pin = D3; //GPIO3
uint8_t ENT5_Pin = D4; //GPIO4
uint8_t ENT6_Pin = D5; //GPIO5
uint8_t ENT7_Pin = D6; //GPIO6
uint8_t ENT8_Pin = D7; //GPIO7
uint8_t ENT9_Pin = D8; //GPIO8
uint8_t ENT10_Pin = D9; //GPIO9
uint8_t ENT11_Pin = D10; //GPIO10
uint8_t ENT12_Pin = D11; //GPIO11
uint8_t ENT13_Pin = D12; //GPIO12
uint8_t ENT14_Pin = D13; //GPIO13
uint8_t ENT15_Pin = D14; //GPIO14
uint8_t ENT16_Pin = D15; //GPIO15
uint8_t ENT17_Pin = D16; //GPIO16
uint8_t ENT18_Pin = D17; //GPIO17
uint8_t ENT19_Pin = D18; //GPIO18
uint8_t ENT20_Pin = D19; //GPIO19
uint8_t ENT21_Pin = D20; //GPIO20
uint8_t ENT22_Pin = D21; //GPIO21
uint8_t ENT23_Pin = D22; //GPIO22
uint8_t ENT24_Pin = D23; //GPIO23
uint8_t ENT25_Pin = D24; //GPIO24
uint8_t ENT26_Pin = D25; //GPIO25
uint8_t ENT27_Pin = D26; //GPIO26
uint8_t ENT28_Pin = D27; //GPIO27
uint8_t ENT29_Pin = D28; //GPIO28
uint8_t ENT30_Pin = D29; //GPIO29
uint8_t ENT31_Pin = D30; //GPIO30
uint8_t ENT32_Pin = D31; //GPIO31
uint8_t ENT33_Pin = D32; //GPIO32
uint8_t ENT34_Pin = D33; //GPIO33
uint8_t ENT35_Pin = D34; //GPIO34
uint8_t ENT36_Pin = D35; //GPIO35
uint8_t ENT37_Pin = D36; //GPIO36
uint8_t ENT38_Pin = D37; //GPIO37
uint8_t ENT39_Pin = D38; //GPIO38
uint8_t ENT40_Pin = D39; //GPIO39
uint8_t ENT41_Pin = D40; //GPIO40
uint8_t ENT42_Pin = D41; //GPIO41
uint8_t ENT43_Pin = D42; //GPIO42
uint8_t ENT44_Pin = D43; //GPIO43
uint8_t ENT45_Pin = D44; //GPIO44
uint8_t ENT46_Pin = D45; //GPIO45
uint8_t ENT47_Pin = D46; //GPIO46
uint8_t ENT48_Pin = D47; //GPIO47
uint8_t ENT49_Pin = D48; //GPIO48
uint8_t ENT50_Pin = D49; //GPIO49
#endif

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

biggil:
les lignes entre {} seront quand-même compilées.
De plus, le code inclus de truc.h va se trouver entre les {}, ce qui va générer d'autres erreurs
Si tu veux faire de la compilation conditionnelle, il fait faire comme ça :

#define CARTE_MACHIN

#ifdef CARTE_MACHIN
 #include "truc.h"
#endif



Si tu mets la 1ere ligne en commentaire (ou que tu l'enlèves), truc.h ne sera pas inclus.

Est ce que dans la partie setup celà fonctionne de la même manière ? Est ce que je peux conditionner de la même manière la configuration de mes pin et de leur état ? du genre

void setup() {
  Serial.begin(115200);
#ifdef CARTE1
  // configuration des entrées comme entrées - Carte 1
  pinMode(output16, OUTPUT);
  pinMode(output5, OUTPUT);
  // Mise à l'état 0 des entrées - Carte 1
  digitalWrite(output16, LOW);
  digitalWrite(output5, LOW);
#endif

Oui.
Ces directives de compilation ne font que du "traitement de texte" (insérer - ou pas - des lignes de code)

Par contre

#ifdef CAS1 or CAS2

Ca va pas marcher, c'est pas la bonne syntaxe.

Envoies "compilation conditionnelle" sur g**gle par trouver la, bonne syntaxe (je me rappelle plus)

Il faut utiliser#ifdef CAS1 || CAS2

Par contre, il faut être très méthodique car ça peut vite devenir une usine à gaz difficile à maintenir. Bien commenter. Quand il y a des #if imbriqués il est préférable de mettre un commentaire sur le #endif pour bien voir à quel #if il est associé

Merci beaucoup pour toute ces précisions ! J’ai de la peine a comprendre pourquoi la D11 (carte arduino MEGA) mets cette erreur alors que toutes les autres pin ont passé avant ??
error: ‘D11’ was not declared in this scope

// --- Variable pour le type de carte
#define CarteArduinoUno 
#define CarteArduinoMega
#define CarteNodemcu 


// Libraire à inclure en cas d'utilisation d'une nodeMCU
#ifdef CarteNodemcu
// --- Wifi Client Mode --- https://github.com/esp8266/Arduino
#include <ESP8266WiFi.h> 
// --- Wifi AP Mode --- = https://github.com/esp8266/Arduino]
#include <ESP8266WebServer.h>
// --- Stockage donnée NodeMCU --- https://github.com/me-no-dev/ESPAsyncWebServer & https://github.com/me-no-dev/ESPAsyncTCP

// Configuration du SSID et mots de passe
const char* ssid = "AlarmingSystem_v1";  // Enter SSID here
const char* password = "H2G2-42";  //Enter Password here

/* Put IP Address details */
IPAddress local_ip(192,168,4,1);
IPAddress gateway(192,168,4,1);
IPAddress subnet(255,255,255,0);

//ESP8266WebServer server(80);

WiFiServer server(80);

// Variable pour stocker les requêt HTTP
String header;


#include <ESPAsyncWebServer.h> 
#include <ESPAsyncTCP.h> 
// Déclaration des pin utilisé par la nodemcu (1 pin = 1 alarme)
uint8_t ENTA1_Pin = D0; //GPIO16
uint8_t ENTA2_Pin = D1; //GPIO5
uint8_t ENTA3_Pin = D2; //GPIO4
uint8_t ENTA4_Pin = D3; //GPIO0
uint8_t ENTA5_Pin = D4; //GPIO2
uint8_t ENTA6_Pin = D5; //GPIO14
uint8_t ENTA7_Pin = D6; //GPIO12
uint8_t ENTA8_Pin = D7; //GPIO13
uint8_t ENTA9_Pin = D8; //GPIO15
#endif
// Libraire à inclure en cas d'utilisation d'une carte arduino UNO ou MEGA

#ifdef CarteArduinoUno || CarteArduinoMega 

// --- Ethernet Shield --- https://www.arduino.cc/en/Reference/Ethernet
#include <SPI.h>
#include <Ethernet.h>
 
// --- E-mail --- https://github.com/xreef/EMailSender
#include <EMailSender.h>
 
// --- GSM Shield --- https://www.arduino.cc/en/Reference/GSM
#include <GSM.h>

#endif
//Si carte ArduinoUno utilisé Déclaration des pin utilisé par la carte ArduinoUNO (1 pin = 1 alarme)
#ifdef CarteArduinoUno
uint8_t ENTB1_Pin = D0; //GPIO0
uint8_t ENTB2_Pin = D1; //GPIO1
uint8_t ENTB3_Pin = D2; //GPIO2
uint8_t ENTB4_Pin = D3; //GPIO3
uint8_t ENTB5_Pin = D4; //GPIO4
uint8_t ENTB6_Pin = D5; //GPIO5
uint8_t ENTB7_Pin = D6; //GPIO6
uint8_t ENTB8_Pin = D7; //GPIO7
uint8_t ENTB9_Pin = D8; //GPIO8
uint8_t ENTB10_Pin = D9; //GPIO9
uint8_t ENTB11_Pin = D10; //GPIO10
uint8_t ENTB12_Pin = D11; //GPIO11
uint8_t ENTB13_Pin = D12; //GPIO12
uint8_t ENTB14_Pin = D13; //GPIO13
#endif
//Si carte ArduinoUno utilisé Déclaration des pin utilisé par la carte ArduinoMEGA (1 pin = 1 alarme)
#ifdef CarteArduinoMega 
uint8_t ENTC1_Pin = D0; //GPIO0
uint8_t ENTC2_Pin = D1; //GPIO1
uint8_t ENTC3_Pin = D2; //GPIO2
uint8_t ENTC4_Pin = D3; //GPIO3
uint8_t ENTC5_Pin = D4; //GPIO4
uint8_t ENTC6_Pin = D5; //GPIO5
uint8_t ENTC7_Pin = D6; //GPIO6
uint8_t ENTC8_Pin = D7; //GPIO7
uint8_t ENTC9_Pin = D8; //GPIO8
uint8_t ENTC10_Pin = D9; //GPIO9
uint8_t ENTC11_Pin = D10; //GPIO10
uint8_t ENTC12_Pin = D11; //GPIO11
uint8_t ENTC13_Pin = D12; //GPIO12
uint8_t ENTC14_Pin = D13; //GPIO13
uint8_t ENTC15_Pin = D14; //GPIO14
uint8_t ENTC16_Pin = D15; //GPIO15
uint8_t ENTC17_Pin = D16; //GPIO16
uint8_t ENTC18_Pin = D17; //GPIO17
uint8_t ENTC19_Pin = D18; //GPIO18
uint8_t ENTC20_Pin = D19; //GPIO19
uint8_t ENTC21_Pin = D20; //GPIO20
uint8_t ENTC22_Pin = D21; //GPIO21
uint8_t ENTC23_Pin = D22; //GPIO22
uint8_t ENTC24_Pin = D23; //GPIO23
uint8_t ENTC25_Pin = D24; //GPIO24
uint8_t ENTC26_Pin = D25; //GPIO25
uint8_t ENTC27_Pin = D26; //GPIO26
uint8_t ENTC28_Pin = D27; //GPIO27
uint8_t ENTC29_Pin = D28; //GPIO28
uint8_t ENTC30_Pin = D29; //GPIO29
uint8_t ENTC31_Pin = D30; //GPIO30
uint8_t ENTC32_Pin = D31; //GPIO31
uint8_t ENTC33_Pin = D32; //GPIO32
uint8_t ENTC34_Pin = D33; //GPIO33
uint8_t ENTC35_Pin = D34; //GPIO34
uint8_t ENTC36_Pin = D35; //GPIO35
uint8_t ENTC37_Pin = D36; //GPIO36
uint8_t ENTC38_Pin = D37; //GPIO37
uint8_t ENTC39_Pin = D38; //GPIO38
uint8_t ENTC40_Pin = D39; //GPIO39
uint8_t ENTC41_Pin = D40; //GPIO40
uint8_t ENTC42_Pin = D41; //GPIO41
uint8_t ENTC43_Pin = D42; //GPIO42
uint8_t ENTC44_Pin = D43; //GPIO43
uint8_t ENTC45_Pin = D44; //GPIO44
uint8_t ENTC46_Pin = D45; //GPIO45
uint8_t ENTC47_Pin = D46; //GPIO46
uint8_t ENTC48_Pin = D47; //GPIO47
uint8_t ENTC49_Pin = D48; //GPIO48
uint8_t ENTC50_Pin = D49; //GPIO49
#endif

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Bon j’arrêt pour ce soir :o fatigué et je trouve pas la solution…
Je laisse mon code pour ceux que ça intéresse

Une bonne soirée !

Test_alarming_v4.ino (9.82 KB)

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.