Bonjour à tous,

Je sollicite votre aide pour un projet professionnel. Je dois faire communiquer deux machines (balance / imprimante).
Pour ce faire j'avais déjà fais un code en VBA qui fonctionne mais qui n'est pas très robuste (bcp de bugs avec office).
Je souhaite donc réaliser un programme en Python hébergé sur un Raspberry pour améliorer la fiabilité du process ...

Pour le moment j'arrive à recevoir le poids de la balance mais je n'arrive pas à envoyer une trame correcte à l'imprimante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#!/usr/bin/env python3
import socket
import time
 
adresseIP1 = "192.168.1.202"	# Balance
adresseIP2 = "192.168.1.104"	# Imprimante
port = 4001	# Se connecter sur le port 4001
client1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client1.connect((adresseIP1, port))
print("Connecté à " + adresseIP1)
client2.connect((adresseIP2, port))
print("Connecté à " + adresseIP2)
 
while True:
 reponse = client1.recv(255)
 print(reponse.decode("utf-8"))
 reponse = reponse.decode("utf-8")
 NbC = len(reponse)
 message = ("JDA|V1=00" + reponse[3] + reponse[4] + reponse[5] + reponse[6] + "|")
 client2.send(message.encode("utf-8"))
 print(message)
 time.sleep(5)
 
time.sleep(5)
client1.close()
Trame reçue : JDA|V1=001234| ne fonctionne pas

Sur VBA j'envoie la trame suivante : JDA|V1=001234|#CR#LF fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Trame = "JDA|V1=" & Right(Left(message, 11), 5) & "|"
lStrToSend = Trame & vbCrLf
Ma question : comment faire l'équivalent d'un "vbCrLf" en python ?

Merci d'avance pour votre aide,
Julien