不定期に切断される/数時間後にやっと再接続される



  • 推定要因、アドバイスなどよろしくお願いします。

    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に通知してもらえるとありがたいです。


 

Recent Projects

  • @nak435 かしこまりました。よろしくお願いします。

    read more
  • @Yuki-Sato さん、

    外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    今週末に確認しますので、お待ちください。

    read more
  • @nak435 時間がかかってすいません、

    なんとか3.3vをgndにつないでFlick Largeを動かしたかったのですが、うまく動かすことができなかったです。
    3.3vをgndを繋がずに接続するというのはライブラリで推奨して伝えることは難しいと思ってます。

    Flick LargeでなくFlick Hatの方で、外部の3.3vを使うとはいえ普通にvccやgndを供給して問題なくうごくのであれば、弊社での動作確認後Flick Hatのライブラリとして公開できればと思っているのですがいかがでしょう。

    よろしくお願い致します。

    read more
  • @nak435 ありがとうございます。
    接続は3.3vのgnd以外同じでした。
    エラーはそのせいかもしれませんが、しかし電気的にはgndを繋がない場合3.3vとしてうまく供給できないはずなのでそこが不思議です。

    教えていただいたプログラムの部分を修正して試してみたいと思います。
    また少し時間がかかりそうなのですが、早めに試したいと思います。

    引き続きよろしくお願い致します。

    read more