最新版のArduino IDE 1.8.x はARM版が提供されており
簡単にインストールできます。
Raspberry Pi とArduinoの連携動作を試行しています。Rasbianでは apt-get でインストールできるArduino IDEは1.0.1と古いので1.0.x系の最終版1.0.6を使用できるようにして見ました。
手順概要
- Rasbian用Arduino IDE 1.0.1 をインストールする。
- Arduino IDE 1.0.6 Linux 64bit版をダウンロードする。
- 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 が起動します。
[蛇足]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