App inventor doesnt see the gps data in firebase and its 0 in lat,long

Hello everyone! I wanted to create the app,that shows arduino gps location from firebase. But ita always 0.000000
using ESP8266(NodeMCU), GPS6MV2
theres a code for arduino
#include <TinyGPSPlus.h>

#include <ESP8266Firebase.h>

#include <ArduinoJson.h>

/*
Note: The latest JSON library might not work with the code.
So you may need to downgrade the library to version v5.13.5

Created by TAUSEEF AHMED

*/

//-----------------------------------------------------------------------------------
//FirebaseESP8266.h must be included before ESP8266WiFi.h
#include <FirebaseESP8266.h> //https://github.com/mobizt/Firebase-ESP8266
#include <ESP8266WiFi.h>
#include <SoftwareSerial.h>
#include <TinyGPSPlus.h> //https://github.com/mikalhart/TinyGPSPlus

//Install ArduinoJson Library
//Note: The latest JSON library might not work with the code.
//So you may need to downgrade the library to version v5.13.5
//-----------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------
#define FIREBASE_HOST "qwerty-8bfe8-default-rtdb.firebaseio.com"
#define FIREBASE_AUTH "FXVbFqLRAdx4hPx9Q8prxPCyCVWUlGJdLqxi68qh"
#define WIFI_SSID "Alisha"
#define WIFI_PASSWORD "87717790025"
//-----------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------
//Define FirebaseESP8266 data object
FirebaseData firebaseData;

FirebaseJson json;
//-----------------------------------------------------------------------------------

//-----------------------------------------------------------------------------------
//GPS Module RX pin to NodeMCU D1
//GPS Module TX pin to NodeMCU D2
const int RXPin = 4, TXPin = 5;
SoftwareSerial neo6m(RXPin, TXPin);
TinyGPSPlus gps;
//-----------------------------------------------------------------------------------

//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
void setup()
{

Serial.begin(9600);

neo6m.begin(9600);

wifiConnect();

Serial.println("Connecting Firebase.....");
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.reconnectWiFi(true);
Serial.println("Firebase OK.");

}
//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
void loop() {

smartdelay_gps(1000);

if(gps.location.isValid())
{
float latitude = gps.location.lat();
float longitude = gps.location.lng();

//-------------------------------------------------------------
//Send to Serial Monitor for Debugging
//Serial.print("LAT:  ");
//Serial.println(latitude);  // float to x decimal places
//Serial.print("LONG: ");
//Serial.println(longitude);
//-------------------------------------------------------------

//-------------------------------------------------------------
if(Firebase.setFloat(firebaseData, "/GPS/f_latitude", latitude))
  {print_ok();}
else
  {print_fail();}
//-------------------------------------------------------------
if(Firebase.setFloat(firebaseData, "/GPS/f_longitude", longitude))
  {print_ok();}
else
  {print_fail();}

//-------------------------------------------------------------
}
else
{
Serial.println("No valid GPS data found.");
}

delay(5000);
}
//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
static void smartdelay_gps(unsigned long ms)
{
unsigned long start = millis();
do
{
while (neo6m.available())
gps.encode(neo6m.read());
} while (millis() - start < ms);
}
//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
void wifiConnect()
{
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(300);
}
Serial.println();
Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();
}
//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
void print_ok()
{
Serial.println("------------------------------------");
Serial.println("OK");
Serial.println("PATH: " + firebaseData.dataPath());
Serial.println("TYPE: " + firebaseData.dataType());
Serial.println("ETag: " + firebaseData.ETag());
Serial.println("------------------------------------");
Serial.println();
}
//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
void print_fail()
{
Serial.println("------------------------------------");
Serial.println("FAILED");
Serial.println("REASON: " + firebaseData.errorReason());
Serial.println("------------------------------------");
Serial.println();
}
//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

void firebaseReconnect()
{
Serial.println("Trying to reconnect");
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

firebase

app design


code

It goes like this

Thanks for help in advance!

That means either your Arduino GPS receiver is not achieving a satellite fix or your script is not sending the value to your Android. 0,0 is the default gps value.

If you code a simpler app, one that does not include Firebase but only posts the data from the Arduino to a Label on the Android, do you get valid location changed values? If you do post valid values, the problem is with your Firebase code; if you do not, the issue is your code that passes the location to your Android.

By the way, your Blocks image is out of focus and not readable :cry: