I'm trying to run a process on my RPi that acts as a SerialPort echo: that is, simply log to a file every character it receives.
My RPi is connected to my Mac (or PC) by a USB>TTL cable. I confirmed the cable works by logging into the console via UART0, by using screen /dev/cu.usbserial
on my Mac.
The OS is Raspbian Jessie and I have disabled serial login using raspi-config
and removed the console arguments from /boot/cmdline.txt
. This works since I can no longer log in via screen
or putty
.
I figured before writing the Python/Perl/Node code to act as the echo, I'd test out the connection first using screen
.
The problem is, I assumed I could simply run screen /dev/tty1 9600
on my RPi, and then run screen /dev/cu.usbserial 9600
on my Mac (or COMx/9600 on PuTTY on my PC) and then both terminals would just echo to each other.
Both instances of screen
start (the ports are open), but neither one is echoing to the other.
What am I missing in terms of configuration on the PI, or misunderstanding about serial/UART communication?
Thanks in advance, PT
SOLUTION: Milliways and goldilocks pointed out that /dev/tty1
is a terminal. Once that was cleared up I saw that serial0
is a link to ttyAMA0
. However, neither of those worked. I had to go into /boot/config.txt
and fix this "enable_uart=0" to "enable_uart=1". Now screen
to screen
works with /dev/serial0
.
/dev/tty1
is a console, not a serial portdev/serial0
depends on which OS and which Pi. The Foundation has been fiddling with firmware, and disabling serial by default on some e.g. Pi3screen
. No luck. Thanks tho. If you can think of anything else I'm all ears.dev/serial0
exists then your problem is probably the connections. I have never usedscreen
on the Pi - it doesn't seem to exist on my Pi.