ChromebookにUSB経由でMicro:bitをつなぎ、Crostini(Linux)から作成したコードのフラッシングをしてみたいと思い、CrostiniのUSBの認識周りから整理しながらフラッシングをしてみた。
話を進める前に使っているChromebookについて挙げておく。
端末:ASUS Chromebook Detachable CM3 CM3000
はじめにRaspberry Pi等のメインのOSがLinuxの環境でのフラッシングを挙げておく。
Micro:bitにフラッシングするために作成したpyファイルのパスを/path/to/dir/main.pyとしておく。
pip install uflash uflash /path/to/dir/main.py
上記のコードでuflashを実行してフラッシングは終了する。
この内容を踏まえた上で、Crostiniで同様のコマンドを実行してみると、
$ uflash /path/to/dir/main.py Error flashing hello.py to microbit: Unable to find micro:bit. Is it plugged in?
というエラーになる。
Crostiniはバーチャルマシンに当たるため、Micro:bitが標準のUSBのデバイスとして認識されずにエラーとなる。
Crostini上ではUSBの認識はどうなっているのだろう?と設定 > Linux開発環境 > 共有フォルダを管理するを開いてみると、
/mnt/chromeos/removable/MICROBIT/
にマウントされるようだ。
この内容を加味して、targetを指定してuflashしてみたら
$ uflash /path/to/dir/main.py /mnt/chromeos/removable/MICROBIT/ Flashing hello.py to: /mnt/chromeos/removable/MICROBIT/micropython.hex
エラーなく、Micro:bitにフラッシングされた。
uflashをする時にtargetを指定するのは面倒なので簡略化したいが、今はここまでにしておく