動作テスト

最後に、動作テストを行います。

Raspberry Pi から SORACOM にアップロードしたデータが、Thing Interaction Framework のステートとして取得できることを確認します。

このページでは、以下の 2 つの作業を行います。

  1. データのアップロード
  2. ステートの確認

データのアップロード

Raspberry Pi には SORACOM の SIM がセットされているため、Raspberry Pi の cURL コマンドは SORACOM 経由での通信要求となります。

Raspberry Pi のシェルから 以下のコマンドを実行して、JSON を funnel.soracom.io にアップロードします。

curl -v -H Content-Type:application/json -d '{"power":true, "temperature":32.5}' funnel.soracom.io

これにより、下記のように JSON が SORACOM にアップロードされます。

SORACOM Funnel の設定画面では、アップロードしたデータが Thing Interaction Framework のステートに転送されるように設定したため、JSON は Thing のステートとしてアップロードされているはずです。次にステートを確認します。

ステートの確認

次に、Thing Interaction Framework のステートを確認します。

開発用 PC のシェルから 以下のコマンドを実行して、最新のステートを取得します。

curl -v -X GET \
  -H "Authorization: Bearer {ACCESS_TOKEN}" \
  -H "X-Kii-AppID: {APP_ID}" \
  -H "X-Kii-AppKey: {APP_KEY}" \
  -H "Content-Type: application/json" \
  "https://api-jp.kii.com/thing-if/apps/{APP_ID}/targets/thing:{THING_ID}/states"

{ACCESS_TOKEN} はオーナーユーザーの アクセストークン を、{APP_ID} はアプリケーションの AppID を、{APP_KEY} は任意の値を、{THING_ID} は thingID(初期登録の結果取得できたもの)をそれぞれ指定します。

最新ステートは以下のように 200 応答として返されます。

HTTP/1.1 200 OK
Content-Type: application/json
{
  "power":true,
  "presetTemperature":32.5
}

ステートとして取得できた JSON は、データのアップロードの際に指定したものと同一の値となっているはずです。

また、Raspberry Pi から異なる JSON でもう一度アップロードしてからステートを確認すると、更新後の値になっているはずです。

なお、ステート履歴を取得する場合は、ステート履歴の検索および取得 を参照してください。今回のチュートリアルでは初期登録で 1_MINUTES を指定して初期化しているため、1 分あたり 1 回のステートが記録されます。