LTE-Mを使ったIoTサービス
はじめに
屋外のセンサデータを一定間隔で取得し、クラウドのダッシュボードで確認したり、異常値をメールやLINEで知る一般的なIoTサービスが、KDDIが開発した「LTE-M1リーフ」を使えば、簡単に実現出来ます。
KDDI「LTE-Mリーフ」の特長
- KDDI は、約23×30mmと超小型でLTE-M 通信機能に対応したLTE-Mリーフの開発に成功しました。
- 小さな基板上に、データ通信用のアンテナを内蔵し(技適取得済)、外部アンテナは不要です。
- SIMカードは、 KDDIのLTE-M通信網に対応したソラコムのLTE-Mサービス「SORACOM Air for セルラー(plan-KM1)」が利用出来ます。
- 省電力性能は、通信モジュールが具備するスリープ等の機能だけでなく、ソフトウェア設定で通信モジュールへの給電自体を遮断する機能を搭載しており、長期間使用しない時は電池の消費を限りなくゼロに近づけることが可能にしました。
- 電池は、単3電池やリチウムイオン電池等で、データ送信の頻度や回数等のユースケースに応じて選択することが出来ます。
- 電池寿命は約200日2です。
- 毎月の通信量は従量制です。(作成中)
Leafonyの設定
用意するもの
-
開発用パソコン
-
単3ニッケル⽔素電池x3本
-
単3x3本電池ボックス(JST製PHコネクタ付き)3
ソースコード
Arduino IDEの場合
Leafonyのデータを送信する際の通信プロトコルは、TCPとUDPの二通りあり、Arduinoのスケッチだけでなく、 SORACOMの設定も異なります。また、TCPのスケッチは、テキストデータで送信する設定になっていますが、UDPのスケッチは、通信量を減らすため、バイナリーデータにしています。 初めての方は、TCPのスケッチがお勧めで、通信コストを抑えたい方は、UDPのをお使い下さい。
PlatformIO IDEの場合
PlatformIO IDE for VSCodeの設定の仕方は、こちらを参照願います。
Leafonyの構成
このサンプルでは下記のリーフ構成で試せます。
Type | Name | Q’ty | |
---|---|---|---|
AZ62 | Connector Cover | コネクタカバー | 1 |
AI01 | 4-Sensors | 温度、湿度、照度、加速度センサを搭載したリーフ | 1 |
AP03 | STM32 MCU | STM32L452REシリーズを使用した32bit MCUリーフ | 1 |
AC04 | LTE-M King M | LTE-M (LTE Cat-M1)リーフ | 1 |
AV05 | LTE-M King S | LTE-M用電源リーフ | 1 |
AZ63 | Nut Plate | 固定金具 | 1 |
- | IoT SIM(plan-KM1) | 1 | |
- | M2*18mm screw | 2 | |
- | 単3x3本電池ボックス | 1 | |
- | 単3ニッケル⽔素電池 | 3 |
リーフの組み立て
- IoT SIM(plan-KM1)をLTE-M King MのnanoSIM card slotに差し込んで下さい。
- 上から4-Sensorsリーフ、STM32 MCUリーフ、LTE-M King Mリーフ、LTE-M King Sリーフの順番で組み立て、ネジ止めして下さい。
USBドライバーのインストール
- Arduinoのスケッチは、LTE-M King Sリーフを使って書き込んで下さい。LTE-M king SリーフのUSB-UART変換ICは、調達の都合上、MaxLinear社のIC(XR21B1411IL16-F)を採用しました。インストール方法は、 こちらを参照して下さい。
スケッチの書き込み
- STM32 MCUのArduino IDE設定が、まだ済んでない方は、インストールして下さい。
- Arduinoのボードは、ツール→ Board part number→ Leafony STM32 MCU(16MHz)を選択します。
- Arduinoのスケッチを書き込んで下さい。
- STM32RTC.hでコンパイルエラーが発生した時は、STM32RTC.hのバージョンを最新から1.2.0または、1.1.0に変更すると改善された事例があります。4
SORACOMの設定
SORACOMは、複数のSIMを束ねたSIMグループで、クラウドの設定をします。以下の手順で、SORACOM上に送信したデータを確認することが出来ます。
SIMグループの設定をする
TCPの場合のSIMグループの設定
- ユーザコンソールを開き、
左上の
メニュー → SIMグループ → 追加
をクリックします。 - グループ名は、
KM-1_SORACOM-Lagoon
(例)とします。 - SORACOM Air for セルラー設定の 簡易位置情報をONにします。
- SORACOM Harvest Data設定をONにする。
- Unified Endpoint設定が、Auto(デフォルト)であることを確認します。
UDPの場合のSIMグループの設定
- ユーザコンソールを開き、
左上の
メニュー → SIMグループ → 追加
をクリックします。 - グループ名は、
KM-1_SORACOM-Lagoon_udp
(例)とします。 - SORACOM Air for セルラー設定の 簡易位置情報と バイナリーパーサをONにし、フォーマットに下記を入力します。
Temperature:0:float:32 Humidity:4:float:32 Illuminance:8:float:32 Battery_Level:12:float:32 Signal_Power:16:float:32
- SORACOM Harvest Data設定をONにする。
- Unified Endpoint設定
- フォーマットは、
カスタム
を選択します。 - 成功時のレスポンスのHTTP ステータスコードは
200
を選択、CONTENT-TYPE ヘッダーの値はtext/plan
を入力、ステータスコードのボックスにチェック(レ点)を入れてます。 - 失敗時のレスポンスは、ステータスコードのボックスにチェック(レ点)を入れます。
IoT SIMを登録する
- ユーザコンソールを開き、
左上の
メニュー → 発注
をクリックします。 - 注文履歴に購入したSIMを確認し、
受け取り確認
を押します。 - 以下の画面が出てくるので
登録する
を押します。 - 左上の
メニュー → SIM管理
をクリック、。 - 名前を決め、グループ名は、
KM-1_SORACOM-Lagoon
を選択します。
IoT SIMの通信を開始する
SORACOM Harvest上でLeafonyが送信したデータを確認する
- Leafonyの電源をONにしてデータを送信します。
- ユーザコンソールを開き、
左上の
メニュー → データ収集・蓄積・可視化 → SORACOM Harvest Data
をクリックします。 - SORACOM Harvest Dataの左上のリソースからSIMを選択し、Leafonyが送付したデータが確認出来れば、正しくデータが送付されています。
SORACOM の利用料金について
- SORACOMの利用料金は、 ユーザコンソールを開き、右上の
オペレータ → ご利用料金
で確認出来ます。 - 通信料金は、従量制(0.55 円/KB)なので、設定金額を上回った時にオペレーターに通知がくる設定をしておくのがよろしいです。
SORACOM Lagoon (ダッシュボード)について
SORACOM Lagoon は、SORACOM Harvest Data に蓄積したデータを用いて、グラフ・地図などを使ったダッシュボードを作成いただけるサービスです。
-
ユーザコンソールを開き、 左上の
メニュー → データ収集・蓄積・可視化 → SORACOM Harvest Lagoon
をクリックします。 -
Lagoonの利用を開始するをクリックします。
-
プランを選択します。使用するプランに基づいて月額の利用料金が発生しますが、無料利用枠からでも始められます。
-
パスワードは、アカウント(オペレータ)作成時に設定したパスワードと同じ方でも構いません。
-
Lagoonコンソールをクリックします。
-
SORACOM Lagoonの画面を出てくることを確認して下さい。
-
こちらを参照し、SORACOM Lagoonを始めて下さい。
-
LTEは通常使用している携帯電話・スマートフォン用広域無線通信規格のことで、LTE-Mはこの通信技術を応用し通信速度を下げて超低電力化している無線規格です。 ↩︎
-
3000mAhの18650電池を使用し、1時間に1回データ送信した時の計算値 ↩︎
-
写真の電池ボックスの購入先 ・単3x3本電池ボックス(秋月): https://akizukidenshi.com/catalog/g/gP-02667/ ・JST製PHコネクタ(秋月): https://akizukidenshi.com/catalog/g/gP-12665/ ・接続コネクタ(エーモン): https://www.amon.jp/diy/index.php?diy_id=63&mode=contents ↩︎
-
STM32RTC.hでコンパイルエラーのログ ↩︎