Gravio HubKit マニュアル

センサー・デバイス接続ガイド

このページでは、Gravio に接続できるセンサーや IoT デバイスについて、デバイス側の準備手順や通信仕様をまとめています。

アクションフローからの利用方法(コンポーネントのプロパティなど)は Gravio アクションリファレンス を、Web UI からの設定方法は Gravio HubKit Web UI ガイド をあわせて参照してください。

目次


1. Gravio LED Matrix Gen2

Gravio LED Matrix Gen2 は、32×32 ピクセルのフルカラー LED マトリックスディスプレイデバイスです。MQTT(Wi-Fi 経由) または HTTP のいずれかのインターフェースで制御できます。

Gravio HubKit 6.3.0 以降で利用可能:本デバイス向けの専用コンポーネントについては HubKit 更新履歴:Gravio Matrix Gen2 系コンポーネント を参照してください。

重要:本デバイス(第2世代)は、従来の Gravio Matrix(第1世代)とはハードウェア・接続方式・デバイスID形式がまったく異なる別製品です。Gravio HubKit から制御する場合は専用の Gravio Matrix Gen2 系コンポーネントを使用してください(互換性はありません)。詳細は Gravio アクションリファレンス を参照してください。

1.1 ハードウェア概要

電源

ボタン・スイッチ

ボタン/スイッチ 機能
上面ボタン(Top) ディスプレイパネルの ON/OFF。押下するごとに表示・非表示が切り替わります
背面ボタン(Back) 長押しで本体を再起動します
上面 DIP スイッチ ON:デバイスが向きを自動検出して表示を調整します
OFF:現在の表示向きをロックして保存します

1.2 初期セットアップ

  1. 電源を接続します(USB Type-C)。デバイスは自動起動し、以下の順で表示します。
  2. Gravio ロゴ(約 2.5 秒)
  3. デバイス名 Gravio Matrix Gen 2(約 2.5 秒)
  4. Wi-Fi が未設定、または既存の Wi-Fi に接続できない場合、デバイスは AP(アクセスポイント)モードで起動します。画面には SSID(例:Gravio-MTX-XXXXXXXX)が表示されます。
  5. PC やスマートフォンから、表示された SSID にパスワード graviohub で接続します。
  6. ブラウザで http://192.168.6.1:8080 を開くと、ユーザログイン画面が表示されます。以下の初期認証情報でログインしてください。

  7. Username: gravio

  8. Password: gravio

Gravio LED Matrix Gen2 ユーザログイン画面

  1. ログインすると本機の設定ページが表示されます。Configure WiFi ボタンをクリックし、画面の指示に従って利用したい Wi-Fi の SSID とパスワードを入力します。設定後、デバイスは自動的に再起動します。
  2. 再起動後、デバイスは設定された Wi-Fi に接続し、ディスプレイに 取得した IPv4 アドレスが表示されます。
  3. 取得した IP アドレスを ポート 8080 を付けてブラウザで開くと(例: http://<割り当てられた IP>:8080)、同じユーザログイン画面が表示されます。上記と同じ初期認証情報でログインすると設定ページにアクセスでき、Config device ボタンから MQTT ブローカーなどのパラメータを変更できます。

既定の MQTT ブローカー:出荷時にはベンダー提供のテスト用ブローカーが設定されています。本番運用ではかならず HubKit 内蔵の MQTT ブローカー、またはユーザ独自のブローカーへ切り替えてください。

1.3 制御インターフェース

Gravio LED Matrix Gen2 は次の 2 種類のインターフェースで制御できます。同一デバイスに対してどちらか一方を選択して利用します。

インターフェース 接続経路 概要
MQTT Wi-Fi 経由でブローカーに接続 JSON / バイナリ形式のメッセージを matrix/<MAC>/... トピックで送受信
HTTP LAN 上のデバイスに直接 HTTP リクエスト http://<デバイスIP>:8080 配下のエンドポイントへ JSON / バイナリを POST/GET

どちらのインターフェースでもメッセージ/リクエストボディの JSON 形式は共通です。

1.4 MQTT プロトコル仕様

トピック命名規則

すべてのトピックは matrix/<MAC>/... の形式で、<MAC> 部分にはデバイスの 12 桁の MAC アドレス(小文字・コロンなし)が入ります(例: aabbccddeeff)。

方向 トピック 用途
Pub matrix/<MAC>/status デバイスから状態通知(起動時に自動送信)
Sub matrix/<MAC>/config/set 設定の書き込み
Sub matrix/<MAC>/config/get 設定の取得要求
Sub matrix/<MAC>/display/image/gif GIF 画像表示
Sub matrix/<MAC>/display/image/bmp BMP 画像表示
Sub matrix/<MAC>/display/text テキスト表示
Sub matrix/<MAC>/display/hybrid/on ハイブリッドモード有効化
Sub matrix/<MAC>/display/hybrid/off ハイブリッドモード無効化
Sub matrix/<MAC>/display/clear 画面クリア
Sub matrix/<MAC>/reboot 再起動

メッセージペイロード

ステータス通知(Pub)— matrix/<MAC>/status
{
  "device_id": "aabbccddeeff",
  "status": "online",
  "uptime": 3600,
  "wifi_signal": -65,
  "app_version": "1.0.2",
  "hw_version": "1.0.2"
}
設定の書き込み — matrix/<MAC>/config/set
{
  "brightness": 50,
  "rotation": 2
}
設定の取得 — matrix/<MAC>/config/get
{}
テキスト表示 — matrix/<MAC>/display/text
{
  "text": "Hello World",
  "size": 1,
  "R": 100,
  "G": 0,
  "B": 0,
  "areaX": 0,
  "areaY": 16,
  "areaW": 32,
  "areaH": 16,
  "scrollSpeed": 100
}
プロパティ 説明
text 表示する文字列
size 文字サイズ
R / G / B 文字色の RGB 値(0–255)
areaX / areaY 表示エリアの左上座標(ピクセル)
areaW / areaH 表示エリアの幅・高さ(ピクセル)
scrollSpeed スクロール速度(値が大きいほど高速)
GIF 画像表示 — matrix/<MAC>/display/image/gif
BMP 画像表示 — matrix/<MAC>/display/image/bmp
ハイブリッドモード ON/OFF — matrix/<MAC>/display/hybrid/on / off
{}
画面クリア — matrix/<MAC>/display/clear
{}
再起動 — matrix/<MAC>/reboot
{}

1.5 HTTP API 仕様

ベース URL

http://<デバイスIP>:8080

エンドポイント一覧

メソッド パス 説明
GET /status デバイスのステータス取得
GET /config/get 設定の取得
POST /config/set 設定の書き込み
POST /display/text テキスト表示
POST /display/image/gif GIF 画像表示(バイナリ)
POST /display/image/bmp BMP 画像表示(バイナリ)
POST /display/clear 画面クリア
POST /display/hybrid/on ハイブリッドモード有効化
POST /display/hybrid/off ハイブリッドモード無効化
POST /reboot 再起動

POST リクエストのボディは JSON 文字列 または 画像バイナリデータ で、JSON のスキーマは §1.4 MQTT プロトコル仕様 と完全に共通です。

動作確認の例

ブラウザまたは curl 等で IP を確認したのち、テキスト表示のテストが可能です。

curl -X POST http://192.168.2.155:8080/display/text \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello","size":1,"R":100,"G":0,"B":0,"areaX":0,"areaY":16,"areaW":32,"areaH":16,"scrollSpeed":100}'

1.6 ハイブリッドモード(レイヤー重畳)

ハイブリッドモードを有効にすると、複数の表示要素を重ね合わせて表示できます。たとえば「BMP 画像を背景にして、その上にスクロールテキストを表示する」といった使い方が可能です。

レイヤーは任意の組み合わせ・順序で重ねることができます(例: bmpgifbmpbmptexttext)。

操作手順

  1. display/clear を送信して画面をクリア
  2. display/hybrid/on を送信してハイブリッドモードを有効化
  3. 表示したい順に display/image/gif / display/image/bmp / display/text のコマンドを連続して送信
  4. 必要な内容をすべて送信したら、必要に応じて display/hybrid/off を送信してハイブリッドモードを終了

1.7 Gravio HubKit からの利用

Gravio HubKit のアクションフローから操作する場合は、専用のアクションコンポーネントを使用してください。HTTP / MQTT のどちらの接続方法を選択するかは、コンポーネントのプロパティ ConnectionType で指定します。

コンポーネント 用途
Gravio Matrix Gen2 Display テキストや画像(GIF / BMP)の表示。アニメーション GIF と詳細な表示エリア指定にも対応
Gravio Matrix Gen2 Control 画面クリア、明るさ設定、再起動
Gravio Matrix Gen2 Template 温度・湿度・気圧・CO2 濃度・開閉などのテンプレート表示

MQTT 接続を利用する場合

  1. 基本プロパティセットMQTT コネクションプロファイルを作成し、対象ブローカーの接続情報(URL、ポート、ユーザ名、パスワード、証明書など)を保存しておきます。
  2. アクションコンポーネントのプロパティで ConnectionTypeMQTT を選択し、MQTT コネクションとして上記プロファイルを指定します。
  3. DeviceId プロパティにデバイスの MAC アドレス(12桁の16進数、コロンなし)を指定します。MAC アドレスはデバイスにログイン後の Web ページで確認可能です。

HTTP 接続を利用する場合

  1. アクションコンポーネントの ConnectionTypeHTTP を選択します。
  2. IPAddress プロパティにデバイスの IPv4 アドレス(例: 192.168.6.1)を指定します。IP アドレスはデバイスの初期セットアップ完了後に画面上に表示されています。

詳細な各プロパティの説明は Gravio アクションリファレンス を参照してください。