ESP8266 - RS232

Dans ce tutoriel, nous allons approfondir l'utilisation de la communication RS232 avec ESP8266, en abordant :

Le tutoriel inclut des directives pour Serial matériel et SoftwareSerial.

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×TTL to RS232 Module
1×Jumper Wires
1×(Optional) RS232 to USB Cable
1×(Optional) RS232 Gender Changer
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 RS232

Lorsque vous travaillez avec des éléments en série sur l'ESP8266 et que vous utilisez Serial.print(), Serial.read() et Serial.write(), ce qui se passe, c'est que votre ESP8266 envoie des données par sa broche TX et reçoit des données arrivant sur sa broche RX. Maintenant, voici le problème - les signaux sur TX et RX sont à un niveau TTL, ce qui est bien, mais ils ne voyagent pas très loin. Donc, si vous prévoyez d'échanger des données sur de longues distances, vous devez amplifier ce signal.

Entrez le module TTL vers RS232. Ce gadget astucieux transforme votre signal TTL en RS232 et vice versa. C'est comme de la magie pour permettre à votre communication d'atteindre de vastes horizons.

Brochage

Le module RS232 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 au VCC (5V)
    • Broche GND : broche d'alimentation, doit être connectée au GND (0V)
    • Broche RXD : broche de données, doit être connectée à une broche RX de l'ESP8266
    • Broche TXD : broche de données, doit être connectée à une broche TX de l'ESP8266
  • L'interface RS232 : connecteur femelle D-Sub DB9, connectez cela à l'appareil série
Brochage RS232

Diagramme de câblage

  • Schéma de câblage pour l'utilisation du port série matériel
Schéma de câblage ESP8266 NodeMCU TTL vers RS232

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 d'ESP8266 NodeMCU RS232 vers TTL

This image is created using Fritzing. Click to enlarge image

Comment programmer l'ESP8266 pour utiliser le module RS232

  • Initialise l'interface série :
Serial.begin(9600);
  • Si vous utilisez SoftwareSerial, vous devez inclure la bibliothèque et déclarer un objet SoftwareSerial :
#include <SoftwareSerial.h> // Définir les objets SoftwareSerial et leurs broches SoftwareSerial SoftSerial(7, 6); // RX : 7, TX : 6

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-rs232 */ 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-rs232 */ #include <SoftwareSerial.h> // define the SoftwareSerial object and their pins SoftwareSerial SoftSerial(D5, D6); // RX: D5, TX: D6 void setup() { // start communication with baud rate 9600 SoftSerial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on SoftSerial if (SoftSerial.available()) { char data = SoftSerial.read(); // read the received character SoftSerial.print(data); // echo back to data to the sender } }

Test

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

  • Connectez l'ESP8266 à votre PC via un câble RS232 vers USB comme suit :
Communication ESP8266 NodeMCU RS232 vers 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 à partir du terminal série pour les envoyer à 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!