冷蔵庫の温度監視システムの検証

1. ビーコン対応GPSトラッカーGW(SORACOM)

センサーからのデータを BLE (Bluetooth Low Energy) 通信で集約しゲートウェイデバイスからアップロードする IoT システムのサンプルとして、「冷蔵庫の温度監視システム」です。利用するデバイスは、BLE ゲートウェイ機能をもち LTE-M 通信による低消費電力で安定したセルラー通信ができる「ビーコン対応 GPS トラッカー GW」です。温湿度センサーには温度・湿度センサー搭載 BLE ビーコン「MM-BLEBC7」(サンワサプライ社) を使います。このレシピでは、以下のようなダッシュボードが作成します。

代替テキスト
1-1. ビーコン対応GPSトラッカーGWの特徴
  1. ビーコン対応GPSトラッカーGW
代替テキスト

※1:対応ビーコン:iBeaconのみ ※2:対応していないセンサーについても、BLE デバイスがアドバタイズモードでデータを送信すればキッティングツールでの設定により中継できます。詳細はキッティングツール付属のマニュアルをご参照ください。 ※3:ビーコン対応 GPS トラッカー GW 以外の BLE ゲートウェイとして SORACOM が販売しているのは、以下の Acty-G3 です。Android 開発が得意であれば、選択肢になるのではないかと存じます。

  1. ビーコン対応 GPS トラッカー GW の特徴 1台に位置情報(GPS)、温度、湿度、加速度センサーと充電式のバッテリーを内蔵しています。省電力なセルラーLPWANであるLTE-M通信を搭載しているので、電源を入れるだけでどこでも通信が可能です。ブラウザから簡単な設定をするだけで、SORACOMのプラットフォームと連携し、すぐにデータ取得から可視化を始めることができます。
  • 1台で4種類のセンシングができる
  • ブラウザだけで始められる
  • 充電式バッテリー内蔵
  • 消費電力が少ない
  • セルラー通信でどこでも使える
  1. ビーコン対応 GPS トラッカー GW の詳細
  • GNSS (GPS/GLONASS/みちびき) による位置測位ができます。
  • Bluetooth Low Energy (BLE) ネットワークにおけるオブザーバーとして BLE デバイスからのアドバタイズパケットを受信できます。これにより、BLE センサーのデータを集約して送信できます。
  • SORACOM の LTE-M 通信に対応した特定地域向け IoT SIM (plan-D、plan-KM1) を使用できます。ビーコン GW のデータはセルラー回線を利用しソラコムプラットフォームに送信されます。
  • センサーデータは、SORACOM Harvest、SORACOM Lagoon を使用して可視化できます。また、SORACOM Beam や SORACOM Funnel、SORACOM Funk を使用してクラウドサービスやお客様のサーバーにデータを連携できます。
  • 充電式バッテリーが内蔵されており、電源が供給できない場所でも利用できます。また USB Type-C アダプタによる給電をしながらでも利用できます。
  • 防水(IPX5/IPX8)・防塵(IP5X)・耐衝撃性能(MIL-STD-810G Method 516.7:Shock-Procedure IV 相当)を持つ筐体に、充電式バッテリーを内蔵し、 セルラーLPWAであるLTE-M通信がご利用可能です。
  1. 利用例
  • 冷蔵車両、倉庫、顧客先に納品している機器の温湿度監視
  • 店舗の冷蔵庫や屋外のビニールハウスの温湿度監視
  • 車両や重機が盗難された場合の位置情報検知
  • レンタル品や重要書類、重要度の高い/高額商品の盗難防止や位置情報管理
  • 作業現場の熱中症対策のための温度管理
  • 在席状況の自動更新
  1. 関連情報
代替テキスト
  1. 使い方
  • 端末の再起動:ボタンを約 13 秒以上、長押
  • 電波状態の確認:緑色に点滅>橙色に点滅>赤色に点滅
  • 充電の方法: 本機をUSB Type-C ケーブル経由で電源となるACアダプタとUSB接続
  • キッティングツールの利用:ビーコン GW の設定はキッティングツールを用いて Windows OS の PC より行います。キッティングツールのダウンロード・インストール方法は、以下のドキュメントを参照してください。キッティングツールガイド

2. 温度・湿度センサー搭載BLEビーコン(MM-BLEBC7)

  1. 温度・湿度センサー搭載BLEビーコン(MM-BLEBC7)
代替テキスト 代替テキスト
  1. 特徴 iBeacon・Eddystoneに対応したBLEビーコンです。
  • 温度・湿度センサーを搭載しています。(サンプリングレート6秒)
  • 温度・湿度にしきい値(上限/下限)を設定することで指定の温湿度をトリガーに電波発信可能です。
  • 最大で6種同時マルチアドバタイズが可能です。6スロットを同一データフォーマット・6スロットを全て異なったデータフォーマット・使用したいデータフォーマットのみなど多彩な電波発信が可能です。  ※TLM・HT Sensor・info(Deviceinfo)は特性上1スロット限定で使用可能です。
  • 温度・湿度のログを保存する機能があります。
  • IP66の防塵・防滴性があります。
  • 電源ON・OFFが可能で無駄な電池消耗を抑えます。
  • 送信範囲は約1m~90m程度まで8段階設定が可能です。
  • 電波発信のインターバルは100~5000msから選択可能です。
  • 単四乾電池2本で数ヶ月から3年程度動作します。  ※発信間隔や電波発信強度等により変動します。
  • パスワード保護機能と遠隔操作停止モード機能でセキュリティ対策も安心です。
  • Android・iOS用の専用アプリで設定変更が可能です。本製品の各種設定ツールとしてAndroid・iOS用を用意されています。

3. 本システムで必要なもの

  1. ハードウェア
  • ビーコン対応GPSトラッカーGWスターターキット(BLE温湿度センサー3個セット)
  • Windows OS を搭載したパソコン
  • USB Type-C ケーブル
  1. SORACOMアカウント

4. ビーコン対応 GPS トラッカー GW に同梱されている SIM を SORACOM へ登録

ビーコン対応GPSトラッカーGW:SIMカード

  • NO.1:ビーコン対応GPSトラッカーGW

    • IMSI:PASSCODE:
    代替テキスト
  • NO.2:ビーコン対応GPSトラッカーGW

    • IMSI:PASSCODE:18xxx
    代替テキスト
  • ビーコン対応 GPS トラッカー GW に同梱されている SIM を SORACOM へ登録

代替テキスト

5. SIM をビーコン対応 GPS トラッカー GW に取り付ける

代替テキスト

6. SORACOM との接続を確認する

代替テキスト

7. SORACOM Orbit の準備

  • SORACOM Orbit とは、デバイスから送信されたデータを SORACOM プラットフォーム内で加工するサービスです。ビーコン対応 GPS トラッカー GW から送信されたデータを、後続のステップで扱いやすいよう加工するのに利用します。
  1. プログラムのダウンロード

soracom-labs/beacon-gps-tracker-gw-orbit-sample 代替テキスト

  1. Soraletの作成/WASMモジュールのアップロード
  • SORACOM Orbit で使用する WASM モジュールをアップロードするために、その入れ物である Soralet (ソラレット) を作成します。本レシピでは SORACOM ユーザーコンソールから Soralet を作成します。

  • [Menu]>[SORACOM Orbit]>[Soralet 管理]とクリックして Soralet 管理画面を開きます。

  • [新規作成]ボタンを押し、Soraletの作成ダイアログを開きます。

  • Soralet IDに beacon-gw-soralet と入力し、[作成]をクリックします。

  • Soralet 管理画面に作成した Soralet が表示されていることを確認し、作成した Soralet をクリックし、WASM の管理画面を開きます。

代替テキスト
  • WASMの管理画面にて[新しいWASMをアップロード]をクリックし、アップロード用のダイアログを開きます。
代替テキスト

8. SORACOM のグループ設定

  1. グループの設定
代替テキスト
  1. バイナリパーサーの設定 ビーコン GW からはデータ通信量削減および省電力のため、バイナリ形式でデータが送信されます。読みやすい JSON フォーマットに変換するため、バイナリパーサーを設定します。[基本設定] > [SORACOM Air for Cellular 設定] を展開し、バイナリーパーサーを設定します。
  • バイナリーパーサーを ON にし、以下のフォーマットをコピー・ペーストし、[保存] をクリックします。
type::int:8 bat::uint:8 timestamp::char:12 sns_valid_no::uint:32:little-endian adv_add::char:12 sns1::float:32:little-endian sns2::float:32:little-endian sns3::float:32:little-endian sns4::float:32:little-endian sns5::float:32:little-endian sns6::float:32:little-endian sns7::float:32:little-endian sns8::float:32:little-endian sns9::float:32:little-endian sns10::float:32:little-endian sns11::float:32:little-endian sns12::float:32:little-endian sns13::float:32:little-endian sns14::float:32:little-endian sns15::float:32:little-endian sns16::float:32:little-endian sns17::float:32:little-endian sns18::float:32:little-endian sns19::float:32:little-endian sns20::float:32:little-endian sns21::float:32:little-endian sns22::float:32:little-endian sns23::float:32:little-endian sns24::float:32:little-endian
代替テキスト
※**カスタムBLE**からのバイナリーデータをJSONにして送信できます。
- [バイナリパーサーを設定方法](https://users.soracom.io/ja-jp/docs/binary-parser/usage/)
- [カスタムフォーマット](https://users.soracom.io/ja-jp/docs/binary-parser/custom-format/)
- 値の定義は下記のフォーマットで表現されています。
[変数名]:[バイト列のインデックス]:[変数の型]:[型に依存した設定内容]
  1. SORACOM Harvest Data の有効化 データを格納するため、SORACOM Harvest Data を有効化します。[基本設定] > [SORACOM Harvest Data 設定] を展開し、サービスを ON にし、[保存] をクリックします。
代替テキスト
  1. SORACOM Orbit の設定

SIMグループ

代替テキスト
  • 設定を ON にし、CODE SRN 右側のアイコンをクリックします。
代替テキスト
  • SORALET に beacon-gw-soralet、SORALET VERSION に LATEST を指定します。
  • DIRECTION の uplink にチェックを入れ、[保存] をクリックします。
代替テキスト

9. ビーコン対応GPSトラッカーGW のドライバ・キッティングツールをセットアップ

  1. ドライバのセットアップ 以下 URL のメーカー Web サイトよりダウンロードします。
  • 「ビーコン対応GPSトラッカーGW」の「USBドライバ ダウンロード」から、お使いのOSバージョンに合わせたファイルをダウンロードしてください。
  • https://www.kyocera.co.jp/prdct/telecom/office/iot/development/download/
  • ダウンロード後、exe ファイルを実行してドライバーをインストールします。
  1. キッティングツールのセットアップ キッティングツールは PC よりビーコン GW を設定するためのツールです。ダウンロードページよりダウンロードします。

ダウンロード後、exe ファイルを実行してキッティングツールを起動します。

  1. セットアップの確認
  • キッティングツールのセットアップ
    • キッティングツールは PC よりビーコン GW を設定するためのツールです。ダウンロードページ よりダウンロードします。ダウンロード後、exe ファイルを実行してキッティングツールを起動します。 (注意)exeファイルがダウンロードできない場合は、LinuxのWgetを使います。
  • セットアップの確認
    • ドライバーのインストールとキッティングツールの起動が完了した状態で USB にてビーコン GW を PC に接続し、キッティングツールの「端末へダウンロード」ボタンをクリックします。「ポート」にて COMXX が確認できればセットアップ完了です。
代替テキスト
  • Windows-デバイスマネージャー:COMポートの確認 ※USBーCType接続を確認のこと

    代替テキスト 代替テキスト 代替テキスト 代替テキスト
  • 設定ファイルは、[*.dat]の拡張子としてお関します。

代替テキスト

10. BLE センサーの準備

  1. BLE センサーの確認 ビーコン対応GPSトラッカーGWスターターキット(BLE温湿度センサー3個セット)に同封されている温度・湿度センサー搭載 BLE ビーコン「MM-BLEBC7」(以後、BLE センサー) を取り出し、全てのBLEビーコンの裏面に 12 桁の英数字が記載されていることを確認します。こちらは後程キッティングツールで使用します。

  2. BLE センサーの起動 3台のBLE センサー裏面のボタンを長押しして起動します。表面で青色 LED が 5 秒ほど点灯したことを確認できたら、電源が ON になっています。 5 回の点滅が見られる場合は電源が OFF となっていますので、再度長押ししてください。

11. キッティングツールの設定

  1. データ送信の設定 - 共通項目 キッティングツールを起動し、[共通項目] を以下のように設定します。
    1. Step1 利用モード : ゲートウェイモード (時間指定)
    2. 利用時間 1 : 任意の時間 (例では 8:00 ~ 20:00)
    3. Step2 クラウドへの送信項目 : ビーコン情報を送信する
    4. ビーコンを受信する周期 : 任意の周期 (例では 100 ms)
    5. 受信許可時間 : 任意の時間 (例では 100 ms)
    6. RSSI : 任意の強さ (例では 90 dBm)
    7. Step3 ビーコン情報のクラウドへの送信条件 : 一定期間に一回のみ
    8. 時間 : 任意の間隔 (例では 180 秒)
代替テキスト
  • 「利用時間1」で指定した時間にデータが送信されます。常に送信したい場合は** 0:00 ~ 23:59 **のように指定してください。日を跨いだ指定も可能です。
  1. ビーコン項目 今回は3台のセンサーをそれぞれ「冷蔵室」「冷凍室」「野菜室」に置き、センサー1つで温度・湿度の2つをセンシングするので、このビーコン項目は計6回設定することになります。
  • ビーコン項目タブを開き、No.1 の行にて右クリック > [編集] を選択します。
代替テキスト
  1. 設定内容
  • 機種 : MM – BLEBC7 サンワサプライ
  • 要素1 : センサー裏面に記載された 12 文字の英数字
  • 要素2 : FFE1 (変更不要)
  • センサー : 温度 これで1台目のセンサーの温度のセンシングが可能となります。 以降、1台目の湿度の設定、そして2台目/3台目の設定を以下の通り行ってください。
  1. 補足 ここで「共通項目」タブへ移動し、クラウドの送信データフォーマットを「表示」をクリックします。 「9. SORACOM のグループ設定」にてコピー・ペーストしたバイナリパーサーのフォーマットがコピーできます。今後利用モードや送信項目などを変更する際はフォーマットが変更されますので、このメニューから再度コピーしグループ設定に貼り付けてください。当手順では何もしません。
代替テキスト
type::int:8 bat::uint:8 timestamp::char:12 sns_valid_no::uint:32:little-endian adv_add::char:12 sns1::float:32:little-endian sns2::float:32:little-endian sns3::float:32:little-endian sns4::float:32:little-endian sns5::float:32:little-endian sns6::float:32:little-endian sns7::float:32:little-endian sns8::float:32:little-endian sns9::float:32:little-endian sns10::float:32:little-endian sns11::float:32:little-endian sns12::float:32:little-endian sns13::float:32:little-endian sns14::float:32:little-endian sns15::float:32:little-endian sns16::float:32:little-endian sns17::float:32:little-endian sns18::float:32:little-endian sns19::float:32:little-endian sns20::float:32:little-endian sns21::float:32:little-endian sns22::float:32:little-endian sns23::float:32:little-endian sns24::float:32:little-endian

12. データの送信開始

キッティングツールの「端末へダウンロード」より、設定情報をビーコン GW へダウンロードします。ビーコン GW の再起動後、データが 180 秒間隔で送信されます。

  • 「設定ファイルの保存」を行いますか?といったダイアログについては、任意です。保存しておくことで再利用が可能となりますので、保存をお勧めいたします。
代替テキスト

13. データの確認

  1. SORACOM ユーザーコンソールの SIM 一覧画面よりビーコン GW の SIM を選択し [操作] > [データを確認] を選択します。
代替テキスト
  1. sns1 ~ sns6 のデータが送信されていることを確認します。
  • グラフデータ 代替テキスト

  • JSONデータ 代替テキスト

  1. データはBLEセンサー毎に送信されます。そのため、3台稼働している場合は3件のデータとして送信されてきます。

14. 設置

  1. SORACOM Harvest Data 動作の確認ができたらBLEセンサー3台、およびビーコン対応GPSトラッカーGWを設置します。
  2. BLEセンサーをそれぞれ「冷蔵室」「冷凍室」「野菜室」に設置します。

15. SORACOM Lagoon でダッシュボードを作成する (有効化まで)

  1. SORACOM Lagoon 用語解説 リソースの種類 表示するデータの種別です。SORACOM Lagoon では以下の4つの中から選び、その中からノード(SIMや回線)を選択します。 ・Air = SORACOM Air for セルラー (SORACOM IoT SIM) ・Lora = SORACOM Air for LoRaWAN デバイス ・Sigfox = SORACOM Air for Sigfox デバイス ・Device = SORACOM Inventory デバイス 今回は**SIMなので、「Air」の SIM **を選択します。

  2. SORACOM ユーザーコンソールの[Menu]>[データ収集・蓄積・可視化]>[SORACOM Lagoon]とクリックします。

代替テキスト
  1. SORACOM Lagoon ユーザーの初期ユーザーに設定するパスワードを入力した後、[利用開始]をクリックします。

16. SORACOM Lagoon でダッシュボードを作成する

  1. 可視化する ビーコン GW の IMSI を控える
代替テキスト
  • IMSI : 440103256098859
  1. テンプレート・ダッシュボードを利用する
代替テキスト
  • ビーコン対応 GPS トラッカー GW から送信されるデータをもとにしたダッシュボードのサンプルです。バッテリー残量・BLE センサーの温度情報 (3 箇所)を可視化します。 使用している可視化の種類 : Bar Gauge, Graph, Table, Text, SORACOM Image
代替テキスト
  • 先ほど控えた IMSI を入力し、「テンプレートを作成する」をクリックします。
  • 続いて「テンプレートのインポート」画面では「クリップボードへコピー」、「SORACOM Lagoon でインポート」をクリックしてください。なお、今後のために保存しておきたい場合は「JSON ファイルとしてダウンロード」利用してください。

17. 注意事項

17-1. SORACOM プラットフォームの利用料金

必要な操作や解除作業を行うようにして、想定外の費用が掛からないようにしてください。

  1. SORACOM Air (plan-D) 基本料: 11円/日通信料: 0.22円~/MB(今回の利用であれば 1MB 以内で収まる範囲)
  2. SORACOM Harvest Data 本機能を有効にしたグループに所属する1SIMあたり5.5円/日 (2000リクエスト/日/SIMを含む)2000リクエスト/日を超えた分は0.0044円/リクエスト
  3. SORACOM Lagoon 今回は Free プラン(無料)を使用しました。
  4. SORACOM Orbit 本機能を利用したSIMあたり22円/日、10,000 リクエストあたり 44円
代替テキスト
17-2. グループ解除

SORACOM Harvest Data 等、「機能が有効になっているグループに所属している SIM × 費用」となっているサービスにおいては、「機能を OFF にする」することで費用の発生を抑えることができます。またもう1つの方法として「グループに所属している SIM の数を減らす(= 解除」事でも費用を抑える事ができます。

17-3. SORACOM Harvest Data のデータ削除(任意)

SORACOM Harvest Data は基本的にはデータ保管料は無料※です。そのため、保存しておいても害はありませんが、デモ等で利用する際にはデータを綺麗にしておく必要が出てくるため、データ削除について解説します。

※発生から40日を超えたデータは削除されます。40日以上データを保管したい場合はデータ保持期間延長オプション利用料金をご利用ください。

17-4. SORACOM Lagoon の解約

SORACOM Lagoon はオンラインで解約が可能です。 Free プランであれば有効化しておいても費用は発生しませんが、長期に渡って利用しない場合には解約も選択できます。

18. アラートの設定

SORACOM Lagoon は可視化を行うダッシュボードの作成だけでなく、値に応じたアラートを作ることも可能です。アラートのアイディアは以下の通りです。

  1. 開けっ放しや停電などによる温度の上昇を検知したアラート
  2. バッテリー残量の低下を検知したアラート

19. スマートフォンからの閲覧(データの共有)

  1. SORACOM Lagoonはスマートフォンやタブレットからの表示に対応しています。外出先や他の方との情報共有に利用可能です。

  2. Maker および Pro プランなら、閲覧専用ユーザーを作ることができます。 SORACOM Lagoonの上位プラン「Maker」もしくは「Pro」であれば、閲覧専用ユーザーを作成できます。これにより、情報共有の範囲や運用の柔軟性を高めることが可能です。詳しくはSORACOM Lagoon のご利用料金をご覧ください。

代替テキスト

20. ユーザーコンソール、API による通信のコントロール

Air を利用することで Web ブラウザによるユーザーコンソールを使用して、お客様自身で通信の管理を行うことができます。また、[API を提供](https://users.soracom.io/ja-jp/tools/api/9しており、お客様のシステムと連携し、通信の管理の自動化や一括操作ができます。

21. SORACOM Air for セルラー

SORACOM Air for セルラーは、IoT 向けのデータ通信 SIM 「IoT SIM」 を提供するサービスです。Web のユーザーコンソールや API を利用して各種設定の変更や、通信量を監視するなど IoT デバイスを一元管理することができます。

IoT SIM は、対象とするサービスエリアの異なる 2 つの種類からお選びいただけます。

  • SORACOM IoT SIM
  • 特定地域向け IoT SIM

SORACOM IoT SIM は、日本を含む、グローバルの国と地域において、SORACOM のサービスを利用することができます。データ通信を行わない期間は基本料金が発生しない状態に設定することができるなど、IoT のご利用に最適化しています。

特定地域向け IoT SIM は、対象サービスエリアを日本のみとしていますが、データ通信料は比較的低く抑えることができます。

GWを使った開発者ガイド

1. SORACOM Orbit を使用したフォーマットの変換

参考URL

ビーコン対応 GPS トラッカー GW (以下、ビーコン GW) から送信されたデータのフォーマット変換について、仕様と使用方法を説明します。

1-1. バイナリパーサーを用いた変換

ビーコン GW では、位置情報、BLE センサー情報などをバイナリ形式で送信します。SORACOM ではバイナリ形式を指定されたフォーマットの JSON 形式に変換する バイナリパーサー を提供しています。キッティングツールでバイナリパーサーに用いるフォーマットを取得し、SORACOM プラットフォーム上で変換することでデバイスからのデータを JSON 形式に変換できます。

  1. 変換前のバイナリデータは以下のような例です。
04033031303132313335313730383031323334353637383930313233340300000030313233343536373839414200889E410008674200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  1. キッティングツールで取得したフォーマットを用いることで以下のような JSON 形式に変換できます。
{
  "type": 4,
  "bat": 3,
  "timestamp": "010121351708",
  "imei": "012345678901234",
  "sns_valid_no": 3,
  "adv_add": "0123456789AB",
  "sns1": 19.81640625,
  "sns2": 57.7578125,
  "sns3": 0,
  "sns4": 0,
  "sns5": 0,
  "sns6": 0,
  "sns7": 0,
  "sns8": 0,
  "sns9": 0,
  "sns10": 0,
  "sns11": 0,
  "sns12": 0,
  "sns13": 0,
  "sns14": 0,
  "sns15": 0,
  "sns16": 0,
  "sns17": 0,
  "sns18": 0,
  "sns19": 0,
  "sns20": 0,
  "sns21": 0,
  "sns22": 0,
  "sns23": 0,
  "sns24": 0,
  "binaryParserEnabled": true
}
1-2. SORACOM Orbit を使用する理由
  1. 死活監視にて各種パラメータが 0 のデータを受信するため

ビーコン GW では日次で死活監視を目的に “type”: 2 のパラメータのデータを送信します。そのデータにはセンサーデータは入っていないのですが、バイナリパーサーの仕様上、他のパラメータが 0 になった以下のようなデータを受信します。

{
  "type": 2,
  "bat": 3,
  "timestamp": "010202000005",
  "imei": "012345678901234",
  "sns_valid_no": 0,
  "adv_add": "000000000000",
  "sns1": 0,
  "sns2": 0,
  "sns3": 0,
  "sns4": 0,
  "sns5": 0,
  "sns6": 0,
  "sns7": 0,
  "sns8": 0,
  "sns9": 0,
  "sns10": 0,
  "sns11": 0,
  "sns12": 0,
  "sns13": 0,
  "sns14": 0,
  "sns15": 0,
  "sns16": 0,
  "sns17": 0,
  "sns18": 0,
  "sns19": 0,
  "sns20": 0,
  "sns21": 0,
  "sns22": 0,
  "sns23": 0,
  "sns24": 0,
  "binaryParserEnabled": true
}

クラウド側で type パラメータを見て判別できれば良いのですが、不要なパラメータを含まないデータ形式の方が処理が容易になります。

  1. 複数センサー利用時に他のセンサーのパラメータが 0 のデータを受信するため

ビーコン GW では複数の BLE センサーのデータを送信できます。たとえば、以下のように sns1, sns2 にデータが入っている場合と sns3, sns4 にデータが入っている場合、といったデータを送信します。

{
  "type": 4,
  "bat": 3,
  "timestamp": "010112000000",
  "imei": "012345678901234",
  "sns_valid_no": 3,
  "adv_add": "0123456789AB",
  "sns1": 19.81640625,
  "sns2": 57.7578125,
  "sns3": 0,
  "sns4": 0,
  "sns5": 0,
  "sns6": 0,
  "sns7": 0,
  "sns8": 0,
  "sns9": 0,
  "sns10": 0,
  "sns11": 0,
  "sns12": 0,
  "sns13": 0,
  "sns14": 0,
  "sns15": 0,
  "sns16": 0,
  "sns17": 0,
  "sns18": 0,
  "sns19": 0,
  "sns20": 0,
  "sns21": 0,
  "sns22": 0,
  "sns23": 0,
  "sns24": 0,
  "binaryParserEnabled": true
}
{
  "type": 4,
  "bat": 3,
  "timestamp": "010113000000",
  "imei": "012345678901234",
  "sns_valid_no": 12,
  "adv_add": "ABCDEF012345",
  "sns1": 0,
  "sns2": 0,
  "sns3": 15.01234567,
  "sns4": 48.89012345,
  "sns5": 0,
  "binaryParserEnabled": true
}

どの snsX にデータが入っているかは sns_valid_no より判別できますが、同様に不要なパラメータを含まないデータ形式の方が処理が容易になります。

1-3. SORACOM Orbit での変換後のフォーマット

SORACOM Orbit はユーザーの定義するプログラムで柔軟なデータ変換ができるサービスです。ビーコン GW で必要となる、type や sns_valid_no の値に応じて送信するデータの変換も可能です。ビーコン GW に用いるサンプルプログラムはソラコムより 公開 されており、コンパイル済みの WebAssembly (WASM) モジュールをダウンロードし SORACOM ユーザーコントロールへ設定するだけで利用できます。手順詳細は SORACOM Orbit WASM モジュールの使用方法 を参照してください。

以上