J'essaie donc de contrôler un Thermo Scientificbain de température sur série (USB-A à USB-B) et lorsque j'envoie une commande, la réponse "F001" m'indique que cette commande est connue. Le format est "commande" "retour chariot" et voici ce que j'ai:
ser = serial.Serial("/dev/tty.usbserial-A800dars", 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=5) #no timeout=0
print(ser.name) # check which port was really used
ser.write(b"RTr") # read internal temp
# TODO probably not getting 100 bytes here, need to find what to expect and whether or not to do a timeout
serial_response = ser.read(100) # read up to one hundred bytes or as much is in the buffer
print(serial_response)
J'ai essayé d'ajouter un n après le r, j'ai essayéPlusieurs autres commandes, j’ai "inclus un espace entre le RT et le r et j" ont réglé la vitesse de transmission sur le bain de température à la même chose que celle que j’envoie en série. Je me suis également assuré d’utiliser les bons pilotes ici de http://www.ftdichip.com/FTDrivers.htm.
Des pensées? J'utilise un Mac en envoyant un câble USB-A à USB-B, et je ne reçois la réponse F001 que lorsque le bain de température est activé et en fonctionnement.
Réponses:
0 pour la réponse № 1Eh bien, il se trouve que le fabricant m'a donné un manuel incorrect. Après avoir trouvé le bon et connaissant maintenant les bonnes commandes à envoyer en série, tout le code ci-dessus fonctionne parfaitement.