En Mac uno puede listar sus puertos serie usando
ls /dev/tty.*
Según: https://stackoverflow.com/questions/3815211/mac-command-line-list-available-serial-ports
Pero algo que me desconcierta cuando hago esto es que veo la salida de los puertos serie que son específicos de los dispositivos que tengo:
sidharthghoshal@Sidharths-MBP webrtc-demo % ls /dev/tty.*
/dev/tty.Bluetooth-Incoming-Port /dev/tty.Sidsworkheadphone-SPPDev /dev/tty.usbmodem14301 /dev/tty.void_sound-SPPDev
Ahora "esperaría" que algo como el dispositivo USB que conecté /dev/tty.usbmodem14301
tendría un número de puerto normal y corriente como tty01
o tty02
pero cuando corro
ls /dev/tty*
Veo lo que parecen ser TODOS LOS PUERTOS SERIALES POSIBLES: y ya no me resulta obvio cómo corresponder a un nombre como /dev/tty.usbmodem14301
a su número de puerto serie "real" (es posible que ni siquiera sea una pregunta bien definida y si no lo es me gustaría saber por qué, ya que me gustaría escribir algún código que diga efectivamente "leer datos de lo que sea que esté en el puerto USB #3").
/dev/tty.Bluetooth-Incoming-Port /dev/ttyq3 /dev/ttyra /dev/ttyse /dev/ttyu5 /dev/ttyvc
/dev/tty.Sidsworkheadphone-SPPDev /dev/ttyq4 /dev/ttyrb /dev/ttysf /dev/ttyu6 /dev/ttyvd
/dev/tty.usbmodem14301 /dev/ttyq5 /dev/ttyrc /dev/ttyt0 /dev/ttyu7 /dev/ttyve
/dev/tty.void_sound-SPPDev /dev/ttyq6 /dev/ttyrd /dev/ttyt1 /dev/ttyu8 /dev/ttyvf
/dev/ttyp0 /dev/ttyq7 /dev/ttyre /dev/ttyt2 /dev/ttyu9 /dev/ttyw0
/dev/ttyp1 /dev/ttyq8 /dev/ttyrf /dev/ttyt3 /dev/ttyua /dev/ttyw1
/dev/ttyp2 /dev/ttyq9 /dev/ttys0 /dev/ttyt4 /dev/ttyub /dev/ttyw2
/dev/ttyp3 /dev/ttyqa /dev/ttys000 /dev/ttyt5 /dev/ttyuc /dev/ttyw3
/dev/ttyp4 /dev/ttyqb /dev/ttys001 /dev/ttyt6 /dev/ttyud /dev/ttyw4
/dev/ttyp5 /dev/ttyqc /dev/ttys002 /dev/ttyt7 /dev/ttyue /dev/ttyw5
/dev/ttyp6 /dev/ttyqd /dev/ttys1 /dev/ttyt8 /dev/ttyuf /dev/ttyw6
/dev/ttyp7 /dev/ttyqe /dev/ttys2 /dev/ttyt9 /dev/ttyv0 /dev/ttyw7
/dev/ttyp8 /dev/ttyqf /dev/ttys3 /dev/ttyta /dev/ttyv1 /dev/ttyw8
/dev/ttyp9 /dev/ttyr0 /dev/ttys4 /dev/ttytb /dev/ttyv2 /dev/ttyw9
/dev/ttypa /dev/ttyr1 /dev/ttys5 /dev/ttytc /dev/ttyv3 /dev/ttywa
/dev/ttypb /dev/ttyr2 /dev/ttys6 /dev/ttytd /dev/ttyv4 /dev/ttywb
/dev/ttypc /dev/ttyr3 /dev/ttys7 /dev/ttyte /dev/ttyv5 /dev/ttywc
/dev/ttypd /dev/ttyr4 /dev/ttys8 /dev/ttytf /dev/ttyv6 /dev/ttywd
/dev/ttype /dev/ttyr5 /dev/ttys9 /dev/ttyu0 /dev/ttyv7 /dev/ttywe
/dev/ttypf /dev/ttyr6 /dev/ttysa /dev/ttyu1 /dev/ttyv8 /dev/ttywf
/dev/ttyq0 /dev/ttyr7 /dev/ttysb /dev/ttyu2 /dev/ttyv9
/dev/ttyq1 /dev/ttyr8 /dev/ttysc /dev/ttyu3 /dev/ttyva