2025年9月21日日曜日

ESP32/arduino : VSCode + arduino-cli + neovim の インストール (WSL)

目的:

arduino IDE2 では 外部エディタを使用できない。
コードの編集等で Vim を使用したいため、VSCode + arduino-CLI + neovim での環境を構築してみる。

概要:

VSCode に 拡張機能として VSCode neovim, Remode Development, Arduino Community Edition を インストールし、WSL から起動する。
これにより、arduino IDE2 で 作成したソースコードをそのまま使用することができる。
VSCode は Windows側にインストールし、WSL から Windows版 VSCode を呼び出す。
VSCode には Linux版もあるが、Windows版を呼び出すのが推奨とのこと。

インストール手順

インストールは以下の通り行う。
Windows 側
  1. Windows に vscode をインストールする。
    https://code.visualstudio.com/download
    から Windows 版をダウンロードしてインストール
    以下の拡張機能をインストールする。
    拡張機能のインストールは VSCode 画面 左側のアイコンの 拡張機能 をクリックし、上側にある検索窓にキーワードを入力して探す。
    1. VSCode neovim
    2. Remote Development
WS側
  1. WSL に arduino-CLI インストール
    curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
    で ~/bin に arduino-cli が置かれる。
    この arduino-cli を /usr/local/bin に移動(コピー) する。
    ( または ~/bin に PATH を通す )
  2. WSL から vscodeを起動し、arduino の 拡張機能をインストールする。
    code .
    で Windows版 VSCode が起動する。
    拡張機能 として Arduino Community Editionをインストールする。
  3. Arduino 拡張機能の設定。
    Ctrl + , を押下し、検索窓に arduino を入れ、以下の項目を設定
    • Arduino: Use Arduino CLI
      チェックをつける
    • Arduino: Path
      arduino-cli を インストールしたパスを 設定
      /usr/local/bin
    • Arduino: Command Path
      arduino-cli
    • Arduino: Disable Itelli Sense Auto Gen
      チェックをつける
      ( つけなくてもいいかも )
    • Arduino: Additional Urls
      サードパーティのボードマネージャの URL
      ( 今回は 空のまま )

VSCode 実行

  1. Arduino をUSB 接続、WSL に接続ポートを認識させる。
    "arduino IDE の インストール (WSL)" 参照
    Windows power shell で
    "usbipd list"で 接続された USB のBUSID を確認し、"usbipd attach --wsl --busid <BUSID>" で WSL に接続する。
  2. arduino スケッチのあるディレクトリで VSCode を起動する。
    ボードマネージャ、シリアルポート を設定し、コンパイル(Verify), アップロード (upload) を行う。 ctrl + shift + P で 以下の設定やコマンドの実行を行う。
    • Arduino: Board Manager
      ボードマネージャの選択を行う。
      ESP32 の場合、
      esp32: by Espressif Systems をインストールする。
    • Arduino: Board Config
      ボードの設定を行う。
      ESP32 の場合、
      Selected Bord: で ESP32 Dev Modele (esp32)を選択する。
    • Arduino: Select Serial Port
      arduino を接続したポートを選択する。
      WSL にポートが認識されていないと、選択肢に出てこない。
    • Arduino: Verify
      スケッチのコンパイルを行う。
      エディタ右上にある ボタン (Arduino : Verify) からも可能
    • Arduino: Upload
      コンパイル結果のアップロードを行う。
      エディタ右上にある ボタン (Arduino : Upload) からも可能
    • Arduino:Open Serial Monitor
      ボーレートの選択を行うと画面下部にシリアルモニタの画面が開く。
      画面下部のパネルで シリアルモニタを選択しても良い。
      画面下部のパネルがない場合、右上の パネルの切り替えボタンを押下。
★コードの表示画面での #include エラー
コードの表示画面で #include が エラー になる。
(下部に赤い波線が付き、ソースファイルを開けません となる)
そのままでも コンパイル(Verify) は可能であるが、検出しないように以下のように設定。
  1. Intelli Sense Engine を Rag Parser に設定
    Ctrl + , を押下し、検索窓に Intelli を入れ、以下の項目を設定
    C_Cpp: Intelli Sense Engine
     :Rag Parser を選択
  2. 1. で 波線が消えず、青くなった場合、include パス の設定を行う
    カーソルを #include の行に移動すると、左側にランプマークが付く。
    左クリックして"browse.path" 設定の編集 を選択。
    "パスを含める" の項目に、include するヘッダファイルのパスを追加する。
    例:
    ${workspaceFolder}/**
    ~/.arduino15/packages/esp32/hardware/esp32/3.3.0/cores/esp32/
    ~/.arduino15/packages/esp32/hardware/esp32/3.3.0/libraries/**
    
  3. これで include の エラーは消える。 ( .vscode/c_cpp_properties.json に パス等が追加される )

★LittleFs への アップロード
LittleFs への アップロードは VSCode arduino-CLI からはできない。
このため、LittleFS へのアップロードは Arduino IDE2.x を使用する様にした。
 VScode + arduino-CLI とArduino IDE2.x は 同時に起動しても問題なさそう。
尚、アップロードは VSCode の シリアルポートは 閉じた状態で Auduino IDE2.x からアップロードを行う。

0 件のコメント:

コメントを投稿