1.はじめに
前回の記事にて、最新のRaspberryPiOS(記事投稿時点)を使って、HIDマウスを実装した。
記事にはできていないが、RaspberryPiをWebサーバにしてマウス移動はできるようになり、スマホからPCのマウス操作ができている。数日の連続動作においても安定して動作しており現状で大きな問題はない。
しかし、一点不満がある。それは起動時間が長い事である。
OTG兼パワーのUSBを挿抜すると当たり前にOSは再度起動する時間が必要になる。
皆様の手元にあるマウスが、PCに繋いでから使えるまでに30秒から1分必要と言われたらどうだろうか。筆者であれば買い替え必至である。OSが絡んでいるため仕方のないことではあるが、改善できるならばやるしかない。
そこで、前回までのRaspberryPi環境構築をすべて否定する事となるが、マイコンでHIDマウス構築する。マイコンでの構築にあたり、例に漏れずハマったので投稿する。
2.使用環境
以下が環境である。
使用するマイコンにESP32-S3を選定した理由は、WiFiからローカル接続可能な事とOTGが搭載されている為である。
開発環境が比較的一般的なArduinoIDEではない理由は、追加でソフトを入れる必要がない(VScodeは導入済み)事とAuduinoIDEに触れた事がない事による。
マイコン:ESP32-S3-DevKitC-1-N8R8 ESP32-S3-WROOM-1開発ボード 8MB
開発環境:VScode & PlatformIO
3.環境構築
他サイトもあるので詳細には書かないが、VScodeで拡張機能「PlatformIO」をインストールするだけである。非常に容易である。提供者に感謝したい。
4.ハマった点
1.プロジェクト作成が進まない
対策:ただ待つ
どういう訳かNewProjectの設定をしてFinishボタンを押してから、実際にコード編集ができる状態になるまで10分くらいかかる(おま環かもしれませんが)。
筆者は異常があると思ってプロジェクト作成しなおしたり、PlatformIOを再インストールしたりしたが、ただ遅いだけであった。

2.書き込みができない
対策:ドライバをインストールする
以下のサイトからドライバをダウンロードしインストールする。
https://www.silabs.com/software-and-tools/usb-to-uart-bridge-vcp-drivers?tab=downloads

PlatformIO上で書き込みしようとした際に「Error」で停止はするときは、デバイスマネージャーを確認する。マイコンボード上の書き込み用シリアル通信デバイスがデバイスマネージャーで認識されていない時はドライバが入っていない可能性が高い。
PlatformIOはVScodeにただ乗っかるだけではあるので、ハードウェアを操作するためのドライバが入らないのは当たり前である。
3.書き込みたいソフトを書き込めない
対策:プロジェクトをスイッチする
今作業しているmain.cppなどが表示されている状態で書き込んでも、違うソフトが書きこまれてしまうことがある。これはPlatformIOに設定しているプロジェクトが別のものになっているからである。
VSCodeウインドウ左下の書き込みボタンが並んでいるところにプロジェクトを変更するボタンがあるのでクリックし、書き込みをしたいプロジェクトに切り替えをする。

5.おわりに
出だしで躓きはしたものの、開発環境は問題なく使えるようになった。
次回はHIDマウスの機能とWebサーバをマイコンに実装する。