AWSに作成したWebサイトから、自宅にあるRasberryPiにアクセスしてエアコン操作することを計画しており、今回はWebサイトとRaspberry間のやり取りについて色々やってみた。
このやり取りの方法だが、MQTTというものを某勉強会で知ったので、元々はこれを使いメッセージのやり取りをすることを想定していた。
が、なぜかメッセージの送受信がうまくいかない。
5時間くらいグーグル先生と格闘してみるが、よくわからず断念。
てなわけでソケット通信でやり取りする方向に変更することに。
とりゃず簡単な構成として、
①RaspberryPiをメッセージ受信待ち状態にする。
②ASWで作成したWebページから、RaspberryPiにメッセージを送信する。
③RaspberryPiがメッセージを受信後に、エアコンをつけたり消しりする処理を実行。
④「①」に戻る。
なんかこんな流れ。(日本語がおかしい....)
エアコンに送信するデータについては赤外線を受信するセンサを用いて取得し、データ解析した結果を送信する。
しかし、うまくいかない。
AWS上でコマンドを使ってメッセージを投げる分にはうまくエアコンが起動するが、Webから起動させようとするとなぜか反応がない。
色々見てると権限の問題でうまく実行されていないことに気づく。
そんなわけで権限を変更してWebサイトからエアコン起動するボタンを押してみる
エアコンがついた。