start:raspberry:uart:uarttoesp32
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
start:raspberry:uart:uarttoesp32 [2025/02/24 11:21] – [Étapes sur le **Raspberry Pi** (UART Master) :] admin | start:raspberry:uart:uarttoesp32 [2025/03/02 17:51] (Version actuelle) – [Connexion physique :] admin | ||
---|---|---|---|
Ligne 47: | Ligne 47: | ||
</ | </ | ||
- Allez dans **" | - Allez dans **" | ||
- | - Redémarrez le Raspberry Pi. | + | - Redémarrez le Raspberry Pi. ( sudo reboot ) |
+ | - Desactiver le Bluetooth sur le Raspberry Pi | ||
+ | - Installer [[https:// | ||
+ | - Installer PySerial ( sudo apt-get install python3-serial ) | ||
+ | - sudo reboot | ||
2. **Vérifiez que le port série fonctionne** : | 2. **Vérifiez que le port série fonctionne** : | ||
- Une fois le port série activé, vous pouvez vérifier si le périphérique série est détecté. Tapez la commande suivante pour vérifier : | - Une fois le port série activé, vous pouvez vérifier si le périphérique série est détecté. Tapez la commande suivante pour vérifier : | ||
Ligne 155: | Ligne 158: | ||
Ce code permet à l' | Ce code permet à l' | ||
- | == Code pour l"ESPM qui recoit sur l' | + | == Code pour l"ESP32M |
{{ : | {{ : | ||
Ligne 162: | Ligne 165: | ||
* Raspberry Pi 4 : | * Raspberry Pi 4 : | ||
*GPIO 14 (TX) → **ESP32M GPIO 25 (RX)** (Transmission du Raspberry Pi vers l' | *GPIO 14 (TX) → **ESP32M GPIO 25 (RX)** (Transmission du Raspberry Pi vers l' | ||
- | *GPIO 15 (RX) → **ESP32M GPIO 26 (TX)** (Réception du Raspberry Pi depuis l' | + | *GPIO 15 (RX) < |
* ESP32M | * ESP32M | ||
*GPIO 16 (RX) --> **ESP32E GPIO 17 (TX) ** (Transmission de l' | *GPIO 16 (RX) --> **ESP32E GPIO 17 (TX) ** (Transmission de l' | ||
- | *GPIO 17 (TX) --> **ESP32E GPIO 16 (RX) ** (Réception de l' | + | *GPIO 17 (TX) <-- **ESP32E GPIO 16 (RX) ** (Réception de l' |
* Alimentation : | * Alimentation : | ||
Ligne 273: | Ligne 276: | ||
while True: | while True: | ||
if ser.in_waiting > 0: # Si des données sont reçues | if ser.in_waiting > 0: # Si des données sont reçues | ||
- | received = ser.readline().decode(' | + | |
+ | received = ser.readline().decode(' | ||
print(" | print(" | ||
time.sleep(1) | time.sleep(1) | ||
Ligne 302: | Ligne 306: | ||
Cela devrait vous permettre d' | Cela devrait vous permettre d' | ||
+ | |||
+ | |||
+ | ====== Test la vitesse entre RPI4 et ESP32 sur UART à 115200Bds ====== | ||
+ | |||
+ | ====Programme python sur le RPI4==== | ||
+ | |||
+ | <code python exemple001.py> | ||
+ | import serial | ||
+ | import time | ||
+ | |||
+ | # Configurer le port série pour le Raspberry Pi | ||
+ | ser = serial.Serial('/ | ||
+ | time.sleep(2) | ||
+ | |||
+ | # Envoyer un message à l' | ||
+ | ser.write(b" | ||
+ | print(" | ||
+ | while True: | ||
+ | if ser.in_waiting > 0: # Si des données sont reçues | ||
+ | received = ser.readline().decode(' | ||
+ | print(" | ||
+ | time.sleep(0.008) | ||
+ | ser.write(b" | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Code C-Arduino sur ESP32 ==== | ||
+ | |||
+ | <code c exemple002.ino> | ||
+ | #define RXD2 16 | ||
+ | #define TXD2 17 | ||
+ | |||
+ | #define GPS_BAUDS 115200 | ||
+ | |||
+ | // | ||
+ | HardwareSerial mySerial(2); | ||
+ | |||
+ | int counter = 0; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(115200); | ||
+ | mySerial.begin(GPS_BAUDS, | ||
+ | Serial.println(" | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | while (mySerial.available() > 0) { | ||
+ | char gpsData = mySerial.read(); | ||
+ | Serial.println(gpsData); | ||
+ | } | ||
+ | delay(3); | ||
+ | // | ||
+ | mySerial.println(String(counter)); | ||
+ | if (counter == 1000){ | ||
+ | counter = 0; | ||
+ | } | ||
+ | // | ||
+ | counter++; | ||
+ | delay(0.005); | ||
+ | } | ||
+ | </ | ||
/home/chanteri/www/fablab37110/data/attic/start/raspberry/uart/uarttoesp32.1740392500.txt.gz · Dernière modification : 2025/02/24 11:21 de admin