RaspberryPi pico wでmicro-ROSを動かす(Serial編)
前回までのあらすじ
Windows環境上でRaspberryPi pico wにmicro-ROSを組み込むことができた。
今回はmicro-ROSエージェントとの通信を試みる
ただし、エージェントとの通信ポートはソフト書き込み用ポートと兼用になるため、ちょっとややこしい
準備
micro-ROSエージェントはDockerで動作させるが、シリアルポートに接続するには、仮想マシンによるシリアルポート(USBモジュール)へのアクセスを許可する必要がある
参考
USBIPD-WINプロジェクトをインストール
Windowsパッケージマネージャ(winget)を使ってインストールできる
winget install --interactive --exact dorssel.usbipd-win
WSL(Ubuntu)をインストールする
WSL自体のセットアップは割愛する(量が多いので💦)
参考
アップデートも忘れずに
sudo apt update
sudo apt upgrade
USBIPツールとハードウェアデータベースをインストールする
sudo apt install linux-tools-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/*-generic/usbip 20
VScodeでプロジェクトを開く
同じシリアルポートを使うので、Linux側にアタッチする前にソフトを書きこんでおく。
USBデバイスを接続する
PowerShellを管理者モードで開き、usbipd listと入力すると一覧が表示される
micro-ROSエージェントの起動方法は以下のサイト参考
docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:rolling serial --dev /dev/ttyACM0 -v6
VScodeのターミナル(PowerShell)で上記コマンドを入力する
USBデバイスを切断する
Linux側にAttachしている間、Windows側からはアクセスできなくなっているため、ソフトを書き込む際には一度USBデバイスを切断する必要がある
PowerShell(管理者)にて、以下のコマンドを入力する
usbipd detach --busid 1-6
この記事が気に入ったらサポートをしてみませんか?