Arduino Esp8266 Post-gegevens naar Website (5 / 6 stap)

Stap 5: Verzenden van de gegevens


Eerst moet u de basisbeginselen van een HTTP. Het Hypertext Transfer Protocol (HTTP) is bedoeld om de communicatie tussen clients en servers.

HTTP werkt als een verzoek-antwoordprotocol tussen een client en de server. Een webbrowser kan worden op de client kan, en een toepassing op een computer die als host optreedt van een website de server. Voorbeeld: Een client (browser) verzendt een HTTP-aanvraag naar de server; de server stuurt een antwoord naar de client. De reactie bevat statusinformatie over het verzoek en kan ook de aangevraagde inhoud bevatten. Op ons voorbeeld de esp8266 is de client en de server die als host onze website fungeert is de server.

Dus het uitvoeren van een HTTP Post-aanvraag moet onder een bepaalde vorm:

POST /esppost.php HTTP/1.0

Gastheer: serverconnect.site88.net

Accepteren: * / *

Content-Length: "naam1 = waarde1 & naam2 = waarde2". Lengte

Content-Type: application/x-1-800-www-Dell-vorm-urlencoded


naam1 = waarde1 & naam2 = waarde2

U vindt meer uitleg en informatie in de Arduino schets hieronder. Na het uploaden van de schets, wacht een paar seconden dan u webpagina te vernieuwen.

#include "SoftwareSerial.h"
String ssid = "yourSSID";

String password = "jewachtwoord";

SoftwareSerial esp (L6, L7); / / RX, TX

Tekenreeksgegevens;

Server string = "uw server"; // www.example.com

String van de uri = "yourURI"; / / ons voorbeeld is /esppost.php

int DHpin = 8; //sensor pin

byte dat [5];

String temp, hum;

VOID Setup {}

pinMode (DHpin, uitvoer);

ESP.begin(9600);

Serial.begin(9600);

Reset();

connectWifi();

}

Reset de esp8266 module

VOID reset() {}

ESP.println("at+RST");

delay(1000);

if(ESP.Find("OK")) Serial.println ("Module Reset");

}

verbinden met uw wifi-netwerk

ongeldig connectWifi() {}

String van cmd = "AT + CWJAP = \" "+ ssid + '\', \" "wachtwoord +"\"";

ESP.println(cmd);

delay(4000);

if(ESP.Find("OK")) {}

Serial.println("Connected!");

}

else {}

connectWifi();

Serial.println Cannot ("connect to wifi"); }

}

byte read_data () {}

bytegegevens;

for (int i = 0; ik < 8; ik ++) {}

Als (digitalRead (DHpin) == LOW) {}

terwijl (digitalRead (DHpin) == laag); / / wachten op 50us

delayMicroseconds (30); / / bepalen de duur van het hoge niveau te bepalen van de gegevens is ingesteld op ' 0 'of ' 1'

Als (digitalRead (DHpin) == HIGH)

gegevens | = (1 << (7-i)); / / hoge voorzijde en laag in de post

terwijl (digitalRead (DHpin) == HIGH);

gegevens '1', wachten voor de volgende ontvanger

}

} gegevens; }

VOID start_test () {}

digitalWrite (DHpin, laag); / / bus naar beneden, verzenden start signaal

vertraging (30); / / vertraging groter is dan 18ms, zodat DHT11 startschot kan worden opgespoord

digitalWrite (DHpin, hoge);

delayMicroseconds (40); / / Wacht DHT11 reactie

pinMode (DHpin, INPUT);

terwijl (digitalRead (DHpin) == HIGH);

delayMicroseconds (80);

DHT11 reactie, trok de bus 80us

Als (digitalRead (DHpin) == laag);

delayMicroseconds (80);

DHT11 80us na de bus getrokken om te beginnen met het verzenden van gegevens

for (int i = 0; ik < 4; ik ++)

Ontvangen van temperatuur en vochtigheid gegevens, het pariteitsbit wordt niet beschouwd als

dat [i] = read_data ();

pinMode (DHpin, uitvoer);

digitalWrite (DHpin, hoge);

gegevens verzenden eenmaal na het loslaten van de bus, wachten op de host te openen het volgende startschot

}

void loop () {}

start_test ();

de bits-gegevens naar de vorm van een tekenreeks converteren

Hum = String(dat[0]);

Temp = String(dat[2]);

gegevens = "temperatuur =" + temp + "& vochtigheid =" + hum; / / gegevens die worden verzonden moet onder deze vorm //name1=value1 & naam2 = waarde2.

httppost();

delay(1000);

}

VOID httppost () {}

ESP.println ("AT + CIPSTART = \"TCP\", \" "server +"\",80"); //start een TCP connectie.

Als (esp.find("OK")) {}

Serial.println ("TCP connectie klaar");

} delay(1000);

String postRequest =

"HTTP/1.0\r\n", "POST" + uri +

"Host:" server + "\r\n" +

"Accepteren: *" + "/" + "* \r\n" +

"Content-Length:" + data.length() + "\r\n" +

"Content-Type: application/x-1-800-www-Dell-vorm-urlencoded \r\n" +

"\r\n" + gegevens;

SendCmd koord = "AT + CIPSEND ="; //determine het aantal tekens moet worden verzonden.

ESP.Print(sendCmd);

ESP.println(postRequest.length());

delay(500);

Als (esp.find(">")) {Serial.println("Sending.."); esp.print(postRequest);

Als (esp.find ("verzenden OK")) {Serial.println ("Packet verzonden");

terwijl (esp.available()) {}

TmpResp koord = esp.readString();

Serial.println(tmpResp);

}

de verbinding sluiten

ESP.println("at+CIPCLOSE");

}

}}

Als alles goed is gegaan je moet een resultaat vergelijkbaar met de bovenstaande afbeelding ziet zo niet haal replug je Arduino en wacht een paar seconden.

Gerelateerde Artikelen

DEEL 1 - Arduino verzenden gegevens naar het Web (PHP / MySQL / D3.js)

DEEL 1 - Arduino verzenden gegevens naar het Web (PHP / MySQL / D3.js)

Het doel van dit project was te gebruiken en Arduino lezen van een sensor en verzenden van de waarden op het internet, te worden opgeslagen op een webserver en weergegeven.Het bestaat uit een Arduino Uno met een Ethernet-schild en een DHT 11 temperat
Live-gegevens naar excel van een Arduino lichtsensor

Live-gegevens naar excel van een Arduino lichtsensor

Ik begon dit kleine project de andere dag toen ik zag dat Instructables had gepost een competitie voor het gebruik van sensoren, maar haar draaien te zijn een beetje interessanter.Mijn oorspronkelijke idee was om een eenvoudig project (voorbeelden in
Arduino gegevens naar een webpagina ophalen

Arduino gegevens naar een webpagina ophalen

Het nieuwe aan Arduino was ik een beetje overweldigd door de verschillende manieren om dingen te doen. Dus dit wat ik kwam is met!Ik ben met behulp van een Arduino UNO R3 kloon maar de verbindingen die ik denk zijn het zelfde voor de meeste Arduino o
DIY wereld klok en weer bot (Arduino + ESP8266)

DIY wereld klok en weer bot (Arduino + ESP8266)

Halloin deze instuctable leert u hoe te maken van de wereld klok weer bot met behulp van Arduino Mega en ESP8266 (AT-modus).Kenmerken:• persoonlijke bot met LCD-scherm als mond, potentiometer (potmeter) als neus en groene LEDs als ogen• kiezen stad/l
Arduino ESP8266 Modbus TCP IP-Scada industriële Opto22

Arduino ESP8266 Modbus TCP IP-Scada industriële Opto22

Heeft de integratie van Arduino ESP8266 + Software Opto22, uitvoering van haar milieu scada dwars door IP en Modbus TCP Modbus RTU, het idee is om de uitvoering van deze hardware in de industrie voor zowel monitoring en controle.Meer informatie over
DVD naar de Convertor van de flits, de DVD-film converteren naar Flash, DVD naar website insluiten

DVD naar de Convertor van de flits, de DVD-film converteren naar Flash, DVD naar website insluiten

Doremisoft DVD aan Convertor van de flits biedt een snelle en gemakkelijke manier aan batch converteren van uw DVD-films naar Flash en afzonderlijk een titel of hoofdstuk van DVD video clips naar Flash FLV/SWF converteren op Windows, inclusief Window
IoT Workshop: Lab 4 - verzenden van gegevens naar de wolk

IoT Workshop: Lab 4 - verzenden van gegevens naar de wolk

In dit lab zal u bouwen van een eenvoudige ambient licht detectie app (vergelijkbaar met Lab 2) en verzendt de gegevens die naar de wolk wordt verzameld. U zal het gebruik van stikstof om gegevens te verzenden naar een cloud-gateway en zult u kunnen
PcDuino als netwerk apparaat te voeden van gegevens naar Xively (Internet van dingen)

PcDuino als netwerk apparaat te voeden van gegevens naar Xively (Internet van dingen)

Xively (voorheen Cosm en vóór dat Pachube (uitgesproken Patch-bay)) is een dienst van de online database waarmee ontwikkelaars sensor afkomstige gegevens (bijvoorbeeld energie- en milieubeleid van objecten, apparaten & gebouwen) verbinden met het Web
InPace - een Arduino gebaseerde GPS gegevens vastleggen van fitness armband met bluetooth en een iOS-app

InPace - een Arduino gebaseerde GPS gegevens vastleggen van fitness armband met bluetooth en een iOS-app

InPace is een Arduino gebaseerde fitness armband, met een begeleidende iOS applicatie, die live kan feedback over hoe de gebruiker pacing zelf tijdens een run, lopen of fietsen route. Zij sporen GPS-locaties en huidige tijden de huidige prestaties va
Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

Op afstand gecontroleerde Multifunction scorebord op basis van Arduino, ESP8266 en uPanel firmware: interface ontwikkeling

De oplossing hier gebruikt om op afstand controle Arduino door middel van ofwel smartphoneof tablet in plaats van drukknoppen, displays, etc. geldt voor vele projecten waarin de microcontroller worden gecontroleerd op afstand, moet dus de toepassing
E-paper Display met Arduino/ESP8266

E-paper Display met Arduino/ESP8266

Hola inventores hoy voy een mostrarles como utilizar una pantalla de tinta electrónica con un Arduino o un ESP8266 via seriële de una manera muy sencilla.Las pantallas de tinta electrónica es como las que pueden encontrar nl dispositivos como el de A
Arduino RC Circuit: PWM naar analoge DC

Arduino RC Circuit: PWM naar analoge DC

Arduino is een platform dat kan worden gebruikt voor het ontwikkelen van interactieve objecten. Voor dit project zullen we gebruiken het de Arduino Mega 2560. Het heeft 54 digitale i/o-pinnen, waarvan 15 kan worden gebruikt als puls breedte modulatie
Arduino-pulsbreedte modulatie digitaal naar analoog conversie

Arduino-pulsbreedte modulatie digitaal naar analoog conversie

Hier zullen we bespreken de werking van pols-breedte-modulatie naar DC conversie en gebruik het idee voor de bouw van een variabele Arduino gebaseerd DC voeding.Stap 1: Fig. 1 illustreert met behulp van een LM358 in combinatie met een low-passfilter
Gegevens naar of vanuit Excel: SPSS (4.8)

Gegevens naar of vanuit Excel: SPSS (4.8)

PASW Statistics kan worden gebruikt voor het analyseren van gegevens in een Microsoft Excel-werkblad. PASW Statistics biedt de mogelijkheid om een Excel-spreadsheet rechtstreeks in het venster Editor tabeldata importeren en automatisch variabelen op