代码文件
getdata.h
#include
#include
#include
#include
#include
#include
#include
#define DEBUG 1
#define MAX_CONTENT_SIZE 2000
const char* ssid = "weather";
const char* password = "mymymymy";
WiFiClient client;
HTTPClient http;
char response[MAX_CONTENT_SIZE];
const char* HOST = "api.seniverse.com";
const char* APIKEY = "**";
const char* CITY = "haikou";
typedef struct UserData{
char city[16];
char weather[32];
char temp[16];
}data;
data d;
bool parseData(data &d);
data getdata();
bool WifiConfig();
void weather_init();
bool sendRequest(const char* host, const char* cityid, const char* apiKey);
void clearResponseBuffer();
void clearResponseBuffer(){
memset(response, 0, MAX_CONTENT_SIZE); //���
memset(d.city,0,sizeof(d.city));
memset(d.weather,0,sizeof(d.weather));
memset(d.temp,0,sizeof(d.temp));
}
data getdata(){
char error[5] = "NULL";
clearResponseBuffer();
if(sendRequest(HOST,CITY,APIKEY)){
Serial.println("Request success!\n\n");
}
if(parseData(d)){
return d;
}else{
strcpy(d.city,error);
strcpy(d.weather,error);
strcpy(d.temp,error);
return d;
}
}
bool WifiConfig(){
WiFi.begin(ssid,password);
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
<