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
I am sending a get request to the national weather service (api.weather.gov) and it sends back a json with a forecast which is printed to the terminal, but when I use getResponseBody(), the JSON is not stored under the variable it is assigned to.
Sketch:
extern SoftwareSerial espToMega;
HTTPSRedirect* weather = nullptr;
const char* host1 = "api.weather.gov";
String url1 = "/gridpoints/LZK/49,94/forecast";
void weatherConnect(){
weather = new HTTPSRedirect(httpsPort);
weather->setInsecure();
weather->setPrintResponseBody(true);
weather->setContentTypeHeader("application/json");
espToMega.println("Connecting");
Serial.print("Connecting to ");
Serial.println(host1);
bool flag1 = false;
for (int i = 0; i < 5; i++) {
int retval1 = weather->connect(host1, httpsPort);
if (retval1 == 1) {
flag1 = true;
Serial.println("Connected");
break;
}
else
Serial.println("Connection failed. Retrying...");
}
if (!flag1) {
Serial.print("Could not connect to server: ");
Serial.println(host1);
return;
}
String forecast = "";
espToMega.println("clear");
espToMega.flush();
delay(500);
// delete HTTPSRedirect object
delete weather;
weather = nullptr;
static bool flag = false;
if (!flag) {
weather = new HTTPSRedirect(httpsPort);
weather->setInsecure();
flag = true;
weather->setPrintResponseBody(true);
}
if (weather != nullptr) {
if (!weather->connected()) {
weather->connect(host1, httpsPort);
}
}
else {
Serial.println("Error creating client object!");
}
//getting data
Serial.println("requesting weather data...");
weather->_keepAlive = false;
if (weather->GET(url1, host1)) {}
else {
// do stuff here if publish was not successful
Serial.println("Error while connecting");
}
forecast = weather->getResponseBody();
Serial.print((String)("Forecast:\n" + forecast));
Serial.flush();
Serial.println("Done with Setup");
weather->stop();
}
void setup() {
pinMode(10, INPUT);
espToMega.begin(115200);
Serial.begin(9600);
delay(10);
Serial.println('\n');
// Connect to WiFi
WiFi.begin(ssid, password);
Serial.print("Connecting to ");
Serial.print(ssid); Serial.println(" ...");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println('\n');
Serial.println("Connection established!");
Serial.print("IP address:\t");
Serial.println(WiFi.localIP());
googleConnect();
weatherConnect();
espToMega.println("clear");
espToMega.flush();
delay(500);
timeClient.begin();
timeClient.update();
getInitialTime();
delay(1000);
requestEvents();
}
Serial Output
Connecting to Hogwarts ...
14:27:01.153 -> ....
14:27:04.937 ->
14:27:04.971 -> Connection established!
14:27:04.971 -> IP address: 192.168.1.15
14:27:05.005 -> Connecting to script.google.com
14:27:06.163 -> Connected
14:27:07.763 -> requesting data...
14:27:09.599 -> Events:
14:27:09.599 -> Connecting to api.weather.gov
14:27:10.722 -> Connected
14:27:12.256 -> requesting weather data...
14:27:12.359 -> {
14:27:12.359 -> "@context": [
14:27:12.359 -> "https://geojson.org/geojson-ld/geojson-context.jsonld",
14:27:12.427 -> {
14:27:12.461 -> "@version": "1.1",
14:27:12.495 -> "wx": "https://api.weather.gov/ontology#",
14:27:12.529 -> "geo": "http://www.opengis.net/ont/geosparql#",
14:27:12.597 -> "unit": "http://codes.wmo.int/common/unit/",
14:27:12.665 -> "@vocab": "https://api.weather.gov/ontology#"
14:27:12.733 -> }
14:27:12.733 -> ],
14:27:12.733 -> "type": "Feature",
14:27:12.767 -> "geometry": {
14:27:12.801 -> "type": "Polygon",
14:27:12.801 -> "coordinates": [
14:27:12.836 -> [
14:27:12.870 -> [
14:27:12.870 -> -93.170613200000005,
14:27:12.938 -> 35.271125400000003
14:27:12.972 -> ],
14:27:12.972 -> [
14:27:13.006 -> -93.170984500000003,
14:27:13.040 -> 35.248660200000003
14:27:13.074 -> ],
14:27:13.108 -> [
14:27:13.142 -> -93.1434876,
14:27:13.176 -> 35.248355000000004
14:27:13.210 -> ],
14:27:13.244 -> [
14:27:13.244 -> -93.143110800000002,
14:27:13.278 -> 35.270820100000002
14:27:13.346 -> ],
14:27:13.346 -> [
14:27:13.380 -> -93.170613200000005,
14:27:13.415 -> 35.271125400000003
14:27:13.449 -> ]
14:27:13.483 -> ]
14:27:13.483 -> ]
14:27:13.517 -> },
14:27:13.517 -> "properties": {
14:27:13.551 -> "updated": "2020-07-26T18:36:34+00:00",
14:27:13.585 -> "units": "us",
14:27:13.619 -> "forecastGenerator": "BaselineForecastGenerator",
14:27:13.687 -> "generatedAt": "2020-07-26T18:49:18+00:00",
14:27:13.721 -> "updateTime": "2020-07-26T18:36:34+00:00",
14:27:13.789 -> "validTimes": "2020-07-26T12:00:00+00:00/P7DT13H",
14:27:13.857 -> "elevation": {
14:27:13.857 -> "value": 146.9136,
14:27:13.891 -> "unitCode": "unit:m"
14:27:13.925 -> },
14:27:13.959 -> "periods": [
14:27:13.959 -> {
14:27:13.993 -> "number": 1,
14:27:14.027 -> "name": "This Afternoon",
14:27:14.061 -> "startTime": "2020-07-26T13:00:00-05:00",
14:27:14.128 -> "endTime": "2020-07-26T18:00:00-05:00",
14:27:14.196 -> "isDaytime": true,
14:27:14.230 -> "temperature": 92,
14:27:14.264 -> "temperatureUnit": "F",
14:27:14.299 -> "temperatureTrend": null,
14:27:14.367 -> "windSpeed": "5 mph",
14:27:14.401 -> "windDirection": "SSE",
14:27:14.435 -> "icon": "https://api.weather.gov/icons/land/day/tsra_hi,20?size=medium",
14:27:14.537 -> "shortForecast": "Slight Chance Showers And Thunderstorms",
14:27:14.606 -> "detailedForecast": "A slight chance of showers and thunderstorms. Mostly sunny, with a high near 92. Heat index values as high as 100. South southeast wind around 5 mph. Chance of precipitation is 20%. New rainfall amounts less than a tenth of an inch possible."
14:27:14.911 -> },
14:27:14.911 -> {
14:27:14.945 -> "number": 2,
14:27:14.979 -> "name": "Tonight",
14:27:15.013 -> "startTime": "2020-07-26T18:00:00-05:00",
14:27:15.047 -> "endTime": "2020-07-27T06:00:00-05:00",
14:27:15.116 -> "isDaytime": false,
14:27:15.150 -> "temperature": 74,
14:27:15.184 -> "temperatureUnit": "F",
14:27:15.252 -> "temperatureTrend": null,
14:27:15.286 -> "windSpeed": "0 to 5 mph",
14:27:15.320 -> "windDirection": "S",
14:27:15.389 -> "icon": "https://api.weather.gov/icons/land/night/tsra_hi,20/few?size=medium",
14:27:15.457 -> "shortForecast": "Slight Chance Showers And Thunderstorms then Mostly Clear",
14:27:15.559 -> "detailedForecast": "A slight chance of showers and thunderstorms before 7pm. Mostly clear, with a low around 74. Heat index values as high as 98. South wind 0 to 5 mph. Chance of precipitation is 20%. New rainfall amounts less than a tenth of an inch possible."
14:27:15.865 -> },
14:27:15.865 -> {
14:27:15.899 -> "number": 3,
14:27:15.933 -> "name": "Monday",
14:27:15.967 -> "startTime": "2020-07-27T06:00:00-05:00",
14:27:16.035 -> "endTime": "2020-07-27T18:00:00-05:00",
14:27:16.069 -> "isDaytime": true,
14:27:16.137 -> "temperature": 91,
14:27:16.171 -> "temperatureUnit": "F",
14:27:16.205 -> "temperatureTrend": null,
14:27:16.239 -> "windSpeed": "0 to 5 mph",
14:27:16.307 -> "windDirection": "SW",
14:27:16.341 -> "icon": "https://api.weather.gov/icons/land/day/sct/tsra_hi,20?size=medium",
14:27:16.443 -> "shortForecast": "Mostly Sunny then Slight Chance Showers And Thunderstorms",
14:27:16.545 -> "detailedForecast": "A slight chance of showers and thunderstorms after 1pm. Mostly sunny, with a high near 91. Heat index values as high as 97. Southwest wind 0 to 5 mph. Chance of precipitation is 20%. New rainfall amounts less than a tenth of an inch possible."
14:27:16.817 -> },
14:27:16.851 -> {
14:27:16.851 -> "number": 4,
14:27:16.885 -> "name": "Monday Night",
14:27:16.919 -> "startTime": "2020-07-27T18:00:00-05:00",
14:27:16.987 -> "endTime": "2020-07-28T06:00:00-05:00",
14:27:17.055 -> "isDaytime": false,
14:27:17.089 -> "temperature": 73,
14:27:17.123 -> "temperatureUnit": "F",
14:27:17.157 -> "temperatureTrend": null,
14:27:17.226 -> "windSpeed": "0 mph",
14:27:17.260 -> "windDirection": "SSW",
14:27:17.294 -> "icon": "https://api.weather.gov/icons/land/night/tsra_hi,20/tsra_hi,30?size=medium",
14:27:17.396 -> "shortForecast": "Chance Showers And Thunderstorms",
14:27:17.465 -> "detailedForecast": "A chance of showers and thunderstorms. Partly cloudy, with a low around 73. South southwest wind around 0 mph. Chance of precipitation is 30%."
14:27:17.671 -> },
14:27:17.671 -> {
14:27:17.705 -> "number": 5,
14:27:17.739 -> "name": "Tuesday",
14:27:17.774 -> "startTime": "2020-07-28T06:00:00-05:00",
14:27:17.843 -> "endTime": "2020-07-28T18:00:00-05:00",
14:27:17.877 -> "isDaytime": true,
14:27:17.911 -> "temperature": 89,
14:27:17.979 -> "temperatureUnit": "F",
14:27:18.013 -> "temperatureTrend": null,
14:27:18.048 -> "windSpeed": "0 mph",
14:27:18.082 -> "windDirection": "S",
14:27:18.150 -> "icon": "https://api.weather.gov/icons/land/day/tsra_hi,50/tsra_hi,60?size=medium",
14:27:18.253 -> "shortForecast": "Showers And Thunderstorms Likely",
14:27:18.321 -> "detailedForecast": "Showers and thunderstorms likely. Partly sunny, with a high near 89. South wind around 0 mph. Chance of precipitation is 60%."
14:27:18.493 -> },
14:27:18.493 -> {
14:27:18.527 -> "number": 6,
14:27:18.561 -> "name": "Tuesday Night",
14:27:18.595 -> "startTime": "2020-07-28T18:00:00-05:00",
14:27:18.663 -> "endTime": "2020-07-29T06:00:00-05:00",
14:27:18.697 -> "isDaytime": false,
14:27:18.765 -> "temperature": 72,
14:27:18.798 -> "temperatureUnit": "F",
14:27:18.832 -> "temperatureTrend": null,
14:27:18.866 -> "windSpeed": "0 mph",
14:27:18.899 -> "windDirection": "ESE",
14:27:18.966 -> "icon": "https://api.weather.gov/icons/land/night/tsra_sct,60/tsra_sct,50?size=medium",
14:27:19.067 -> "shortForecast": "Showers And Thunderstorms Likely",
14:27:19.135 -> "detailedForecast": "Showers and thunderstorms likely. Mostly cloudy, with a low around 72. East southeast wind around 0 mph. Chance of precipitation is 60%."
14:27:19.339 -> },
14:27:19.339 -> {
14:27:19.373 -> "number": 7,
14:27:19.373 -> "name": "Wednesday",
14:27:19.441 -> "startTime": "2020-07-29T06:00:00-05:00",
14:27:19.476 -> "endTime": "2020-07-29T18:00:00-05:00",
14:27:19.544 -> "isDaytime": true,
14:27:19.578 -> "temperature": 85,
14:27:19.612 -> "temperatureUnit": "F",
14:27:19.680 -> "temperatureTrend": null,
14:27:19.714 -> "windSpeed": "0 to 5 mph",
14:27:19.748 -> "windDirection": "SSE",
14:27:19.782 -> "icon": "https://api.weather.gov/icons/land/day/tsra,50/tsra,60?size=medium",
14:27:19.884 -> "shortForecast": "Showers And Thunderstorms Likely",
14:27:19.987 -> "detailedForecast": "Showers and thunderstorms likely. Mostly cloudy, with a high near 85. South southeast wind 0 to 5 mph. Chance of precipitation is 60%."
14:27:20.157 -> },
14:27:20.157 -> {
14:27:20.191 -> "number": 8,
14:27:20.225 -> "name": "Wednesday Night",
14:27:20.259 -> "startTime": "2020-07-29T18:00:00-05:00",
14:27:20.328 -> "endTime": "2020-07-30T06:00:00-05:00",
14:27:20.396 -> "isDaytime": false,
14:27:20.430 -> "temperature": 71,
14:27:20.464 -> "temperatureUnit": "F",
14:27:20.498 -> "temperatureTrend": null,
14:27:20.532 -> "windSpeed": "0 to 5 mph",
14:27:20.600 -> "windDirection": "SSW",
14:27:20.634 -> "icon": "https://api.weather.gov/icons/land/night/tsra,60?size=medium",
14:27:20.737 -> "shortForecast": "Showers And Thunderstorms Likely",
14:27:20.805 -> "detailedForecast": "Showers and thunderstorms likely. Mostly cloudy, with a low around 71. South southwest wind 0 to 5 mph. Chance of precipitation is 60%."
14:27:20.975 -> },
14:27:21.009 -> {
14:27:21.009 -> "number": 9,
14:27:21.043 -> "name": "Thursday",
14:27:21.077 -> "startTime": "2020-07-30T06:00:00-05:00",
14:27:21.145 -> "endTime": "2020-07-30T18:00:00-05:00",
14:27:21.213 -> "isDaytime": true,
14:27:21.248 -> "temperature": 87,
14:27:21.282 -> "temperatureUnit": "F",
14:27:21.316 -> "temperatureTrend": null,
14:27:21.384 -> "windSpeed": "5 mph",
14:27:21.418 -> "windDirection": "SW",
14:27:21.452 -> "icon": "https://api.weather.gov/icons/land/day/tsra,60?size=medium",
14:27:21.555 -> "shortForecast": "Showers And Thunderstorms Likely",
14:27:21.623 -> "detailedForecast": "Showers and thunderstorms likely. Mostly cloudy, with a high near 87. Southwest wind around 5 mph. Chance of precipitation is 60%."
14:27:21.793 -> },
14:27:21.793 -> {
14:27:21.827 -> "number": 10,
14:27:21.861 -> "name": "Thursday Night",
14:27:21.895 -> "startTime": "2020-07-30T18:00:00-05:00",
14:27:21.965 -> "endTime": "2020-07-31T06:00:00-05:00",
14:27:22.033 -> "isDaytime": false,
14:27:22.067 -> "temperature": 70,
14:27:22.101 -> "temperatureUnit": "F",
14:27:22.135 -> "temperatureTrend": null,
14:27:22.169 -> "windSpeed": "0 to 5 mph",
14:27:22.237 -> "windDirection": "SW",
14:27:22.271 -> "icon": "https://api.weather.gov/icons/land/night/tsra,60/tsra,40?size=medium",
14:27:22.374 -> "shortForecast": "Showers And Thunderstorms Likely",
14:27:22.442 -> "detailedForecast": "Showers and thunderstorms likely. Mostly cloudy, with a low around 70. Chance of precipitation is 60%."
14:27:22.578 -> },
14:27:22.612 -> {
14:27:22.612 -> "number": 11,
14:27:22.646 -> "name": "Friday",
14:27:22.680 -> "startTime": "2020-07-31T06:00:00-05:00",
14:27:22.748 -> "endTime": "2020-07-31T18:00:00-05:00",
14:27:22.816 -> "isDaytime": true,
14:27:22.850 -> "temperature": 87,
14:27:22.884 -> "temperatureUnit": "F",
14:27:22.918 -> "temperatureTrend": null,
14:27:22.986 -> "windSpeed": "0 to 5 mph",
14:27:23.020 -> "windDirection": "WSW",
14:27:23.054 -> "icon": "https://api.weather.gov/icons/land/day/tsra_sct,50?size=medium",
14:27:23.156 -> "shortForecast": "Chance Showers And Thunderstorms",
14:27:23.224 -> "detailedForecast": "A chance of showers and thunderstorms. Mostly cloudy, with a high near 87. Chance of precipitation is 50%."
14:27:23.395 -> },
14:27:23.395 -> {
14:27:23.429 -> "number": 12,
14:27:23.463 -> "name": "Friday Night",
14:27:23.497 -> "startTime": "2020-07-31T18:00:00-05:00",
14:27:23.565 -> "endTime": "2020-08-01T06:00:00-05:00",
14:27:23.599 -> "isDaytime": false,
14:27:23.667 -> "temperature": 70,
14:27:23.701 -> "temperatureUnit": "F",
14:27:23.735 -> "temperatureTrend": null,
14:27:23.769 -> "windSpeed": "0 to 5 mph",
14:27:23.837 -> "windDirection": "NW",
14:27:23.871 -> "icon": "https://api.weather.gov/icons/land/night/tsra_hi,50/tsra_hi,30?size=medium",
14:27:23.973 -> "shortForecast": "Chance Showers And Thunderstorms",
14:27:24.041 -> "detailedForecast": "A chance of showers and thunderstorms. Mostly cloudy, with a low around 70. Chance of precipitation is 50%."
14:27:24.212 -> },
14:27:24.212 -> {
14:27:24.247 -> "number": 13,
14:27:24.247 -> "name": "Saturday",
14:27:24.314 -> "startTime": "2020-08-01T06:00:00-05:00",
14:27:24.348 -> "endTime": "2020-08-01T18:00:00-05:00",
14:27:24.416 -> "isDaytime": true,
14:27:24.450 -> "temperature": 88,
14:27:24.484 -> "temperatureUnit": "F",
14:27:24.553 -> "temperatureTrend": null,
14:27:24.587 -> "windSpeed": "0 to 5 mph",
14:27:24.621 -> "windDirection": "NNE",
14:27:24.690 -> "icon": "https://api.weather.gov/icons/land/day/tsra_hi,40?size=medium",
14:27:24.758 -> "shortForecast": "Chance Showers And Thunderstorms",
14:27:24.827 -> "detailedForecast": "A chance of showers and thunderstorms. Mostly sunny, with a high near 88. Chance of precipitation is 40%."
14:27:24.998 -> },
14:27:24.998 -> {
14:27:25.032 -> "number": 14,
14:27:25.066 -> "name": "Saturday Night",
14:27:25.100 -> "startTime": "2020-08-01T18:00:00-05:00",
14:27:25.168 -> "endTime": "2020-08-02T06:00:00-05:00",
14:27:25.236 -> "isDaytime": false,
14:27:25.270 -> "temperature": 68,
14:27:25.304 -> "temperatureUnit": "F",
14:27:25.338 -> "temperatureTrend": null,
14:27:25.372 -> "windSpeed": "0 mph",
14:27:25.441 -> "windDirection": "NE",
14:27:25.475 -> "icon": "https://api.weather.gov/icons/land/night/tsra_hi,40/tsra_hi,30?size=medium",
14:27:25.577 -> "shortForecast": "Chance Showers And Thunderstorms",
14:27:25.645 -> "detailedForecast": "A chance of showers and thunderstorms. Partly cloudy, with a low around 68. Chance of precipitation is 40%."
14:27:25.816 -> }
14:27:25.816 -> ]
14:27:25.816 -> }
14:27:30.686 -> }
14:27:30.721 -> Forecast:
14:27:30.721 -> Done with Setup
14:27:31.538 -> `26-07-2020
14:27:31.572 -> ~0 14:27:31
14:27:33.654 -> requesting data...
14:27:35.462 -> Events:
TLDR
the string variable "forecast" is supposed to contain a really long JSON from the getResponseBody() method and its acting as if its blank.
The text was updated successfully, but these errors were encountered:
I am sending a get request to the national weather service (api.weather.gov) and it sends back a json with a forecast which is printed to the terminal, but when I use getResponseBody(), the JSON is not stored under the variable it is assigned to.
Sketch:
Serial Output
TLDR
the string variable "forecast" is supposed to contain a really long JSON from the getResponseBody() method and its acting as if its blank.
The text was updated successfully, but these errors were encountered: