Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bluetooth support for obtaining NMEA #48

Open
gdt opened this issue Jan 19, 2022 · 12 comments
Open

Add bluetooth support for obtaining NMEA #48

gdt opened this issue Jan 19, 2022 · 12 comments

Comments

@gdt
Copy link

gdt commented Jan 19, 2022

Separately from NTRIP, it would be very useful to enable accessing the NMEA stream over bluetooth. This would ease integration with various devices, especially software that already has bluetooth support, which seem to be the standard approach for "external GPS".

(While it would also be nice to have a way for a computer with bluetooth to proxy NTRIP, this request is just about access to the NMEA output stream.)

@graememk
Copy link

graememk commented Mar 3, 2022

I also would like this, The ESP32 has bluetooth, It would mean that to have bluetooth and a Ntrip connection wont need 2 extra hardware pieces.

The UART NEMA feed is there, Putting it over bluetooth hopefully is an easy addition.

I feel that I'm out of my depth to try and implement this myself.

@edgecase14
Copy link

There are many Android apps which support Bluetooth, but not BLE GNSS receivers. Bluetooth support would enable these. We can't change our company to use a different software, so we must instead find a different module.

@Popeye1001
Copy link

While looking through the code, I noticed some code for bluetooth support. Is it possible to update with bluetooth functions?

@gdt
Copy link
Author

gdt commented Oct 21, 2023

The astute reader will realize that this code is unmaintained; there hasn't been a release going on 4 years.

You may wish to see if the sparkfun code (which is maintained) can run on this device. I suspect it's not too hard, but haven't gotten around to trying.

@jolivart
Copy link

Although not open source,there's a BT+BLE functional code here, 100% compatible with the hardware:
https://www.ardusimple.com/btble-bridge-hookup-guide/
Here are the instructions to load the new firmware:
https://www.ardusimple.com/ble-bridge-firmware-update/

@gdt
Copy link
Author

gdt commented Oct 22, 2023

@jolivart interesting. Looks like it can no longer do NTRIP, which means it isn't workable with QField. Plus, it's very disappointing to see Ardusimple moving away from open source.

@graememk
Copy link

I ended up building a hat with another esp32 on it to do the Bluetooth serial connection from the main UART output.

In the the Arduino IDE the Bluetooth stack does take up a considerable amount of memory/flash so possibly having everything in the one package isn't feasible.

@gdt
Copy link
Author

gdt commented Oct 22, 2023

It actually works to have both wifi/NTRIP and bluetooth. https://github.com/sparkfun/SparkFun_RTK_Firmware/

@namork
Copy link

namork commented Nov 6, 2023

graememk

dear graememk. will you share the code? this would be great to develop an eps32 with an oled to have better control...

@graememk
Copy link

graememk commented Nov 6, 2023

graememk

dear graememk. will you share the code? this would be great to develop an eps32 with an oled to have better control...

Its brutally simple:

`
#include "BluetoothSerial.h"
#define RXD2 16
#define TXD2 17

BluetoothSerial SerialBT;

void setup() {
// put your setup code here, to run once:
SerialBT.begin("ArdusimpleGPS");
Serial.begin(115200);
Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2);
}

void loop() {
// put your main code here, to run repeatedly:
while (Serial2.available()) {
char c = Serial2.read();
Serial.print(c);
SerialBT.print(c);

}

}`

@namork
Copy link

namork commented Nov 6, 2023

graememk

dear graememk. will you share the code? this would be great to develop an eps32 with an oled to have better control...

Its brutally simple:

` #include "BluetoothSerial.h" #define RXD2 16 #define TXD2 17

BluetoothSerial SerialBT;

void setup() { // put your setup code here, to run once: SerialBT.begin("ArdusimpleGPS"); Serial.begin(115200); Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2); }

void loop() { // put your main code here, to run repeatedly: while (Serial2.available()) { char c = Serial2.read(); Serial.print(c); SerialBT.print(c);

}

wow, fast and simple. cool!

that should work with any esp32 with bluetooth?

and it’s hocked to rx/tx on the board?

probably it will also work with the mosaicHAT, right?

thanks a lot!!!!!!!!!!

@0marraqueta
Copy link

Hello, thanks for the code, Everything seems to be working correctly but I can't make the corrections through NTRIP, I always have the RTK FIX=SINGLE solution. How should I have the board configured?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants