ESP32 RS485

Ce tutoriel vous explique comment utiliser la communication RS485 avec l'ESP32. En détail, nous allons apprendre les aspects suivants :

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×TTL to RS485 Module
1×Jumper Wires
1×(Optional) RS485 to USB Cable
1×(Recommended) ESP32 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 RS485

Lors de l'utilisation de la communication série sur l'ESP32 avec des fonctions telles que Serial.print(), Serial.read() et Serial.write(), la transmission des données se fait via la broche TX, tandis que la réception des données se fait par la broche RX. Ces broches fonctionnent au niveau TTL, ce qui signifie qu'elles gèrent des signaux avec une portée limitée. Par conséquent, pour une communication série sur de longues distances, il devient nécessaire de convertir le signal TTL en normes de signal RS232, RS485 ou RS422.

Dans ce tutoriel, nous explorerons l'utilisation du RS485 (également appelé RS-485) avec l'ESP32 en utilisant un module TTL vers RS485. Ce module facilite la conversion des signaux TTL en signaux RS485 et vice versa.

Brochage

Le module RS485 vers TTL dispose de deux interfaces :

  • Interface TTL (connectée à l'ESP32) :
    • Broche VCC : Cette broche d'alimentation doit être connectée au VCC (5V ou 3.3V).
    • Broche GND : Cette broche d'alimentation doit être connectée à GND (0V).
    • Broche RXD : Cette broche de données doit être connectée à une broche TX de l'ESP32.
    • Broche TXD : Cette broche de données doit être connectée à une broche RX de l'ESP32.
  • Interface RS485 :
    • Broche D+ (A ou TR+) : Cette broche facilite la communication de données.
    • Broche D- (B ou TR-) : Cette broche est utilisée pour la transmission de données.
    • Broche GND : Bien qu'optionnelle, l'inclusion de cette broche est fortement recommandée pour atténuer les interférences de bruit, garantissant des performances optimales.
    Configuration des broches du module RS-485
    image source: diyables.io

Diagramme de câblage

Schéma de câblage ESP32 TTL vers RS485

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

Comment programmer l'ESP32 pour utiliser le module RS485

  • Initialise l'interface Série :
Serial2.begin(9600);

Code ESP32

/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32/esp32-rs485 */ void setup() { // start communication with baud rate 9600 Serial.begin(9600); // Serial Monitor Serial2.begin(9600); // RS485 // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial2.available()) { char data = Serial2.read(); // read the received character Serial.print(data); // print the recived data to Serial Monitor } }

Test

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

  • Connectez l'ESP32 à votre PC via un câble RS485 vers USB comme ci-dessous :
Communication ESP32 RS485 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, baudrate...)
  • Tapez des données depuis le terminal série pour les envoyer à l'ESP32.
  • 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!