2022/02/12

概略

AWSとMQTT接続が出来たら次にAWSのDynamoDBへPLCのデータをInsertしてみます

AWS DynamoDB接続 ソフトウェア構成イメージ
AWS DynamoDB ソフトウェア構成イメージ

DynamoDBとは

Amazon DynamoDBはAWSが提供するフルマネージドNoSQLデータベースです。
AWS IoT Coreのルールエンジンを利用することで、PLCから送信したMQTTメッセージを自動的にDynamoDBへ保存できます。

準備

AWS側の準備

AWSのドキュメントの「チュートリアル: デバイスデータの DynamoDB テーブルへの保存」に従って最後まで進めます

AWS IoT Ruleの設定

AWS IoT Coreではルールエンジンを利用して受信したMQTTメッセージをDynamoDBへ転送できます。

今回の例ではdevice/+/dataのトピックを対象としてDynamoDBへ登録します。

PLCのプログラムの作成

AWSと接続

AWSと接続は「AWSとMQTT接続」と同じです

AWS IoT Coreと接続
AWS IoT Coreと接続

PLCからメッセージを送信する

送信するJSONデータ

PLCから温度・湿度・気圧・風向風速の情報をJSON形式で送信します。

項目説明
temperature温度
humidity湿度
barometer気圧
velocity風速
bearing風向

送信サンプルラダー

AWSとMQTT接続」のPub_TopicとPub_PubMsgを変更して送信します

Pub_Topic := 'device/22/data'
Pub_PubMsg :=
'{"temperature": 28,"humidity": 80,"barometer": 1013,"wind": {"velocity": 22,"bearing": 255}}'

メッセージ送信ラダー
メッセージ送信ラダー

ST部分

DynamoDBで確認する

DynamoDBの「テーブル」-「項目の検索」を開いて「返された項目」でPLCの送信したデータがInsertされていることを確認できます

DynamoDBで確認
DynamoDBで確認

よくある質問

PLCからDynamoDBへ直接接続できますか?

通常はAWS IoT Coreを経由し、IoT Ruleを利用してDynamoDBへデータを保存します。

送信データ形式は何を使用しますか?

MQTTメッセージのペイロードとしてJSON形式のデータを送信します。

DynamoDBとは何ですか?

AWSが提供するフルマネージドNoSQLデータベースで、高速かつスケーラブルなデータ保存が可能です。

ダウンロード

この記事へのコメント