
中華Androidタブレット、GPSの感度、精度まあまあなんですが、Web見てたら、L5周波数対応で、INS(慣性航法システム)対応のGPSレシーバーがあるとのこと。
あまりメジャーだと面白くないので、こちらGR-M02Uを買ってみた。
タブレットへの接続が USB OTG でちょっとイマイチだったのでbluetooth化を検討。分解すればUART端子ありそうだったけど、いろいろ調べたり、試した結果、ESP32+UHSだといけそう。Bluetooth Classicが使えるM5STACK CORE、プログラムはarduinoで。
GR-M02UのUSBはPL2303らしくHost Shield Libraryでいけるみたい。プログラムはこんな感じ。
--------------------------------------------------------
void setup() {
// Start USB
if (Usb.Init() == -1) {
Serial.println("OSCOKIRQ failed to assert");
return;
}
delay(DELAY_TIME);
// Start bluetooth
SerialBT.begin (BT_DEVICE_NAME); //Bluetooth device name
while (!SerialBT) delay(DELAY_TIME);
}
void loop() {
uint8_t ret_code;
uint8_t buf[MAX_BUFSIZE];
uint16_t rcv_size = MAX_BUFSIZE;
/* PL2303 -> BT_SPP/Serial */
Usb.Task();
if (Pl2303.isReady()) {
ret_code = Pl2303.RcvData(&rcv_size, buf);
if (ret_code && ret_code != hrNAK) {
ErrorMessage
(PSTR("Ret"), ret_code);
}
if (rcv_size) {
SerialBT.write(buf, rcv_size);
}
}
/* BT_SPP -> PL2303 */
if ( 0 < (rcv_size = SerialBT.available()) ) {
for(int i=0; i
buf[i] = SerialBT.read();
}
Pl2303.SndData(rcv_size, buf);
}
}
--------------------------------------------------------
ちなみに、同じプログラム、同じ設定で、ESP32 d1 mini + mini USB Host Shieldでも行けます。写真撮ってるときにプラマイの接続を間違って内部ショートさせて壊してしまいました。作り直すのも面倒なのでM5STACKで、、、

てんとう虫に押し込みます。

GPSの設定はとりあえず試しにこんな感じ。
--------------------------------------------------------
$PAIR002*38
$PAIR007*3D
$PAIR004*3E
$PAIR050,200*21
$PAIR058,15*1F
$PAIR060,500*25
$PAIR062,0,1*3F
$PAIR062,2,0*3C
$PAIR062,3,0*3D
$PAIR062,4,1*3B
$PAIR062,5,1*3A
$PAIR062,8,1*37
$PAIR070,5*24
$PAIR072,10*12
$PAIR106,1*20
$PAIR400,3*21
$PAIR420,1*21
$PAIR513*3D
--------------------------------------------------------
androidのアプリはBluetooth GNSSにして、Mock Locationを設定。

今週末これで試してみようと思います。
Posted at 2025/07/10 23:26:39 | |
トラックバック(0) | 日記