ESP8266 - RS422

Dans ce guide, nous allons nous pencher sur la manière de configurer une communication RS422 avec ESP8266. Nous passerons en revue les étapes suivantes en détail :

Le tutoriel fournit également des instructions pour le Serial matériel et le SoftwareSerial.

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×TTL to RS422 Module
1×Jumper Wires
1×(Optional) RS422 to USB Cable
1×(Optional) ESP8266 Screw Terminal Adapter

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du module TTL vers RS422

Lors de l'utilisation de la communication série sur l'ESP8266 via des fonctions telles que Serial.print(), Serial.read() et Serial.write(), l'ESP8266 transmet des données via la broche TX et reçoit des données par la broche RX. Ces broches fonctionnent au niveau TTL, ce qui signifie que les signaux qu'elles gèrent ont une portée limitée. Ainsi, pour la communication série sur de plus longues distances, il devient nécessaire de convertir le signal TTL en normes de signal RS232, RS422 ou RS422.

Dans ce tutoriel, nous allons explorer l'utilisation de RS422 (également connu sous le nom de RS-422) avec ESP8266 en utilisant un module TTL vers RS422. Ce module facilite la conversion des signaux TTL en signaux RS422 et vice versa.

Brochage

Le module RS422 vers TTL possède deux interfaces :

  • L'interface TTL (connectée à l'ESP8266) comprend 4 broches :
    • Broche VCC : broche d'alimentation, doit être connectée à VCC (5V ou 3.3V)
    • Broche GND : broche d'alimentation, doit être connectée à GND (0V)
    • Broche RXD : broche de données, doit être connectée à une broche TX de l'ESP8266
    • Broche TXD : broche de données, doit être connectée à une broche RX de l'ESP8266
  • L'interface RS422 comprend les broches suivantes :
    • Broche A (R+) : broche RX+ du module, connectez cette broche à la broche TX+ (T+ ou broche Y) de l'autre appareil RS422.
    • Broche B (R-) : broche RX- du module, connectez cette broche à la broche TX- (T- ou broche Z) de l'autre appareil RS422.
    • Broche Y (T+) : broche TX+ du module, connectez cette broche à la broche RX+ (R+ ou broche A) de l'autre appareil RS422.
    • Broche Z (T-) : broche TX- du module, connectez cette broche à la broche RX- (R- ou broche B) de l'autre appareil RS422.
    Brochage du module RS-422
    image source: diyables.io

Diagramme de câblage

  • Schéma de câblage si utilisation du port série matériel
Schéma de câblage ESP8266 NodeMCU TTL vers RS422

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

  • Schéma de câblage si utilisation d'une liaison série logicielle
Schéma de câblage ESP8266 NodeMCU RS-422 vers TTL

This image is created using Fritzing. Click to enlarge image

Comment programmer l'ESP8266 pour utiliser le module RS422

Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :

Serial.begin(9600);
  • Si vous utilisez SoftwareSerial, vous devez inclure la bibliothèque et déclarer un objet SoftwareSerial :
#define RX_PIN D7 #define TX_PIN D6 // Définir les objets SoftwareSerial et leurs broches SoftwareSerial rs422(RX_PIN, TX_PIN);

Code ESP8266 pour le port série matériel

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp8266/esp8266-rs422 */ void setup() { // start communication with baud rate 9600 Serial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial.available()) { char data = Serial.read(); // read the received character Serial.print(data); // echo back to data to the sender } }

Code ESP8266 pour le port série logiciel

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp8266/esp8266-rs422 */ #include <SoftwareSerial.h> #define RX_PIN D7 #define TX_PIN D6 // define the SoftwareSerial object and their pins SoftwareSerial rs422(RX_PIN, TX_PIN); void setup() { // start communication with baud rate 9600 rs422.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on rs422 if (rs422.available()) { char data = rs422.read(); // read the received character rs422.print(data); // echo back to data to the sender } }

Test

Vous pouvez effectuer un test en envoyant des données de votre PC vers l'ESP8266 via RS-422 et vice versa. Pour ce faire, suivez les étapes ci-dessous :

  • Connectez l'ESP8266 à votre PC via un câble RS422 vers USB comme suit :
Communication de l'ESP8266 NodeMCU RS422 avec un PC
  • Installez un programme de terminal série tel que Tera Term ou PuTTY
  • Ouvrez le programme de terminal série et configurez les paramètres série (port COM, débit en bauds...)
  • Tapez des données depuis le terminal série pour les envoyer à l'ESP8266.
  • Si l'opération est réussie, vous verrez les données en écho sur le terminal série.

Vidéo

Tutoriels connexes

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!