ESP8266 - RS485
Dans ce tutoriel, nous explorerons la mise en œuvre de la communication RS485 avec l'ESP8266. Plus précisément, nous aborderons en détail les aspects suivants :
- Établir la connexion entre ESP8266 et le module TTL vers RS485.
- Programmer l'ESP8266 pour récupérer les données du module TTL vers RS485.
- Programmer l'ESP8266 pour transmettre les données au module TTL vers RS485.
- Envoi de données de votre PC à l'ESP8266 via RS485, et vice versa.
Le tutoriel fournit également des instructions pour les deux, Serial matériel et SoftwareSerial.
Préparation du matériel
1 | × | ESP8266 NodeMCU | |
1 | × | Micro USB Cable | |
1 | × | TTL to RS485 Module | |
1 | × | Jumper Wires | |
1 | × | (Optional) RS485 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) |
À propos du module TTL vers RS485
Lors de l'utilisation de la communication série sur l'ESP8266 à travers des fonctions comme Serial.print(), Serial.read() et Serial.write(), l'ESP8266 émet 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 une communication série sur de plus longues distances, il devient nécessaire de convertir le signal TTL en normes de signal RS232, RS485 ou RS422.
Dans ce tutoriel, nous allons explorer l'utilisation de RS485 (également connu sous le nom de RS-485) avec ESP8266 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 à TTL a deux interfaces :
- L'interface TTL (connectée à ESP8266) inclut 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 RS485 comprend les broches suivantes :
- Broche D+ (A ou TR+) : Cette broche facilite la communication de données.
- Broche D- (B ou TR-) : Cette broche sert à la transmission de données.
- Broche GND : Bien qu'optionnelle, il est fortement recommandé d'inclure cette broche pour atténuer les interférences de bruit, assurant une performance optimale.
Diagramme de câblage
- Schéma de câblage pour l'utilisation du port série matériel
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 pour l'utilisation du port série logiciel
This image is created using Fritzing. Click to enlarge image
Comment programmer l'ESP8266 pour utiliser le module RS485
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Découvrez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
- Initialise l'interface Série :
- Si vous utilisez SoftwareSerial, vous devez inclure la bibliothèque et déclarer un objet SoftwareSerial :
- Pour lire des données provenant de RS485, vous pouvez utiliser les fonctions suivantes :
- Pour écrire des données sur RS485, vous pouvez utiliser les fonctions suivantes :
- Et d'autres fonctions à utiliser avec RS485 dans Référence Serial
Code ESP8266 pour le port série matériel
Code ESP8266 pour le port série logiciel
Tests
Vous pouvez effectuer un test en envoyant des données de votre PC vers l'ESP8266 via RS-485 et vice versa. Pour ce faire, suivez les étapes ci-dessous :
- Connectez l'ESP8266 à votre PC via un câble RS485-USB comme suit :
- Ouvrez le programme de terminal série et configurez les paramètres série (port COM, baudrate...)
- Tapez certaines données depuis le terminal série pour les envoyer à l'ESP8266.
- Si cela réussit, vous verrez les données en écho sur le terminal série.