2021年2月18日掲載
RTKロボットカーを組み立てる前に、開発環境を構築します。
RTK測位をするためにはF9P受信機の設定が必要です。Windows PCにu-centerをインストールします。
次にArduinoの開発環境であるArduino IDEをWindow PCにインストールします。この作業は複雑ですが、手順通りに進めれば難しくはありません。
最後にRTKロボットカーとの情報のやり取りを行うために、3台のAndroidスマホとBluetooth接続し、アプリをインストールします。
これで今日の作業は終わりです。
【1】「センチメートルGPS測位 F9P RTKキット・マニュアル」の第3章 第3話「2周波RTKモジュールF9Pの初期設定とUSB制御」に沿ってWindows PCにu-centerをインストールする。
【2】Windows PCにF9P受信機をUSB接続し、Windows PCのデバイスマネージャーでF9P受信機のシリアルポートを確認する(下の画面ではCOM7)。
【3】u-centerの[Receiver]-[Connection]でF9P受信機のシリアルポートを指定する。
【1】Windows PCにArduino IDEをインストールする。
【2】Windows PCにArduino Nano EveryをUSB接続し、Windows PCのデバイスマネージャーでArduino Nano Everyのシリアルポートを確認する(下の画面ではCOM17)。
【3】Arduino IDEを起動し、[ツール]-[シリアルポート]でArduino Nano Everyのシリアルポートを指定する。
【4】Arduino IDEの下部に「ボードArduino Nano Everyを使うにはパッケージをインストールしてください。」と表示されるのでクリックする。
【5】下記画面が表示されるので「インストール」をクリックする。
【6】インストールが開始される。
【7】以下の画面が表示されたら青枠の方をクリックする。
【8】インストールが完了する。
【9】Arduino IDEの[ツール]-[ボート]-[Arduino megaAVR Boards]で「Arduino Nano Every」を選択する。
【10】[ツール]-[Registers emulation]で「None(ATMEGA4809)」を選択する。
★以下は、Arduino Nano Everyのハードウェアシリアルをデフォルトの2つから4つに増やすための手順
(このサイトを参考にした。)
【11】Windowsのエクスプローラーを起動し、[表示]をクリックし、「隠しファイル」にチェックを入れる。
【12】下記フォルダを開き、「pins_arduino」をダブルクリックする。
C:\Users\[ユーザー名]\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.7\variants\nona4809
【13】「このファイルを開く方法を選んでください。」と表示されたら、「ワードパッド」を選択し、「OK」をクリックする。
【14】ファイル内の下記記述を見つける。
----------
#define HWSERIAL2_MUX (PORTMUX_USART0_NONE_gc)
#define HWSERIAL3_MUX (PORTMUX_USART2_NONE_gc)
【15】上記記述を下記に書き換える。
----------
//#define HWSERIAL2_MUX (PORTMUX_USART0_NONE_gc)
// Serial2 USART available on Arduino header pins
// USART0 on mega4809 (standard pins)
// Mapped to HWSERIAL2 in Serial library
#define HWSERIAL2 (&USART0)
#define HWSERIAL2_DRE_VECTOR (USART0_DRE_vect)
#define HWSERIAL2_DRE_VECTOR_NUM (USART0_DRE_vect_num)
#define HWSERIAL2_RXC_VECTOR (USART0_RXC_vect)
#define HWSERIAL2_MUX (PORTMUX_USART0_DEFAULT_gc)
#define PIN_WIRE_HWSERIAL2_RX (7)
#define PIN_WIRE_HWSERIAL2_TX (2)
//#define HWSERIAL3_MUX (PORTMUX_USART2_NONE_gc)
// Serial3 USART available on Arduino header pins
// USART2 on mega4809 (alternate pins)
// Mapped to HWSERIAL3 in Serial library
#define HWSERIAL3 (&USART2)
#define HWSERIAL3_DRE_VECTOR (USART2_DRE_vect)
#define HWSERIAL3_DRE_VECTOR_NUM (USART2_DRE_vect_num)
#define HWSERIAL3_RXC_VECTOR (USART2_RXC_vect)
#define HWSERIAL3_MUX (PORTMUX_USART2_ALT1_gc)
#define PIN_WIRE_HWSERIAL3_RX (3)
#define PIN_WIRE_HWSERIAL3_TX (6)
【16】更にファイル内の下記記述を見つける。
----------
#define SERIAL_PORT_MONITOR Serial
#define SERIAL_PORT_HARDWARE Serial1
#define SERIAL_PORT_USBVIRTUAL Serial
【17】上記記述を下記に書き換える。
----------
#define SERIAL_PORT_MONITOR Serial
#define SERIAL_PORT_HARDWARE Serial1
#define SERIAL_PORT_HARDWARE1 Serial2
#define SERIAL_PORT_HARDWARE2 Serial3
#define SERIAL_PORT_USBVIRTUAL Serial
#define SERIAL_PORT_HARDWARE_OPEN Serial1
#define SERIAL_PORT_HARDWARE_OPEN1 Serial2
#define SERIAL_PORT_HARDWARE_OPEN2 Serial3
【18】ファイルを上書き保存する。
3つのRN-42(以下、RN-42①/②/③)にUSBで電源を入れ、3台のAndroidスマホ(以下、Androidスマホ①/②/③)と1つずつペアリングする。更にAndroidスマホにアプリをインストールしてBluetoothのデバイス設定する。
※RN-42のMACアドレスは本体の小さなバーコード上部に記載されている。
※RN-42本体の通信設定はデフォルト値のまま使用する。
Androidスマホ①(RTK補正データ(RTCMデータ)送信用)
・Androidスマホ①のBluetoothの設定で、RN-42①(RNBT_[RN-42①のMACアドレス下4桁])にペアリング
・Lefebure NTRIP Clientをインストール
・Lefebure NTRIP Clientの設定のBluetooth DeviceでBluetoothモジュール①を選択
Androidスマホ②(走行軌跡描画用)
・Androidスマホ②のBluetoothの設定で、RN-42②(RNBT_[RN-42②のMACアドレス下4桁])にペアリング
・AgriBus-NAVI の設定のBluetooth接続機器でRN-42②を選択
Androidスマホ③(制御信号送信&ログ受信用)
・Androidスマホ③のBluetoothの設定で、RN-42③(RNBT_[RN-42③のMACアドレス下4桁])にペアリング
・Serial Bluetooth Terminalをインストール
・Serial Bluetooth Terminalの設定のBluetooth DevicesでRN-42③を選択