Arduino勉強会/0A-MacOSXへのinoのインストールと使い方
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[Arduino勉強会]]
#contents
2014/07/06からのアクセス回数 &counter;
** 動機 [#y03b5430]
Arduino勉強会では、目の不自由な方も参加されており、コマン...
コンパイルとアップロードができるようにしたいのとの要望が...
調べたところ、Arduinoにコマンドラインでプログラム、書込が...
以下のサイトに見つかりました。
- http://inotool.org/
*** inoに必要なもの [#s158fc1f]
最新のinoのバージョンは、0.3.6で、
GitHubで公開されており、pythonのeasy_installを使って簡単...
することができます。
inoを使うのに必要なものは、以下の3つです。
- Python 2.6以降
- Arduino IDE
- picocom (シリアル通信ソフト)
現在inoがサポートしているOSは、以下の2つです。
- Linux
- MacOSX
** MacPortsを使ってMacOSXにInoをインストール [#w4f47eed]
私は、MacPortsを使って必要なソフトをインストールしていま...
((以下では、Arduino IDEとドライバーが動いているとして説明...
MacPortsを使わない場合には、以下のサイトを参考にしてくだ...
- [[ino使うとCUIでArduinoをビルドできて便利>http://shokai...
MacPortsの開発には、アップルの提供しているXCodeが必要です。
以下のサイトからMacPortsの最新をダウンロードしてインスト...
- http://www.macports.org/
Xcodeのインストールは、MacApp Storeからダウンロードしてく...
- [[Xcode>https://itunes.apple.com/us/app/xcode/id4977998...
コマンドラインツールのインストールには、Xcodeの
- Xcode-> Open DeveloperTool -> More Developer Tools… を...
- Auxiliary Tools for Xcodeを選択し、Downloads for Apple ...
*** Python2.7のインストール [#r578e4ed]
以下の作業は、アプリケーション/ユーティリティ/ターミナル...
Pythonは、いろいろなバージョンが使われており、ここでは古...
python2.7を使います。
#pre{{
$ sudo port install python27
}}
*** picocomのインストール [#wfa285bc]
同様にpicocomをインストールします。
#pre{{
$ sudo port install picocom
}}
*** inoのインストール [#if8a4708]
inoのインストールは、easy_installを使って行います。python...
easy_install-2.7で以下の様にインストールします。
$pre{{
$ sudo /opt/local/bin/easy_install-2.7 ino
}}
** inoの使い方 [#j79b273e]
*** プロジェクトの作成 [#qf947471]
新しいスケッチを作成するために、プロジェクト用のディレク...
テンプレートからスケッチのひな形を作成します。
用意されているテンプレートは、以下の2つです。
- blink : Basic01のBlinkと同じスケッチがひな形として作成...
- empty : 空のsetupとloopが作成されます。
早速プロジェクトをつくってみましょう。
#pre{{
$ mkdir test
$ cd test
$ ino init -t blink
}}
blinkテンプレートを使ってinoのinitコマンドを実行すると
以下の様にsrc, libのディレクトリが作成され、srcの下にsket...
が作成されます。
#pre{{
$ ls -R
libsrc
./lib:
./src:
sketch.ino
}}
sketch.inoの中身は、以下の様になっています。
#pre{{
$ cat src/sketch.ino
#define LED_PIN 13
void setup()
{
pinMode(LED_PIN, OUTPUT);
}
void loop()
{
digitalWrite(LED_PIN, HIGH);
delay(100);
digitalWrite(LED_PIN, LOW);
delay(900);
}
}}
*** スケッチのビルド [#f49f5b06]
Arduino IDEでも最初にすることは、ボードの選択ですが、ino...
同様です。
inoのデフォルトボードは、unoですが、それ以外のボードを使...
には、list-modelsコマンドで使用するボードに対応するモデル...
#pre{{
$ ino list-models
Searching for Board description file (boards.txt) ... /Ap...
uno: [DEFAULT] Arduino Uno
atmega328: Arduino Duemilanove w/ ATmega328
diecimila: Arduino Diecimila or Duemilanove w/ ATmega168
nano328: Arduino Nano w/ ATmega328
nano: Arduino Nano w/ ATmega168
mega2560: Arduino Mega 2560 or Mega ADK
mega: Arduino Mega (ATmega1280)
leonardo: Arduino Leonardo
esplora: Arduino Esplora
micro: Arduino Micro
mini328: Arduino Mini w/ ATmega328
mini: Arduino Mini w/ ATmega168
ethernet: Arduino Ethernet
fio: Arduino Fio
bt328: Arduino BT w/ ATmega328
bt: Arduino BT w/ ATmega168
LilyPadUSB: LilyPad Arduino USB
lilypad328: LilyPad Arduino w/ ATmega328
lilypad: LilyPad Arduino w/ ATmega168
pro5v328: Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATm...
pro5v: Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATm...
pro328: Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ AT...
pro: Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ AT...
atmega168: Arduino NG or older w/ ATmega168
atmega8: Arduino NG or older w/ ATmega8
robotControl: Arduino Robot Control
robotMotor: Arduino Robot Motor
}}
私は、Arduino Duemilanoveを使っているので、atmega328がボ...
を表すモデル名となります。
以下のコマンドでビルドを実行します。
#pre{{
$ ino build -m atmega328
Searching for Board description file (boards.txt) ... /Ap...
途中省略
arduino/WString.cpp
Linking libarduino.a
Linking firmware.elf
Converting to firmware.hex
}}
エラーも無くビルドが終了しました。
しかし、lsコマンドでみても何も変わったものはありません。
#pre{{
$ ls
lib src
}}
ビルドコマンド作成されたファイルは、見えないディレクトリ....
#pre{{
$ ls .build/atmega328/
Makefile Makefile.sketch firmware.elf src
Makefile.deps arduino firmware.hex
}}
Arduinoに書き込むのは、firmware.hexファイルです。
*** スケッチの書き込み [#sd268953]
スケッチの書込には、uploadコマンドを使います。
#pre{{
$ ino upload -m atmega328
Searching for stty ... /bin/stty
途中省略
Writing | ###############################################...
avrdude: 1076 bytes of flash written
avrdude: verifying flash memory against .build/atmega328/...
avrdude: load data flash data from input file .build/atme...
avrdude: input file .build/atmega328/firmware.hex contain...
avrdude: reading on-chip flash data:
Reading | ###############################################...
avrdude: verifying ...
avrdude: 1076 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
}}
無事書き込みが終了すると、ボードのLEDが点滅します。
*** 設定ファイル [#w52d46c5]
buildやupload時にモデル名を設定するのは面倒です。
プロジェクトファイルにino.ini、あるいはホームディレクトリ...
以下のようにモデル名やシリアルポートをセットすることがで...
#pre{{
$ cat ino.ini
[build]
board-model = atmega328
[upload]
board-model = atmega328
serial-port = /dev/tty.usbserial-A7006T8Y
[serial]
serial-port = /dev/tty.usbserial-A7006T8Y
}}
これで、単にbuild, uploadとコマンドを入力するだけで済みま...
#pre{{
$ ino build
}}
*** シリアル通信 [#p446859d]
inoでは、Arduino IDEのシリアルモニターの代わりにserialコ...
Quick startに習って、スケッチを以下の様に変更します。
#pre{{
$ cat src/sketch.ino
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(millis());
delay(1000);
}
}}
ビルドして、serialコマンドを実行すると以下の様に出力され...
途中で止める時には、Ctrl-A, Ctrl-Xを入力します。
#pre{{
$ ino build
出力省略
$ ino upload
出力省略
$ ino serial
Searching for Serial monitor (picocom) ... /opt/local/bin...
picocom v1.7
port is : /dev/tty.usbserial-A7006T8Y
flowcontrol : none
baudrate is : 9600
parity is : none
databits are : 8
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
nolock is : yes
send_cmd is : sz -vv
receive_cmd is : rz -vv
imap is :
omap is :
emap is : crcrlf,delbs,
Terminal ready
0
999
1999
3000
4000
5000
ここで、Ctrl-A Ctrl-Xを入力して停止
Thanks for using picocom
}}
** コメント [#r80ec190]
#vote(おもしろかった[1],そうでもない[0],わかりずらい[1])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
- ino.iniの定義でuploadのserial-port設定が間違っていまし...
#comment_kcaptcha
終了行:
[[Arduino勉強会]]
#contents
2014/07/06からのアクセス回数 &counter;
** 動機 [#y03b5430]
Arduino勉強会では、目の不自由な方も参加されており、コマン...
コンパイルとアップロードができるようにしたいのとの要望が...
調べたところ、Arduinoにコマンドラインでプログラム、書込が...
以下のサイトに見つかりました。
- http://inotool.org/
*** inoに必要なもの [#s158fc1f]
最新のinoのバージョンは、0.3.6で、
GitHubで公開されており、pythonのeasy_installを使って簡単...
することができます。
inoを使うのに必要なものは、以下の3つです。
- Python 2.6以降
- Arduino IDE
- picocom (シリアル通信ソフト)
現在inoがサポートしているOSは、以下の2つです。
- Linux
- MacOSX
** MacPortsを使ってMacOSXにInoをインストール [#w4f47eed]
私は、MacPortsを使って必要なソフトをインストールしていま...
((以下では、Arduino IDEとドライバーが動いているとして説明...
MacPortsを使わない場合には、以下のサイトを参考にしてくだ...
- [[ino使うとCUIでArduinoをビルドできて便利>http://shokai...
MacPortsの開発には、アップルの提供しているXCodeが必要です。
以下のサイトからMacPortsの最新をダウンロードしてインスト...
- http://www.macports.org/
Xcodeのインストールは、MacApp Storeからダウンロードしてく...
- [[Xcode>https://itunes.apple.com/us/app/xcode/id4977998...
コマンドラインツールのインストールには、Xcodeの
- Xcode-> Open DeveloperTool -> More Developer Tools… を...
- Auxiliary Tools for Xcodeを選択し、Downloads for Apple ...
*** Python2.7のインストール [#r578e4ed]
以下の作業は、アプリケーション/ユーティリティ/ターミナル...
Pythonは、いろいろなバージョンが使われており、ここでは古...
python2.7を使います。
#pre{{
$ sudo port install python27
}}
*** picocomのインストール [#wfa285bc]
同様にpicocomをインストールします。
#pre{{
$ sudo port install picocom
}}
*** inoのインストール [#if8a4708]
inoのインストールは、easy_installを使って行います。python...
easy_install-2.7で以下の様にインストールします。
$pre{{
$ sudo /opt/local/bin/easy_install-2.7 ino
}}
** inoの使い方 [#j79b273e]
*** プロジェクトの作成 [#qf947471]
新しいスケッチを作成するために、プロジェクト用のディレク...
テンプレートからスケッチのひな形を作成します。
用意されているテンプレートは、以下の2つです。
- blink : Basic01のBlinkと同じスケッチがひな形として作成...
- empty : 空のsetupとloopが作成されます。
早速プロジェクトをつくってみましょう。
#pre{{
$ mkdir test
$ cd test
$ ino init -t blink
}}
blinkテンプレートを使ってinoのinitコマンドを実行すると
以下の様にsrc, libのディレクトリが作成され、srcの下にsket...
が作成されます。
#pre{{
$ ls -R
libsrc
./lib:
./src:
sketch.ino
}}
sketch.inoの中身は、以下の様になっています。
#pre{{
$ cat src/sketch.ino
#define LED_PIN 13
void setup()
{
pinMode(LED_PIN, OUTPUT);
}
void loop()
{
digitalWrite(LED_PIN, HIGH);
delay(100);
digitalWrite(LED_PIN, LOW);
delay(900);
}
}}
*** スケッチのビルド [#f49f5b06]
Arduino IDEでも最初にすることは、ボードの選択ですが、ino...
同様です。
inoのデフォルトボードは、unoですが、それ以外のボードを使...
には、list-modelsコマンドで使用するボードに対応するモデル...
#pre{{
$ ino list-models
Searching for Board description file (boards.txt) ... /Ap...
uno: [DEFAULT] Arduino Uno
atmega328: Arduino Duemilanove w/ ATmega328
diecimila: Arduino Diecimila or Duemilanove w/ ATmega168
nano328: Arduino Nano w/ ATmega328
nano: Arduino Nano w/ ATmega168
mega2560: Arduino Mega 2560 or Mega ADK
mega: Arduino Mega (ATmega1280)
leonardo: Arduino Leonardo
esplora: Arduino Esplora
micro: Arduino Micro
mini328: Arduino Mini w/ ATmega328
mini: Arduino Mini w/ ATmega168
ethernet: Arduino Ethernet
fio: Arduino Fio
bt328: Arduino BT w/ ATmega328
bt: Arduino BT w/ ATmega168
LilyPadUSB: LilyPad Arduino USB
lilypad328: LilyPad Arduino w/ ATmega328
lilypad: LilyPad Arduino w/ ATmega168
pro5v328: Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATm...
pro5v: Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATm...
pro328: Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ AT...
pro: Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ AT...
atmega168: Arduino NG or older w/ ATmega168
atmega8: Arduino NG or older w/ ATmega8
robotControl: Arduino Robot Control
robotMotor: Arduino Robot Motor
}}
私は、Arduino Duemilanoveを使っているので、atmega328がボ...
を表すモデル名となります。
以下のコマンドでビルドを実行します。
#pre{{
$ ino build -m atmega328
Searching for Board description file (boards.txt) ... /Ap...
途中省略
arduino/WString.cpp
Linking libarduino.a
Linking firmware.elf
Converting to firmware.hex
}}
エラーも無くビルドが終了しました。
しかし、lsコマンドでみても何も変わったものはありません。
#pre{{
$ ls
lib src
}}
ビルドコマンド作成されたファイルは、見えないディレクトリ....
#pre{{
$ ls .build/atmega328/
Makefile Makefile.sketch firmware.elf src
Makefile.deps arduino firmware.hex
}}
Arduinoに書き込むのは、firmware.hexファイルです。
*** スケッチの書き込み [#sd268953]
スケッチの書込には、uploadコマンドを使います。
#pre{{
$ ino upload -m atmega328
Searching for stty ... /bin/stty
途中省略
Writing | ###############################################...
avrdude: 1076 bytes of flash written
avrdude: verifying flash memory against .build/atmega328/...
avrdude: load data flash data from input file .build/atme...
avrdude: input file .build/atmega328/firmware.hex contain...
avrdude: reading on-chip flash data:
Reading | ###############################################...
avrdude: verifying ...
avrdude: 1076 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
}}
無事書き込みが終了すると、ボードのLEDが点滅します。
*** 設定ファイル [#w52d46c5]
buildやupload時にモデル名を設定するのは面倒です。
プロジェクトファイルにino.ini、あるいはホームディレクトリ...
以下のようにモデル名やシリアルポートをセットすることがで...
#pre{{
$ cat ino.ini
[build]
board-model = atmega328
[upload]
board-model = atmega328
serial-port = /dev/tty.usbserial-A7006T8Y
[serial]
serial-port = /dev/tty.usbserial-A7006T8Y
}}
これで、単にbuild, uploadとコマンドを入力するだけで済みま...
#pre{{
$ ino build
}}
*** シリアル通信 [#p446859d]
inoでは、Arduino IDEのシリアルモニターの代わりにserialコ...
Quick startに習って、スケッチを以下の様に変更します。
#pre{{
$ cat src/sketch.ino
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(millis());
delay(1000);
}
}}
ビルドして、serialコマンドを実行すると以下の様に出力され...
途中で止める時には、Ctrl-A, Ctrl-Xを入力します。
#pre{{
$ ino build
出力省略
$ ino upload
出力省略
$ ino serial
Searching for Serial monitor (picocom) ... /opt/local/bin...
picocom v1.7
port is : /dev/tty.usbserial-A7006T8Y
flowcontrol : none
baudrate is : 9600
parity is : none
databits are : 8
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
nolock is : yes
send_cmd is : sz -vv
receive_cmd is : rz -vv
imap is :
omap is :
emap is : crcrlf,delbs,
Terminal ready
0
999
1999
3000
4000
5000
ここで、Ctrl-A Ctrl-Xを入力して停止
Thanks for using picocom
}}
** コメント [#r80ec190]
#vote(おもしろかった[1],そうでもない[0],わかりずらい[1])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
- ino.iniの定義でuploadのserial-port設定が間違っていまし...
#comment_kcaptcha
ページ名:
SmartDoc