WindowsのPlatformIOでXIAO BLE Senseのセットアップ
WindowsのPlatformIOでXIAO BLE Sense用の環境を立ち上げようとしたら,四苦八苦したのでなんとかした過程を残しておきます.
Windows上での設定(失敗)
まず,XIAO BLE SenseはなぜかPlatformIOのボード一覧に登録されていないので手動で設定します.Alwin Arrasyidさんの記事を参考にボードを追加します.
ボートを追加した後は,BuildもUploadも成功しますが,XIAO上のプログラムは動きません......
macOSから書き込んだ場合は動作しており,コード自体は問題なさそうですが,環境側の問題が特定できませんでした.なお,M5Atomに書き込んだ場合はちゃんと動いているので,XIAO BLE固有の問題のようです.
この時点でWindows上での環境構築はあきらめました.
WSL上での設定
WindowsではWindows Subsystem for LinuxというWindows上でLinuxを使う機能があります.試しにこちらで環境を構築したところ,うまくいきました.
まず,WSLのチュートリアルを参考にWSL上にUbuntuをインストールします.つづいて,このサイトを読みながら,WSLにVSCodeをインストールします.
さらにWindowsのときと同様にAlwin Arrasyidの記事をもとにWSL上にもXIAO BLE Senseを登録します.
つづいて,PlatformIOからUSBデバイスにアクセスするためにudev rulesを設定します.
ただし,WindowsにつながっているUSBデバイスは基本的にWSLからは見えません.Ronstadtさんの記事を参考にWindows側のUSBデバイスをWSLに共有します.
e.g.)
usbipd list # list of usb devices
usbipd bind --busid 5-1
usbipd attach --busid 5-1 --wsl --auto-attach
最終的にこの組み合わせでXIAO BLE Senseに書き込んで,プログラムを動かすことができました.
Discussion