14
8

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 5 years have passed since last update.

デバイスシャドウの実装 (Wio LTE + SORACOM Beam)

Posted at

デバイスシャドウのベストプラクティスを実装しました。

構成

今回使ったデバイスは Wio LTE JP Version という、マイコン+LTEモデムが搭載された、IoTプロトタイプ向けデバイスです。
LTEモデムがついているのでIoTプロダクトに向いているのですが AWS IoT device SDK が対応していません。そのため MQTTS 実装を自力でやる必要があるのですが、そこを SORACOM Beam で肩代わりしています。

SORACOM Beam は以下のような時に使います;

  • TLS 実装が面倒、もしくはそもそも TLS が使えないようなデバイス
  • 証明書の更新など運用面の考慮

実装

https://gist.github.com/ma2shita/5ed0e066975b3715f0f326bc0513a12d に掲載しています。MIT ライセンスです。

センサーデバイスを D38 に取り付けた想定でサンプルも記載しています。シャドウでは d38 というキーで扱っています。

利用の注意点

  • IMPL.; と書いてある4つのポイントがカスタマイズ位置です。
  • SORACOM Air メタデータサービスを有効にすると awsiotcore_thing_name というキーの値を AWS IoT Core の ThingName として利用します。メタデータサービスが使えない場合は SIM の IMSI が ThingName になります。
  • ArduinoJson に依存しまくってます。5.x 系を使っています。
  • PubSubClient は公式から fork したライブラリを使っています。これは MQTT のペイロードサイズを大きくしていることと、Wio LTE ライブラリが PubSubClient 2.7 以上では動かないためです。

解説

実装すべき内容3点が実装済みです。

挙動を動画にまとめました。

Behavior of Device shadow (using AWS IoT Core)

再接続処理も実装済みです。

こちらも以下のような挙動になります。

MQTT reconnect demo

あとがき

やっと全部出し切れた。

EoT

14
8
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
14
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?