(SDK)カスタム表示機能
SDK用の高度な機能となります。
SDKを利用して開発する時に便利な画面レイアウトなどを簡易的に確認する事ができます。
GUIDE01 SDKはこちら
テキストを最大5個配置(テキストは改行コード(/n)による複数行表示可能)
GIF画像/GIFアニメ画像を最大10個まで登録/読み込みして表示できます。(1画像max100kb程度)
JPEG画像を5個まで登録/読み込みして表示できます。(1画像max100kb程度)
同時に画像やテキストを表示できますが、表示数が増えると表示速度は遅くなります。
画面左上が(x0,y0)となります。
テキストの使用可能なフォントサイズ (16/20/24/28/32/36/48/56)
カスタム表示
ステータスバー
表示非表示切り替え
表示プレビュー画面
テキストやGIF画像など、選択して位置を変更する事ができます。
サムネイル(on/off)
GUIDE01に登録したGIF/画像をプレビュー表示に反映します。
登録ボタン
GUIDE01にGIF/JPG画像を登録する画面を表示します
GIFアイコン
タップすることでプレビュー画面に追加できます。
画像アイコン
タップすることでプレビュー画面に追加できます。
- レイヤ追加ボタン
テキスト追加ボタン
編集ボタン;選択したコンテンツを編集します
編集画面では変更したい数値だけを入力します。
複製ボタン:選択したコンテンツを複製します
削除ボタン:選択したコンテンツを削除します
送信ボタン:GUIDE01に現在のプレビュー画面を送信します。
プロトコル設定
OSC/HTTP/MQTT に対応しており、
受信を開始する事で、各プロトコルでの文字表示や画像表示などを行う事ができます。


自分のスマホ端末のIPアドレス(ローカル、グローバル、ipsec4)
受信
OSC/HTTP/MQTT での受信アドレス(ポート)を設定します。
開始ボタンを押すと指定したポートでの受信を行います。
送信
OSC/HTTP/MQTT での送信先アドレス(ポート)を設定します。
入力設定
「タッチイベント(GUIDE01)」「HID入力」「カスタム(高度)」
選択状態にした入力情報を送信アドレスに対して送信します。受信echo
ONにするとOSC/HTTP/MQTTの全てに入力情報を送信します。
入出力ログ
タッチ情報のログを表示します。
テスト送信(テストメッセージを送信します)
受信ログ(OSC/HTTP/MQTT)
それぞれのプロトコルで受信したメッセージログを表示します。送信ログ(BLE)
OSC
受信アドレス
/guide01/scene/load (JSON)
/guide01/image/send (画像JSON)
/guide01/show (全表示)
/guide01/hide (全非表示)
/guide01/clear (全クリア)
/guide01/ping (接続確認)
トランスポート
UDP
送信イベント (Outbound)
/guide01/event/touch [value, name]
/guide01/event/device [patternId, name]
/guide01/event/hid [label, kind]
/guide01/event/test ["ping"]
例: /guide01/event/touch 2 "DoubleClick"
HTTP
エンドポイント
POST /api/scene/load (JSON)
POST /api/image/send (画像JSON)
POST /api/show (全表示)
POST /api/hide (全非表示)
POST /api/clear (全クリア)
GET /api/ping (接続確認)
送信例 (curl)
curl -X POST http://<IP>:<PORT>
/api/scene/load \
-H "Content-Type: application/json"
-d @scene.json
送信イベント (Outbound)
POST /guide01/event/touch
POST /guide01/event/device
POST /guide01/event/hid
POST /guide01/event/test
body: {"address":"...","args":[...]}
例: {"address":"/guide01/event/touch",
"args":[2,"DoubleClick"]}
MQTT
購読トピック
guide01/scene/load (JSON)
guide01/image/send (画像JSON)
guide01/control/show (全表示)
guide01/control/hide (全非表示)
guide01/control/clear (全クリア)
guide01/control/ping (接続確認)
必要なもの
MQTTブローカー (mosquitto等)
送信例
mosquitto_pub -h <BROKER> \
-t guide01/scene/load \
-f scene.json
送信イベント (Outbound)
guide01/event/touch
guide01/event/device
guide01/event/hid
guide01/event/test
payload: {"address":"...","args":[...]}
共通項目
画像送信 (/image/send)
{"image": "<Base64エンコードJPEG>",
"width": 624, // リサイズ幅 (省略: 624)
"height": 405, // リサイズ高さ (省略: 405)
"quality": 80, // JPEG品質 (省略: 80)
"keepAspect": true // アスペクト比維持 (省略: true)
}
画像送信の注意
OSC (UDP): ~45KB以下の画像のみ
HTTP/MQTT: サイズ制限なし
受信 -> リサイズ -> BLE送信
例1: テキストのみ (必須フィールドのみ)
{"layers":[{"layerId":0,"elements":[
{"type":"text","text":"Hello",
"x":220,"y":10,"fontSize":36,
"colorR":255,"colorG":255,"colorB":255}
]}]}
例2: GIF + テキスト
{"showStatusBar":false,
"layers":[{"layerId":0,"elements":[
{"type":"gif","id":0,
"x":0,"y":0,"width":624,"height":405},
{"type":"text","text":"Overlay",
"x":220,"y":180,"fontSize":48,
"colorR":255,"colorG":255,"colorB":0}
]}]}
例3: 複数レイヤー (全フィールド)
{"version":"1.0.0",
"showStatusBar":true,
"metadata":{"name":"Demo"},
"layers":[
{"layerId":0,"name":"背景",
"isVisible":true,"elements":[
{"type":"image","id":0,
"x":0,"y":0,"width":624,"height":405}
]},
{"layerId":1,"name":"GIF",
"elements":[
{"type":"gif","id":0,
"x":10,"y":10,"width":100,"height":100}
]},
{"layerId":2,"name":"テキスト",
"elements":[
{"type":"text","text":"Title",
"x":220,"y":10,"fontSize":36,
"colorR":255,"colorG":255,"colorB":255}
]}
]}
フィールド (※=オプション)
--- トップレベル ---
layers 必須 レイヤー配列
showStatusBar ※ def: true
version ※ def: "1.0.0"
metadata ※ {name, description, ...}
--- レイヤー ---
layerId 必須 0-255
elements 必須 要素配列
name ※ def: "レイヤー"
isVisible ※ def: true
--- text 要素 ---
type 必須 "text"
text 必須 UTF-8 (max 80byte)
x, y 必須 座標 (0-624, 0-405)
fontSize 必須 16/20/24/28/32/36/48/56
colorR/G/B 必須 0-255
--- gif / image 要素 ---
type 必須 "gif" or "image"
id 必須 GIF:0-9, Image:0-4
x, y 必須 座標
width,height 必須 0(元) or 20-624/405