Arduino mit dem Raspberry programmieren

Der Arduino Controller auf dem Andino X1 lässt ich sowohl mit der Arduino IDE als auch mit dem Command-Line-Tool „INO“ flashen.
Mit „INO“ können Sketches sowohl erstellt als auch programmiert werden.

Vorbereitung

#
# erst einmal ein Update
#
sudo apt-get update
sudo apt-get upgrade

#
# Arduino runtime installieren (Compiler etc.)
#
sudo apt-get -y install arduino

#
# INO installieren (Commandline Tools für Arduino)
#
sudo apt-get -y install python-configobj python-jinja2 
sudo apt-get -y install python-serial python-setuptools 
sudo apt-get -y install python-pip minicom picocom
sudo pip install ino

#
# DTR Fix für den Arduino Bootloader (DTR auf GPIO)
#
wget  http://andino.systems/download/autoreset.zip
unzip autoreset.zip

sudo cp ./autoreset /usr/bin
sudo cp ./avrdude-autoreset /usr/bin
sudo mv /usr/bin/avrdude /usr/bin/avrdude-original
sudo chmod +x /usr/bin/avrdude-autoreset
sudo chmod +x /usr/bin/autoreset
sudo ln -s /usr/bin/avrdude-autoreset /usr/bin/avrdude

Konfiguration

Default für INO einstellen
sudo nano /etc/ino.ini

[build]
board-model=pro

[upload]
board-model=pro
serial-port=/dev/ttyAMA0

[serial]
serial-port=/dev/ttyAMA0

UART /dev/serial0 bzw. /dev/ttyAMA0 einschalten (enable_uart=1 am Ende einfügen und das neue Overlay laden)

sudo nano /boot/config.txt
# RASPI 3 UART
enable_uart=1
# Allow the normal UART pins to work
dtoverlay=pi3-disable-bt-overlay 
dtoverlay=pi3-miniuart-bt

Die Stelle „console=serial0,115200“ löschen (serial0 brauchen wir)

sudo nano /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 .....
dwc_otg.lpm_enable=0                                     root=/dev/mmcblk0p2 rootfstype=ext4 .....

Testen

Neues Projekt anlegen, erstellen und hochladen:

mkdir blink
cd blink
ino init -t blink
ino build
ino upload