2025年7月11日金曜日

ESP32/arduino : arduino IDE の インストール (WSL)

目的:

arduino IDE を WSL(debian) にインストールする。
Windows 版 よりも WSL の方が、コンパイル等が早い模様。

手順:

  • USBデバイスを WSL で使用できるようにする。
    WSL から Windowsに接続されたUSB デバイスを直接アクセスすることができない。
    このため、オープンソースの usbipd-win プロジェクトをインストールする必要がある。

    1. Windows に uspipd をインストールする。
      usbipd-win プロジェクトの最新リリース ページ (https://github.com/dorssel/usbipd-win/releases ) から
      usbipd-win_*.*.*_x64.msi をダウンロードし、実行する。
    2. WSLコマンドラインが開かれている状態で Arduino デバイス を USB に接続する。
    3. 管理者権限で PoweerShell を立ち上げる
    4. USBデバイスを確認する。
      usbipd list
      で USB の情報を確認する。
      上の例では対象デバイスは BUSID 6-4 (VID:PID = 0403:6001) で Shared となっているが、Not shared であれば、
      usbipd bind --busid <BUSID> を実行する。
      実行後、usbipd list で Shared になっていることを確認する。

    5. WSL に USBデバイスを接続する。
      WSL の ターミナルが開いた状態で PowerShell (管理者権限でなくても可) で 以下を実行。
      usbipd attach --wsl --busid <BUSID>
    6. WSL で USBデバイスを確認する。
      WSL に usbutils がインストールされていなければ インストールする。
      sudo apt install usbutils

      lsusb を実行し、 接続したデバイスが 見えることを確認する。
      上の例では ID 0403:6001 が 対象デバイス。

  • arduino ide をインストールする
    1. libfuse2 のインストールを行う。
      arduino IDE の インストールには libfuse2 がインストールされている必要がある。
      sudo apt install libfuse2
      自環境ではすでにインストール済であった。(いつ入れたのか ? )
    2. ファイルのダウンロード
      1. alduino 公式ページ (alduino ide) から "Linux AppImage 64 bits(X86-64)" をダウンロードする。
      2. ダウンロードしたファイルを WSL の /home/<user>/Arduino に 格納する。
        ( 格納場所は 任意の場所で可 )
      3. 格納したファイルに実行権限があるか確認し、なければ 実行権限を付ける。
    3. arduino 実行, 設定
      1. arduino 実行
        格納した arduino-ide_2.3.6_Linux_64bit.AppImage を実行する。
      2. ボードマネージャの追加
        (1) ファイル - 基本設定 で 「追加のボードマネージャ」に以下の URL を追加する
        https://espressif.github.io/arduino-esp32/package_esp32_index.json
        (2) ツール - ボード:"******"- ボードマネージャ をクリック。
        (3) ボードマネージャ の 検索ボックス に "ESP32" を入力。
        (4) esp32 by Expressif System を インストールする。
        (5) ツール - ボード - esp32 で、 ESP32 Dev Module を選択
      3. ポートの選択
        ツール - ポート で USB接続ポートを選択

  • 次回以降の arduino 起動
    • USBデバイス の抜き差し
      USBデバイスを抜き差しした場合やWSLを再起動した場合は、再度 WSL に USBデバイスを認識させる必要がある。
      WSLのターミナルが開いた状態でPowerShell(管理者権限でなくても可) で usbipd attach を実行。
      usbipd attach --wsl --busid <BUSID>
      尚、接続するUSBボートが変わった場合、 BUSID が変わる為、usbipd list で BUSID を確認する。
    • arduino IDE の起動
      arduino-ide_2.3.6_Linux_64bit.AppImage を実行する。



0 件のコメント:

コメントを投稿