Buongiorno a tutti,
in questi giorni ho fatto un sketch che mi legge alcune grandezze elettriche (tipo wattmetro) e le pubblica in html utilizzando lo SPIFFS in un NodeMCU in wifi.
Ora, attraverso un altro NodeMCU o Arduino dovrei leggere alcune di queste grandezze elettriche dalla pagina HTML (o dallo SPIFFS del primo NodeMCU) ma non capisco come posso fare.
Ho provato in questo modo
#include <ESP8266WiFi.h>
const char* ssid = "*****";
const char* password = "*****";
const char* host = "*****";
void setup()
{
Serial.begin(115200);
Serial.println();
//Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
//Serial.print(".");
}
//Serial.println(" connected");
}
void loop()
{
WiFiClient client;
Serial.printf("\n[Connecting to %s ... ", host);
if (client.connect(host, 80))
{
//Serial.println("connected]");
//Serial.println("[Sending a request]");
client.print(String("GET /pacdata") + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n" +
"\r\n"
);
delay(1000);
//Serial.println("[Response:]");
while (client.connected() || client.available())
{
if (client.available())
{
String line = client.readStringUntil('\n');
Serial.println(line);
}
client.stop();
}
}
else
{
//Serial.println("connection failed!]");
client.stop();
}
delay(1000);
}
In questo modo però visualizzo questo:
[Connecting to 172.16.16.25 ... HTTP/1.1 200 OK
Content-Length: 314
Content-Type: text/pacdata
Connection: close
Accept-Ranges: none
{"1":NO ALARM,"2":NO ALARM,"3":29.63,"4":32.52,"5":233.35,"6":0.23,"7":0.81,"8":44.94,"9":0.00,"10":52.42,"11":50.04,"12":232.85,"13":0.20,"14":0.91,"15":43.96,"16":0.00,"17":45.88,"18":50.03,"19":0.98,"20":0.00,"21":45.55,"22":44.39,"23":1.17,"24":0.00,"25":0.00,"26":0.00,"27":0.05,"28":0.04,"29":0.00,"30":0.00}
Come posso fare a leggere solo i valori che mi interessano, cioè quelli dentro le graffe?
Grazie mille in anticipo.