I have been able to parse nmea sentences using a TinyGPS+ port ( very similar to TinyGPS – same author) by using bufferedSerial to buffer the NMEA strings so that TinyGPS can parse them in the main loop
I have these imports :
#include "TinyGPSplus.h" // can also use TinyGPS
#include "BufferedSerial.h"
then I create these :
TinyGPSPlus gps;
BufferedSerial uartGPS(XBEE_DOUT, XBEE_DIN,1024); // tx, rx,buffer size //
in main ( before the usual “while(1)” loop: ( “Setup()” in ArduinoLand
I set up the baudrate of the GPS interface :
// set up UART to recieve GPS strings
logInfo("setting up GPS serial port");
uartGPS.baud(9600);
and then in the While(1) loop ( or if you are From ArduinoLand (loop() )
// parse all the data in the serial buffer
while(uartGPS.readable()>0) {
// gps << uartGPS.getc();
gps.encode((char)uartGPS.getc());
}
you can then read the GPS parameters off exacly like the TinyGPS / TinyGPS+ libraries show , ie.
int altitudeGps = gps.altitude.meters();
node-red is able to get the LoRa message payload and send it via a POST method ( using the AEP model ).
you are also able to process the data inside nodered.