3連休で、メインで使わせていただいているNC_NAGANO様のNTRIPサーバーがお休み状態になってました。
現在1日10時間以上接続させていただいてデバッグしているので、1日でもダウンは困るのですが、
善意の基準局様なので、お忙しいときにあれこれお願いできない事情もあります。
そこで、近場でRTK2GOに登録してある基準局様を予備局として、メインの基準局がダウンしているときは
自動切換えするNTRIPレシーバープログラムを急遽作成しました。半日でできました。
●原理
ESP32SPIFFS内のinit.txt ファイルにメイン基準局の番号を登録しておいて万一エラーがでたら、予備局の番号にinit.txtファイルの番号を変更してから、ESP32をリスタートさせて、init.txtから読みこむと予備局へ接続して、更に、init.txtの番号をメイン局の番号に書き換えておく。
両方の局がダウンしていたらダメですけど、どちらかが生きていればNTRIP接続が無事できます。
通電開始時には、常にメイン局から接続を開始して、ダメなら予備局に切り替わります。
●動作説明図
●プログラム備忘録
①最初にinit.txtファイルをSPIFFSに書き込むツールが必要なので、こちらのページを参考にしてダウンローダを
ArduinoIDEにインストールしてください。作者の方に感謝します。
https://www.mgo-tec.com/spiffs-filesystem-uploader01-html
SPIFFSを使うには、ライブラリーは、特別にいりません。#include “FS.h”//デフォルトのFS.hでSPIFFS使えます
gistにコードおいてあります。ESp8266でArduinoIDEつかいます。参考ページ
②接続する基準局を決める部分のコード
。
//SET UP 内でファイル読み込んで接続する基準局名を決める
if(!SPIFFS.begin())
{
Serial.println(“SPIFFS Mount Failed”);
return;
}
if(c==’1′)//予備局へ切り替え
③接続エラーの場合の場合のコード
//万一接続エラーの場合は、予備局番号へ書き換えてリスタート
これで、長野県北部全域でRTK2GO基準局メインと予備局で網羅できます。
長野県は、農業 林業がさかんなので、各業界で、基準局を運用していらっしゃるので、RTK先進県だと思います。松本には、国産RTKガジェットでトップメーカーのBIZSTATION社もあります。
長野では、NC_NAGNAO様という熱心な善意の基準局様がいらっしゃります。