さて、久々のNodeRedネタです。
NodeRedでは静的コンテンツ(htmlファイルとか)を配信することができて
Nodeのフローの管理外で純粋なhttpサーバーとして何もせず動いてくれます。
これはこれで便利で、APIなどをNodeRedで組んで、呼び出す画面は静的コンテンツ
(html5+japascript+css)で書いておいてそこへrevcerse proxyをルーティングして
おけばOKです。
昨日まではproxy配下の自宅ラズパイに静的コンテンツを置いておいたのですが、
ファイルのロードはPWAアプリなんでロードに時間がかかるので
速度UPの為、ラズパイからcloud側のNodeRedへ静的コンテンツを移動しました。
proxy配下にしておくと、こういう変更で使う側が何かすることはありません。
スマホアプリ側はPWAとして登録しているので、何も変化がないです。
決まったURLにアクセスにくるだけですのでproxy配下の実装は影響しない訳です。
私レベルでスマホアプリをStoreに登録して更新など、やっても恩恵がなく
PWAはiPhone,Androidともに動きますので、正解だなと思っています。
コンテンツ移動で若干ロードが早くなった気がします。
NodeRedはフロント、バック(クラウド、自宅ラズパイ)の両方に入っている
わけです。
クラウドサーバー: WebSocket送受信,静的コンテンツ,API
自宅ラズパイ: API,Alexa呼び出しShellScript,温度センサ
という分担です。
WebSocketでリアルタイム温度更新に使っています。
Alexa呼び出しは特にバックでやらす必要もないので、フロントへもってきてもいいかなと思っています。 ただスピーカー接続でWavファイルを再生しているので、
そこはバックでないと駄目です。
Alexaを全部屋おく金がないのでスピーカーでもアナウンスしています。
Alexaは自前で独自にamazonとつなぎっぱなしなんでしょうね。
便利だが、自宅まで乗り込まれているとも言えます。
ArduinoでAlexaというテーマも興味があって、Arduino, Raspi Pico , M5Stack
なども眠っています。エアコン制御もできてはいるんですがね。
HAの分野もかじっています。
M5Stackはあれはあれで面白いですよ。 MQTTとNodeRedは相性がいいので
Iot屋さん大好きな組み合わせだと思います。
仕事でも使えますね。
そのうちOpenPLCをクラウドで走らせて何かしたいと思っているんですがね.....
マニアックですね。