Tente usar socat
.
Dependendo das permissões, você pode ter que executá-lo como root.
Abaixo está um exemplo de como gravar a transmissão entre picocom
e um pyboard usando uma conexão serial via USB no FreeBSD.
Socat é iniciado (como root) assim:
socat -d -v -x PTY,link=/tmp/serial,wait-slave,rawer \
/dev/cuaU0,rawer > & socat.txt
E o picocom é iniciado (também como root) assim:
# picocom /tmp/serial
Parte do conteúdo de socat.txt
. Os dados do painel são precedidos por "<", o que eu digito é precedido por ">"
< 2017/10/01 15:37:57.488955 length=48 from=0 to=47
2e 32 20 6f 6e 20 32 30 31 37 2d 30 38 2d 32 33 .2 on 2017-08-23
3b 20 50 59 42 76 31 2e 31 20 77 69 74 68 20 53 ; PYBv1.1 with S
54 4d 33 32 46 34 30 35 52 47 0d 0a TM32F405RG..
54 79 70 65 Type
--
> 2017/10/01 15:38:01.181435 length=1 from=0 to=0
0d .
--
< 2017/10/01 15:38:01.247992 length=37 from=48 to=84
20 22 68 65 6c 70 28 29 22 20 66 6f 72 20 6d 6f "help()" for mo
72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0d re information..
0a .
3e 3e 3e 20 >>>
--
> 2017/10/01 15:38:05.413958 length=1 from=1 to=1
68 h
--
< 2017/10/01 15:38:05.416064 length=6 from=85 to=90
0d 0a ..
3e 3e 3e 20 >>>
--
> 2017/10/01 15:38:06.290046 length=1 from=2 to=2
65 e
--
< 2017/10/01 15:38:06.292079 length=1 from=91 to=91
68 h
--
> 2017/10/01 15:38:06.579576 length=1 from=3 to=3
6c l
--
< 2017/10/01 15:38:06.581082 length=1 from=92 to=92
65 e
--
> 2017/10/01 15:38:06.816570 length=1 from=4 to=4
70 p
--