工作と競馬2

電子工作、プログラミング、木工といった工作の記録記事、競馬に関する考察記事を掲載するブログ

WSL Linuxで、Arduino IDEを使う ~ SPRESENSEでお試しビルド ~

概要

WSL Linuxの環境で、Arduino IDEを使うことができた。




背景と目的

WSL Linuxの環境で、Arduino IDEを使う必要が出た。そのため、試しにSPRESENSEに書き込めるように準備する。



詳細

0.実施環境


1. Arduino IDEのインストール

まず、Arduinoの公式サイトから、Linux用App Imageというファイルをダウンロードする。

そして、WSL Linux環境の任意の場所に配置する。

https://www.arduino.cc/en/software/

起動するには、

cd /path/to/app_image
chmod 755 ./arduino-ide_2.3.6_Linux_64bit.AppImage
./arduino-ide_2.3.6_Linux_64bit.AppImage

以下のように、Windowアプリのようにウインドウが起動する。

1.2 SPRESENSE ボード定義をインストール

Preferencesより、追加のボードマネージャーの設定をする。Windows版と同じ手順でボード定義をインストールすることができた。

dekuo-03.hatenablog.jp


2. USB仮想シリアルポートをLinux側で認識させる

2.1 usbipd-winのインストール

まず、usbipd-winというアプリケーションをPowerShellでインストール。これは、Windowsのアプリなので、通常のインストーラが起動して、ウィザードに沿ってインストールすればOK。

winget install --interactive --id "dorssel.usbipd-win"

2.2 認識させたいデバイスのbus-idを確認

PowerShell管理者として実行 し、

usbpid list

私の環境では、COM4のものを認識させたいので、bus-idとしては2-2となる。

Connected:
BUSID  VID:PID    DEVICE                                                        STATE
1-9    0db0:0076  USB 入力デバイス                                              Not shared
2-2    10c4:ea60  Silicon Labs CP210x USB to UART Bridge (COM4)                 Not shared
3-1    0a12:0001  Generic Bluetooth Radio                                       Not shared
3-3    08bb:2704  USB Audio DAC, USB 入力デバイス                               Not shared
3-4    0c45:7663  USB 入力デバイス                                              Not shared

Persisted:
GUID                                  DEVICE

2-3 USBデバイスをWSLにアタッチ

usbipd bind --busid 2-2
usbipd attach --busid 2-2 --wsl Ubuntu-22.04

再度、usbipd listをしてみると、

2-2    10c4:ea60  Silicon Labs CP210x USB to UART Bridge (COM4)                 Attached

となり、STATEがattachedになっている。

Ubuntu側に戻り、ls /devをしてみると、

hagiwara@Takuya-Desktop:~$ ls /dev | grep USB
ttyUSB0

となり、/dev/ttyUSB0が使えるようになった。


2-4 Arduino IDEで書き込み

以下のように、UbuntuArduino IDEで認識された。

掻き込みボタンを押してみたところ、正しく書き込み出来た!



まとめと今後の課題

WSL Linuxで、Arduino IDEを使ってSPRESENSEに書き込み出来た。この環境を使って作業を進めていきたい。