Raspberry Pi と Arduino の連携 / Part 2

Kimio Kosaka

 


Raspberry Piは3,000円程の名刺サイズのパソコンです。このRaspberry Pi と Arduino を連携動作させてみます。

Raspberry PiにArduinoコマンドライン開発環境 ino をインストールします。

ここでは,Raspberry PiにOSとしてRaspbianがインストールされていることを前提にします。


ino とは

ino はinotool.orgが開発提供するArduino コマンドライン開発環境(ツールキット)で次の機能があります。

  1. プロジェクトの作成。
  2. 複数のソース・ファイルとライブラリからスケッチをビルド。
  3. スケッチをArduinoにアップロード。
  4. シリアルモニタ
【バグ】

現在提供されているinoツールには,datsuns氏のudon's blog「コマンドラインArduino環境の構築」に書かれているバグあります。

本書ではdatsuns氏のgithubリポジトリhttps://github.com/datsuns/inoからバグ対策済みのinoツールをインストールします。


インストール手順
  1. 準備
  2. Arduino IDE のインストール
  3. pipツールのインストール
  4. inoツールのインストール
  5. setserialのインストール (2013.02.25 追加)
  6. inoツールの使い方 (2013.02.25 追加)

1. 準備

  1. Raspbianのパッケージリストの更新

  2. インストール済みのパッケージをアップグレード


2. Arduino IDE のインストール

inoツールはArduino IDEのリソースを使いますので,まず,Arduino IDEをインストールします。

  1. 次のようにコマンド入力してインストールします。
    arduino-1.0.1(2013.02.24現在)がインストールされます。

  2. RaspbianのLXDE(X-windowデスクトップ)でLXTerminalを開き次のコマンドを入力しArduino IDEが起動し正しく動作する事を確認しておきます。


3. pipツールのインストール。

pipはgithubリポジトリからinoパッケージを簡単にインストールできるツールです。

  1. pipツールのインストール


  2. pipの起動確認。


4. inoツールのインストール。

  1. datsuns氏のgithub/datsus/inoリポジトリからinoツールをインストールします。


  2. inoツールの起動確認。


5. setserialのインストール。(2013.02.05追加)


6. inoツールの使い方 (2013.02.05追加)

例:Arduino UNO のデジタルピン13でLチカ。

  1. 準備
    • Raspberry Pi と Arduino UNO を USBで接続します。
    • setserialコマンドで Arduino UNO がつながっているシリアルポートを確認します。

    /dev/ttyACM0 がArduino UNOがつながっているポートです。

  2. プロジェクトの作成
    • プロジェクト用ディレクトリ(blink)を作成し
    • ディレクトリ(blink)に入り
    • プロジェクトをイニシャライズする

    イニシャライズするとプロジェクト・ディレクトリ配下に次のようなディレクトリとファイルが生成されます。



  3. ソースコード入力

    エディタ( vi や nano )を使ってソースコードを入力します。



  4. ビルド

    ino build -m ボード略称 でビルドします。エラー無くビルドが終ると firmware.hex が生成されます。

    ボード略称は ino list-models で一覧が表示されます。



  5. アップロード

    ino upload -m ボード略称 -p ポート名 でビルドしたスケッチをアップロードします。

  6. 設定ファイル

    blinkディレクリの直下に設定ファイル ino.ini を置き,次のように 「ボード略称」「ポート名」を記述しておけばビルドやアップロードのとき -m -p オプションを省略できます。




  7. 英文 Quick start tutorial

    http://inotool.org/quickstart



update 2013.02.25

upload 2013.02.24

CC BY-NC-SA