UGOKU Lab

UGOKU Pad

お知らせ 2025/6/16
Google Play, App Storeにて UGOKU PadをV2.0.0に更新しました。
データ転送方式をBLEに適したものに変更し、複数チャンネル同時使用時に発生していた遅延を改善しました。
以前のサンプルプログラムには前方互換性がないため、サンプルプログラムも最新のものをご利用ください。

概要

UGOKU Padは、ESP32などのマイコンと無線でスマートフォンを接続し、簡単に操作できるアプリです。ジョイスティックやスライダー、ボタンなど、色々なウィジェットを組み合わせて、自分だけの操作パネルを作成できます。モーターの操作やセンサーデータをモニタリングなど、様々な用途で活用いただけます。 ESP32用のArduinoサンプルコードも用意しているので、気軽にお試しいただけます。

使い方

使用例:ESP32を使ってLEDやサーボモータの操作、アナログ出力距離センサの読み取りをする(サンプルプログラム使用)

ESP32の準備

こちらを参照

アプリの操作

  1. 左上のメニューボタンをタップ
  2. Console をタップ
  3. Sample: ESP32 Arduino Sampleを選択
  4. Selectをタップした後Scan Deviceをタップ
  5. My ESP32を選択する
  6. 接続のアイコンが表示されるのを確認する
  7. 戻るボタンから操作画面に戻る
sample-useage

BLE通信について

Flutterflutter_blue_plus ライブラリを用いて、Android/iOS の標準BLEに対応しています。
チャンネル・バリュー・チェックサムの3バイトのデータを単位として送受信します。
最大9チャンネル分のデータを1パケットに集約して送受信することでBLE通信を効率化し、低遅延を実現しています。

要素 役割 単位サイズ 9チャンネル時の合計
チャンネル 各ウィジェット・軸に割り当てる任意の番号 (0-255) 1バイト 9バイト
バリュー 各ウィジェットで送信または受信する値 (0-255) 1バイト 9バイト
チェックサム チャンネルとバリューの排他的論理和 1バイト 1バイト
合計 19バイト

50msごとに呼び出される periodicSend() により、以下を実行します。