Page 1 sur 1
Cartes a relais wifi
Posté : 05 sept. 2025, 17:34
par likiki
Petit sujet sur les cartes a relais Wifi.
Il existe plusieurs modèles de ces cartes.
1 relai, 2 relais, 4 relais, 8 relais et même 16 relais.
J'ai acquis une carte 4 relais en me disant "je vas tester ça".
Car dans notre hobbies, cela pourrait s'avérer très utile.
.
Carte 4 avec relais Wifi.jpg
.
Croyez moi si je vous dit que même sur le net, trouver des infos est une galère sans nom.
Pour commencer il faut savoir qu'il faut créer la liaison entre la logique (le wemos intégré) et les relais.
.
Carte avec 4 relais Wifi 2.jpg
.
Il faut donc faire les liaisons entre ces bornes (traits jaune).
Ensuite il faut s'intéresser a ces bornes, en bas cadre rouge, car c'est là que se passe la liaison qui permettra, via votre PC, de programmer le Wemos Wifi pour que cette carte vous obéisse au doigt et a l'œil.
.
Carte avec 4 relais Wifi 3.jpg
.

Re: Cartes a relais wifi
Posté : 05 sept. 2025, 17:38
par herwat
Toujours pareil, des cartes paraissent intéressantes, mais pour les faire fonctionner, galère .

Re: Cartes a relais wifi
Posté : 05 sept. 2025, 17:48
par likiki
Oui, mais une fois que tu as le truc, c'est cool.
Re: Cartes a relais wifi
Posté : 05 sept. 2025, 18:08
par likiki
Les fameuses bornes qui nous intéresses sont répartit comme suis de gauche a droite :
GND - GND - IO0 - RX - TX - 5v (Attention, ont doit alimenter en 5V, ce n'est pas la carte qui fournis le 5v).
Il faut donc brancher cela comme suit :
Un interrupteur entre un GND et IO0. Inter ouvert la carte est en mode fonctionnement, inter fermé, la carte est en mode programmation.
GND au GND de l'interface
TX a RX de l'interface
RX a TX de l'interface
5V au 5v de l'interface
Mais qu'est-ce que l'interface ?
C'est un NODE MCU
.
Cablage carte relais wifi 2.png
.
Même là, pour savoir a quoi corresponde les bornes ....
D'où mon mémo sur les photos.
.
Photo 2.jpg
.

Re: Cartes a relais wifi
Posté : 05 sept. 2025, 18:18
par ramasoft
Moi, j'en reste au filaire pour des petites distances. Un bon vieux câble réseau.
Le Wifi est parfois capricieux.
Re: Cartes a relais wifi
Posté : 05 sept. 2025, 18:22
par likiki
Cela n'a de Wifi que le nom car ont fabrique un réseau privé qui n'utilise pas la box ni internet.
Tout le S88 de mon réseau est en Wifi, zéro soucis. Il faut dire aussi que les distances sont réduite aussi. Je n'ai pas 200 m entre les émetteurs et le récepteur.

Re: Cartes a relais wifi
Posté : 06 sept. 2025, 08:37
par likiki
La première étape à consistée a faire coller et décoller les relais les uns après les autres.
Là je ne parle pas du Wifi.
Ceci m'a permis de comprendre comment programmer la chose.
.
IMG_9752.MOV
.
Prochaine étape, faire cela avec le Wifi.

Re: Cartes a relais wifi
Posté : 06 sept. 2025, 09:24
par likiki
Test ce matin du wifi.
1) un Wemos envois des ordres aléatoire entre 1 et 6.
2) la carte relais les reçois et exécute le collage du relai correspondant pendant 1 seconde.
Ordre 1 = relais 1, 2 relais 2 ..... 5 relais 1 & 3 et pour finir ordre 6 relais 2 & 4.
.
IMG_9756.MOV
.
Voilà, je suis fin prêt pour incorporer ces cartes sur le réseau.
Cela vas se traduire comme suis :
1 relai pour le plateau, 1 relais pour chacun des niveaux de droite et 1 pour chacun des niveaux de gauche, 1 relai pour la voie de droite niveau réseau et 1 pour la voie de gauche niveau réseau.
Au total 13 relais soit 2 cartes de 8 relais. Une carte a droite et une a gauche.
Il restera 3 relais de libre pour de futurs utilisations.

Re: Cartes a relais wifi
Posté : 06 sept. 2025, 09:40
par bunny94
Tu prépares ta guirlande pour le sapin de Noël Christian, les miennes ont plus de Led et clignotent plus vite.
Bon je déconne
>

Re: Cartes a relais wifi
Posté : 06 sept. 2025, 10:17
par ramasoft
L'antenne wifi est réduite à sa plus simple expression, la portée risque d'être limitée.
Re: Cartes a relais wifi
Posté : 06 sept. 2025, 10:51
par likiki
La portée est bien suffisante. J'avais mis l'émetteur au rez de chaussé et la carte relais au 1èr et cela fonctionnait nickel.
Re: Cartes a relais wifi
Posté : 06 sept. 2025, 10:53
par likiki
Voici le programme de l'essais n°1. Allumer / éteindre les relais tour a tour.
Code : Tout sélectionner
/*
C.ARFEL
Programme du 02/06/25
Permet de commander les relais sur une carte a relais wifi
Le wifi n'est pas utilisé
Changement de l'état des relais toute les une seconde
Choisir la carte ESP 8266 => NodeMCU 1.0(ESP-12E Module)
- USB vers le haut
- GND - X - X - RX
- TX - X - X - 3V3
Sur la carte Relais interupteur entre GND et IO0 pour pouvoir être en mode programmation
Sur la ralonge USB COM 16
Adresse carte Relais => ec:64:c9:c0:4b:71
sur la carte, LED des relais allumé = relai alimenté
*/
const byte Relais1 = D0;
const byte Relais2 = D5;
const byte Relais3 = D6;
const byte Relais4 = D7;
void setup() {
Serial.begin(115200);
delay(500); // attente disponibilité serial
pinMode(LED_BUILTIN, OUTPUT); // Initialise la LED_BUILTIN en sortie
pinMode(Relais1, OUTPUT); // Initialise le relais 1
pinMode(Relais2, OUTPUT); // Initialise le relais 2
pinMode(Relais3, OUTPUT); // Initialise le relais 3
pinMode(Relais4, OUTPUT); // Initialise le relais 4
}
void loop() {
Serial.println("Collage relais 1");
digitalWrite(Relais1, HIGH); // active le relais 1
delay(1000);
Serial.println("Decollage relais 4");
digitalWrite(Relais4, LOW); // désactive le relais 4
delay(1000);
Serial.println("Collage relais 2");
digitalWrite(Relais2, HIGH); // active le relais 2
delay(1000);
Serial.println("Decollage relais 1");
digitalWrite(Relais1, LOW); // désactive le relais 1
delay(1000);
Serial.println("Collage relais 3");
digitalWrite(Relais3, HIGH); // active le relais 3
delay(1000);
Serial.println("Decollage relais 2");
digitalWrite(Relais2, LOW); // désactive le relais 2
delay(1000);
Serial.println("Collage relais 4");
digitalWrite(Relais4, HIGH); // active le relais 4
delay(1000);
Serial.println("Decollage relais 3");
digitalWrite(Relais3, LOW); // désactive le relais 3
delay(1000);
Serial.println("Fin du LOOP, retour au debut");
}
Re: Cartes a relais wifi
Posté : 06 sept. 2025, 11:09
par likiki
Voici le programme utilisant le Wifi.
Code : Tout sélectionner
/*
C.ARFEL
Programme du 05/09/25
Permet de commander les relais sur une carte a relais wifi
Le wifi est utilisé
**************** La bonne programmation 16 pour GPIO16 et ainsi de suite.
Choisir la carte ESP 8266 => NodeMCU 1.0(ESP-12E Module)
- USB vers le haut
- GND - X - X - RX
- TX - X - X - 3V3
Sur la carte Relais interupteur entre GND et IO0 pour pouvoir être en mode programmation
Sur la ralonge USB COM 16
Adresse carte Relais => ec:64:c9:c0:4b:71
Adresse de la carte emetrice => 0x24, 0xD7, 0xEB, 0xEF, 0x13, 0xDD <= bonne façon d'écrire l'adresse dans le programme
Sur la carte, LED des relais allumé = relai alimenté
**************** La bonne programmation 16 pour GPIO16 et ainsi de suite.
#define Relais1 16
#define Relais2 14
#define Relais3 12
#define Relais4 13
// sur la carte, LED des relais allumé, relai alimenté
*/
#include <espnow.h>//https://github.com/esp8266/Arduino/blob/master/tools/sdk/include/espnow.h
#include <ESP8266WiFi.h>
int Ordre ;
int Controle = 10 ;
const byte Relais1 = D0;
const byte Relais2 = D5;
const byte Relais3 = D6;
const byte Relais4 = D7;
const char nom[10]="Recepteur"; //ou maitre
uint8_t broadcastAddress[] = {0x24, 0xD7, 0xEB, 0xEF, 0x13, 0xDD}; // mettre ici l'adresse MAC de la seconde carte (émétrice)
// Exemple de structure d'envois et de reception.
typedef struct struct_message {
char b[20];
int a;
}
struct_message;
struct_message dataSent;
struct_message dataRcv;
unsigned long previousTime=0;
// Boucle pour l'émission des messages
void OnDataSent(uint8_t *mac_addr, uint8_t status) {
}
// Boucle pour la reception des messages
void OnDataRecv(uint8_t * mac, uint8_t *incomingData, uint8_t len) {
memcpy(&dataRcv, incomingData, sizeof(dataRcv));
Ordre = dataRcv.a ;
}
void setup() {
Serial.begin(115200);
delay(500); // attente disponibilité serial
pinMode(LED_BUILTIN, OUTPUT); // Initialize la LED_BUILTIN en sortie
pinMode(Relais1, OUTPUT); // Initialise le relais 1
pinMode(Relais2, OUTPUT); // Initialise le relais 2
pinMode(Relais3, OUTPUT); // Initialise le relais 3
pinMode(Relais4, OUTPUT); // Initialise le relais 4
// Définir l'appareil en tant que station Wi-Fi
WiFi.mode(WIFI_STA);
// Init ESP-NOW
if (esp_now_init() != 0) {
// Serial.println(F("La carte emetrice n'est pas en ligne."));
return;
}
// Serial.print(F("Reception initialisée : "));
// Serial.println(WiFi.macAddress());
// Définir les fonctions de rappel
esp_now_set_self_role(ESP_NOW_ROLE_SLAVE);
esp_now_register_send_cb(OnDataSent);
esp_now_register_recv_cb(OnDataRecv);
// Register peer
esp_now_add_peer(broadcastAddress, ESP_NOW_ROLE_CONTROLLER, 1, NULL, 0);
}
void loop() {
while (Ordre != Controle){
if (dataRcv.a == 1) {
Serial.println("Collage relais 1");
digitalWrite(Relais1, HIGH); // active le relais 1
delay(1000); // Attend 1 seconde
Serial.println("Decollage relais 1");
digitalWrite(Relais1, LOW); // désactive le relais 1
delay(1000);
}
if (dataRcv.a == 2) {
Serial.println("Collage relais 2");
digitalWrite(Relais2, HIGH); // active le relais 2
delay(1000); // Attend 1 seconde
Serial.println("Decollage relais 1");
digitalWrite(Relais2, LOW); // désactive le relais 2
delay(1000);
}
if (dataRcv.a == 3) {
Serial.println("Collage relais 3");
digitalWrite(Relais3, HIGH); // active le relais 3
delay(1000); // Attend 1 seconde
Serial.println("Decollage relais 13");
digitalWrite(Relais3, LOW); // désactive le relais 13
delay(1000);
}
if (dataRcv.a == 4) {
Serial.println("Collage relais 4");
digitalWrite(Relais4, HIGH); // active le relais 4
delay(1000); // Attend 1 seconde
Serial.println("Decollage relais 1");
digitalWrite(Relais4, LOW); // désactive le relais 4
delay(1000);
}
if (dataRcv.a == 5) {
Serial.println("Collage des relais 1 et 3");
digitalWrite(Relais1, HIGH); // active le relais 1
digitalWrite(Relais3, HIGH); // active le relais 3
delay(1000); // Attend 1 seconde
Serial.println("Decollage des relais");
digitalWrite(Relais1, LOW); // désactive le relais 1
digitalWrite(Relais3, LOW); // désactive le relais 3
delay(1000);
}
if (dataRcv.a == 6) {
Serial.println("Collage des relais 2 et 4");
digitalWrite(Relais2, HIGH); // active le relais 2
digitalWrite(Relais4, HIGH); // active le relais 4
delay(1000); // Attend 1 seconde
Serial.println("Decollage des relais");
digitalWrite(Relais2, LOW); // désactive le relais 2
digitalWrite(Relais4, LOW); // désactive le relais 4
delay(1000);
}
Controle = Ordre ;
} // Fin de la boucle While
if((millis() -previousTime)>1000){
// message à envoyer
strcpy(dataSent.b, "Ordre reçu."); // Envois vers l'émeteur un message que l'émeteur pourrait interpréter si besoin par programmation (facultatif)
dataSent.a = Ordre;
// encois du message via ESP-NOW
uint8_t result = esp_now_send(broadcastAddress, (uint8_t *) &dataSent, sizeof(dataSent));
// Serial.print("\r\n"+String(nom)+" dit :\t");
// Serial.println(result == 0 ? "Message envoyé avec succes" : "Erreur lors de l'envois des données");
// Serial.print("***********************");
delay(8000);
previousTime=millis();
}
}

Re: Cartes a relais wifi
Posté : 06 sept. 2025, 11:27
par likiki
ramasoft a écrit : 06 sept. 2025, 10:17
L'antenne wifi est réduite à sa plus simple expression, la portée risque d'être limitée.
Je viens de mettre l'émetteur dans le garage, donc plus loin et surtout plus de mur a traverser.
Cela fonctionne quand même.

Re: Cartes a relais wifi
Posté : 06 sept. 2025, 11:41
par C2Vues-BricoTrain
likiki a écrit : 06 sept. 2025, 11:27
Je viens de mettre l'émetteur dans le garage, donc plus loin et surtout plus de mur a traverser.
Cela fonctionne quand même.
En modélisme ferroviaire, c'est ce que l'on appelle :
"Les voies de garage".

Re: Cartes a relais wifi
Posté : 06 sept. 2025, 12:53
par herwat