PD Repeater
デフォルトパス
PD Repeater に関連するファイルのデフォルトパスは次の通りです。
PD Repeater に関連するファイルのデフォルトパス
| パス名 | 説明 |
|---|---|
| /usr/sbin/pd_repeater | 常駐実行オブジェクト(デーモン) |
| /usr/sbin/pd_repeater_p | 実行オブジェクト(ユーティリティー) |
| /lib/systemd/system/pd_repeater.service | Systemd Service ファイル |
| /etc/init.d/pd_repeater | RC ファイル |
| /var/webui/config/pd_repeater.conf | 設定ファイル |
| /var/run/pd_repeater.pid | PID ファイル |
| /var/webui/pd-data/pd_repeater.db | キャッシュファイル |
| @/pd_repeater/<デバイス番号>.sock | 入力 UNIX ドメインソケット |
| @/pd_handler/<デバイス番号>.sock | 出力 UNIX ドメインソケット |
設定ファイルの書式
構文
ルートオブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| db_file | 文字列 | キャッシュファイルのパス名. デフォルト値は '/var/webui/pd-data/pd_repeater.db'. (MAXPATHLEN) |
| max_db_size | 整数値 | キャッシュファイルの最大サイズ(Mbyte). デフォルト値は16. |
| servers | JSON obj | servers オブジェクト |
| devices | JSON 配列 | devices オブジェクト |
servers オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| mqtt | JSON obj | 汎用のMQTT ブローカーへデータを送るための設定オブジェクト |
| w4d | JSON obj | IBM Watson IoT for device へデータを送るための設定オブジェクト |
| kinesis | JSON obj | Amazon Kinesis へデータを送るための設定オブジェクト |
| pgsql | JSON obj | PostgreSQL データベースへデータを送るための設定オブジェクト |
| mysql | JSON obj | MySQL データベースへデータを送るための設定オブジェクト |
| web | JSON obj | 汎用のWeb サーバへデータを送るための設定オブジェクト |
| awsiot | JSON obj | Amazon AWS IoT へデータを送るための設定オブジェクト |
| eventhub | JSON obj | Microsoft Azure Event Hubs へデータを送るための設定オブジェクト |
| w4g | JSON obj | IBM Watson IoT for gateway へデータを送るための設定オブジェクト |
| iothub | JSON obj | Microsoft Azure IoT Hub へデータを送るための設定オブジェクト |
| lsocket | JSON obj | Unixドメインソケットへデータを送るための設定オブジェクト |
| kddi_std | JSON obj | KDDI IoT クラウドStandard へデータを送るための設定オブジェクト |
| pd_web | JSON obj | Plat'Home 独自仕様の Web サーバへデータを送るための設定オブジェクト |
| ltcp | JSON obj | TCP ソケットへデータを送るための設定オブジェクト |
| awsiot_ws | JSON obj | Amazon AWS IoT へ MQTT over Websocket でデータを送るための設定オブジェクト |
| iothub_ws | JSON obj | Microsoft Azure IoT Hub へ MQTT over Websocket でデータを送るための設定オブジェクト |
| dummy | JSON obj | ログ出力のみを行うダミー出力のための設定オブジェクト |
| sbiot | JSON obj | SoftBank IoTへデータを送るための設定オブジェクト |
| ftp | JSON obj | FTP サーバへデータを送るための設定オブジェクト |
クラウドインデックスキーとして同文字列に '_0' または '_1', '_2', '_3' を付加した文字列 (例えば 'awsiot' について、'awsiot_0', 'awsiot_1', 'awsiot_2', 'awsiot_3') を用いることで、 同一のクラウドの異る 4 つのサーバーもしくはエンドポイントを設定することも可能です。
汎用 MQTT ブローカー(mqtt)
汎用MQTTブローカー(mqtt)の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| res_memory | 整数値 | 常駐メモリの増加分の上限値(Mbyte). 上限値を超えると送信プロセスを再起動する. デフォルト値は 32. |
| host | 文字列 | 接続先ホストをIP アドレスまたは FQDN で指定. (MAXHOSTNAMELEN) |
| protocol | 文字列 | 接続プロトコル 'tcp' または 'ssl' を指定. デフォルト値は 'tcp'. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 1883(TCP 接続時) または 8883(SSL 接続時). |
| keepaliveinterval | 整数値 | MQTT の Keepalive 間隔(sec). デフォルト値は 10. |
| cleansession | 論理値 | MQTT の Clean session. デフォルト値は true. |
| reliable | 論理値 | MQTT の Reliable. デフォルト値は true. |
| qos | 整数値 | MQTT の送信用 QoS. 0~2 を指定. デフォルト値は 0. |
| retained | 論理値 | MQTT の Retained. デフォルト値は false. |
| rcv_qos | 整数値 | MQTT の受信用 QoS. 0~2 を指定. デフォルト値は 1. |
| forward_match | 論理値 | 受信トピックの前方一致のリファレンスを送られて来たトピックから設定された受信トピックに切り替える. デフォルト値は false. |
| lwt | 論理値 | Last Will and Testament (LWT) を使用するか否か. デフォルト値は false. |
| lwt_qos | 整数値 | LWT の QoS. 0~2 を指定. デフォルト値は 0. |
| lwt_retained | 論理値 | LWT の Retained. デフォルト値は false. |
| client_id | 文字列 | MQTT 接続に用いる Client ID. (96byte) |
| topic_prefix | 文字列 | MQTT の送信トピックの先頭に付加する文字列. 送信トピックは、本文字列とデバイス設定オブジェクトの 'unique id' に指定される文字列の組み合わせで、<topic_prefix>/<unique_id> となる. (MAXPATHLEN) |
| rcv_topic_prefix | 文字列 | MQTT の受信トピックの先頭に付加する文字列. 受信トピックは、 <rcv_topic_prefix>/# で待ち受け、デバイス設定オブジェクトの 'unique_id' に指定される文字列の組み合わせからなる <rcv_topic_prefix>/<unique_id>と完全一致するデバイスへ受信メッセージを転送する. 完全一致しない場合は、前方一致により一致する複数のデバイスへ受信メッセージを転送する. (MAXPATHLEN) |
| lwt_topic_prefix | 文字列 | LWT の送信トピックの先頭に付加する文字列. 送信トピックは、本文字列とデバイス設定オブジェクトの 'unique_id' に指定される文字列の組み合わせで、<lwt_topic_prefix>/<unique_id>となる. (MAXPATHLEN) |
| lwt_message | 文字列 | LWT の送信メッセージ. (128byte) |
| username | 文字列 | 接続に用いるユーザー名. (96byte) |
| password | 文字列 | パスワード認証に用いるパスワード. (128byte) |
| truststore | 文字列 | SSL 接続に用いる Root CA 証明書ファイルのパス名. (MAXPATHLEN) |
| keystore | 文字列 | SSL 接続に用いる証明書ファイルのパス名. (MAXPATHLEN) |
| privatekey | 文字列 | SSL 接続に用いる秘密鍵ファイルのパス名. (MAXPATHLEN) |
IBM Watson IoT for device (w4d)
IBM Watson IoT for device (w4d) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| res_memory | 整数値 | 常駐メモリの増加分の上限値(Mbyte). 上限値を超えると送信プロセスを再起動する. デフォルト値は 32. |
| domain | 文字列 | 接続先ドメイン名. デフォルト値は 'messaging.internetofthings.ibmcloud.com'. (MAXHOSTNAMELEN) |
| protocol | 文字列 | 接続プロトコル'tcp' または'ssl' を指定. デフォルト値は 'tcp'. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 1883(TCP 接続時)または 8883(SSL 接続時). |
| keepaliveinterval | 整数値 | MQTT の Keepalive 間隔(sec). デフォルト値は 10. |
| cleansession | 論理値 | MQTT の Clean session. デフォルト値は true. |
| reliable | 論理値 | MQTT の Reliable. デフォルト値は true. |
| qos | 整数値 | MQTT の送信用 QoS. 0~2 を指定. デフォルト値は 0. |
| retained | 論理値 | MQTT の Retained. デフォルト値は false. |
| rcv_qos | 整数値 | MQTT の受信用 QoS. 0~2 を指定. デフォルト値は 1. |
| lwt | 論理値 | Last Will and Testament (LWT) を使用するか否か. デフォルト値は false. |
| lwt_qos | 整数値 | LWT の QoS. 0~2 を指定. デフォルト値は 0. |
| lwt_retained | 論理値 | LWT の Retained. デフォルト値はfalse. |
| org_id | 文字列 | 組織 ID. デフォルト値は 'quickstart'. (16byte) |
| event_id | 文字列 | イベントID. デフォルト値は 'sample'. (128byte) |
| lwt_event_id | 文字列 | LWT のイベント ID. デフォルト値は 'lwt'. |
| format_string | 文字列 | データーフォーマット. デフォルト値は 'json'. (16byte) |
| lwt_message | 文字列 | LWT の送信メッセージ. (128byte) |
| truststore | 文字列 | SSL 接続に用いる Root CA 証明書ファイルのパス名. (MAXPATHLEN) |
Amazon Kinesis (kinesis)
Amazon Kinesis (kinesis) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| domain | 文字列 | 接続先ドメイン名. デフォルト値は'amazonaws.com'. (MAXHOSTNAMELEN) |
| ssl_verify | 論理値 | サーバー証明書の検証を行うか否か. デフォルト値は false. |
| region | 文字列 | 接続先リージョン名. デフォルト値は 'ap-northeast-1'. (64byte) |
| accessid | 文字列 | アクセスID. (128byte) |
| accesskey | 文字列 | アクセスキー. (128byte) |
| streamname | 文字列 | ストリーム名. (128byte) |
Proxy を使用する場合は、環境変数 http_proxy または https_proxy に設定します。
PostgreSQL (pgsql)
PostgreSQL (pgsql) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| hostaddr | 文字列 | 接続先IP アドレス. (MAXHOSTNAMELEN) |
| protocol | 文字列 | 接続プロトコル 'tcp' または 'ssl' を指定. デフォルト値は 'tcp'. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 5432. |
| sslmode | 文字列 | PostgreSQL のSSL モード. デフォルト値は 'verify-full'. (12byte) |
| pg_type | 整数値 | postgresql/server/catalog/pg_type.h に定義されるOID. デフォルト値は114(JSONOID). |
| dbname | 文字列 | データベース名. デフォルト値は 'pd_repeater'. (32byte) |
| username | 文字列 | 接続に用いるユーザー名. (32byte) |
| password | 文字列 | 接続に用いるパスワード. (32byte) |
| truststore | 文字列 | SSL 接続に用いる Root CA 証明書ファイルのパス名. (MAXPATHLEN) |
| keystore | 文字列 | SSL 接続に用いる証明書ファイルのパス名. (MAXPATHLEN) |
| privatekey | 文字列 | SSL 接続に用いる秘密鍵ファイルのパス名. (MAXPATHLEN) |
MySQL (mysql)
MySQL (mysql) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| hostaddr | 文字列 | 接続先IP アドレス. (MAXHOSTNAMELEN) |
| protocol | 文字列 | 接続プロトコル 'tcp' または 'ssl' を指定. デフォルト値は 'tcp'. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 3306. |
| dbname | 文字列 | データベース名. デフォルト値は 'pd_repeater'. (32byte) |
| username | 文字列 | 接続に用いるユーザー名. (32byte) |
| password | 文字列 | 接続に用いるパスワード. (32byte) |
| truststore | 文字列 | SSL 接続に用いる Root CA 証明書ファイルのパス名. (MAXPATHLEN) |
| keystore | 文字列 | SSL 接続に用いる証明書ファイルのパス名. (MAXPATHLEN) |
| privatekey | 文字列 | SSL 接続に用いる秘密鍵ファイルのパス名. (MAXPATHLEN) |
汎用の Web サーバ(web)
汎用の Web サーバ(web) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| url | 文字列 | 接続先URL. (MAXPATHLEN) |
| ssl_verify | 論理値 | サーバー証明書の検証を行うか否か. デフォルト値は false. |
| username | 文字列 | BASIC 認証用ユーザー名. 空の場合、認証は行わない. (32byte) |
| password | 文字列 | BASIC 認証用パスワード. 空の場合、認証は行わない. (32byte) |
| max_post_msize | 整数値 | 最大ポストサイズ(Mbyte). デフォルト値は 1. |
| content_type | 文字列 | 'Content-Type' を指定する. 'text/plain' もしくは'application/json' が指定された場合はペイロードの URL セーフエンコードを行わない. デフォルト値は無指定. (64byte) |
Proxy を使用する場合は、環境変数 http_proxy または https_proxy に設定します。
Amazon AWS IoT (awsiot)
Amazon AWS IoT (awsiot) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| res_memory | 整数値 | 常駐メモリの増加分の上限値(Mbyte). 上限値を超えると送信プロセスを再起動する. デフォルト値は 32. |
| host | 文字列 | 接続先ホスト名. (MAXHOSTNAMELEN) |
| protocol | 文字列 | 接続プロトコル 'tcp' または 'ssl' を指定. デフォルト値は 'tcp'. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 8883. |
| keepaliveinterval | 整数値 | MQTT の Keepalive 間隔(sec). デフォルト値は 10. |
| reliable | 論理値 | MQTT の Reliable. デフォルト値は true. |
| qos | 整数値 | MQTT の送信用 QoS. 0~2 を指定. デフォルト値は 0. |
| retained | 論理値 | MQTT の Retained. デフォルト値は false. |
| rcv_qos | 整数値 | MQTT の受信用 QoS. 0~2 を指定. デフォルト値は 1. |
| lwt | 論理値 | Last Will and Testament (LWT) を使用するか否か. デフォルト値は false. |
| lwt_qos | 整数値 | LWT の QoS. 0~2 を指定. デフォルト値は 0. |
| lwt_retained | 論理値 | LWT の Retained. デフォルト値は false. |
| rootCA | 文字列 | SSL 接続に用いる Root CA 証明書ファイルのパス名. (MAXPATHLEN) |
Microsoft Azure Event Hubs (eventhub)
Microsoft Azure Event Hubs (eventhub) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| domain | 文字列 | 接続先ドメイン名. デフォルト値は'servicebus.windows.net'. (MAXHOSTNAMELEN) |
| namespace | 文字列 | 接続先名前空間. (64byte) |
| port | 整数値 | 接続先ポート番号. デフォルト値は 5671. |
IBM Watson IoT for gateway (w4g)
IBM Watson IoT for gateway (w4g) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| res_memory | 整数値 | 常駐メモリの増加分の上限値(Mbyte). 上限値を超えると送信プロセスを再起動する. デフォルト値は 32. |
| domain | 文字列 | 接続先ドメイン名 . デフォルト値は 'messaging.internetofthings.ibmcloud.com'. (MAXHOSTNAMELEN) |
| protocol | 文字列 | 接続プロトコル'tcp' または'ssl' を指定 . デフォルト値は 'tcp'. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 1883(TCP 接続時)または 8883(SSL 接続時). |
| keepaliveinterval | 整数値 | MQTT の Keepalive 間隔(sec). デフォルト値は 10. |
| cleansession | 論理値 | MQTT の Clean session. デフォルト値は true. |
| reliable | 論理値 | MQTT の Reliable. デフォルト値は true. |
| qos | 整数値 | MQTT の送信用 QoS. 0~2 を指定. デフォルト値は 0. |
| retained | 論理値 | MQTT の Retained. デフォルト値は false. |
| rcv_qos | 整数値 | MQTT の受信用 QoS. 0~2 を指定. デフォルト値は 1. |
| lwt | 論理値 | Last Will and Testament (LWT) を使用するか否か. デフォルト値は false. |
| lwt_qos | 整数値 | LWT の QoS. 0~2 を指定. デフォルト値は 0. |
| lwt_retained | 論理値 | LWT の Retained. デフォルト値はfalse. |
| org_id | 文字列 | 組織 ID. デフォルト値は 'quickstart'. (16byte) |
| gateway type | 文字列 | ゲートウェイタイプ. デフォルト値は 'sample'. (20byte) |
| gateway id | 文字列 | ゲートウェイID. (20byte) |
| event_id | 文字列 | イベントID. デフォルト値は 'sample'. (128byte) |
| lwt_event_id | 文字列 | LWT のイベント ID. デフォルト値は 'lwt'. |
| format_string | 文字列 | データーフォーマット. デフォルト値は 'json'. (16byte) |
| lwt_message | 文字列 | LWT の送信メッセージ. (128byte) |
| truststore | 文字列 | SSL 接続に用いる Root CA 証明書ファイルのパス名. (MAXPATHLEN) |
| keystore | 文字列 | SSL 接続に用いる証明書ファイルのパス名. (MAXPATHLEN) |
| privatekey | 文字列 | SSL 接続に用いる秘密鍵ファイルのパス名. (MAXPATHLEN) |
Microsoft Azure IoT Hub(iothub)
Microsoft Azure IoT Hub(iothub) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| res_memory | 整数値 | 常駐メモリの増加分の上限値(Mbyte). 上限値を超えると送信プロセスを再起動する. デフォルト値は 32. |
| domain | 文字列 | 接続先ドメイン名. デフォルト値は 'azure-devices.net'. (MAXHOSTNAMELEN) |
| hub_name | 文字列 | 接続先ハブ名. (64byte) |
| gw_host | 文字列 | ゲートウェイホスト名. (MAXHOSTNAMELEN) |
| tail_slash | 論理値 | MQTTトピックの末尾に'/'を付けるか否か. デフォルト値は true. |
| keepaliveinterval | 整数値 | MQTT の Keepalive 間隔(sec). デフォルト値は 10. |
| cleansession | 論理値 | MQTT の Clean session. デフォルト値はtrue. |
| reliable | 論理値 | MQTT の Reliable. デフォルト値は true. |
| qos | 整数値 | MQTT の送信用 QoS. 0~2 を指定. デフォルト値は 0. |
| retained | 論理値 | MQTT の Retained. デフォルト値は false. |
| rcv_qos | 整数値 | MQTT の受信用 QoS. 0~2 を指定. デフォルト値は 1. |
| lwt | 論理値 | Last Will and Testament (LWT) を使用するか否か. デフォルト値は false. |
| lwt_qos | 整数値 | LWT の QoS. 0~2 を指定. デフォルト値は 0. |
| lwt_retained | 論理値 | LWT の Retained. デフォルト値は false. |
| lwt_property_bag | 文字列 | LWT Property Bag. (256byte) |
| lwt_message | 文字列 | LWT の送信メッセージ. (128byte) |
| rootCA | 文字列 | X.509 認証に用いる Root CA 証明書ファイルのパス名. (MAXHOSTNAMELEN) |
UNIXドメインソケット (lsocket)
UNIXドメインソケット (lsocket) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| root_path | 文字列 | 送り先Unix ドメインソケットのルートパス名. 文字列の先頭が '@' の場合は abstract namespace と解釈する. デフォルト値は '/tmp'. (MAXPATHLEN) |
KDDI IoT クラウド Standard(kddi_std)
KDDI IoTクラウドStandard(kddi_std) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| domain | 文字列 | 接続先ドメイン名. デフォルト値は 'datalink.m2m-cloud-std.kddi.ne.jp'. (MAXHOSTNAMELEN) |
| ssl_verify | 論理値 | サーバー証明書の検証を行うか否か. デフォルト値は false. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 443. |
| termid | 文字列 | 端末ID. (16byte) |
| username | 文字列 | BASIC 認証用ユーザー名. 空の場合、認証は行わない. (32byte) |
| password | 文字列 | BASIC 認証用パスワード. 空の場合、認証は行わない. (32byte) |
Proxy を使用する場合は、環境変数 http_proxy または https_proxy に設定します。
Plat'Home 独自仕様 Web サーバ(pd web)
Plat'Home 独自仕様 Web サーバ(pd web) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| url | 文字列 | 接続先URL. (MAXPATHLEN) |
| ssl_verify | 論理値 | サーバー証明書の検証を行うか否か. デフォルト値は false. |
| poll_interval | 整数値 | PD Web ではメッセージの送信と同時に下流方向へのメッセージを取得するが、poll interval には送信すべきメッセージが存在しない場合を想定し、空の接続を起こす間隔(sec)を指定する. デフォルト値は 30. |
| username | 文字列 | BASIC 認証用ユーザー名. 空の場合、認証は行わない. (32byte) |
| password | 文字列 | BASIC 認証用パスワード. 空の場合、認証は行わない. (32byte) |
| max_post_msize | 整数値 | 最大ポストサイズ(Mbyte). デフォルト値は 1. |
Proxy を使用する場合は、環境変数 http_proxy または https_proxy に設定します。
TCPソケット (ltcp)
TCPソケット (ltcp) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| ip_addr | 文字列 | 接続先IP アドレス. デフォルト値は '127.0.0.1'. (16byte) |
| delimiter | 文字列 | メッセージのセパレータコード. デフォルト値は'0x00'. 例えば CRLF コードをセパレータとする場合は '0x0d0a'. (7byte) |
Amazon AWS IoT [Websocket](awsiot_ws)
Amazon AWS IoT [Websocket](awsiot_ws) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| res_memory | 整数値 | 常駐メモリの増加分の上限値(Mbyte). 上限値を超えると送信プロセスを再起動する. デフォルト値は 32. |
| host | 文字列 | 接続先ホスト名. (MAXHOSTNAMELEN) |
| port | 整数値 | 接続先ポート番号. デフォルト値は 443. |
| keepaliveinterval | 整数値 | MQTT の Keepalive 間隔(sec). デフォルト値は 10. |
| reliable | 論理値 | MQTT の Reliable. デフォルト値は true. |
| qos | 整数値 | MQTT の送信用 QoS. 0~2 を指定. デフォルト値は 0. |
| retained | 論理値 | MQTT の Retained. デフォルト値は false. |
| rcv_qos | 整数値 | MQTT の受信用 QoS. 0~2 を指定. デフォルト値は 1. |
| lwt | 論理値 | Last Will and Testament (LWT) を使用するか否か. デフォルト値は false. |
| lwt_qos | 整数値 | LWT の QoS. 0~2 を指定. デフォルト値は 0. |
| lwt_retained | 論理値 | LWT の Retained. デフォルト値は false. |
| accessid | 文字列 | アクセスID. (128byte) |
| accesskey | 文字列 | アクセスキー. (128byte) |
Proxy を使用する場合は、環境変数 http_proxy または https_proxy に設定します。
Microsoft Azure IoT Hub[Websocket] (iothub_ws)
Microsoft Azure IoT Hub[Websocket] (iothub_ws) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| res_memory | 整数値 | 常駐メモリの増加分の上限値(Mbyte). 上限値を超えると送信プロセスを再起動する. デフォルト値は 32. |
| domain | 文字列 | 接続先ドメイン名. デフォルト値は 'azure-devices.net'. (MAXHOSTNAMELEN) |
| hub_name | 文字列 | 接続先ハブ名. (64byte) |
| keepaliveinterval | 整数値 | MQTT の Keepalive 間隔(sec). デフォルト値は 10. |
| cleansession | 論理値 | MQTT の Clean session. デフォルト値はtrue. |
| reliable | 論理値 | MQTT の Reliable. デフォルト値は true. |
| qos | 整数値 | MQTT の送信用 QoS. 0~2 を指定. デフォルト値は 0. |
| retained | 論理値 | MQTT の Retained. デフォルト値は false. |
| rcv_qos | 整数値 | MQTT の受信用 QoS. 0~2 を指定. デフォルト値は 1. |
| lwt | 論理値 | Last Will and Testament (LWT) を使用するか否か. デフォルト値は false. |
| lwt_qos | 整数値 | LWT の QoS. 0~2 を指定. デフォルト値は 0. |
| lwt_retained | 論理値 | LWT の Retained. デフォルト値は false. |
| lwt_property_bag | 文字列 | LWT Property Bag. (256byte) |
| lwt_message | 文字列 | LWT の送信メッセージ. (128byte) |
Proxy を使用する場合は、環境変数 http_proxy または https_proxy に設定します。
ダミー出力 (dummy)
ダミー出力 (dummy) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| log | 論理値 | ペイロードとそのサイズのログ出力を行う. デフォルト値は false. |
SoftBank IoT (sbiot)
SoftBank IoT (sbiot) の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| res_memory | 整数値 | 常駐メモリの増加分の上限値(Mbyte). 上限値を超えると送信プロセスを再起動する. デフォルト値は 32. |
| host | 文字列 | 接続先ホストをIP アドレスまたは FQDN で指定. (MAXHOSTNAMELEN) |
| protocol | 文字列 | 接続プロトコル 'tcp' または 'ssl' を指定. デフォルト値は 'ssl'. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 8883. |
| keepaliveinterval | 整数値 | MQTT の Keepalive 間隔(sec). デフォルト値は 10. |
| cleansession | 論理値 | MQTT の Clean session. デフォルト値は true. |
| reliable | 論理値 | MQTT の Reliable. デフォルト値は true. |
| qos | 整数値 | MQTT の送信用 QoS. 0~2 を指定. デフォルト値は 0. |
| retained | 論理値 | MQTT の Retained. デフォルト値は false. |
| rcv_qos | 整数値 | MQTT の受信用 QoS. 0~2 を指定. デフォルト値は 1. |
| resp | 論理値 | 応答出力を受け取るか否か. デフォルト値は false. |
| cloud_id | 文字列 | MQTT の送信トピックに与えられる送信先クラウド名. デフォルト値は 'CSE1000'. (64byte) |
| client_id | 文字列 | MQTT 接続に用いる Client ID. (96byte) |
| ae_id | 文字列 | 接続に用いる SoftBank IoT の AE-ID. (64byte) |
| password | 文字列 | パスワード認証に用いるパスワード. (128byte) |
| asset | 文字列 | 接続に用いる SoftBank IoT のアセット名. (64byte) |
| truststore | 文字列 | SSL 接続に用いる Root CA 証明書ファイルのパス名. (MAXPATHLEN) |
| keystore | 文字列 | SSL 接続に用いる証明書ファイルのパス名. (MAXPATHLEN) |
| privatekey | 文字列 | SSL 接続に用いる秘密鍵ファイルのパス名. (MAXPATHLEN) |
SoftBank IoT に関わる実装は、SoftBank IoT プラットフォームネットワーク接続仕様(Rev.1.1.1)に準拠し「SoftBankスマ可視化専用クラウド」の仕様に合わせて実装されています。
FTP サーバ(ftp)
FTP サーバ (ftp)の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値はfalse. |
| interval | 整数値 | サーバへの送信間隔(sec). デフォルト値は 30. |
| expire | 整数値 | キャッシュのデータ保持時間(sec). デフォルト値 0 の場合はデータが送信されるまで無制限. |
| restart | 整数値 | 送信プロセスの再起動間隔(sec). デフォルト値は 604800. 0 の場合は再起動しない. |
| url | 文字列 | 'ftp://' から始まる接続先 URL. (MAXPATHLEN) |
| username | 文字列 | 接続に用いるユーザー名. (32byte) |
| password | 文字列 | パスワード認証に用いるパスワード. (32byte) |
| per_device | 論理値 | デバイス毎にファイル名を変えて送信する. デフォルト値は false. |
| fn_prefix | 文字列 | ファイル名のプレフィックス. 'per_device' キーが false の時のみ有効. (64byte). |
| fn_suffix | 文字列 | ファイル名のサフィックス. 'per_device' キーが false の時のみ有効. (64byte). |
| fn_time | 文字列 | ファイル名のプレフィックスとサフィックスの間に挿入される PD Repeater がデータを受け取った時刻文字列の仕様. 'none'(挿入無し), 'oldest'(最古), 'latest'(最新), 'both'(両方) のいずれか. 'oldest' または 'latest' 場合は 'CCyymmddHHMMSS'、'both' の場合は、 'CCyymmddHHMMSS-CCyymmddHHMMSS'. |
FTPサーバに関わる実装は、2020年6月現在試験的なもので、設定オブェクトについては予告なく変更される場合があります。
devices オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| localname | 文字列 | デバイスのローカル名(デバイス番号). (32byte) |
| bind | 文字列 | データを受け取るソケット名. 文字列の先頭が '@' の場合は abstract namespace と解釈します. 空の場合は、デフォルト値 '@/pd_repeater/<localname>.sock' が設定されます. |
| push_to | 文字列 | 制御メッセージの送り先ソケット名. 文字列の先頭が '@' の場合は abstract namespace と解釈します. 空の場合は、デフォルト値 '@/pd_handler/<localname>.sock' が設定されます. |
| buffer_size | 整数値 | データのバッファサイズ(byte). デフォルト値は 4096 |
| truncate | 実数値 | データを間引くための入力データを受け付けない時間(msec). デフォルト値 0 の場合は間引かない. |
| receive | 論理値 | クラウドからメッセージを受け取る(下流方向制御) か否か. デフォルト値は false. |
| mqtt | JSON obj | 汎用のMQTT ブローカー固有の設定オブジェクト |
| w4d | JSON obj | IBM Watson IoT for device 固有の設定オブジェクト |
| kinesis | JSON obj | Amazon Kinesis 固有の設定オブジェクト |
| pgsql | JSON obj | PostgreSQL データベース固有の設定オブジェクト |
| mysql | JSON obj | MySQL データベース固有の設定オブジェクト |
| web | JSON obj | 汎用のWeb サーバ固有の設定オブジェクト |
| awsiot | JSON obj | Amazon AWS IoT 固有の設定オブジェクト |
| eventhub | JSON obj | Microsoft Azure Event Hubs 固有の設定オブジェクト |
| w4g | JSON obj | IBM Watson IoT for gateway 固有の設定オブジェクト |
| iothub | JSON obj | Microsoft Azure IoT Hub 固有の設定オブジェクト |
| lsocket | JSON obj | Unix ドメインソケットへデータを送るための固有の設定オブジェクト |
| kddi_std | JSON obj | KDDI IoT クラウド Standard 固有の設定オブジェクト |
| pd_web | JSON obj | Plat'Home 独自仕様の Web サーバ固有の設定オブジェクト |
| ltcp | JSON obj | TCP ソケット固有の設定オブジェクト |
| awsiot_ws | JSON obj | Amazon AWS IoT へ MQTT over Websocket でデータを送るための固有の設定オブジェクト |
| iothub_ws | JSON obj | Microsoft Azure IoT Hub へ MQTT over Websocket でデータを送るための固有の設定オブジェクト |
| dummy | JSON obj | ダミー出力 固有の設定オブジェクト |
| sbiot | JSON obj | SoftBank IoT へデータを送るための固有の設定オブジェクト |
| ftp | JSON obj | FTP サーバへデータを送るための固有の設定オブジェクト |
クラウドインデックスキーについては servers オブジェクトと同様に同文字列に '_0' または'_1', '_2', '_3' を付加した文字列(例えば 'awsiot' について、'awsiot_0', 'awsiot_1', 'awsiot_2', 'awsiot_3) を用いることが可能です。
汎用のMQTT ブローカー(mqtt)
汎用のMQTT ブローカー(mqtt) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| unique_id | 文字列 | ユニークID. (20byte) |
IBM Watson IoT for device (w4d)
IBM Watson IoT for device (w4d) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| device_id | 文字列 | デバイスID. (20byte) |
| device_type | 文字列 | デバイスタイプ. (20byte) |
| password | 文字列 | パスワード. (128byte) |
| keystore | 文字列 | SSL 接続に用いる証明書ファイルのパス名. (MAXPATHLEN) |
| privatekey | 文字列 | SSL 接続に用いる秘密鍵ファイルのパス名. (MAXPATHLEN) |
Amazon Kinesis (kinesis)
Amazon Kinesis (kinesis) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
PostgreSQL (pgsql)
PostgreSQL (pgsql) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| table | 文字列 | データを書き込むテーブル名. デフォルト値は 'buf'. |
| column | 文字列 | データを書き込むカラム名. デフォルト値は 'jsonObj'. |
MySQL (mysql)
MySQL (mysql) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| table | 文字列 | データを書き込むテーブル名. デフォルト値は 'buf'. |
| column | 文字列 | データを書き込むカラム名. デフォルト値は 'jsonObj'. |
汎用のWeb サーバ(web)
汎用のWeb サーバ(web) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
Amazon AWS IoT (awsiot)
Amazon AWS IoT (awsiot) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| client_id | 文字列 | クライアントID. (20byte) |
| thing_name | 文字列 | Device Shadowsに用いるthingName. (128byte) |
| shadow_name | 文字列 | Device Shadowsに用いるshadowName. (128byte) |
| device_shadow | 論理値 | Device Shadowsを使用するかの設定. デフォルト値は true. |
| classic_shadow | 論理値 | Device Shadowsをクラシックとして運用するかの設定. デフォルト値は true. |
| active_shadow | 論理値 | Device ShadowsのshadowNameを不定で受信するかのするかの設定. デフォルト値は false. |
| topic | 文字列 | MQTT の送信トピック. (MAXPATHLEN) |
| rcv_topic | 文字列 | MQTT の受信トピック. (MAXPATHLEN) |
| lwt_topic | 文字列 | LWT の送信トピック. (MAXPATHLEN) |
| lwt_message | 文字列 | LWT の送信メッセージ. (128byte) |
| cert | 文字列 | SSL 接続に用いる証明書ファイルのパス名. (MAXPATHLEN) |
| privatekey | 文字列 | SSL 接続に用いる秘密鍵ファイルのパス名. (MAXPATHLEN) |
Microsoft Azure Event Hubs (eventhub)
Microsoft Azure Event Hubs (eventhub) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| hub_name | 文字列 | Event Hubs 名. (64byte) |
| sas_policy | 文字列 | SAS ポリシー. (64byte) |
| sas_key | 文字列 | SAS キー. (64byte) |
| properties | JSON obj | AMQP のプロパティを JSONオブジェクト文字列で指定する. 配列型とオブジェクト型を含むことはできない. |
IBM Watson IoT for gateway (w4g)
IBM Watson IoT for gateway (w4g) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| device_id | 文字列 | デバイスID. (20byte) |
| device_type | 文字列 | デバイスタイプ. (20byte) |
Microsoft Azure IoT Hub(iothub)
Microsoft Azure IoT Hub(iothub) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| device_id | 文字列 | デバイスID. (128byte) |
| device_key | 文字列 | デバイスキー. (65byte) |
| transparent | 論理値 | IoT Edge を透過モードで動作させるか否か. デフォルト値は false |
| module_id | 文字列 | モジュールID. (64byte). 透過モード時は無視. |
| cert | 文字列 | X.509 認証に用いる証明書ファイルのパス名. (MAXPATHLEN) |
| privatekey | 文字列 | X.509 認証に用いる秘密鍵ファイルのパス名. (MAXPATHLEN) |
UNIX ドメインソケット (lsocket)
UNIXドメインソケット (lsocket) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
KDDI IoT クラウド Standard (kddi_std)
KDDI IoT クラウドStandard (kddi std) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
Plat'Home 独自仕様 Web サーバ(pd web)
Plat'Home 独自仕様 Web サーバ(pd web) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| id | 文字列 | クライアントID. (128byte) |
| key | 文字列 | トークン認証に用いる文字列(アクセスキー). (128byte) |
TCPソケット (ltcp)
TCPソケット (ltcp) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| port | 整数値 | 接続先ポート番号. デフォルト値は 49152(TCP 接続時). |
Amazon AWS IoT[Websocket](awsiot_ws)
Amazon AWS IoT[Websocket](awsiot_ws) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| client_id | 文字列 | クライアントID. (20byte) |
| thing_name | 文字列 | Device Shadowsに用いるthingName. (128byte) |
| shadow_name | 文字列 | Device Shadowsに用いるshadowName. (128byte) |
| device_shadow | 論理値 | Device Shadowsを使用するかの設定. デフォルト値は true. |
| classic_shadow | 論理値 | Device Shadowsをクラシックとして運用するかの設定. デフォルト値は true. |
| active_shadow | 論理値 | Device ShadowsのshadowNameを不定で受信するかのするかの設定. デフォルト値は false. |
| topic | 文字列 | MQTT の送信トピック. (MAXPATHLEN) |
| rcv_topic | 文字列 | MQTT の受信トピック. (MAXPATHLEN) |
| lwt_topic | 文字列 | LWT の送信トピック. (MAXPATHLEN) |
| lwt_message | 文字列 | LWT の送信メッセージ. (128byte) |
Microsoft Azure IoT Hub[Websocket](iothub_ws)
Microsoft Azure IoT Hub[Websocket](iothub_ws) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| device_id | 文字列 | デバイスID. (128byte) |
| device_key | 文字列 | デバイスキー. (65byte) |
ダミー出力(dummy)
ダミー出力(dummy) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
SoftBank IoT(sbiot)
SoftBank IoT(sbiot) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| container | 文字列 | SoftBank IoT への接続に用いるコンテナ名. (64byte) |
SoftBank IoT に関わる実装は、SoftBank IoTプラットフォームネットワーク接続仕様(Rev.1.1.1)に準拠し「SoftBankスマ可視専用クラウド」の仕様に合わせて実装されています。
FTP サーバ(ftp)
FTPサーバ (ftp) 固有の設定オブジェクト
| キー | データ型 | 説明 |
|---|---|---|
| enable | 論理値 | デフォルト値は false. |
| fn_prefix | 文字列 | ファイル名のプレフィックス. 'per_device' キーが true の時のみ有効. (64byte) |
| fn_suffix | 文字列 | ファイル名のサフィックス. 'per_device' キーが true の時のみ有効. (64byte) |
| fn_time | 文字列 | ファイル名のプレフィックスとサフィックスの間に挿入される PD Repeater がデータを受け取った時刻文字列の仕様. 'none'(挿入無し), 'oldest'(最古), 'latest'(最新), 'both'(両方) のいずれか. 'oldest' または 'latest' 場合は 'CCyymmddHHMMSS'、'both' の場合は、'CCyymmddHHMMSS-CCyymmddHHMMSS'. |
FTPサーバに関わる実装は、2020年6月現在試験的なもので、設定オブェクトについては予告なく変更される場合があります。
下流方向メッセージ
メッセージフォーマット
PD Repeater が下流のモジュールに転送するメッセージのフォーマットを示します。
メッセージフォーマット
| Cloud ID (1Byte) | Sub ID (1Byte) | Header Size (2Byte) | MD5 (16Byte) | Header | Payload |
メッセージフォーマットの説明
| フィールド名 | 説明 |
|---|---|
| Cloud ID (1Byte) | PD Repeater が便宜上割り当てている送受信先プロトコルの番号 |
| Sub ID (1Byte) | PD Repeater上の便宜上割り当てている送受信先のサブ番号(0x00~0x03) |
| Header Size (2Byte) | PD Repeaterで付加されたHeaderのサイズ. バイトオーダーはリトルエンディアン. |
| MD5 (16Byte) | 制御メッセージのハッシュ値 |
| Header | PD Repeaterで付加されたMQTTのトピックやHTTPの応答ヘッダ |
| Payload | クラウドから送られて来た制御メッセージ |
Cloud ID とヘッダー
Cloud IDとヘッダーの内容を示します。
Cloud ID とヘッダーの内容
| クラウド | Cloud ID | 下流方向制御 | ヘッダーの内容 |
|---|---|---|---|
| PD Exchange | 0x00 | 対応 | Command ID, ApplicationID |
| MQTTサーバ | 0x01 | 対応 | MQTT受信トピック |
| Watson IoT for Device | 0x02 | 対応 | MQTT受信トピック *1 |
| Amazon Kinesis | 0x03 | ||
| PostgreSQLサーバ | 0x04 | ||
| MySQLサーバ | 0x05 | ||
| WEBサーバ | 0x06 | ||
| AWS IoT | 0x07 | 対応 | MQTT受信トピック |
| MS Azure Event hubs | 0x08 | ||
| Watson IoT for Gateway | 0x09 | 対応 | MQTT受信トピック *1 |
| MS Azure IoT Hub | 0x0a | 対応 | MQTT受信トピック |
| 予約 | 0x0b | ||
| ドメインソケット | 0x0c | ||
| KDDI IoT クラウドStandard | 0x0d | ||
| IoT デバイスハブ | 0x0e | 対応 | MQTT受信トピック*2 |
| PH社独自仕様WEBサーバ | 0x0f | 対応 | HTTP応答ヘッダー |
| Google IoT Core | 0x10 | 対応 | MQTT受信トピック サービス終了に伴い現在は使用できません. |
| TCP | 0x11 | 対応 | 接続先IPアドレスとポート番号 *3 |
| AWS IoT[Websocket] | 0x12 | 対応 | MQTT受信トピック |
| MS Azure IoT Hub[Websocket] | 0x13 | 対応 | MQTT受信トピック |
| ダミー出力 | 0x14 | ||
| SoftBankスマ可視専用クラウド | 0x15 | 対応 | MQTT受信トピックと oneM2M のJSON制御用オブジェクト*4 |
| 予約 | 0x16 | ||
| FTPサーバ | 0x17 | ||
| 予約 | 0x18 | ||
| 予約 | 0x19 | ||
| 予約 | 0x1a | ||
| 予約 | 0x1b |
- Watson IoT については、ペイロードを 'd' キーの JSON オブジェクトとしているため、ハッシュ値(MD5)を得た後、デコードし 'd' キーの JSON オブジェクトのみを制御メッセージとして出力しています。
- IoT デバイスハブについては、ペイロードを 'parameters' キーのJSONオブジェクトとしているため、ハッシュ値(MD5)を得た後、デコードし 'parameters' キーの JSON オブジェクトのみを制御メッセージとして出力しています。
- TCPの接続先IPアドレスとポート番号は、次のJSON文字列で付加されます。
- SoftBank IoT については、oneM2M 仕様のペイロードから 'con' キーの JSON オブジェクトのみを出力し、これを除く JSON オブジェクトをMQTT 受信トピック文字列に連結しヘッダーとしています。
デバイス制御方式に依存した送信メッセージ構文
IoT HubのDevice TwinsやAWS IoTのDevice Shadow の制御においては、MQTTプロトコルのトピックを用います。
このためPD Repeaterでは、IoT HubとAWS IoTについて送信メッセージ(PD Repeaterへの入力)の構文にルールを設けMQTTプロトコルのトピックを制御します。
なお、各送信メッセージをPD Repeaterが待ち受けしているUnix Domainソケットに対して書き込むことで対応の処理が行われます。
MS Azure IoT Hubの送信メッセージ構文
IoT HubのDevice TwinsとDirect Methodをサポートするため、次の構文が用意されています。
Device Twinsのプロパティを取得する :
Device Twinsのプロパティの更新を通知する :
Direct Methodに対する応答 :
ここで、
- <Request ID> は、
- Device Twinsもしくは、Direct Method のリクエストID
- <Reported>は、
- Device Twins のreportedプロパティ(JSONオブジェクト)
- <Status Code> は、
- Direct Methodの実行ステータスコード、正常時は 200。
- <Any Payload> は、
- Direct Methodに対する応答ペイロード(JSONオブジェクト)
これらの機能を利用するためには、 IoT Hub からの下流方向メッセージ(Device Twins, Direct Method)を処理するアプリケーションの開発が必要となります。
AWS IoTの送信メッセージ構文
AWS IoT の Device Shadowをサポートするため、次の構文が用意されています。
Device Shadowの取得 :
Device Shadowの取得(shadowName指定) :
Device Shadowの更新 :
Device Shadowの更新(shadowName指定) :
Device Shadowの削除 :
Device Shadowの削除(shadowName指定) :
ここで、
- <Reported> は、
- Device Shadow のreportedプロパティ(JSONオブジェクト)
モノの名前thingNameと(shadowNameを指定しない書式を用いた場合の)shadowNameは、AWS IoT(awsiot)または AWS IoT[Websocket](awsiot_ws)に設定された値が用いられます。
shadowNameを指定する書式を用いる場合は、AWS IoT(awsiot)または AWS IoT[Websocket](awsiot_ws)の 'active_shadow' を有効に設定して下さい。
また、AWS IoTサービスからdesiredプロパティを受け取るためには、 AWS IoT からの下流方向メッセージを処理するアプリケーションの開発が必要となります。
MQTTサーバーの送信メッセージ構文
MQTTサーバーにおいては、メッセージ毎にトピックを柔軟に変更することができます。
MQTTトピックの変更 :
MQTTトピック ユニークIDの変更 :
MQTTトピック プレフィックスの変更 :
Plat'Home 独自仕様 WEBサーバ
HTTPヘッダー
PD Webで規定されているHTTPヘッダー
| HTTPヘッダー | 内容 |
|---|---|
| X-Pd-Web-Version | PD Web の仕様のバージョン番号 |
| X-Pd-Web-Id | クライアントのID |
| X-Pd-Web-Time | RFC3339準拠のタイムスタンプ |
| X-Pd-Web-Md5 | ハッシュ値 |
| X-Pd-Web-Signature | ヘッダ情報と鍵(Key)から作成されたハッシュ値 |
| Content-Type | application/json;charset=UTF-8 |
トークン
PD Repeaterで作成されるリクエストヘッダのトークン(X-Pd-Web-Signature)は、Webサーバーにおいて次のPHPスクリプトにより再生できます。
ここで $key は、$_SERVER['HTTP_X_PD_WEB_ID'] と対をなす予めWebサーバーに保存された鍵(Key)となります。再生した $signature と $_SERVER['HTTP_X_PD_WEB_SIGNATURE'] を比較することで認証します。
応答ヘッダーのトークン(X-Pd-Web-Signature)は、Webサーバーにおいて次のPHPスクリプトにより作成します。
ここで、$payload は、ペイロードの文字列、送信すべき文字列(下流方向の制御メッセージ)が無い場合は、$payload=""; とします。リクエストヘッダのトークンとは異なり、被署名文字列に PD Repeater から送られて来たリクエストヘッダのトークン($_SERVER['HTTP_X_PD_WEB_SIGNATURE'])が、含まれる点に注意して下さい。
