Szóval:
Akkor fut nálad ez a szerver
https://onedrive.live.com/view.aspx?cid ... c72a%2F%29
Kliensnek teljesen megfelel ez
https://github.com/esp8266/Arduino/blob ... Client.ino
Kód: Egész kijelölése
const char* host = "data.sparkfun.com";
const char* streamId = "....................";
const char* privateKey = "....................";
itt a host helyére kell írnod a szerver IP címét
két másik pedig a két paraméter
Ezzel el is küldted az adatot a szervernek.
Mivel "/input/streamId" oldal van megadva
Kód: Egész kijelölése
// We now create a URI for the request
String url = "/input/";
url += streamId;
url += "?private_key=";
url += privateKey;
url += "&value=";
url += value;
így a szerver részen a hibás oldalrész veszi át és értelmezi mivel ott nincs ilyen oldal.
és küldi feldolgozásra
Kód: Egész kijelölése
void handleNotFound() {
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET) ? "GET" : "POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i = 0; i < server.args(); i++) {
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", "Szerver válasza");
Serial.println(message);
}
A te kódodban még nem szerepel az eljárás végén a Serial.println(message); így nem látod hogy mit kapott a szerver, de fölötte egy sorral az van hogy visszaküldi a kliensnek az egész fogadott adathalmazt 404 es hibával együtt.
Persze jogos a kérdés miért hagytam ki a printet.
hát balgaságból.
Aztán ha ez megvan akkor adhatsz meg saját oldalt
Kliensből meghívjuk mondjuk a teszt oldalt két paraméterrel
Kód: Egész kijelölése
// We now create a URI for the request
String url = "/teszt?";
url += "abcd=";
url += streamId;
url += "&private_key=";
url += privateKey;
Szerverbe pedig beszurjuk a fogadó részt
Kód: Egész kijelölése
server.on("/teszt", []() {
Serial.println("teszt oldal lett hivva");
});
Ide betesszük az adatfeldogozó részt aztán.
TCP GET küldés forma. 192.168.2.1/oldal?paraméter1=1¶méter2=2 és így tovább
Ami aztán így néz ki. Nem csak az adatot küldjük hanem a fejlécet is amiben mindenféle hasznos infó van a szervernek, és a kliensnek.
Kód: Egész kijelölése
client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");
pld kapcsolat bontása vagy tartása, itt állítjuk be hogy ékezetes betűk is átmenjenek.
https://en.wikipedia.org/wiki/List_of_H ... der_fields
itt vannak a lehetőségek. bár erre még nem lesz szükség egyenlőre.