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
.

:a_suivre:

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 . :3:

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. :lunette:

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 .... :3:
D'où mon mémo sur les photos. :siffle:

.
Photo 2.jpg
.


:a_suivre:

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. :siffle:

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.

:a_suivre:

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.

:a_suivre:

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 :hhhaaaa: :hhhaaaa:
>
:jesors:

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();
  }



}
:a_suivre:

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. :lunette:

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. :lunette:
En modélisme ferroviaire, c'est ce que l'on appelle :
"Les voies de garage". :mdr3:

:haaaa: :haaaa: :haaaa:

Re: Cartes a relais wifi

Posté : 06 sept. 2025, 12:53
par herwat
Intéressant, tout ça . :cooooool: :cooooool: :cooooool: :cooooool: