動作テスト
最後に、動作テストを行います。
Raspberry Pi から SORACOM にアップロードしたデータが、Thing Interaction Framework のステートとして取得できることを確認します。
このページでは、以下の 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 回のステートが記録されます。