ESP32 C3 Super Mini - RS485
Le RS485 est une norme série qui envoie des données sur de longs fils avec une forte protection contre le bruit. Avec un module TTL vers RS485 bon marché, l'ESP32 C3 Super Mini peut communiquer avec des appareils situés à des centaines de mètres. Ce tutoriel vous montre comment câbler et programmer une communication RS485 sur l'ESP32 C3 Super Mini.
Dans ce tutoriel, vous apprendrez :
- Ce qu'est le RS485 et pourquoi il surpasse une simple liaison série TTL
- Comment connecter un module TTL vers RS485 à l'ESP32 C3 Super Mini
- Comment programmer l'ESP32 C3 Super Mini pour lire des données depuis le RS485
- Comment programmer l'ESP32 C3 Super Mini pour envoyer des données vers le RS485
- Comment envoyer des données de votre PC vers l'ESP32 C3 Super Mini via RS485, et inversement

Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À Propos du Module TTL vers RS485
Un module TTL vers RS485 est une petite carte qui transforme le signal série TTL de l'ESP32 C3 Super Mini en signal RS485, et inversement.
L'ESP32 C3 Super Mini envoie des données série sur une broche TX et les reçoit sur une broche RX. Ces broches utilisent le niveau TTL, qui ne fonctionne que sur un fil court. Pour un long câble, vous devez convertir le TTL vers une norme plus robuste comme le RS232, le RS485 ou le RS422.
Caractéristiques Principales :
- Longue distance : Fonctionne jusqu'à environ 1200 mètres avec un bon câble
- Résistant au bruit : Utilise deux fils avec des signaux opposés, ce qui annule le bruit
- Multi-appareils : De nombreux appareils peuvent partager la même paire de fils
- Simple à utiliser : Code série classique, aucune bibliothèque spéciale nécessaire
- Compatible 3,3V : La plupart des modules fonctionnent bien avec la broche 3.3V de l'ESP32 C3 Super Mini
Spécifications Techniques :
- Puces courantes : MAX13487, MAX3485, SP3485, MAX485
- Tension d'alimentation : 3,3V ou 5V, selon le module
- Niveau logique : Doit être de 3,3V pour l'ESP32 C3 Super Mini
- Type de câble : Une paire torsadée, plus un fil GND
- Terminaison : Résistance de 120 ohms à chaque extrémité d'un long câble
- Vitesse typique : 9600 à 115200 bauds
WARNING
L'ESP32 C3 Super Mini est une carte 3,3V. Utilisez uniquement un module TTL vers RS485 avec une logique 3,3V, ou ajoutez un convertisseur de niveau. Une sortie TXD/RO en 5V envoyée directement dans une broche GPIO peut endommager la puce. Du côté RS485, faites toujours passer A et B dans la MÊME paire torsadée du câble, reliez A à A et B à B, et placez une résistance de 120 ohms aux deux extrémités d'un long câble.
Brochage
Le module RS485 vers TTL possède deux côtés : un côté TTL pour la carte et un côté RS485 pour le long câble.
- Broche VCC : Entrée d'alimentation, connectez-la au 3.3V de l'ESP32 C3 Super Mini
- Broche GND : Masse (0V), partagée avec l'ESP32 C3 Super Mini
- Broche RXD (DI) : Entrée de données du module, connectez-la à une broche TX de l'ESP32 C3 Super Mini
- Broche TXD (RO) : Sortie de données du module, connectez-la à une broche RX de l'ESP32 C3 Super Mini
- Broche D+ (A ou TR+) : Un fil de la paire RS485, utilisé pour la communication de données
- Broche D- (B ou TR-) : L'autre fil de la paire RS485, utilisé pour la communication de données
- Broche GND (côté RS485) : Facultative mais fortement recommandée, elle réduit les problèmes de bruit
- Broche DE/RE (certains modules uniquement) : Contrôle de direction, HIGH pour envoyer et LOW pour recevoir
※ Note:
De nombreux modules, comme le type MAX13487, changent de direction automatiquement et n'ont pas de broche DE/RE. Si votre module en possède une, connectez-la à GPIO5 de l'ESP32 C3 Super Mini, mettez-la à HIGH avant d'envoyer et à LOW pour écouter.

Schéma de Câblage
Connectez le côté TTL du module à l'ESP32 C3 Super Mini, et le côté RS485 à votre long câble.
- Remarque : Utilisez uniquement une logique 3,3V. N'envoyez jamais un signal 5V dans une broche GPIO.
- Remarque : GPIO20 et GPIO21 forment l'UART utilisé par le Moniteur Série, laissez-les donc libres.
- Remarque : RXD du module va vers une broche TX de la carte, et TXD va vers une broche RX. Ils se croisent.
- Remarque : N'utilisez pas GPIO8 ni GPIO9 — ce sont des broches de configuration de démarrage (strapping).
- Remarque : Partagez la GND entre le module et l'ESP32 C3 Super Mini, sinon rien ne fonctionnera.

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
| Broche du Module RS485 | Broche ESP32 C3 Super Mini |
|---|---|
| VCC | 3.3V |
| GND | GND |
| RXD (DI) | GPIO6 |
| TXD (RO) | GPIO7 |
| DE/RE (uniquement si votre module en possède une) | GPIO5 |
Comment Programmer l'ESP32 C3 Super Mini pour utiliser le module RS485
L'ESP32 C3 Super Mini possède plus d'un UART matériel, nous en utilisons donc un second pour le RS485.
※ Note:
La bibliothèque SoftwareSerial n'existe PAS sur l'ESP32 C3 Super Mini. Utilisez plutôt la classe intégrée HardwareSerial. Elle est plus rapide, plus fiable, et n'utilise pas de temps CPU supplémentaire. GPIO20 et GPIO21 appartiennent au premier UART, dont le Moniteur Série a besoin, donc le module RS485 obtient ses propres broches.
- Définissez les broches série RS485 :
- Créez un second port série matériel :
- Démarrez le Moniteur Série et le port RS485 :
- Pour lire les données provenant du RS485, vous pouvez utiliser les fonctions suivantes :
- Pour écrire des données vers le RS485, vous pouvez utiliser les fonctions suivantes :
- Appelez-les sur le nom de votre propre port, par exemple rs485Serial.read() et rs485Serial.print().
- Et d'autres fonctions à utiliser avec le RS485 dans la référence Serial
Code ESP32 C3 Super Mini - RS485
Ce sketch renvoie chaque caractère reçu du RS485 et l'affiche également sur le Moniteur Série.
Ce que fait ce code :
- Démarre le Moniteur Série à 115200 bauds sur l'UART propre à la carte
- Démarre un second UART matériel pour le RS485 à 9600 bauds sur GPIO7 (RX) et GPIO6 (TX)
- Vérifie en permanence si un nouveau caractère est arrivé du RS485
- Renvoie le même caractère à l'expéditeur RS485, ce qui constitue un simple test d'écho
- Affiche le caractère sur le Moniteur Série pour que vous puissiez le voir sur votre PC
Étapes Rapides
- Nouveau sur l'ESP32 C3 Super Mini ? Complétez d'abord notre tutoriel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
- Câblez les composants : Suivez le schéma de câblage ci-dessus pour connecter le module RS485 à l'ESP32 C3 Super Mini.
- Connectez la carte : Branchez l'ESP32 C3 Super Mini à votre PC avec un câble USB Type-C.
- Ouvrez l'Arduino IDE : Lancez le logiciel Arduino IDE.
- Sélectionnez la carte : Assurez-vous que ESP32 C3 Super Mini est sélectionnée dans Outils > Type de carte.
- Sélectionnez le port : Choisissez le port COM de votre ESP32 C3 Super Mini dans Outils > Port.
- Téléversez le code : Copiez le code ci-dessus, collez-le dans l'Arduino IDE, puis cliquez sur le bouton Upload.
- Ouvrez le Moniteur Série : Réglez le débit en bauds sur 115200.
- Envoyez des données : Envoyez quelques caractères depuis l'autre appareil RS485.
- Voyez le résultat : Regardez les caractères apparaître dans le Moniteur Série.
- Astuce Pro : Si vous ne voyez rien, inversez les fils A et B. Une paire croisée est l'erreur RS485 la plus courante.
Explication du Code Ligne par Ligne
Le code ESP32 C3 Super Mini ci-dessus contient une explication ligne par ligne. Veuillez lire les commentaires dans le code !
Test
Vous pouvez tester le montage en envoyant des données de votre PC vers l'ESP32 C3 Super Mini via RS-485, et inversement. Suivez ces étapes :
- Connectez le matériel : Reliez l'ESP32 C3 Super Mini à votre PC avec un câble RS485 vers USB, comme illustré ci-dessous.
- Réglez les paramètres : Ouvrez le terminal et choisissez le port COM et le débit de 9600 bauds.
- Tapez des données : Envoyez quelques caractères depuis le terminal vers l'ESP32 C3 Super Mini.
- Vérifiez l'écho : Si cela fonctionne, les mêmes caractères reviennent dans le terminal.
- Vérifiez le côté carte : Les mêmes caractères apparaissent aussi dans le Moniteur Série de l'Arduino IDE à 115200.

※ Note:
La liaison RS485 fonctionne à 9600 bauds et le Moniteur Série à 115200 bauds. Les deux valeurs sont différentes volontairement, et c'est normal. Assurez-vous simplement que les deux extrémités du câble RS485 utilisent la même vitesse.
Idées d'Applications/Projets
Voici des façons simples d'utiliser le RS485 avec l'ESP32 C3 Super Mini.
- Capteur Longue Distance : Lisez un capteur de température placé à 500 mètres.
- Maître Modbus RTU : Communiquez avec des compteurs industriels et des variateurs de moteur qui parlent Modbus.
- Réseau Multi-Cartes : Connectez de nombreuses cartes ESP32 C3 Super Mini sur une seule paire de fils.
- Surveillance Agricole : Envoyez les données du sol et de la météo depuis un champ jusqu'à la maison.
- Contrôle d'Accès : Lisez des lecteurs RFID répartis dans un grand bâtiment.
- Enregistreur d'Onduleur Solaire : Récupérez les données d'énergie d'un onduleur et publiez-les en ligne.
Relevez le Défi
Essayez ces idées pour aller plus loin avec le RS485 sur l'ESP32 C3 Super Mini.
- Facile : Faites clignoter la LED intégrée sur GPIO8 chaque fois qu'un caractère arrive.
- Facile : Changez la vitesse RS485 de 9600 à 19200 aux deux extrémités.
- Moyen : Lisez une ligne entière avec rs485Serial.readStringUntil() au lieu d'un seul caractère.
- Moyen : Ajoutez une broche DE/RE sur GPIO5 et changez la direction dans votre propre code.
- Avancé : Donnez une adresse à chaque carte, afin que seule la bonne carte réponde.
- Avancé : Envoyez les données RS485 vers une page web via Wi-Fi.