Minew社の温度センサ(MST01)とゲートウェイ(MG5)を使ってみた

こんにちは!三信ブログ部の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変換する設定を配信予定です。