Arduino IDE like serial monitor in the Raspberry Pi shell: Unterschied zwischen den Versionen
DCEM (Diskussion | Beiträge) |
DCEM (Diskussion | Beiträge) |
||
Zeile 13: | Zeile 13: | ||
'''serial.sh''' | '''serial.sh''' | ||
− | #!/bin/bash | + | <pre>#!/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 | 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 | sleep 1 | ||
tmux new-session -d './serial-in.sh' | tmux new-session -d './serial-in.sh' | ||
tmux split-window -v './serial-out.sh' | tmux split-window -v './serial-out.sh' | ||
− | tmux attach-session -d | + | tmux attach-session -d</pre> |
'''serial-out.sh''' | '''serial-out.sh''' |
Version vom 5. April 2014, 22:07 Uhr
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
#!/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.