Änderungen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche

Arduino IDE like serial monitor in the Raspberry Pi shell

1.885 Byte hinzugefügt, 20:04, 5. Apr. 2014
Die Seite wurde neu angelegt: „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. <pre>sudo nano /boot/cmdline.txt</pre>…“
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.

<pre>sudo nano /boot/cmdline.txt</pre>
Remove references to console=ttyAMA0,115200 and kgdboc=ttyAMA0,115200.
<pre>sudo nano /etc/inittab</pre>
Remove or comment the line T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100.
Reboot the system.
Source:[https://github.com/watterott/RPi-ShieldBridge/blob/master/docu/Arduino.md]

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'''
<pre>#!/bin/bash
while true
do
read a
echo "$a" > /dev/ttyAMA0
done</pre>

'''serial-in.sh'''
<pre>#!/bin/bash
while true
do
cat -A /dev/ttyAMA0|tr "^M$" " "
done</pre>






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.

<pre>stty -F /dev/ttyAMA0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts</pre>
'''Source:'''[http://playground.arduino.cc/Interfacing/LinuxTTY]


I use
<pre>cat -A /dev/ttyAMA0</pre>
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:
<pre>echo "$a" > /dev/ttyAMA0</pre>

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