I have followed the ZED-F9P hookup guide, and have a rover configured that will read RTCM3 corrections from a nearby UNAVCO station via the Lefebure NTRIP Client App. I am primarily logging the GPS data on an onboard SD card (which works as expected). However, I do need the location to also be streamed back to the NTRIP Client via bluetooth.
I saw the advice from this topic viewtopic.php?f=116&t=49956 about using UART1 instead of UART2, and followed the configuration settings in the EnableNMEASentences example with no success. This example suggests you don’t have to do anything to start transmitting via bluetooth to the NRTIP client, it should just happen once the messages have been enabled. There are no commands in my code that directly interface with the bluetooth mate - which seems illogical. I would expect to need some sort of bluetooth.send() command, which doesn’t seem to exist?
I’ve also tried a variety of different baud rates (9600, 38400 - the default for most bluetooth receivers on the android, 57600 - what’s recommended in the example code, and 115200 - what’s used everywhere else for the GPS unit). I don’t see any settings in the Lefebure app that allow you to adjust the baud rate.
What am I missing?
void setup(){
...
while (myGPS.begin() == false) //Connect to the Ublox module using Wire port
{
Serial.println(F("GPS not detected."));
digitalWrite(redLEDpin,HIGH);
delay(50);
digitalWrite(redLEDpin, LOW);
delay(100);
}
myGPS.setI2COutput(COM_TYPE_UBX); //Set the I2C port to output UBX only (turn off NMEA noise)
// myGPS.saveConfiguration(); //Save the current settings to flash and BBR
myGPS.setNavigationFrequency(25); //Set output to 25 times a second
//Disable or enable various NMEA sentences over the UART1 interface
myGPS.disableNMEAMessage(UBX_NMEA_GLL, COM_PORT_UART1); //Several of these are on by default on virgin ublox board so let's disable them
myGPS.disableNMEAMessage(UBX_NMEA_GSA, COM_PORT_UART1);
myGPS.disableNMEAMessage(UBX_NMEA_GSV, COM_PORT_UART1);
myGPS.disableNMEAMessage(UBX_NMEA_RMC, COM_PORT_UART1);
myGPS.enableNMEAMessage(UBX_NMEA_GGA, COM_PORT_UART1); //Only leaving GGA/VTG enabled at current navigation rate
myGPS.disableNMEAMessage(UBX_NMEA_VTG, COM_PORT_UART1);
//Some of the other examples in this library enable the PVT message so let's disable it
myGPS.configureMessage(UBX_CLASS_NAV, UBX_NAV_PVT, COM_PORT_UART1, 0); //Message Class, ID, and port we want to configure, sendRate of 0 (disable).
myGPS.setUART1Output(COM_TYPE_NMEA); //Turn off UBX and RTCM sentences on the UART1 interface
myGPS.setSerialRate(38400); //Set UART1 to 57600bps.
myGPS.saveConfiguration(); //Save these settings to NVM
}
void loop(){
...
long latitude = myGPS.getLatitude();
myFile.print(latitude);
...
}