はじめに
Arduinoってめっちゃ便利ですよね!なくてはならない存在です。
Arduinoに書き込むソースを編集・アップロードするとき、通常だと、Arduino IDEを使うと思います。
このソフト、すごく良く出来ていて、本当に素晴らしいのですが、
Arduinoのためだけに立ち上げるのは面倒くさい とか、
Arduino IDEのエディタ、使いづらすぎぃ なんて思ってしまう自分もいるわけです。
そこで本記事では、コマンドラインからArduinoの.inoファイルを
- コンパイル
- アップロード
- シリアル通信
するときに便利なツールinoのダウンロードと使い方について書きたいと思います。
インストール
pipを使ってインストールする。
$ sudo pip install ino
尚、pipを行うには、Pythonの環境が必要となりますが、aptで手に入ります。
$ sudo apt-get install python -y
これでインストールは完了です。
使い方
- プロジェクトの生成
$ ino init
- ビルド
$ ino build
- 書き込み
$ ino upload
- シリアル通信
$ ino serial
尚、他にもコマンドあがるので、
$ ino -h
で確認しておきましょう。
例
ということで、さっそくやってみましょう。
$ mkdir ~/Document/ino_test/
$ cd ~/Document/ino_test/
$ ino init
以上のように適当なディレクトリを作り、その中でino init
コマンドを実行して、新規プロジェクトを作成しましょう。
すると、以下のような構成のファイルが自動生成されたはずです。確認してみましょう。
.
├── lib
└── src
└── sketch.ino
あとは、./src/sketch.ino
を編集し、ビルドや書き込みを行っていきます。
シリアル通信について
ino
はシリアル通信の表示に、picocom
というものを使用しています。aptで手に入るので、インストールしましょう。
$ sudo apt-get install picocom -y
基本的には、ino serial
コマンドで、シリアル通信を開始します。
その後、停止したくなったら、Ctrl-a Ctrl-k
で終了します。
応用
ここまでで、ちょっと待て、ボードとか、BAUDRATEが変わったらどうするんだ? と思った方、
もちろん、それらを指定することもできます。方法としては、
- コマンドオプションをつける
- 設定ファイルを作る
の2つがあります。
コマンドオプションをつける場合
まずは1.の場合から見て行きましょう。
例えば、ボードがArduino Mega2560、接続ポートが**/dev/ttyACM0**であるとすると、
$ ino build -m mega2560
$ ino upload -m mega2560 -p /dev/ttyACM1
$ ino serial -p /dev/ttyACM1
こんな感じで指定します。因みに、これらのオプションは-h
オプションをつければ確認できます。
さて、これでコマンドにオプションを指定して実行する方法がわかりました。
設定ファイルをつくる場合
続いて、2.のini.ino
に記述する方法をご紹介します
プロジェクトを作成したディレクトリに、ini.ino
というファイルを作成し、以下のように編集してください。
[build]
board-model = mega2560
[upload]
board-model = mega2560
serial-port = /dev/ttyACM1
[serial]
serial-port = /dev/ttyACM1
これは、先ほどと同様、ボードがArduino Mega2560、接続ポートが**/dev/ttyACM0**の場合の設定ファイルです。
board-modelとか、serial-portという変数名は、それぞれのコマンドのヘルプを参照すれば書いてあるやつです。(buildの場合は上記のヘルプの結果を見れば解ると思います。)
因みに、ファイル構造はこんなかんじです。
.
├── ini.ino
├── lib
└── src
└── sketch.ino
これで完了です。あとはビルドするなりなんなりすればOKです。
参考
http://kuroneko0208.hatenablog.com/entry/2014/04/19/014609
http://inotool.org/
動作環境
PC | Lenovo ThinkPad X240 |
Prosessor | Intel Core i7-4600U (2.10GHz, 4MB, 1600MHz) |
RAM | PC3-12800 DDR3L (8GB) |
OS | Ubuntu 14.04 LTS 64bit |
Kernel | 3.13.0-44-generic |
Gazebo | Version 5.0.1 |