全館暖房ネット制御:デバッグ作業進捗
趣味の研究開発、全館暖房ネット制御の開発進捗。ドキュメントも兼ねて簡単にブロック図を書いてみた。今後変更する可能性もあるが、初版ということで。
Node.jsで書いているコードは2種類。コントローラーとUARTサーバー。コントローラーとUARTサーバーを分割したのは、Webブラウザ上に外気温も表示したかったため。外気温センサーが接続されていたAzuminoKionは独立したコード、しかもPerlで書いてしまった。そのため、外気温センサーが接続されているUARTのポートを解放できないため、別のコードから外気温が取得できない。そこで構成を一新し、UART系を全て担うUARTサーバーを分離した。この構成であれば、クライアントが増えても好きな時に好きなセンサーにアクセスできる。また、今後UARTポートを使用するI/Oを増設する時も柔軟に対応ができる。
コントローラー側が行う主な処理は下記の通り。
Webブラウザとの接続(ボイラーパネルGUI及び温度計のリアルタイム処理、グラフ描画)
UARTサーバー経由でボイラーコントローラーからの情報取得
UARTサーバー経由で外気温取得
AzuminoKionのツィート時間(毎正時)検出
外気温及び湿度を引数にして外部Tweetエンジン(Perlで記述)呼び出し
UARTサーバーはコントローラー(クライアント)から来た依頼に沿ってUARTにコマンドを投げ、UARTから受信(処理結果)が来たらコントローラーに情報をPushするのみ。
AzuminoKionとの連携処理も完了。現在AzuminoKionでツィートしている内容は、全て新しく開発したコードで動作している。高負荷を掛け状態での連続試験も実施中だが、特に問題は発生してない。
残りはSSLクライアント認証設定。ゴールデンウィーク中に予定していた開発目標は達成できそうだ。
Node.jsで書いているコードは2種類。コントローラーとUARTサーバー。コントローラーとUARTサーバーを分割したのは、Webブラウザ上に外気温も表示したかったため。外気温センサーが接続されていたAzuminoKionは独立したコード、しかもPerlで書いてしまった。そのため、外気温センサーが接続されているUARTのポートを解放できないため、別のコードから外気温が取得できない。そこで構成を一新し、UART系を全て担うUARTサーバーを分離した。この構成であれば、クライアントが増えても好きな時に好きなセンサーにアクセスできる。また、今後UARTポートを使用するI/Oを増設する時も柔軟に対応ができる。
コントローラー側が行う主な処理は下記の通り。
Webブラウザとの接続(ボイラーパネルGUI及び温度計のリアルタイム処理、グラフ描画)
UARTサーバー経由でボイラーコントローラーからの情報取得
UARTサーバー経由で外気温取得
AzuminoKionのツィート時間(毎正時)検出
外気温及び湿度を引数にして外部Tweetエンジン(Perlで記述)呼び出し
UARTサーバーはコントローラー(クライアント)から来た依頼に沿ってUARTにコマンドを投げ、UARTから受信(処理結果)が来たらコントローラーに情報をPushするのみ。
AzuminoKionとの連携処理も完了。現在AzuminoKionでツィートしている内容は、全て新しく開発したコードで動作している。高負荷を掛け状態での連続試験も実施中だが、特に問題は発生してない。
残りはSSLクライアント認証設定。ゴールデンウィーク中に予定していた開発目標は達成できそうだ。