使いづらいArduino IDEを脱却する!公式ツール arduino-cli リリース

Arduino IDEのエディタが使いづらくてしょうがないと思っている人は自分だけではないはず。

Arduino Makefileという非公式ツールをgit submoduleした上で簡単なMakefileを書けば、自分好みのテキストエディタを使うことができて、且つmake uploadで実機への書き込みもできる。

ただ、submoduleしたりMekefile書いたりと、ちょっとだけ面倒な作業が玉に瑕。

arduino-cli来ました

何かのニュースでarduino-cliという公式ツールがリリースされるという情報を目にしました。

これでMakefileを書く必要もなくなるではないか!

と思い、早速インストール。go環境があると、インストールがとても楽。

anyenv/goenv 導入

rbenvやpyenv同様、goにもgoenvという仮想環境構築ツールが存在します。

そんな**env系ツールをまとめたフロントエンド的なツールanyenvを使用して、まずはgoenvをインストールします。

$ anyenv install -l
Available **envs:
  crenv
  denv
  erlenv
  exenv
  goenv
  hsenv
  jenv
  luaenv
  ndenv
  nenv
  nodenv
  phpenv
  plenv
  pyenv
  rbenv
  Renv
  sbtenv
  scalaenv
  swiftenv
$ anyenv install goenv

goenvでgoの最新版をインストールした上で、とりあえずglobalなgoを最新版に設定します。

$ goenv install -l | tail
  1.10rc2
  1.10.1
  1.10.2
  1.10.3
  1.10.4
  1.11.0
  1.11beta2
  1.11beta3
  1.11rc1
  1.11rc2
$ goenv install 1.11.0
$ goenv global 1.11.0

arduino-cli導入

公式なarduino-cli githubに記載されている手順の通りにインストールしていきます。

You should have a recent Go compiler installed.
Run go get -u github.com/arduino/arduino-cli
The arduino-cli executable will be produced in $GOPATH/bin/arduino-cli

まずはGOPATHとPATH環境変数設定。以下のようにarduino開発環境用の設定を追加します。

$ cat /etc/profile.d/arduino.sh 
export GOPATH="$HOME/go"
export PATH="$GOPATH/bin:$PATH"

goenv設定でgoコマンドは使えるようになっているはずなので、以下コマンドでarduino-cliをインストール。

go get -u github.com/arduino/arduino-cli

成功すると、以下のように${GOPATH}/bin下に実行ファイルが生成されているはず。

$ tree ~/go/ -L 3
/home/takashi7ando/go/
├── bin
│   └── arduino-cli
└── src
    └── github.com
        └── arduino

arduino-cliコマンド動作確認

まずは実行してみましょう。

$ arduino-cli -h
Arduino Command Line Interface (arduino-cli).

Usage:
  arduino-cli [command]

Examples:
  arduino-cli <command> [flags...]

Available Commands:
  board         Arduino board commands.
  compile       Compiles Arduino sketches.
  config        Arduino Configuration Commands.
  core          Arduino Core operations.
  help          Help about any command
  lib           Arduino commands about libraries.
  sketch        Arduino CLI Sketch Commands.
  upload        Upload Arduino sketches.
  version       Shows version number of arduino CLI.

Flags:
      --config-file string   The custom config file (if not specified ./.cli-config.yml will be used).
      --debug                Enables debug output (super verbose, used to debug the CLI).
      --format string        The output format, can be [text|json]. (default "text")
  -h, --help                 help for arduino-cli

Use "arduino-cli [command] --help" for more information about a command.

githubのREADMEを見ると、ボード選択、3rd partyライブラリの検索からインストール、ビルド、書き込みまで一通りのことが実行可能ぽい。

VS codeの設定例

最近使う機会が増えてきたVS codeのtasks.jsonからarduino-cliを叩くように設定してみた。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "arduino compile",
            "type": "shell",
            "command": "arduino-cli",
            "args": [
                "compile"
            ]
        },
        {
            "label": "arduino upload",
            "type": "shell",
            "command": "arduino-cli",
            "args": [
                "upload",
                "-p",
                "/dev/ttyACM0"
            ]
        }
    ]
}

Run Taskを選択し、

設定したlabelのタスクを実行すると、

無事コマンドが実行された。

実機での動作確認

次回にて(後回し)。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする