obnizのフォーラムは新しいシステムに移行しております。
新しいフォーラムはこちらになります不定期に切断される/数時間後にやっと再接続される
-
推定要因、アドバイスなどよろしくお願いします。
Obniz Board + 温度センサーで、定期的に簡易温室の気温を取得し、ヒーター制御しています。
RaspberryPiのNode.jsで常時稼働させています。(systemdで自動起動)ときどき、コンソールログに「 local websocket closed」と表示され、
不定期に切断されてしまいます。
何らかの問題で、wifiが切断されているためかと思われますが、
12時間ぐらい問題なく動作する日もあれば、1時間程度ごとに頻繁に切断される場合もあり一定ではありません。●不定期に「 local websocket closed」となる要因は何が考えられるでしょうか? 対応策などはありませんでしょうか?
また、これに対して、以下の2パターンで対応しました。
(1)特に何もせず、自動的にobnizに再接続されるのを待つ
(2)obniz.onclose内で、process.exit(1)で終了させる
->systemdが異常終了検知してNode.jsを再起動してくれるいずれの方法でも、大半の場合は再起動ができているのですが、別の問題が出ています。
まれに、「local websocket closed」となってから、
約5~8時間の後に、やっと再接続/再起動されることがあります。
(この間は、切断もされていないがプログラムは動作しておらず、ヒーター制御も止まってしまう)●「local websocket closed」されてから、数時間後にかなり遅れて再接続/再起動される、となる要因は何が考えられるでしょうか?
上記(2)の
切断された=クローズ時に強制終了ー>再起動
obniz.onclose = async function() {
console.log("onclose -> restart");
process.exit(1);
}
-
自己レスです。
obnizOSの、3.10が出ていることに気づき、更新してみたところ
問題がピタリと収まりました。
(これに関する修正がされたのでしょうか?)
これまで数十分ごとに、i2cエラーや、socket切断があったものが、
ソースコードはそのままで、すでに20時間ほどエラー無しに動作しています。
ありがとうございました。*蛇足ですが、OSの更新リリースについても、
フォーラムの Announcements / Releasesに通知してもらえるとありがたいです。