【Xi IoTで映えるデモがしたい 第18回】Data Pipelineにつなげてみる
RasPi+BrickPiからどうやらPubできているような感じを確認できたので、今回はXi IoT Pipelineでの動きを見てみたいと思います
LEGOをスマートファクトリー化する道のり
- 画像取得
- MQTT送信(Publish)
- Xi IoT Data Pipelineで MQTT受信(Subscribe) ←今回はココ
- Xi IoT Data Pipelineで画像処理して送信(Publish)
- 管理画面を作って確認(Subscribe/Publish)
- 結果に応じてモーター制御
では Data Pipeline で、Subして何らかの処理を行ってみたいと思います
処理したい内容のFunctionを作って、この真ん中の「Transformation」のところに配置してやります
Functionをつくるのは、作ったプロジェクトの「Apps & Data」-「functions」を選んで Create
今回はXi IoTであらかじめ用意されている Tensorflow Pythonの環境で実装してみます
ここにコードを書き込みます
今回は受信確認だけを行いたいので、受け取ったメッセージをそのまま返すサンプルコード
Data Pipeline画面で今作ったfunctionを指定してやります
この時のOutputのEndpoint NameがData Pipelineから送信される(Subscribe)トピック名になります
この場合は「mqtt-test」
Data PipelineからOutputされてくるMQTTを受け取ります(Publish)
RasPi+BrickPi上にPub用のpythonコード作ってやります。トピック名は「mqtt-test」で
無事受け取れました!
$ python3 picamera_mqtt_sub_test.py mqtt-test - b'{"SherlockTimestamp":1576605847212,"msg":"/9j/4QFWR~
次回、functionの中で使える関数についてもう少しみてみることにします