Contents
クラウドからPDHを経由してR-MSMへのコマンド送信
1. 概要
IOエクスパンダ MCP23008のGP5~7のポートがOutputのGPIOとしてR-MSMに搭載されていることを前の章で確認した。
ここでは、クラウドからLEDの点灯/消灯実験を行う。
動作の概要を以下に示します。
① Cloud上のVM(Virtual Machine)上のNode-REDが、MCP23008のGP5のH/LコマンドをMQTTを使って送信(パブリッシング)します。
② PDHは、MQTTのサブスクライブします。そしてコマンドが来たら、R-MSMへBluetoothのシリアル送信(Serial Port Profile)を使って送ります。
③ R-MSMはコマンドを読み、GP5のOutputをH/Lします。
④ それにより、LEDが点灯/消灯します。
CloudとPDHの通信には、MQTTを使用します。MQTTの通信に関しては、こちら(Node-REDへのAedes Brokerの導入)を参照ください。
2. Cloud側の設定
2-1. ブローカーの配置
CloudのNode-RED上に、Aedes MQTT brokerを配置します。Cloud上にmosquittoのブローカーを設定している場合は必要ありません。
2-2. コマンドのパブリッシングの準備
① injectノードを2つ置き、一方のpayloadに、”MCP23008_GP5=true“を設定します。
② もう一方に、 ”MCP23008_GP5=false“を設定します。
③ mqtt outノードを配置し、localhost のブローカーに繋ぎます。
④ トピックをここでは”/command“と設定しました。
3. PDH側の設定
① mqtt inノードを配置します。cloudの外部IPアドレスを設定します。
② トピックは、パブリッシングと合わせて”/command“とします。
③ シリアルポートを配置します。Bluetooth(rfcomm0)でR-MSMと接続します。
詳細は、こちら(R-MSMのBluetooth信号のスキャンと接続)を参照ください。
④ パブリッシングデータのモニタのためにdubugノードを配置します。
4. 動作確認
R-MSM に送られてきたコマンドを確認するためとR-MSMの電源を確保するために、R-MSM をUSBでPCに接続します。
① cloud上のinjectノードのボタンを押し、“MCP23008_GP5=true”をパブリッシングします。PDH でそのコマンドをサブスクライブし、R-MSM に送ります。
R-MSM でコマンドが受け取られ、MCP23008のGP5の出力が“1(H)”になります。そして、LEDが点灯します。
② 次に、cloud上の別のinjectノードのボタンを押し、“MCP23008_GP5=false”をパブリッシングします。PDH でそのコマンドをサブスクライブし、R-MSM に送ります。
R-MSM でコマンドが受け取られ、MCP23008のGP5の出力が“0(L)”になります。そして、LEDが消灯します。
以上で、クラウドからPDHを経由してR-MSMへのコマンド送信の実験が完了しました。