【RaspberryPi】Arduino IDEをインストールする

本当はこれをやりたかったわけではないのだ!

f:id:ueponx:20200227174321p:plain

でもうまく行かなかった…ARMプロセッサーの処理系が近くにこれしかなかったのでこの作業をやってみてまとめました。 本当にやりたかったのはChromebookであるASUS Chromebook Flip C101PAにArduinoIDEをインストールすることでした。 そちらはまた、失敗談としてエントリーを書く予定ではあります。

とりあえずは目的と似たAMR処理系&LinuxであるRaspberryPiへArduino IDEをインストールしてみたいと思います。

インストールする環境

今回はRaspberryPi3Bと最新のBusterベースのRaspbianを使用します。

Raspbian Buster with desktop Image with desktop based on Debian Busteの2020/02/13のバージョンを使用する前提で行います。

Raspbianはこちらからダウンロードします。 (ファイル名:2020-02-13-raspbian-buster.zip

SDカードメモリに展開してOSを起動し、ネットワークに接続できるようにしておきます。このあたりは割とネット内の情報も充実していると思いますので、ググってもらったほうがいいかなと思います。

ArduinoIDEはXを使用するアプリケーションなので、起動時にはXが立ち上がるようにしておきましょう。

ArduinoIDEをダウンロードする

ArduinoIDEを公式サイトからダウンロードをします。今回は処理系がLinuxでARM32bitとなります。以下のコマンドで処理系を判別できると思いま…、ARM系しかわからなかった…。Raspbianは32bit処理系で大丈夫です。

$ uname -a
Linux raspberrypi 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l GNU/Linux

arduino.cc

ダウンロードを行うのはLinux ARM 32bitのバイナリとなります。【Linux ARM 32bits】をクリックして、

f:id:ueponx:20200227003837p:plain

次のページで【JUST DOWNLOAD】をクリックしてダウンロードします。(寄付しても良い方はそちらをお願いします。)

f:id:ueponx:20200227005748p:plain

インストールする

ダウンロードができたのであとはインストールになります。インストール先はホームディレクトリ配下でも問題はないと思いますが、 /optあたりがいいかなと思います。正直RaspberryPiなので、マルチユーザーで使用するなんてこともないので、どちらでもよいかなと思ってはいますが。

まずは事前準備としてaptをつかってxz-utilsパッケージをインストールしています。ダウンロードした圧縮ファイルがxz形式なので事前にインストールしているということになります。

sudo apt update
sudo apt install xz-utils 

そろそろ配布されているバイナリがtar.gzの圧縮ファイルっていうのも少なくなってきているのかも。念の為、Wikipediaさんのリンクをみると、メモリなどの資源は必要だけど圧縮率はいいということのようです。

ja.wikipedia.org

あとは展開していきます。展開場所は/optになるのでsudoは必須になります。展開後は、今後のバージョンアップなども考慮してlnコマンドでシンボリックリンクarduinoを作成して、そちらから触るようにします。 ディレクトリを移動後はsudo ./installでシステム的なインストール、./install(sudoなし)でユーザ側の設定を行います。エラーが結構でますが、気にしなくても大丈夫そうです。

sudo tar -C /opt -xf arduino-1.8.12-linuxarm.tar.xz 
cd /opt/
sudo ln -s arduino-1.8.12 arduino
cd arduino
sudo ./install.sh 
./install.sh 

インストール作業が完了するとXのデスクトップにarduinoのアイコンが作成されます。

f:id:ueponx:20200227004902p:plain

メニューバーのプログラミングのカテゴリーにもarduinoのアイコンが追加されています。

f:id:ueponx:20200227194810p:plain

どちらをクリックしても起動できます。 クリックするとスプラッシュスクリーンが表示されます。

f:id:ueponx:20200227004926p:plain

その後、スケッチのウインドウが開きます。

f:id:ueponx:20200227194553p:plain

あとは、USBポートにArduinoSeeedinoを接続します。するとメニューの【ツール】→【シリアルポート】に候補として/dev/ttyACM0などが現れてくるので選択します。(/dev/ttyAMA0は使用しないように)

f:id:ueponx:20200227194529p:plain

【ツール】→【ボード情報を取得】で接続されたボードの情報をみることができるので覗いてみると

  • Arduino UNOの場合

f:id:ueponx:20200227005432p:plain

  • Seeeduinoの場合

f:id:ueponx:20200227005423p:plain

というような感じで接続を確認できます。確認できるといってもSeeedinoの場合には微妙な感じもしますが。あとは、スケッチをコンパイルしてボードにアップロードしていきます。

特に変わった点はないので、通常の使用で大丈夫かなと思います。

コンパイルf:id:ueponx:20200227194355p:plain

【アップロード】 f:id:ueponx:20200227194326p:plain

気になるディレクトリ関連

基本的には、Arduino IDEが問題なくインストールされただけのことですが、少し気になったのはディレクトリがどんな風につかわれるかでしょうか。

  • Arduino IDEの設定ファイル、ボードマネージャでインストールした追加ボードのファイルは ~/.arduino15に格納される
  • Arduino IDE付属のサンプルスケッチは~/Aplications/arduino/exampleディレクトリに格納される
  • Arduino IDE付属のライブラリは~/Aplications/arduino/librariesディレクトリに格納される
  • 自分で作ったスケッチは~/Arduinoディレクトリに保存される
  • Arduino IDEのライブラリマネージャでインストールしたライブラリは~/Arduino/librariesディレクトリに格納される

こんなところでしょうか。これぐらいわかっているとちょっと安心できると思います。

おわりに

わりとあっさりとインストールできます。aptでインストールされるものは割と古めのバージョンがインストールされるので、手動でも難しくないのでこちらのほうがオススメです。

自分もChromebookArduino IDEをインストールしようかなと思っていましたが、ここまであっさりとインストールできるので、インストールされたRaspberryPi を持ち運んでリモートデスクトップ経由で開発してもいいのかもなあと思ったりもします。電源やWiFiなどに関しては少しハードルは上がりますが、ハッカソンなどのイベントではRaspberryPiもArduinoもどうせ(?)持っていくものなので持ち運ぶのは、ありかといえばありだと思います。

とはいえ本当はChromebook単体で開発できるといいんだけどなあ。Arduino Createの月100円が払えない…