2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SORACOM RS-LTECO2 スターターキットの備忘録

Last updated at Posted at 2021-08-13

概要

SORACOMさんから購入したCO2センサー「RS-LTECO2スターターキット」のデータを
SORACOM Beamを使って自社システムに転送する際の備忘録。

システムイメージ

ざっくり書くとこんな感じです。
RS-LTECO2からのデータは、SORACOMプラットフォームのUnified Endpointに送信されます。
そこからSORACOM Beamを使用して、当社システムに送信します。
image.png

注意点

BeamはUDP → HTTP/HTTPS エントリポイントで構築する

最初HTTPエントリポイントでBeamを構成していましたが、
なぜか当社システムにデータが送信されない。
Harvest Dataを有効にするとちゃんと受信データが表示されるので、
Unified Endpointまで来ていることがわかる。

ここで一つ勘違いしていたことがあって、
Unified EndpointからBeam/Funnel/Hervest Dataに転送される際、
HTTPで通信されていると思っていたんですが、
デバイスとUnified Endpoint間の通信方式のままBeamやらに転送されるんですね。

で、RS-LTECO2とUnified Endpoint間の通信はUDPでした。
つまり、BeamはUDPとHTTPで構築する必要があります。
⇒RS-LTECO2とUnified Endpoint間の通信仕様の記載箇所が見つからなかったのですが、
 オフィシャルの記事でRS-LTECCO2からのデータをバイナリパーサーを使用してJSONに変換しているので
 HTTPではなくTCPまたはUDPだろうと推測。
 で、試してみたところ、Beamの設定をUDP → HTTP/HTTPS エントリポイントに設定すると、
 通信ができました。

IMSI情報をヘッダに仕込む

Beamから当社のシステムにデータ転送する際に、どのデバイスからのデータか分かるよう、
Beam側でIMSI情報をヘッダに仕込むよう設定しました。

image.png

この画面をちゃんと見て気付けばよかったんですが、
違うページを見て勘違いしてました。

リクエストに追加されるIMSI情報は、リクエストヘッダーの
「x-soracom-imsi」
に設定されます。
⇒「HTTP_X_SORACOM_IMSI」ではありません!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?