Envoyer Variable sur serial.write
Bonjour à tous,
Je suis novice en python, j'ai déjà un programme qui fonctionne mais dont je ne suis pas satisfait.
Mon programme me sert à lire un fichier sur mon pc et à envoyer ligne après ligne ce qu'il contient vers mon port serial.
Mon programme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
import serial
import time
import os
monfichier = open('data.txt', 'r')
time.sleep(1)
contenu = monfichier.readlines()
n = 0
ser = serial.Serial('COM5', 9600, timeout=1)
time.sleep(2)
for line in contenu:
if contenu[n]=="$D8000\n":
ser.write(b'$D8000\n')
time.sleep(0.5)
lu = ser.readline()
lu=str(lu)
print("$D8000")
print(lu)
if contenu[n]=="$D8100\n":
ser.write(b'$D8100\n')
time.sleep(0.5)
lu = ser.readline()
print("$D8100")
print(lu)
if contenu[n]=="$D8180\n":
ser.write(b'$D8180\n')
time.sleep(0.5)
lu = ser.readline()
print("$D8180")
print(lu)
n += 1
print (n)
monfichier.close()
ser.close() |
Ce programme marche bien mais je dois connaitre tous ce qui peut être reçu sinon je ne peux envoyer la valeur sur mon port serial.
Je voudrais pouvoir faire :
Code:
1 2
|
ser.write(b'+contenu[n]+\n') |
et n'avoir qu'un seul if pour savoir si la ligne n'est pas vide et ensuite envoyer la valeur. Le port serial ne réagi que si les valeurs sont valides.
J'ai retourné le write dans tout les sens, je suis à court d'arguments.
Si quelqu'un à des idées.
Merci d'avance.
Stéphane