PC側(Pythonスクリプト):
- CPU、メモリ、ディスク、GPUの使用状況を監視します。
- 監視データをグラフ化したJPEG画像を生成します。
- JPEG画像をTCP経由でM5Stackに送信します。
- リソース使用状況に基づいてLED制御データをUDP経由で送信します。
- 現在Python側UI等を追加開発中です。販売レベルを目指しています。
M5Stack側(ESP32スクリプト):
- ファームウェアに https://github.com/lovyan03/ESP32_ScreenShotReceiver をカスタムして使用しています。
- TCP経由でJPEG画像を受信し、LCDに直接表示します。
- UDP経由でLED制御データを受信します。
- 受信したデータに基づいてNeoPixel LEDの色と輝度を制御します。
- 底部の「ハシビロ工業 RGB ボトム for CoreS3」は別売りを行う予定です
通信:
- WiFiを使用してPCとM5Stackが通信します。
- TCPを使用してJPEG画像データを送受信します。
- UDPを使用してLED制御データを送受信します。
このシステムの主な利点:
M5Stack側でのUI開発が不要:
- ESP32_ScreenShotReceiverを使用することで、JPEG画像を直接受信して表示できます。
- これにより、M5Stack側でグラフ描画やUI要素の配置などの面倒な処理を実装する必要がありません。パフォミル以外のソフトにも応用できる技術で、上位側のexe等をすでにあるソフトウェア販売サイトより簡単に売ることも可能です。
柔軟な表示内容:
- PC側でグラフ生成やレイアウトを自由に変更できるため、表示内容の更新や改良が容易です。
直感的なフィードバック:
- グラフ表示とLED表示の組み合わせにより、PCのリソース状況を視覚的に把握しやすくなっています。
このシステムにより、PCのリソース使用状況をM5StackのLCD画面で視覚的に確認でき、同時にNeoPixel LEDの色変化でも直感的に把握することができます。M5Stack側の実装を簡素化しつつ、リアルタイムの監視と視覚的なフィードバックを実現しています。