GPS Module Not work when connected to ESP8266 via UNO

Condition:

  1. ESP8266 is work when both GPS module NEO-M8N-0-11 connected or not connected to UNO
  2. GPS Module is work when ESP8266 is not connected or just running script for GPS.ino

GPS.ino ← GPS is work when running this file

#include <TinyGPS++.h>
#include <SoftwareSerial.h>
/*
This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object.
It requires the use of SoftwareSerial, and assumes that you have a
4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx).
*/
static const int RXPin = 8, TXPin = 9;
static const uint32_t GPSBaud = 9600;

// The TinyGPS++ object
TinyGPSPlus gps;

// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);

void setup()
{
Serial.begin(115200);
ss.begin(GPSBaud);

Serial.println(F(“DeviceExample.ino”));
Serial.println(F(“A simple demonstration of TinyGPS++ with an attached GPS module”));
Serial.print(F("Testing TinyGPS++ library v. ")); Serial.println(TinyGPSPlus::libraryVersion());
Serial.println(F(“by Mikal Hart”));
Serial.println();
}

void loop()
{
// This sketch displays information every time a new sentence is correctly encoded.
while (ss.available() > 0)
if (gps.encode(ss.read()))
displayInfo();

if (millis() > 5000 && gps.charsProcessed() < 10)
{
Serial.println(F(“No GPS detected: check wiring.”));
if(true);
}
}

void displayInfo()
{
Serial.print(F(“Location: “));
if (gps.location.isValid())
{
Serial.print(gps.location.lat(), 6);
Serial.print(F(”,”));
Serial.print(gps.location.lng(), 6);
}
else
{
Serial.print(F(“INVALID”));
}

Serial.print(F(" Date/Time: “));
if (gps.date.isValid())
{
Serial.print(gps.date.month());
Serial.print(F(”/"));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.year());
}
else
{
Serial.print(F(“INVALID”));
}

Serial.print(F(" “));
if (gps.time.isValid())
{
if (gps.time.hour() < 10) Serial.print(F(“0”));
Serial.print(gps.time.hour());
Serial.print(F(”:"));
if (gps.time.minute() < 10) Serial.print(F(“0”));
Serial.print(gps.time.minute());
Serial.print(F(":"));
if (gps.time.second() < 10) Serial.print(F(“0”));
Serial.print(gps.time.second());
Serial.print(F("."));
if (gps.time.centisecond() < 10) Serial.print(F(“0”));
Serial.print(gps.time.centisecond());
}
else
{
Serial.print(F(“INVALID”));
}

Serial.println();
}

GPSIoT.ino ← ESP8266 is work and number 999 could send to IoT server but GPS is not working and show No GPS detected: check wiring. when I did not hide that line and show
Location: INVALID Date/Time: INVALID INVALID now

#include <SoftwareSerial.h>
#include <TinyGPS++.h>
#define RX 2
#define TX 3
String AP = “[My_Wifi_AP]”; // AP NAME
String PASS = “[Password]”; // AP PASSWORD
String API = “[My_Api_Key]”; // Write API KEY
String HOST = “api.thingspeak.com”;
String PORT = “80”;
String field = “field1”;
int countTrueCommand;
int countTimeCommand;
boolean found = false;
double valSensor = 1;
double valLat = 999;
double valLong = 999;
SoftwareSerial esp8266(RX,TX);

static const int RXPin = 8, TXPin = 9;
static const uint32_t GPSBaud = 9600;
// The TinyGPS++ object
TinyGPSPlus gps;

// The serial connection to the GPS device
SoftwareSerial ss(RXPin, TXPin);

void setup() {

Serial.begin(19200);
Serial.println(F(“DeviceExample.ino”));
Serial.println(F(“A simple demonstration of TinyGPS++ with an attached GPS module”));
Serial.print(F(“Testing TinyGPS++ library v. “)); Serial.println(TinyGPSPlus::libraryVersion());
Serial.println(F(“by Mikal Hart”));
//ss.begin(GPSBaud);
esp8266.begin(115200);
sendCommand(“AT”,5,“OK”);
sendCommand(“AT+CWMODE=1”,5,“OK”);
sendCommand(“AT+CWJAP=””+ AP +”",""+ PASS +""",20,“OK”);

}

void loop() {
valSensor = getSensorData();
String getData = “GET /update?api_key=”+ API +"&"+ field +"="+String(valLat);
sendCommand(“AT+CIPMUX=1”,5,“OK”);
sendCommand(“AT+CIPSTART=0,“TCP”,”"+ HOST +"","+ PORT,15,“OK”);
sendCommand(“AT+CIPSEND=0,” +String(getData.length()+4),4,">");
esp8266.println(getData);delay(1500);countTrueCommand++;
sendCommand(“AT+CIPCLOSE=0”,5,“OK”);
}

int getSensorData(){
esp8266.end();
while(esp8266.available()>0){
Serial.print(“Please Wait for closing Wifi”);
Serial.println();
}
ss.begin(GPSBaud);

Serial.println();
//if (ss.available() > 0)
//{
// Serial.print(“GPS OK”);
//Serial.println();
//if (gps.encode(ss.read()))
displayInfo();
//}
//if (millis() > 5000 && gps.charsProcessed() < 10)
//{
//Serial.println(F(“No GPS detected: check wiring.”));
//}
ss.end();
while(ss.available()>0){
Serial.print(“Please Wait for closing GPS”);
Serial.println();
}
esp8266.begin(115200);

return random(1000);
}

void sendCommand(String command, int maxTime, char readReplay) {
Serial.print(countTrueCommand);
Serial.print(". at command => “);
Serial.print(command);
Serial.print(” ");
while(countTimeCommand < (maxTime*1))
{
esp8266.println(command);//at+cipsend
if(esp8266.find(readReplay))//ok
{
found = true;
break;
}

countTimeCommand++;
}

if(found == true)
{
Serial.println(“OYI”);
countTrueCommand++;
countTimeCommand = 0;
}

if(found == false)
{
Serial.println(“Fail”);
countTrueCommand = 0;
countTimeCommand = 0;
}

found = false;
}

void displayInfo()
{
Serial.print(F(“Location: “));
if (gps.location.isValid())
{
Serial.print(gps.location.lat(), 6);
valLat=gps.location.lat(),6;
Serial.print(F(”,”));
Serial.print(gps.location.lng(), 6);
valLong=gps.location.lng(),6;
}
else
{
Serial.print(F(“INVALID”));
}

Serial.print(F(" Date/Time: “));
if (gps.date.isValid())
{
Serial.print(gps.date.month());
Serial.print(F(”/"));
Serial.print(gps.date.day());
Serial.print(F("/"));
Serial.print(gps.date.year());
}
else
{
Serial.print(F(“INVALID”));
}

Serial.print(F(" “));
if (gps.time.isValid())
{
if (gps.time.hour() < 10) Serial.print(F(“0”));
Serial.print(gps.time.hour());
Serial.print(F(”:"));
if (gps.time.minute() < 10) Serial.print(F(“0”));
Serial.print(gps.time.minute());
Serial.print(F(":"));
if (gps.time.second() < 10) Serial.print(F(“0”));
Serial.print(gps.time.second());
Serial.print(F("."));
if (gps.time.centisecond() < 10) Serial.print(F(“0”));
Serial.print(gps.time.centisecond());
}
else
{
Serial.print(F(“INVALID”));
}

Serial.println();
}

Could you take a few moments to Learn How To Use The Forum.
It will help you get the best out of the forum in the future.
Other general help and troubleshooting advice can be found here.

@cmk__2020

Other post/duplicate DELETED
Please do NOT cross post / duplicate as it wastes peoples time and efforts to have more than one post for a single topic.

Continued cross posting could result in a time out from the forum.

Could you take a few moments to Learn How To Use The Forum.
It will help you get the best out of the forum in the future.
Other general help and troubleshooting advice can be found here.