You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I launching only ESP8266WebServer with softAP mode, it works fine.
(I could see the webpage I made.)
When I checking only gps data with TinyGPS library, it works fine.
But When I add reading gps data function to my webserver routine, it doesn't work.
``
#include<ESP8266WiFi.h>
#include<WiFiClient.h>
#include<ESP8266WebServer.h>
#include<SoftwareSerial.h>
#include<TinyGPS.h>//server settingconstchar* ssid = "uuuu";
constchar* password = "123456789";
ESP8266WebServer server(80);
//GPS setting
#defineRXPIN14
#defineTXPIN12
#defineGPSBAUD9600
TinyGPS gps;
SoftwareSerial ss(TXPIN, RXPIN);
float flat=0, flon=0;
String strDate = "";
voidhandleRoot() {
server.send(200, "text/html", prepareHtmlPage());
}
String prepareHtmlPage()
{
String htmlPage =
String("<!DOCTYPE HTML>") +
"<html>" +
"<meta http-equiv=\"Content-Type\" Content=\"text/html; charset=utf-8\">\r\n" +
"<meta name=\"viewport\" content=\"width=device-width, user-scalable=no\">\r\n"+
"<style>body {margin: 0;font-family: Arial, Helvetica, sans-serif;}\r\n"+
".topnav {overflow: hidden;background-color: #333;}\r\n"+
".topnav a {float: left;color: #f2f2f2;text-align: center;padding: 14px 16px;text-decoration: none;font-size: 17px;}\r\n"+
".topnav a:hover {background-color: #ddd;color: black;}</style></head>\r\n"+
"<body onload='status1()'>\r\n"+
"<div class='topnav'>\r\n"+
"<a class='active' href='#home' onclick='status1()'>현재 상태</a><a href='#about' onclick='about()'>About</a>\r\n" +
"</div><div id='content' style='padding-left:16px'></div></body>\r\n"+
"<div id='btm'> <input type='button' onclick='location.reload(true)' value='Refresh'> </div>\r\n"+
"<script>\r\n"+
"function status1()\r\n"+
"{var str = '<h3>current : sss </h3>'\r\n;"+
"str += '<h3> Lat, Lon : dsd </h3>'\r\n;" +
//"{var str = '<h3>current : " + strDate + "</h3>'\r\n;"+//"str += '<h3> Lat, Lon : " + flat + ", " + flon + "</h3>'\r\n;" +"document.getElementById('btm').style.display='block'\r\n"+
"document.getElementById('content').innerHTML = str; }\r\n"+
"function about()\r\n"+
"{var str = '<h2>water</h2>';\r\n"+
"str += '<p> xxxx : xxxx </p>';str += '<p> HP : xxxxxx </p>';\r\n"+
"document.getElementById('btm').style.display='none'\r\n"+
"document.getElementById('content').innerHTML = str;}\r\n"+
"</script>\r\n"+
"</html>\r\n" +
"\r\n";
Serial.println(htmlPage);
return htmlPage;
}
voidsetup() {
// put your setup code here, to run once:delay(10);
Serial.begin(115200);
//ss.begin(GPSBAUD);
Serial.println("Initializing Soft AP Config mode...");
IPAddress Ip(192, 168, 20, 1);
IPAddress NMask(255, 255, 255, 0);
WiFi.softAPConfig(Ip, Ip, NMask);
WiFi.softAP(ssid, password);
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.on("/", handleRoot);
server.begin();
Serial.println("HTTP server started");
}
voidloop() {
// put your main code here, to run repeatedly:
server.handleClient();
bool newData = false;
unsignedlong chars;
unsignedshort sentences, failed;
// For one second we parse GPS data and report some key valuesfor (unsignedlong start = millis(); millis() - start < 1000;)
{
while (ss.available())
{
char c = ss.read();
//Serial.write(c); // uncomment this line if you want to see the GPS data flowingif (gps.encode(c)) // Did a new valid sentence come in?
newData = true;
}
}
if (newData)
{
unsignedlong age;
gps.f_get_position(&flat, &flon, &age);
Serial.print(" LAT=");
Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
Serial.print(" LON=");
Serial.println(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
}
gps.stats(&chars, &sentences, &failed);
if (chars == 0)
Serial.println("** No characters received from GPS: check wiring **");
}
And then.
I couldn't find wifi in my wifi list in laptop.
I could check normal GPS data.
So When I comment line below "server.handleClient();", I could find nodeMCU wifi and open
web page what I made.
I think this problem related with SoftwareSerial and handclient().
I'm not sure...
Please help me.
The text was updated successfully, but these errors were encountered:
I had similar issues - SoftSerial is heavily using interrupts. So I decided to use the hardware (physical) Serial Port of NodeMCU and everything is working fine now...
Settings in IDE
Problem Description
When I launching only ESP8266WebServer with softAP mode, it works fine.
(I could see the webpage I made.)
When I checking only gps data with TinyGPS library, it works fine.
But When I add reading gps data function to my webserver routine, it doesn't work.
``
And then.
So When I comment line below "server.handleClient();", I could find nodeMCU wifi and open
web page what I made.
I think this problem related with SoftwareSerial and handclient().
I'm not sure...
Please help me.
The text was updated successfully, but these errors were encountered: