PLCnext と AWS IoT Core を Python でつなげてみた (1)

今回産業用コントローラーである PLCnext を IoT プラットフォームである AWS IoT Core へ接続してみました。AWS IoT Core と接続するための言語は、人気言語である Python です。わずか数十行のコードで AWS IoT Core と接続できるので、興味をお持ちの方ぜひ試してみてください。

* Amazon Web Services、“Powered by Amazon Web Services”ロゴ、および本投稿記事で使れるその他の AWS 商標は、米国その他の諸国における、Amazon.com, Inc. またはその関連会社の商標です。

この投稿では、AWS アカウント作成方法や AWS IoT Core 設定方法などについて、解説していませんので、予めご了承ください。

AWS IoT Core への接続手順

本手順を進めるには、以下の準備が必要となります。
 ・ PLCnext 本体
 ・ PC (PLCnext Engineer、SSH 接続ソフト、SFTP 接続ソフトが必要となります)
 ・ インターネット接続環境(インターネット接続用ルーターも含みます)
 ・ AWS アカウント、AWS IoT Core モノの登録

STEP 1: PLCnext の準備
1-1 PLCnext をインターネットへ接続
1-2 インターネット接続確認

STEP 2: Python の準備
2-1 PIP のインストール
2-2 Paho mqtt ライブラリのインストール
2-3 ファイルの転送(認証ファイル、Python デモコード)

STEP 3: Python コードの実行
3-1 Python コード実行

STEP
PLCnext の準備

1-1 PLCnext をインターネットへ接続
PLCnext とインターネット接続用ルーターをイーサネットケーブルで繋げます。
PLCnext をインターネットに接続するため、PLCnext のネットワーク設定(IP アドレス、
サブネットマスク、デフォルトゲートウェイ)を行います。
* ネットワーク設定には PLCnext Engineer(開発環境)が必要です。PLCnext Engineer の
インストール方法、およびネットワーク設定の方法につきましては、こちらの資料
ご参照ください。

1-2 インターネット接続確認
PLCnext がインターネットに接続取れているか確認するため、PLCnext 上の Linux から
適当なサイトへ ping コマンドを発行します。Linux ログイン方法は、こちらをご参照
ください。

STEP
Python の準備

2-1 PIP のインストール
ライブラリを追加するために、PIP を PLCnext にインストールします。
すでに PIP がインストールされている場合、こちらの手順を飛ばして
次の手順(2-2 Paho mqtt ライブラリのインストール) へお進みください。
PIP のインストール方法は、こちらの資料をご参照ください。

2-2 Paho mqtt ライブラリのインストール
AWS IoT Core と接続には、MQTT プロトコルを使用します。MQTT プロトコルを
Python 上で使用するために、今回 Paho mqtt ライブラリを使用します。
コマンド “su” で root 権限に切り替え、コマンド “pip install paho-mqtt” で MQTT
ライブラリをインストールします。



2-3 ファイルの転送(認証ファイル、Python デモコード)
AWS IoT Core との接続に必要なファイル類を PLCnext に転送します。ファイル転送には、
SFTP を使用します。SFTP 使用方法につきましては、こちらをご参照ください。
AWS IoT Core で、モノの登録時に取得した認証ファイルを PLCnext に転送します。

Python デモコードをこちらからダウンロードします。
– AWS_MQTT_pub_demo.py : MQTT メッセージを AWS IoT Core へパブリッシュします。
– AWS_MQTT_sub_demo.py : MQTT メッセージを AWS IoT Core からサブスクライブします。
使用方法につきましては、デモコード内に記載されています。
*注: これらのデモコードは、サンプルコードのため一切の動作を保証するものではありません。
これらデモコードに関して発生するいかなる問題も、使用者の責任および費用負担で解決されるものとします。


ダウンロードしたデモコードを PLCnext に転送します。PLCnext へのファイル転送方法は
こちらをご参照ください。

STEP
Python コードの実行

3-1 Python コード実行
PLCnext に転送したデモコードを実行します。

AWS_MQTT_pub_demo.py の実行

コマンド “python3 AWS_MQTT_pub_demo.py” を実行します。

実行時のコンソール画面
AWS IoT Core 側のメッセージ受信画面

PLCnext から送信したメッセージが表示されました。

AWS_MQTT_sub_demo.py の実行
コマンド “python3 AWS_MQTT_sub_demo.py” を実行します。

実行時のコンソール画面
AWS IoT Core 側のメッセージ送信画面

AWS IoT Core から送信したメッセージが、PLCnext のコンソール画面に表示されました。

今回は PLCnext と AWS IoT Core との間で、単純なメッセージ交換を行いました。
次回の記事では、PLCnext 上のデータ(変数) を AWS IoT Core へ送信したいと思います

  • URLをコピーしました!