
こんにちは!三信ブログ部のMUDO📿です。
先日のドアセンサとMG5を使ったトイレ利用状況の可視化に続いて、今回は同じくMinew社の温度センサとゲートウェイを使って、温度データをAWSのS3に上げる仕組みを構築してみました。
今回は実際の設定内容も含めて、詳しく解説させて頂きます。
使用環境
- ゲートウェイ :Minew製 MG5
- BLE温度センサー :Minew製 MST01
- クラウド :AWS

AWS環境構築
まずは、AWSの環境構築を行います。
手順は以下の通りで進めます。
1.S3バケット作成
データ保存用のバケットを作成
2.IoT Coreで証明書
2-1.ポリシーの作成
MQTT接続やPub/Subを許可するポリシーを設定
最初はテスト用にフルアクセスで作成

2-2.デバイスを登録する
IoT Coreのメニューから 「管理」→「モノ」→「作成」を選択
証明書を作成し、ポリシーをアタッチ
証明書と秘密鍵をダウンロードして安全に保管
AmazonのルートCAもダウンロードしておきます。
以下は実際の作業画面のキャプチャーです。





2-3.エンドポイントの確認
IoT Coreの 「設定」→「エンドポイント」 にMQTTのエンドポイントが表示されます。
例: xxxxxxxxxxxxx-ats.iot.ap-northeast-1.amazonaws.com
このエンドポイントにMQTTクライアントから接続します。
2-4.IoT_Coreの管理-メッセージのルーティング-ルール
から作成したS3への保存ルールをアタッチ
IAMロールには、S3FullAccessのポリシーを追加します。
以下が実際のルーティング設定の画面キャプチャーです。



■MG5の設定
次はゲートウェイのMG5の設定になります。
〇電源投入
1.筐体を開けてSIMカードを挿入(SIMはLTE-M対応品)
2.ACアダプタを接続
3.サイドのゴムキャップを外して、ボタンを3.6秒押し込む
離すと電源ランプ(青)点灯して電源は入ります。
〇ネットワーク設定
ネットワークの設定は、Minew社が提供している設定ツール(MG5 Outdoor LTE Gateway Configuration Tool )を使用します。
マニュアルのMG5 Outdoor LTE Gateway User Manualに従って、以下手順で進めます。
1.Andoroidスマホにアプリを入れる(CellularConfig)
2.アプリとMG5の接続
アプリを起動しMG5を選択
MG5とBLEで接続されアプリにDeviceが表示される
Deviceをタップしてパスワードを入力し接続
3.SIMカード、ネットワーク設定
SimCard And Networkで設定
※SIMは、ソラコムplan-K2 (K2-300MB)を使用しました。
〇パラメータ設定変更
1.PCアプリ MQTTツール(MQTT LTE Device Config-Tool.exe)を起動
起動後、右上の▽からCheck for Updatesにて最新版に更新します。
2.MG5へのネットワーク接続
listファイルにIMEIを追記
connectionで、MQTTサーバー(iot.minew.com:2883)に接続(社外LANを使用)
topicは、/cgw を設定
inport ExcelでIMEI listファイルを読込む
stating scanでGWが検出され、onlineになります。
3.BLEスキャンデータ受信設定
Uploadタグに以下の設定を行います。
Power-saving Mode Configuration
LTE Configuration
Upload Interval 1min
BLE Scanning Configuration
Enable Scanning Functionにチェック
Scaning TimeoutのEnableにチェックを入れ、10000ms設定
Scanning ReStart Interval設定は、30sとしました。

最後にApplyで設定を反映させます。
このとき、左画面の対応端末にチェックを入れてカーソルも合わせます。
Apllyが成功したら、右画面下のカーソルに
Succeed to set XXXX paramsのメッセジーを確認することを忘れずに。
※ビーコンの受信数が多い場合は、Filter Logicでフィルターを設定すると見つけやすいです。
例:MAC C300002263BB
〇接続先サーバーをAWSに変更
※AWS側の環境構築を先に行う必要があります。
サーバーを(iot.minew.com:2883)⇒AWSに変更
MQTT LTE Device Config-Toolで
Service MQTT Broker Params設定にて
Host:XXXXXXXX.ap-northeast-1.amazonaws.com
Port:8883
Enable SSL/TLSにチェック
Uploading Cetificates・・・にチェック
CA File:AmazonRootCA1.pem
Client Certificates File:minew-tmp-certificate.pem
Client Key File:minew-tmp-private.pem
をすべて設定します。
Qosは1のまま
Keep-alive intervalは60のまま
Cliend ID以降もそのまま変更しません。

Applyして、MG5のPub先がAWSに変更されS3に温度データが保存されます。

無事にS3にデータが保存されました。
今はデータがbase64フォーマットなので、次回の更新で LambdaでHex変換する設定を配信予定です。