Ino コマンドラインからArduinoのスケッチをビルドとアップロードするツール―その2


今回は、Inoを用いてスケッチをビルドし、アップロードを行ってみたいと思う。
まず、IDEで同様のことを行うときに、どのようなファイルが生成するのかを見てみたいと思う。

まず、以下のようにプログラムを書いて、ファイルを適当なディレクトリに保存
#このとき生成したファイルを調べる
$ ls /Users/kappa/Documents/1403/Blinking_LED/
Blinking_LED.ino

arduinoのスケッチは.inoという拡張子のファイルがその実体のようである。

ならば、vimで編集した.inoのファイルをinoを用いてビルドすることが可能なはず。
まずは、適当にディレクトリを作って、その中にvimでスクラッチを作成。


それではビルドを行う。まずはボード指定。どのようなボードが登録されているか確認。デフォルトがUnoになっているので、特にいじらなくてよさそう。
$ ino list-models

万が一Uno以外のものであれば、-mのオプションをつけて、ボードの種類を指定すればよい。
例: ino build -m nano  

それでは実際にビルドを行う。

おっと、プロジェクトがないと言っている。インターネットで調べたところ、プロジェクトというもの(実体はディレクトリの集合)を作成しなくてはならないようだ。

それでは気をとりなおして、カレントディレクトリを空にした後に、ino initを入力。

ここで、先ほどBlinking_LED.inoを作成。
プロジェクトのルートディレクトリにおいて、以下のコマンドを実行。
$ ino build

かなり長いログがでたということは、それだけ様々な処理をやってくれている証拠。頼もしい。
ビルドして、生成したファイルは.build以下に存在する。
$ ls -al

最終的なビルドによる成果物は、ビルドのログの一番最後に出てくるfirmware.hexであろう。
このファイルは、Blinking_LED_Ino/.build/uno以下に存在する。


最後に、arduinoにアップロードを試みる。
$ ino upload

無事、基板上のLEDが点滅した。


IDEと違い、慣れ親しんだコマンド上で様々な作業ができる点はとても良い。IDEを使っていて、遮蔽された感じがいやだったが、このツールも結局はsrcディレクトリにスケッチをおいて、ドキュメントルートでino init, ino build, ino uploadとコマンドを三回うつだけだ。その意味ではIDEとやっていることに大差はないが、生成してくるファイルをlinuxコマンドで逐一確認できる点は学習効果が高いように感じる。

参考文献にはシリアル通信についても記述があるので、参考にしていずれやってみたいと思う。

【参考文献】
Massimo Banzi (著), 船田 巧 (翻訳)『Arduinoをはじめよう 第2版』2012