IoT+WEBのためのホームサーバ計画の設計編3。HomeServerの設計(o^^o)
IoT+WEBのためのホームサーバ計画、HomeServer部分です。
根幹をなす部分のわりには、たいして複雑じゃぁありませーん。
コントローラがまずHomeServerに自分の存在をしらせるように、
HomeServerは自分の存在を、Webサーバ(WebSocketサーバ)に知らせ、WebSocketのconnectionを生成しますよ。①
まぁIoTコントローラとは違い、接続先は決まっています。
もちろん、『もう一杯だから、違うURLにアクセスしてね!』ってのもありますが、
まぁ、そこまでは書いてません。
そう、HomeServerはIoTコントローラより早く起動してないとダメなんですね。
まぁ当たり前ですが。
そしたら次は、コントローラがブロードキャストしてくるので、②
今度は、TCP/IPクライアントになって、そのIPへリクエストを投げて③、情報をとってきます④。
そのコントローラが何者で、、なにができるかとか、そういう情報ですね。
そうしたら今度は、WebSocketのクライアントとして、サーバに情報を渡します⑤。
どこまで渡すかは、、まぁやりながら決めましょう。
サーバ側にはできるだけ情報は少なく、必要になったら呼んでもらうくらいでもいいかなと思います。
そうしたら、準備完了なんですね。
あとは、なんらかのリクエストがくるのを待つだけです⑥。
そして、何かのリクエストが来て⑥、、
IoTコントローラへ、TCPクライアントとして、命令を発行します。⑦
ここは非同期なので、結果なりなんなりは、TCPサーバで受け取ります。⑧
そして最後に、WebSocketクライアント経由で、情報なりなんなりを戻します。⑨
そんな難しくないです。
難しそうなものも、簡単なものの集合として考えて、
細かい単純な機能で分解していけば、なんとなくわかりますよね。(o^^o)