ESP8266 4 RELAY code?

Bonjour,
Je suis ultra-debutant.

Je souhaite pilote une carte ESP8266 avec 4 relais via l'application Blynk Iot.
J'avais trouvé un tuto avec l'ancienne application Blynk mais plus possible de créer de compte.

Sur le Blynk Iot, j'ai donc créer un template "Volets" (carle but est de piloter mes volets roulants filaires) avec 4 datastreams VirtualPin (V0 à V3).

J'arrive à insérer la petite carte via le support usb en mode boot dans mon ordi.

Je suis arrivé également à envoyer le programme en ayant modifier le TEMPLATE_ID et le DEVICE_NAME.

De ce fait j'arrive même ensuite à trouver l'ESP8266 via l'application mobile. Donc on va dire que je gère la partie matériel.

Maintenant il faut que je code pour relier mes 4 virtual pin aux 4 relais. Et là je suis perdu car sur le site du fabricant je ne trouve que ceci :
Commande de contrôle pour relais format format hexadécimal):
Relais ouvert 1: A0 01 01 A2
Fermer le relais 1: A0 01 00 A1
Relais ouvert 2: A0 02 01 A3
Fermer le relais 2 : A0 02 00 A2
Relais ouvert 3 : A0 03 01 A4
Fermer le relais 3: A0 03 00 A3
Relais ouvert 4: A0 04 01 A5
Fermer le relais 4: A0 04 00 A4

Je ne sais pas du tout comment exploiter cela.

Je pense que c'est facile pour ceux qui s'y connaissent un peu.

pouvez-vous m'aider??

Demande de déplacer ton poste, tu est dans réalisations et projets finis
Merci

OK c'est fait.

Personne?

Bonjour

Ce n'est pas du tout évident... pour ceux qui s'y connaissent un peu

D'une part parce que la carte ESP8266 à relais (un lien SVP!!) possède probablement un petit microcontrlleur 8 bits en plus de la puce ESP8266 et qu'au vu des commandes indiquées c'est peut être ce petit microcontrolleur qui traite les comandes les commandes A0 0X........

D'autre part il ya Blynk qui ne semble pas très utilisé par les aidants de ce forum qui donnent l'impression de se passer de ce genre de service pour gérer leurs objets connectés.
Il se pourrait que les 'Virtuals Pins' de Blynk ne se prête pas à la situation avec le modèle de carte à relais utilisé

Peut être soumettre la question à un forum Blynk s'il en existe un.......

Ce qui n'est pas étonnant. En général quand je tombe sur une demande aussi pauvrement documentée je passe mon chemin.
Tu trouveras peut-être ton bonheur ici :

Il s'agit d'une carte 1 relais, mais le principe est le même.
En particulier il est dit que le baudrate entre ESP01 et le petit processeur STC15F104W est 9600.

Turn OFF the first relay : A0 01 00 A1
Turn ON the first relay : A0 01 01 A2
Turn OFF the second relay : A0 02 00 A2
Turn ON the second relay : A0 02 01 A3
Turn OFF the third relay : A0 03 00 A3
Turn ON the third relay : A0 03 01 A4
Turn OFF the fourth relay : A0 04 00 A4
Turn ON the fourth relay : A0 04 01 A5

Le format des commandes 4 octets

N° octet Fonction Valeur
0 entête 0xA0
1 N° relais 0x01 à 0x04
2 Etat 0x00 = OFF ou 0x01 = ON
3 Somme de contrôle 0xA0 + N°_relais + Etat

J'ai trouvé les infos sur ce site:

les commandes étant connues, reste les faire passer au destinataire....

Proposition :

Le gadget TERMINAL de BLYNK permet peut être de provoquer l'émission par l'ESP-01 (1) de la bonne commande à envoyer en série , au bon débit, au microcontrolleur (2) pour piloter le relais cible (3)

logique commande

Comme je l'ai dit je suis vraiment débutant.
Si je comprend je dois :

  • Déclarer mes VirtualPin ;
  • Envoyer les commandes hexadécimal selon l'état de ces virtualpin ;

Mais je connais toujours pas le vocabulaire à utiliser.
Je fouine sur le net mais à croire que personne n'a jamais utilser Blynk pour piloter 4 relais avec 1 ESP-01.

Si il existe d'autre application que Blynk, plus simple, je suis aussi preneur.

Depuis le temps que je suis présent sur ce forum, on ne peut pas dire que les questions concernant Blynk foisonnent.
Pour ma part si j'ai un serveur à écrire avec un ESP8266, je l'écris, avec des APIs qui me laissent une totale liberté : WebServer, AsyncWebServer, pas forcément accessibles à un débutant.

Voir avec la communauté : https://community.blynk.cc/

Ok, j'utilise Blynk car je suis tombé sur un tuto sur youtube.
Tout ce qui m’intéresse c'est pouvoir coller ces relais avec mon téléphone.

J'ai essayé ce code :

// Fill-in information from your Blynk Template here
#define BLYNK_TEMPLATE_ID           "xxxxx"
#define BLYNK_DEVICE_NAME           "Volets Roulants"

#define BLYNK_FIRMWARE_VERSION        "0.1.0"

#define BLYNK_PRINT Serial
  #define BLYNK_DEBUG

#define APP_DEBUG

// Uncomment your board, or configure a custom board in Settings.h
//#define USE_SPARKFUN_BLYNK_BOARD
//#define USE_NODE_MCU_BOARD
//#define USE_WITTY_CLOUD_BOARD
//#define USE_WEMOS_D1_MINI

#include "BlynkEdgent.h"

BLYNK_WRITE(V0)
    {
      int pinValue = param.asInt();
      if (pinValue == 1) {
            const byte RelayON[] = {0xA0, 0x01, 0x01, 0xA2};
            Serial.write(RelayON, sizeof(RelayON));
         }else {
            const byte RelayOFF[] = {0xA0, 0x01, 0x00, 0xA1};
            Serial.write(RelayOFF, sizeof(RelayOFF));
        }
    }
 BLYNK_WRITE(V1)
    {
      int pinValue = param.asInt();
      if (pinValue == 1) {
            const byte RelayON[] = {0xA0, 0x02, 0x01, 0xA3};
            Serial.write(RelayON, sizeof(RelayON));
         }else {
            const byte RelayOFF[] = {0xA0, 0x02, 0x00, 0xA2};
            Serial.write(RelayOFF, sizeof(RelayOFF));
        }
    }
BLYNK_WRITE(V2)
    {
      int pinValue = param.asInt();
      if (pinValue == 1) {
            const byte RelayON[] = {0xA0, 0x03, 0x01, 0xA4};
            Serial.write(RelayON, sizeof(RelayON));
         }else {
            const byte RelayOFF[] = {0xA0, 0x03, 0x00, 0xA3};
            Serial.write(RelayOFF, sizeof(RelayOFF));
        }
    }  
BLYNK_WRITE(V3)
    {
      int pinValue = param.asInt();
      if (pinValue == 1) {
            const byte RelayON[] = {0xA0, 0x04, 0x01, 0xA5};
            Serial.write(RelayON, sizeof(RelayON));
         }else {
            const byte RelayOFF[] = {0xA0, 0x04, 0x00, 0xA4};
            Serial.write(RelayOFF, sizeof(RelayOFF));
        }
    }      
void setup()
{
  Serial.begin(9600);

  BlynkEdgent.begin();
}

void loop() {   
  BlynkEdgent.run();
}

La led bleue de l'esp s'allume un coup quand je cllque sur mes boutons dans mon téléphone.
Mais les relais ne collent pas.

Bonsoir @zezinho71

:mag:Lis bien les "Bonnes Pratiques du Forum" , la partie "Utilisation de quelques outils" t'indique comment poster correctement du code si tu veux qu'il soit étudié ici de près par plusieurs personnes.

Putôt que d'ajouter un nouveau message, utilises l'icône crayon pour rééditer ton message précédent

Voilà c'est fait.
Vous pensez que mon "non-resultat" vient de la declaration de ma liaison série?
Je dois pas déclarer les TX, Rx...?

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