screen? Cut and paste from the terminal?
That gets tiring after a while. Furthermore, the name of the serial device on OS X keeps changing.
Well, here's a handy little script. It looks for the first connected micro:bit and then copies the serial output to stdout. You can tee or pipe it to a file.
Requires pyserial. Only tested on OS X. As usual, use at your own risk.
import serial
from serial.tools.list_ports import comports as list_serial_ports
import sys
def get_microbit_port(ser_id):
ports = list_serial_ports()
if ser_id != "":
for port in ports:
if ser_id in port[2]:
return port[0]
return None
for port in ports:
if "VID:PID=0D28:0204" in port[2]:
return port[0]
return None
def main():
id = ""
if len(sys.argv) > 1:
id = sys.argv[1]
port = get_microbit_port(id)
if port == None:
print("micro:bit not connected")
sys.exit(1)
try:
ser = serial.Serial(port, baudrate=115200)
while True:
line = ser.readline()
print line,
sys.stdout.flush()
except serial.SerialException as e:
print "Serial line disconnected"
except KeyboardInterrupt:
print "Quit"
finally:
try:
ser.close()
except:
pass
main()
No comments:
Post a Comment