Subscriberの設定
以下の作業はAzureのDockerコンテナー内ではなく、Raspberry Pi上で行います。
Raspberry Piのターミナルを開き、MQTT Subscriberとして動作させるため、以下の必要パッケージをインストールします。
$ sudo apt install python-rpi.gpio $ sudo pip install paho-mqtt
gitコマンドでクリスマスツリー用のSubscriberを展開します。
$ git clone https://github.com/manami-taira/mqtt-xmas-tree-subscriber.git
実行する前に、スクリプトにchmodコマンドで実行権限を付与し、sudoコマンドで実行します。
$ chmod 755 tree_subscriber.py $ sudo ./tree_subscriber.py
MQTT Brokerからメッセージが送信されているか確認するには、現在開いているターミナルを閉じずに、新しくターミナルを開き、以下のテストプログラムを実行してください。
$ python ./tree_publisher.py
ブラウザーの確認と動作テスト
ブラウザーを開き、今回作成したページが表示されているか確認してみましょう。
URLは「App Service」→「概要」→「URL」より確認できます。
もし、問題がある場合はページの下部にエラー内容が表示されます。Connection Error
の場合は、MQTT Brokerとの通信ができていない可能性があるので、前述の手順のURLが変更されているかもう一度確認しましょう。
最後に、Webブラウザーでボタンを押してみましょう。クリスマスツリーのLEDがボタン通りに制御できたら成功です。
バックグラウンドで動作させたいとき
なお、Raspberry Piのターミナルを閉じても、バックグラウンドで実行させたい場合は以下のようにバックグラウンドで実行させます。
$ sudo ./tree_subscriber.py &
まとめ
IoTの通信プロトコル「MQTT」で通信をするクリスマスツリーのWebアプリが完成しました。ぜひご自宅でも活用して、素敵なクリスマスをお過ごし下さい。
今回使用したAzureのWeb Appsを楽しんだ後は、忘れずにリソースを削除しましょう。