最新版のArduino IDE 1.8.x はARM版が提供されており
簡単にインストールできます

Raspberry Pi とArduinoの連携動作を試行しています。Rasbianでは apt-get でインストールできるArduino IDEは1.0.1と古いので1.0.x系の最終版1.0.6を使用できるようにして見ました。

手順概要
  1. Rasbian用Arduino IDE 1.0.1 をインストールする。
  2. Arduino IDE 1.0.6 Linux 64bit版をダウンロードする。
  3. Arduino IDE 1.0.6 Linux64をRasbian用にファイルを組み替える
Rasbian用Arduino IDE 1.0.1 のインストール
$ sudo apt-get install arduino
Arduino IDE 1.0.6 Linux64ダウンロード・展開
$ wget http://arduino.cc/download.php?f=/arduino-1.0.6-linux64.tgz -O arduino-1.0.6-linux64

$ tar zxvf arduino-1.0.6-linux64.tgz
ファイルの改編
$ cd /usr/share
$ mv arduino arduino-1.0.1
$ cd ~/arduino-1.0.6/lib/
$ rm librxtxSerial*
$ ln -s /usr/share/java/RXTXcomm.jar ./
$ cd ~/arduino-1.0.6/hardware/tools/
$ cp -adf /usr/share/arduino-1.0.1/hardware/tools/avrdude* ./
$ cd ./avr 
$ rm -R bin*
$ rm -R lib
$ cd ~
$ sudo mv arduino-1.0.6 /usr/share/
$ cd /usr/share/
$ sudo ln -s arduino-1.0.6 arduino

1-2行目 インストールした arduino を arduino-1.0.1 と名前変更します。
3-4行目 展開した arduino-1.0.6/lib/ 配下の librxtxSerial.so librxtxSerial64.so を削除して,
5行目  /usr/share/java/RXTXcomm.jar のシンボリックリンクを置きます。
6行目 arduino-1.0.6/hardware/tools/ 配下の avrdude avrdude.conf を1.0.1のものに置き換えます。1.0.1のavrdude,avrdude.confはシンボリックリンクで,それぞれ/usr/bin/avrdude, /etc/avrdude.confにリンクが張られています。
7行目 arduino-1.0.6/hardware/tools/avr/ 配下の bin, bin-gcc, lib フォルダを削除します。
8-11行目 管理者権限でarduino-1.0.6フォルダを/usr/share/配下に移動し,arduino にシンボリックリンクを張ります。

Arduino IDE 1.0.6 の起動

上記のファイル改編操作によってArduino IDE は 1.0.6 に差し替えられているので
[Menu] –> [プログラミング] –> [Arduino IDE]
で Arduino IDE 1.0.6 が起動します。

Arduino IDE 1.0.6 on Rasbian

[蛇足]java, avr-gcc, avrdude の在処

Arduino IDE はjavaで書かれているのでjavaのランタイムが必要です。arduinoスケッチをコンパイルするにはavr-gcc,書き込みにはavrdudeが必要です。これらが何処に収容されているか探ります。

avr-gcc, avrdude

$ whereis avr-gcc
avr-gcc: /usr/bin/avr-gcc /usr/bin/X11/avr-gcc
$ whereis avrdude
avrdude: /usr/bin/avrdude /etc/avrdude.conf /usr/bin/X11/avrdude /usr/share/man/man1/avrdude.1.gz

javaは多段シンボリックリンクです。

$ whereis java
java: /usr/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz

$ ls -l /usr/bin/ |grep java
lrwxrwxrwx 1 root root 22 1月 1 1970 java -> /etc/alternatives/java
lrwxrwxrwx 1 root root 23 1月 1 1970 javac -> /etc/alternatives/javac
lrwxrwxrwx 1 root root 25 1月 1 1970 javadoc -> /etc/alternatives/javadoc
lrwxrwxrwx 1 root root 23 1月 1 1970 javah -> /etc/alternatives/javah
lrwxrwxrwx 1 root root 23 1月 1 1970 javap -> /etc/alternatives/javap

$ ls -l /etc/alternatives/ |grep java
lrwxrwxrwx 1 root root 51 1月 1 1970 java -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/jre/bin/java
lrwxrwxrwx 1 root root 57 1月 1 1970 java.1.gz -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/man/man1/java.1.gz
lrwxrwxrwx 1 root root 48 1月 1 1970 javac -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/bin/javac
lrwxrwxrwx 1 root root 58 1月 1 1970 javac.1.gz -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/man/man1/javac.1.gz
lrwxrwxrwx 1 root root 50 1月 1 1970 javadoc -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/bin/javadoc
lrwxrwxrwx 1 root root 60 1月 1 1970 javadoc.1.gz -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/man/man1/javadoc.1.gz
lrwxrwxrwx 1 root root 48 1月 1 1970 javah -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/bin/javah
lrwxrwxrwx 1 root root 58 1月 1 1970 javah.1.gz -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/man/man1/javah.1.gz
lrwxrwxrwx 1 root root 48 1月 1 1970 javap -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/bin/javap
lrwxrwxrwx 1 root root 58 1月 1 1970 javap.1.gz -> /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/man/man1/javap.1.gz

$ ls -l /usr/lib/jvm/jdk-8-oracle-arm-vfp-hflt/bin/ |grep java
-rwxr-xr-x 1 root root 5912 3月 5 2014 java
-rwxr-xr-x 1 root root 1809 3月 5 2014 java-rmi.cgi
-rwxr-xr-x 1 root root 6091 3月 5 2014 javac
-rwxr-xr-x 1 root root 6095 3月 5 2014 javadoc
-rwxr-xr-x 1 root root 6091 3月 5 2014 javah
-rwxr-xr-x 1 root root 6091 3月 5 2014 javap

 

Follow me!