#ESP32でRTCM3受信機
農業業界で少しづつ普及しつつあるRTKですが、基地局の補正情報をトラクターの自動操舵装置に流さないとならない、という制約があります。
現状、AndroidでLefebure NTRIP Clientを使うのが一般的ですが、iPhoneだったりガラケーでは使えないのでESP32からテザリングで基地局の補正情報を拾ってくるものを作ってみました。
また、従業員など複数の利用者がいる場合でも、テザリングのIDとPasswordを共通化しておけば、スマホや人間が変わっても使えるというメリットもあります。
##材料
Arduino RS232Cシールド https://www.switch-science.com/catalog/1859/
RS232Cケーブル https://www.amazon.co.jp/gp/product/B078SRG81K/
##Arduinoに入れるプログラム
https://github.com/GLAY-AK2/NTRIP-client-for-Arduino
WiFi,NTRIP Casterの設定を入れます。
初期設定のままだとハードウェアシリアルのUART0に出力されますが、デバッグ等のためにUART2とかに補正データを出力した場合は、ソースの変更とボードのジャンパーピンも変更してください。
例
26行目に追加 Serial.begin2(115200);
67行目 Serial2.print(ch);
またUART1を使う場合はハードウェアの制約があります。こちらを参考にしてください。
https://qiita.com/T-YOSH/items/0ce41136c535c723affb
##蛇足1
試してないけど、RN42とかのBluetooth SPPモジュール使えば無線化できるはず。
RN42 XBee http://akizukidenshi.com/catalog/g/gM-08690/
XBeeシールド https://www.switch-science.com/catalog/1262/
##蛇足2
NMEA出力ができる機種の場合、TinyGPS++を使ってAmbientに送ると、自動的に作業ログを作れます。(書いたソースはあるんだけどバグってるので調整中)