Se você deseja escrever um script para se conectar ao Arduino, um problema frequente é que o nome da porta serial pode se alterar com eventuais reinícios do dispositivo.
Adaptei o código, a partir de um post que encontrei no stackoverflow.com. O código postado lá é genérico, e pode ser utilizado para vários sistemas operacionais.
O código abaixo irá se conectar à primeira porta /dev/ttyACM encontrada.
#! /usr/bin/python
import serial
import time
import re
import os,sys
import glob
import serial
def serial_port():
#http://stackoverflow.com/questions/12090503/listing-available-com-ports-with-python
if sys.platform.startswith('win'):
ports = ['COM' + str(i + 1) for i in range(256)]
elif sys.platform.startswith('linux'):
ports = glob.glob('/dev/tty[A-Za-z]*')
elif sys.platform.startswith('darwin'):
ports = glob.glob('/dev/tty.*')
else:
raise EnvironmentError('Plataforma nao suportada')
result = ""
for port in ports:
try:
s = serial.Serial(port)
s.close()
prog = re.compile('^/dev/ttyACM[0-9]')
if prog.match(port):
return port
except (OSError, serial.SerialException):
pass
ser = serial.Serial(serial_port(), 9600, timeout=1)
print "Conectado a " + serial_port()
Nenhum comentário:
Postar um comentário