How to make

コマンドラインArduino開発環境をインストール する

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)
  1. node.js
    avr-pizza,avrgirlはnode.js環境で稼働します。

    1. インストール
      node.jsのインストール方法はwebにたくさんあります。自分の環境に適した方法でインストールします。こちらのnvmを用いた方法は少し手間がかかりますがRaspberry Pi, Linux, Mac に対応しnode.jsのバージョン管理が容易にできます。
    2. 動作テスト
      次のようにコマンド入力してnodeとnpmから応答があれば正しくインストールされています。

      $ node -v
      v6.10.0
      $ npm -v
      3.10.10
  2. avrgirl-arduino(AVRプログラマ・ソフト Arduino用)
    1. インストール
      次のようにコマンド入力しインストールします。

      $ npm install -g avrgirl-arduino
    2. 動作テスト
      次のコマンド入力でヘルプメッセージの応答があれば正しくインストールできています。

      $ 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
  3. avr-pizza(コンパイラ フロントエンド)
    1. インストール
      次のようにコマンド入力しインストールします。

      $ npm install -g avr-pizza
    2. 動作テスト
      次のコマンド入力でヘルプメッセージの応答があれば正しくインストールできています。

      $ avr-pizza help
      Usage:
        avrpizza compile -s <sketch filepath> -l <library dirpath> -a <arduino name> [-o <output path> -b <local ide path>]
        avrpizza help

  4. コンパイルとhexの書き込み
    1. クラウドでコンパイル
      ファイル名blink.inoで保存したD13のLチカスケッチをArduino UNO向けでコンパイルします。

      $ avr-pizza compile -s blink.ino -a uno
      $ ls
      blink.ino     blink.ino.hex

      コンパイルが成功すると.hexファイルが生成されます。

    2. hexの書き込み
      $ avrgirl-arduino flash -f blink.ino.hex -a uno

      Arduino UNOのシリアルポートは自動識別します

       

    3. シリアルポートを調べて明示的に指定して書込む場合
      $ 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

       

    4. 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
    5. ローカルでコンパイル
      avr-pizzaはローカルのArduino IDEが持っているコンパイラを使うことができます。
      -b に続けてArduino IDEのフォルダpathを指定します。下の例はMacの場合です。

      $ avr-pizza compile -s blink.ino -a uno -b /Applications/Arduino.app/
3.リンク
  1. github(top) https://github.com/noopkat
  2. avr-pizza https://github.com/noopkat/avr-pizza
  3. 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

PAGETOP
Copyright © kosakalab All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.
PAGE TOP