Lecture de la sortie du port série d'un arduino¶

  • Objectif : lire puis afficher et stocker dans un fichier, les data issues de la sortie du port série d'un arduino, exécutant un sketch.
  • En effet, il semblerait que le moniteur série fourni avec l'IDE Arduino soit de piètre qualité. En tout cas, il n'est pas − plus − possible de copier-coller ce qui s'y trouve.
  • putty est une solution qui marche, voir le document idoine. Mais l'on peut aussi utiliser le script suivant.
  • Coller et Compléter le bloc suivant dans l'éditeur python de votre choix.
In [ ]:
# Le sketch arduino doit inclure la chaine "EndOfData" pour indiquer la fin des mesures
import serial # Librairie pyserial de gestion du port série
arduino = serial.Serial(port="COM3", baudrate = 9600, timeout = 1) # Ouverture du port − à ajuster selon les infos de l’IDE
fichier = open("sortie_série.txt", 'w') # Ouverture du fichier de sortie des données
while arduino.isOpen() == True: # Tant que le port est ouvert
    mesure = arduino.readline().decode('cp1252').rstrip('\n')
    print(mesure)
    fichier.write(mesure)
    if ("EndOfData" in mesure): # Si la mesure contient la chaîne "EndOfData"
        arduino.close() # Ferme le port
        fichier.close() # Ferme le fichier