MENU

Soracom

Users

デバイスIDとデバイスシークレットを使用してHarvestにデータを送信する

SORACOM Inventory では、デバイス登録時に払い出されるデバイス ID とデバイスシークレットを使用した HTTP リクエストで SORACOM Harvest 連携ができます。 SORACOM Air やデバイスエージェントを使用することなく Harvest にデータを蓄積し、可視化できます。

はじめに

当ガイドでは、デバイス登録時に払い出された Key を使用して、IoT SIM を使用することなく SORACOM Harvest にデータを送信します。 当ガイドの前提は以下のとおりです。

  • SORACOM のアカウントを作成済みであること
  • デバイス (OS:Linux)が準備されており、インターネット接続可能であること

ステップ 1: デバイスを登録する

デバイス管理メニューからデバイスを登録します。 メニューの[デバイス管理]から[デバイスを追加]を選択します。

注意
デバイス登録費用が発生します。ただし、無料枠がありますので、SORACOM Inventory のご利用料金をご確認ください。

device registration

デバイス名とグループを設定します。(グループがない場合は「新しいグループを作成…」から作成してください。)

device registration

デバイスを作成するとデバイス ID とシークレットキーが生成されます。必ずメモしてください。

device registration

ステップ 2: グループの設定

次に「ステップ 1: デバイスを登録する」で作成したグループで Harvest の有効化を行います。 「デバイスグループ」から作成したグループを選択します。

「SORACOM Harvest Data 設定」から Harvest を有効化してください。

device registration

「保存」をクリックします。

ステップ 3: HTTP リクエストの実行

ステップ 1 で払い出された Key を使用して Inventory と接続します。

HTTP リクエストは GET、POST で送信できます。

当サンプルは日本カバレッジの Inventory の例です。グローバルカバレッジの Inventory をご利用の場合は、以下それぞれのコマンドに記載されている https://api.soracom.io の箇所を https://g.api.soracom.io に置き換えてください。

いずれも {"temp":20} を送信しています。

POST

curl -X POST --header "x-device-secret: <シークレットキー>" -d "{\"temp\":20}" https://api.soracom.io/v1/devices/<デバイスID>/publish

GET

curl -X GET --header "x-device-secret: <シークレットキー>" "https://api.soracom.io/v1/devices/<デバイスID>/publish?temp=20"

GET

curl -X GET "https://api.soracom.io/v1/devices/<デバイスID>/publish?device_secret=<シークレットキー(URL encode)>&temp=20"

シークレットキーをクエリパラメータで指定する場合は、URL エンコーディングが必要となります。

Harvest データの確認

HTTP リクエストしたデータは、以下のように確認できます。 デバイスを選択し、「操作」→「データを確認」をクリックします。

device registration

以下のように送信データを確認できます。

device registration