Arduino IDE like serial monitor in the Raspberry Pi shell

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

If you want to be able to use the Serial Port of the Raspberry Pi you will have to disable the Linux serial console first.

sudo nano /boot/cmdline.txt

Remove references to console: =ttyAMA0,115200 and kgdboc=ttyAMA0,115200

sudo nano /etc/inittab

Remove or comment the line: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Reboot the system.

Source:[1]

Then I run the serial.sh script (you need all three for this to work)

serial.sh

  1. !/bin/bash

stty -F /dev/ttyAMA0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts sleep 1 tmux new-session -d './serial-in.sh' tmux split-window -v './serial-out.sh' tmux attach-session -d

serial-out.sh

#!/bin/bash
while true
do
	read a
	echo "$a" > /dev/ttyAMA0
done

serial-in.sh

#!/bin/bash
while true
do
        cat -A /dev/ttyAMA0|tr "^M$" " "
done




For serial communication with an Arduino I wanted a Arduino IDE like serial monitor in the Raspberry Pi shell. Since I could not a find a terminal that did support “line mode” I found another workaround. It’s a quite simplistic approach.

stty -F /dev/ttyAMA0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts

Source:[2]


I use

cat -A /dev/ttyAMA0

to listen to the serial port. Unfortunately there are some unwanted characters at the end of a line. I’m not sure why, but I just replaced them with a space. (That way they just do not any me anymore)

To get data to the Serial port I use:

echo "$a" > /dev/ttyAMA0

I use tmux split screen to be able to see both at the same time.