いやー、体中を電気が走ったような感じがした。
CodeからArduinoが書ける時代
要点はこの記事を読んで理解して下さい。サマると、Arduinoのコーディングとかバイナリのアップロードが、Visual Studio Codeから行えるようになるよ!ということ。ただし、
なお、本拡張機能を利用するには「Arduino IDE」v1.6.0以降の導入が必要。“Microsoft ストア”で配布されているバージョンは対応していないため、“Arduino”の公式サイトからインストーラー版かZIP版をダウンロード・インストールする必要がある。
今のところは本家のIDEも必要そうです。
とりあえずやってる
Arduino拡張はMarketPlaceからダウンロード可能。
さくっとインストール。ただ、インストールが完了してもあまり見栄えは変わりません。ただし、.ino
ファイルを開くと、こんな感じ。F1
ボタンを押すと、おなじみのメニューが表示されます。
たとえば、Arduino: Board Configを開くと、Arduino IDEでインストール済みのボートが選択できます。もちろん、ESP8266も選択可能。
ほうほう。意外と使えるのね。
コンパイルには注意が必要
そのままだと、includeしているライブラリを参照できなかったりして、コンパイルが成功しません。
その場合は、Codeで開いているワーキングディレクトリにJSON形式の設定ファイル(c_cpp_properties.json)を作成し、そこにArduinoのライブラリのパスを書く必要がある。コード上のincludeの部分がCode上で怒られてる状態だと、その設定ファイルは簡単に作れる。JSONの、"configurations"
-> "browse"
-> "path"
に、以下の2行を追加した。(僕の環境の場合は、ですが)
"/Users/(ユーザー名)/Library/Arduino15/", "/Users/(ユーザー名)/Documents/Arduino"
そうすれば、ちゃんとライブラリのincludeができるようになりました。
いざコンパイル
今回は、ポキオ基板v2(ESPr Developer)にバイナリを流し込んでみました。
プログラムの流し込みも基本的にはIDEと変わらず、F1
ボタンからBoard Configを選択して、ボードの設定をしてから、Select Serial Portでポートの選択、そしてUploadを押すとコンパイル・流し込みが開始されます。
ただ、本家IDEと決定的に違うのは、ボードをUSB接続したタイミングで、「もしかして、このボードですか?(意訳)」見たいなメッセージが出ること。これは便利!と思いきや、ESPrを挿してるのに、SparkFun製のボードと判定されてしまうハプニング。まぁ、これからの伸びしろということで。
流し込み完了・・・したの・・・?
ボードの設定、ポートの設定を無事に済ませてESPrに書き込もうとすると、最後の罠が。
[Starting] Upload sketch - unko2/unko2.ino 構成をロード中… パッケージを初期化中… ボードを準備中… 検証中… 最大1044464バイトのフラッシュメモリのうち、スケッチが231913バイト(22%)を使っています。 最大81920バイトのRAMのうち、グローバル変数が32240バイト(39%)を使っていて、ローカル変数で49680バイト使うことができます。 マイコンボードに書き込んでいます... Uploading 236064 bytes from /var/folders/jl/xtvx_dl51qg1yn70n399sfv00000gn/T/arduino_build_932727/unko2.ino.bin to flash at 0x00000000 ................................................................................ [ 34% ] ................................................................................ [ 69% ] .........................[Done] Uploaded the sketch: unko2/unko2.ino
こんな感じで、ESP8266へのバイナリの書き込みのProgressが100%に達しない件。正確には100%に達する前にProgressが停止。少し経って[Done]と表示される。これで大丈夫か?と思うけど、ちゃんとプログラムはESPrに書き込まれてるっぽい。こんなんでいいのかな(笑)
サマリ
というわけで、Visual Studio CodeからESP8266へプログラムの書き込みを行ってみました。
Pros
- Visual Studio Codeから書き込めるワクワク感
- Syntax Highlightが本家IDEよりリッチな感じがする
- 補完機能やエディタ本来の機能は本家IDEより上
Cons
今後、Codeだけでプログラムの書き込みができるようになったらいいなぁ。Codeのエディタとしての基本性能が高いだけに、今後に期待せざるをえない感じです。