1.概要
javascript(node.js)で書かれたコマンドラインarduino開発環境(avr-pizza + avrgirl-arduino)をインストールします。
作者のSuz Hinton氏(@noopkat)は私の娘(@kosamari)の友人でニューヨーク・ブルックリン在住です。現在はシアトルに在住。ハードウエアとWeb技術に精通し,O’raillyのJavaScript Roboticsの共同執筆者です(Chapter.14 Meow Shoes)
Suz Hinton氏のWebサイト http://noopkat.com/
2016年10月にMakerFaire New Yorkの出展のため遠征したときに、ご本人にお会いしました。そのときにjavascript(node.js)でavr開発環境が制作中であることを聞きました。
avrgirl
avrdudeが使いにくい,修正案を伝えようにもavrdudeの開発形態が複雑怪奇…なので,avrdudeに変わるavrプログラマ(ライタ)を作りました。男(dude)に対して女子(girl)ということでavrgirlという名にしました。とお茶目です。
avrgirlはarduino.ccのクラウド開発環境にも組み込まれているそうです。
avr-pizza
avr-pizza はクラウド・コンパイラのフロントエンドです。オプションの設定によりローカルにインストールされたArduino IDEのコンパイラを利用することも可能です。
avr-pizzaと連動して働くクラウド・コンパイラもSuz氏によりMicrosoft-Azure上に構築されています。
avr-pizza, avrgirl-arduinoはnode.jsのライブラリとして提供されており,それぞれに動作を確認するためのコマンドライン・アプリケーションが付属しています。
参考
2019年09月 Suz氏は「avrgirl working with new browser Serial API!!」(https://www.youtube.com/watch?v=od5Ro72O0aM)を実験され、この開発環境がwebブラウザのGUIで操作出来るように開発が進んでいるようです。
ここでは、コマンドラインアプリをRaspberry Pi(raspbian), Linux, Mac にインストールし稼働させます。
2. avr-pizza,avrgirlの環境構築(対象:Raspberry Pi, Linux, Mac)
- node.js
avr-pizza,avrgirlはnode.js環境で稼働します。- インストール
node.jsのインストール方法はwebにたくさんあります。自分の環境に適した方法でインストールします。こちらのnvmを用いた方法は少し手間がかかりますがRaspberry Pi, Linux, Mac に対応しnode.jsのバージョン管理が容易にできます。 - 動作テスト
次のようにコマンド入力してnodeとnpmから応答があれば正しくインストールされています。$ node -v v6.10.0 $ npm -v 3.10.10
- インストール
- avrgirl-arduino(AVRプログラマ・ソフト Arduino用)
- インストール
次のようにコマンド入力しインストールします。$ npm install -g avrgirl-arduino
- 動作テスト
次のコマンド入力でヘルプメッセージの応答があれば正しくインストールできています。$ avrgirl-arduino help Usage: avrgirl-arduino flash -f <file> -a <arduino name> [-p <port>] [-v] avrgirl-arduino boards avrgirl-arduino list avrgirl-arduino test-pilot
- インストール
- avr-pizza(コンパイラ フロントエンド)
- インストール
次のようにコマンド入力しインストールします。$ npm install -g avr-pizza
- 動作テスト
次のコマンド入力でヘルプメッセージの応答があれば正しくインストールできています。$ avr-pizza help Usage: avrpizza compile -s <sketch filepath> -l <library dirpath> -a <arduino name> [-o <output path> -b <local ide path>] avrpizza help
- インストール
- コンパイルとhexの書き込み
- クラウドでコンパイル
ファイル名blink.inoで保存したD13のLチカスケッチをArduino UNO向けでコンパイルします。$ avr-pizza compile -s blink.ino -a uno $ ls blink.ino blink.ino.hex
コンパイルが成功すると.hexファイルが生成されます。
- hexの書き込み
$ avrgirl-arduino flash -f blink.ino.hex -a uno
Arduino UNOのシリアルポートは自動識別します
- シリアルポートを調べて明示的に指定して書込む場合
$ avrgirl-arduino list [ { comName: '/dev/cu.Bluetooth-Incoming-Port', manufacturer: undefined, serialNumber: undefined, pnpId: undefined, locationId: undefined, vendorId: undefined, productId: undefined, _standardPid: '' }, { comName: '/dev/cu.usbmodemFD12431', manufacturer: 'Arduino (www.arduino.cc)', serialNumber: '64131383331351318171', pnpId: undefined, locationId: '0xfd124300', vendorId: '0x2341', productId: '0x0043', _standardPid: '0x0043' } ] $ avrgirl-arduino flash -f blink.ino.hex -a uno -p /dev/cu.usbmodemFD12431
- Arduinoボード略号リスト
$ avrgirl-arduino boards Supported Boards: - adk - arduboy - blend-micro - bqZum - duemilanove168 - feather - imuduino - leonardo - lilypad-usb - little-bits - mega - micro - nano - pinoccio - pro-mini - qduino - sf-pro-micro - tinduino - uno - yun
- ローカルでコンパイル
avr-pizzaはローカルのArduino IDEが持っているコンパイラを使うことができます。
-b に続けてArduino IDEのフォルダpathを指定します。下の例はMacの場合です。$ avr-pizza compile -s blink.ino -a uno -b /Applications/Arduino.app/
- クラウドでコンパイル
3.リンク
- github(top) https://github.com/noopkat
- avr-pizza https://github.com/noopkat/avr-pizza
- avrgirl https://github.com/noopkat/avrgirl
来歴
2018.03.13 Blogからmake/erectronic-workに移管
2017.12.13 update
2017.02.23 Blog記事としてupload by kimio kosaka