Arduino Esp8266 post-data till hemsida (5 / 6 steg)

Steg 5: Skicka data



Först måste du förstå grunderna i en HTTP. Hypertext Transfer Protocol (HTTP) är utformad så att kommunikation mellan klienter och servrar.

HTTP fungerar som en begäran-svar-protokoll mellan en klient och server. En webbläsare kan vara klienten, och ett program på en dator som är värd för en webbplats kan vara servern. Exempel: En klient (webbläsare) skickar en HTTP-begäran till servern. servern returnerar sedan ett svar till klienten. Svaret innehåller statusinformation om begäran och kan även innehålla det begärda innehållet. På vårt exempel är esp8266 klienten och servern som är värd för vår webbplats är servern.

Så utför en HTTP Post-begäran måste vara under en viss form:

POST /esppost.php HTTP/1.0

Värd: serverconnect.site88.net

Accepterar: * / *

Content-Length: "namn1 = värde1 & name2 = värde2". Längd

Content-Type: application/x-www-formuläret-urlencoded


namn1 = värde1 & name2 = värde2

Du kan hitta mer explaination och informationer i Arduino skiss nedan. Efter uppladdning skissen, vänta några sekunder och sedan uppdaterar du webbsida.

#include "SoftwareSerial.h"
Sträng ssid = "yourSSID";

Sträng lösenord = "yourPassword";

SoftwareSerial esp (6, 7); / / RX, TX

Strängdata;

Sträng server = "dinserver"; // www.example.com

Sträng uri = "yourURI"; / / vårt exempel är /esppost.php

int DHpin = 8; //sensor stift

byte dat [5].

Sträng temp, hum;

void setup() {

pinMode (DHpin, OUTPUT);

ESP.BEGIN(9600);

Serial.BEGIN(9600);

Reset();

connectWifi();

}

återställa modulen esp8266

void reset() {

ESP.println("at+rst");

Delay(1000);

IF(ESP.find("OK")) Serial.println ("modul Reset");

}

ansluta till ditt wifi-nätverk

void connectWifi() {

Sträng cmd = "AT + CWJAP = \" "+ ssid +"\", \" "+ lösenord +"\"";

ESP.println(CMD);

Delay(4000);

IF(ESP.find("OK")) {

Serial.println("Connected!");

}

annat {

connectWifi();

Serial.println ("kan inte ansluta till wifi"); }

}

byte read_data () {

byte data.

för (int jag = 0; jag < 8; i ++) {

om (digitalRead (DHpin) == låg) {

medan (digitalRead (DHpin) == låg); / / vänta på 50us

delayMicroseconds (30); / / fastställa varaktigheten av den höga uppgifter som är "0"eller "1"

om (digitalRead (DHpin) == hög)

data | = (1 << (7-i)); / / hög front och låg i inlägget

medan (digitalRead (DHpin) == hög);

data '1', vänta på nästa mottagaren

}

} returnera data; }

void start_test () {

digitalWrite (DHpin, låg); / / buss ner, skicka start signal

fördröjning (30); / / fördröjning större än 18ms, så DHT11 start signal kan upptäckas

digitalWrite (DHpin, hög);

delayMicroseconds (40); / / Vänta på DHT11 svar

pinMode (DHpin, indata);

medan (digitalRead (DHpin) == hög);

delayMicroseconds (80).

DHT11 svar, drog buss 80us

om (digitalRead (DHpin) == låg);

delayMicroseconds (80).

DHT11 80us efter bussen drog till börja skicka data

för (int jag = 0; jag < 4; i ++)

ta emot temperatur och luftfuktighetsdata, paritetsbiten anses inte

dat [i] = read_data ();

pinMode (DHpin, OUTPUT);

digitalWrite (DHpin, hög);

Skicka data en gång efter att bussen, vänta på att värden ska öppna nästa Start signal

}

Ogiltig loop () {

start_test ();

konvertera bitarsdata till sträng form

hum = String(dat[0]);

Temp = String(dat[2]);

data = "temperatur =" + temp + "& luftfuktighet =" + hum; / / data som skickas måste vara under denna form //name1=value1 & name2 = värde2.

httppost();

Delay(1000);

}

void httppost () {

ESP.println ("AT + CIPSTART = \"TCP\", \" "+ server +"\",80"); //start en TCP-anslutning.

om (esp.find("OK")) {

Serial.println ("TCP connection redo");

} delay(1000);

String postRequest =

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

"Värd:" + server + "\r\n" +

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

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

"Content-Type: application/x-www-formuläret-urlencoded \r\n" +

"\r\n" + data;

String sendCmd = "AT + CIPSEND ="; //determine antalet caracters skickas.

ESP.Print(sendCmd);

ESP.println(postRequest.length());

Delay(500);

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

om (esp.find ("Skicka OK")) {Serial.println ("paket som skickas");

samtidigt (esp.available()) {

String tmpResp = esp.readString();

Serial.println(tmpResp);

}

stänga anslutningen

ESP.println("at+CIPCLOSE");

}

}}

Om allt gick bra du bör se ett resultat som liknar bilden ovan om inte koppla ur sedan sätta tillbaka din Arduino och vänta några sekunder.

Se Steg
Relaterade Ämnen

Live data till excel från en Arduino ljussensor

Jag började denna lilla projekt häromdagen när jag såg att Instructables hade postat en konkurrens för användning av sensorer, men dess visat sig vara lite mer intressant.Min ursprungliga idé var att ta ett mycket enkelt projekt (exempel i en eller a...

Att få Arduino data till en webbsida

Ny till Arduino var jag lite överväldigad av olika sätt att göra saker. Så detta är vad jag kom med!Jag använder en Arduino UNO R3 klon men de anslutningar som jag tror är desamma för de flesta Arduino eller kan lätt ändras för din specifika modell....

Låg kostnad WIFI temperatur (DS18B20) datalogger baserad på ESP8266 med anslutning till thingspeak.com

Datalogger för temperatur baserat på ESP8266 och DS18B20 1-tråds temperaturgivare.På bara $5 ESP-01 styrelsen och DS18B20 sensor.Mjukvaran är skriven i LUA språk och körs direkt i ESP8266.Inga andra MCU!Steg 1: Del förteckning ESP-01 styrelsen - eBay...

Intellekten Edison: Ambient Sensor (data till molnet)

Jag var en av de stolta vinnarna att få i Intel IoT development kit. Detta kit ingår en Intel Edison och en Grove Starter Kit Plus.I detta instructables, kommer jag bygga en enkel ambient sensor som kommer att ladda upp data till molnet. Den omgivand...

DIY världen klocka och väder bot (Arduino + ESP8266)

Heji denna instuctable kommer du lära dig hur man gör världen klocka väder bot använda Arduino Mega och ESP8266 (på-läge).Funktioner:• personlig bot med LCD-skärm som mun, potentiometer som näsa och gröna lysdioderna som ögon• att välja ville stad/la...

Arduino ESP8266 Modbus TCP IP Scada industriella Opto22

Har gjort en integration av Arduino + ESP8266 + programvara Opto22, genomföra dess miljö scada rakt igenom IP och Modbus TCP Modbus RTU, tanken är att genomföra denna hårdvara i branschen för övervakning och kontroll.Mer information om detta projekt:...

IoT Workshop: Lab 4 - skicka Data till molnet

I den här övningen kommer du bygga en enkel omgivande ljus upptäckt app (liknar Lab 2) och skicka data som samlas till molnet. Du kommer att använda kväve för att skicka data till en cloud gateway och du kommer att kunna kontrollera den messaging fun...

InPace - en Arduino baserad GPS-data logga fitness armband med bluetooth och en iOS app

InPace är en Arduino baserat fitness armband, med åtföljande iOS ansökan, som kan ge levande feedback på hur användaren pacing sig under en springa, gå eller cykla rutten. Det spår GPS lokaliseringarna och aktuella tider att jämföra användare nuvaran...

Hur du ansluter din Arduino WiFi sköld till ett anpassat iOS/Android program utvecklat i HTML5/JavaScript.

Detta instructable visar du hur till bygga en mobil applikation som kommunicerar med din WiFi sköld, i detta exempel kommer vi att skapa ett program som kan förvandla en LED på/av ansluten till din Arduino. Den mobila applikationen kommer att utveckl...

Raspberry webbserver skickar GET data till Arduino Nano kör 6 servon

http://www.youtube.com/watch?v=f7oSqLO9iJoDetta är ett litet projekt jag gjorde för en kollega som bygger en 1/48 skala RC modell av en Fletcher-klass jagare (Japp... det gör "modellen" ca 8 fot lång!) Han frågade om jag kunde animera 5 x MKIII...

Intellekten Edison IoT_Read trycksensor och logga data till SD-kortet

Hej, ska idag jag visa dig hur du loggar sensordata i SD-kortet för djupare utveckling. Förra gången, har jag guida dig att läsa trycksensor, nu kommer vi att logga dessa tryck sensordata. Så du bör kassan min sista instructable för mer i detalj hur...

Lektion 4: Grundläggande Arduino Pt. 2: Introduktion till kodning

Välkommen tillbaka, ivriga elever. För de nya till denna serie, se mitt tidigare lektioner i grundläggande elektroteknik. För de inte nya, förbereda sig för att ange en värld av kodning, där du kan ändra hur din krets fungerar via en dator. Detta är...

ESP8266 Direkt anslutning till Google Spreadsheets (Google Docs)

I följande steg för steg video tutorial förklarar anslutningen av ESP8266 med skript och google Google Spreadsheets.HTTPSRedirect Bibliotek vi använde bibliotek HTTPSRedirect skapad av Sujay Phadke (electronicsguy) Tack för deras bidrag till samhälle...

E-papper uppvisning med Arduino/ESP8266

Hola inventores hoy voy en mostrarles como utilizar una pantalla de tinta electrónica con un Arduino o FN ESP8266 via seriell de una manera muy sencilla.Las pantallas de tinta electrónica es como las que pueden encontrar sv dispositivos como el Kindl...

Använda Arduino med TIP120 transistor till kontroll motorer och hög effekt enheter

Hej igen.Så du har en DC-motor eller lampa men oavsett hur du ansluter dem till din Arduino de bara fungerar inte? Gissa vad, Arduino är en hjärna som kommer med små muskler. Det kan styra lysdioder och andra låg effekt nicknacks men inte dessa power...

Hur du ansluter din Arduino BLE sköld till ett anpassat program som iOS/Android framkallade i HTML5 och JavaScript.

Detta instructable visar dig hur man bygger en mobil applikation som kommunicerar med din Bluetooth låg energi (BLE) sköld. I denna tutorial jag har använt en BLE sköld från RedBearLab, men detta exempel bör vara lätt att bygga om för att fungera med...

Fjärrstyrd Multifunktion resultattavlan bygger på Arduino, ESP8266 och uPanel firmware: gränssnitt utveckling

Den lösning som används här fjärrstyra Arduino med hjälp av antingen smartphoneeller Tablet PC i stället för tryckknappar, skärmar, etc. är tillämplig på många projekt där mikrokontroller måste fjärrstyras, så programmet till Multifunktion resultatta...

Arduino RC krets: PWM till analoga DC

Arduino är en plattform som kan användas för att utveckla interaktiva objekt. För detta projekt kommer vi att använda den Arduino Mega 2560. Den har 54 digital input/output pins, varav 15 kan användas som puls bredd modulering (PWM) utgångar.PWM kan...

Arduino nyckelring kamera ändra till rörelse upptäcka kamera

Aktivera videokameran nyckelring i rörelse upptäcka kamera.När rörelse upptäcks av HC SR501 PIR-sensor, kamera aktivera, ta en bild och stänga av, väntar på nästa rörelse.Steg 1: ledningar Ledningar är mycket enkel.Efter att tas bort, klipp av batter...