Transfer GPS NMAE messages over Wifi
Transfer GPS NMEA messages over Wifi/Bluetooth
I live in an apartment. GPS signal does not reach my room. I put my ESP32 and GPS receiver by the window and forward NMEA messages over WiFi.
ESP-IDF V5.0 or later. ESP-IDF V4.4 release branch reached EOL in July 2024.
GPS module like NEO-6M
GPS | ESP32 | ESP32-S2/S3 | ESP32-C2/C3/C6 | |
---|---|---|---|---|
VCC | -- | 3.3V | 3.3V | 3.3V |
GND | -- | GND | GND | GND |
TXD | -- | GPIO16 | GPIO1 | GPIO0 |
You can change GPIO to any pin using menuconfig.
git clone https://github.com/nopnop2002/esp-idf-GPS-Repeater
cd esp-idf-GPS-Repeater
idf.py menuconfig
idf.py flash
You can configure UART-RX GPIO port and transfer protocol using menuconfig.
Select WiFi mode.
You can use tcp.py as receiver.
python3 ./tcp.py
Select WiFi mode.
You can use udp.py as receiver.
python3 ./udp.py
You can use iPhone/Android as receiver.
u-center is a very powerful NMEA message analysis tool. You can use ESP32 as u-center's GPS Server. ESP32 acts as a TCP Server. Build the firmware using TCP socket.
Start u-center and connect to ESP32. You can use mDNS host name as IP. Default port is 5000.
tcp://esp32-server.local:5000
You can download from here. Android acts as a SPP Initiator, and ESP32 acts as a SPP Acceptor. Build ESP32's firmware using Classic Bluetooth SPP.
1.Pair with ESP_SPP_ACCEPTOR. 2.Open application. 3.CONNECT.
You can download from here. Android acts as a SPP Initiator, and ESP32 acts as a SPP Acceptor. Build ESP32's firmware using Classic Bluetooth SPP.
1.Pair with ESP_SPP_ACCEPTOR. 2.Open application. 3.Open setting page. 4.Select Bluetooth Classic as NMEA input source.
Repository with UI is here.