機能分割
センサーからの値読み出しから、トレンド記録までをIoT デバイスで全て賄う事は、あまり現実的では無さそうなので、既存の環境を活用し機能分割する事にした。
IoT デバイス機能
IoT デバイスは、外部からのリクエストに対し、温湿度・気圧の情報を返すだけの限定的な機能だけ実装する。
リクエストの受付にはWEB サーバーとして情報提供する。
IoT デバイスからサーバーへ情報を書き込みに行く方式も検討してみたが、汎用性が得られない事とサーバー側のセキュリティ設定が面倒そうなのでIoT デバイスは受け専用とした方が良いだろうとの判断結果。
トレンド記録機能
トレンドの記録としては、サーバー系監視環境としてMunin 環境を自宅に導入済みなので、こちらを活用する。
必要なのは特定WEB にアクセスして値をMunin サーバーに渡すプラグインで、こちらは新規にコードを起こす事にする。
インタフェース仕様
特定のURL にアクセスする事によってセンサーから得られた情報を返すようにする。
IP アドレスは固定アドレスとし、ポート番号も将来の外部アクセスを視野にいれて80番以外の適当な番号を割り振る。
今回は下記のように決定。
IP アドレス: 192.168.1.49
ポート番号: 8090
http://192.168.1.49/
HTML にて人が見やすいように情報表示
http://192.168.1.49:8090/data
プログラムで処理しやすいようにTEXT 形式で情報返送
1行目 – 日時
2行目 – 温度、湿度、気圧情報を一行で表示
3行目 – 温度データ
4行目 – 湿度データ
5行目 – 気圧データ