Arduino Esp8266 Post datos al sitio Web (5 / 6 paso)

Paso 5: Enviar los datos

Primero necesita comprender los conceptos básicos del HTTP. El protocolo de transferencia de hipertexto (HTTP) está diseñado para permitir a las comunicaciones entre clientes y servidores.

HTTP es un protocolo de solicitud-respuesta entre un cliente y un servidor. Un navegador web puede ser el cliente, y una aplicación en un equipo que aloja un sitio web puede ser el servidor. Ejemplo: Un cliente (navegador) envía una solicitud HTTP al servidor; entonces el servidor devuelve una respuesta al cliente. La respuesta contiene información de estado acerca de la petición y también puede contener el contenido solicitado. En nuestro ejemplo el esp8266 es el cliente y el servidor que aloja nuestro sitio web es el servidor.

Para realizar una solicitud Post de HTTP tiene que ser en cierta forma:

POST /esppost.php HTTP/1.0

Host: serverconnect.site88.net

Aceptar: * / *

Content-Length: "name1 = value1 & nombre2 = valor2". Longitud

Content-Type: aplicación/x--www-form-urlencoded


NAME1 = value1 & nombre2 = valor2

Usted puede encontrar explicación más e informaciones en el Arduino esbozar a continuación. Después de cargar el Sketch, esperar unos segundos luego actualizar la Página Web.

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

Contraseña de la cadena = "SuContraseña";

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

Datos de la cadena;

Server String = "yourServer"; // www.example.com

Cadena uri = "yourURI"; / nuestro ejemplo es /esppost.php

int DHpin = 8; //sensor pin

bytes dat [5];

String temp, zumbido;

void setup() {}

pinMode (DHpin, salida);

ESP.Begin(9600);

Serial.Begin(9600);

RESET();

connectWifi();

}

restablecer el módulo de esp8266

{} void reset()

ESP.println("at+RST");

Delay(1000);

if(ESP.Find("OK")) Serial.println ("módulo de Reset");

}

conectar a tu red wifi

void connectWifi() {}

String cmd = "AT + CWJAP = \" "+ ssid"\\\"\\\" "+ clave +"\"";

ESP.println(CMD);

Delay(4000);

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

Serial.println("Connected!");

}

Else {}

connectWifi();

Serial.println ("no se puede conectar a Wi-Fi"); }

}

byte read_data () {}

datos del octeto;

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

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

mientras que (digitalRead (DHpin) == LOW); / / espere 50us

delayMicroseconds (30); / / determinar la duración del nivel alto para determinar los datos es ' 0 'o 1'

Si (digitalRead (DHpin) == HIGH)

datos | = (1 << (7-i)); / alta frente y baja en el post

mientras que (digitalRead (DHpin) == HIGH);

datos '1', espere para el siguiente receptor

}

} datos; }

void start_test () {}

digitalWrite (DHpin, bajo); / / bus hacia abajo, empezar a enviar señal

retardo (30); / retardo mayor de 18ms, por lo que puede detectarse la señal de arranque DHT11

digitalWrite (DHpin, alto);

delayMicroseconds (40); / / Esperar respuesta DHT11

pinMode (DHpin, entrada);

mientras que (digitalRead (DHpin) == HIGH);

delayMicroseconds (80);

DHT11 respuesta, tiró el autobús 80us

Si (digitalRead (DHpin) == LOW);

delayMicroseconds (80);

80us DHT11 después del autobús tiró a empezar a enviar datos

para (int i = 0; i < 4; i ++)

reciben la temperatura y los datos de humedad, el bit de paridad no se consideran

DAT [i] = read_data ();

pinMode (DHpin, salida);

digitalWrite (DHpin, alto);

enviar los datos una vez despues de soltar el autobús, esperar a que el host abrir la siguiente señal de inicio

}

void loop () {}

start_test ();

convertir los datos de pedacito en forma de cadena

Hum = String(dat[0]);

Temp = String(dat[2]);

datos = "temperatura =" + temp + "& humedad =" + zumbido; / datos enviados deben estar bajo esta forma //name1=value1 & nombre2 = valor2.

HttpPost();

Delay(1000);

}

httppost nula () {}

ESP.println ("AT + CIPSTART = \"TCP\", \" "+ servidor +"\",80"); //start una conexión TCP.

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

Serial.println ("conexión TCP lista");

} delay(1000);

PostRequest cadena =

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

"Host:" + servidor + "\r\n" +

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

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

"Content-Type: aplicación/x--www-form-urlencoded \r\n" +

"\r\n" + datos;

SendCmd de cadena = "AT + CIPSEND ="; //determine el número de caracteres a.

ESP.Print(sendCmd);

ESP.println(postRequest.length());

Delay(500);

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

Si (esp.find ("enviar OK")) {Serial.println ("paquete enviado");

mientras (esp.available()) {}

String tmpResp = esp.readString();

Serial.println(tmpResp);

}

cerrar la conexión

ESP.println("at+CIPCLOSE");

}

}}

Si todo ha ido bien debería ver un resultado similar a la imagen de arriba si no desconecte luego vuelva a conectar el Arduino y espere unos segundos.

Artículos Relacionados

PARTE 1 - Arduino envía datos a la Web (PHP / MySQL / D3.js)

PARTE 1 - Arduino envía datos a la Web (PHP / MySQL / D3.js)

El objetivo de este proyecto era uso y Arduino a un sensor de leer y enviar los valores a la internet, para ser almacenado en un servidor Web y muestra.Consiste en un Arduino Uno con un escudo de Ethernet y una temperatura de DHT 11 / sensor de humed
Mostrar datos en un sitio web - olla electrónica [Arduino Nano + Ethernet Shield]

Mostrar datos en un sitio web - olla electrónica [Arduino Nano + Ethernet Shield]

Siempre quise una planta en mi cuarto, que llenaría el espacio entre proyectos inacabados y caro, pero innecesario de componentes electrónicos. Así surgió la idea de una olla electrónica – The Arduino E-Pot – que se mide las necesidades básicas de la
¿Cómo leer los datos de temperatura en su sitio web?

¿Cómo leer los datos de temperatura en su sitio web?

Hoy, voy a mostrarle cómo leer datos de temperatura de humedad DHT11 y sensor de temperatura está conectado a Arduino UNO que utiliza shield ethernet para enviar datos de temperatura a su sitio web personal! Esto suena perfecto! Me deja medir el esta
Arduino dual ultrasonido líquido Medidor de nivel con sitio web integrado

Arduino dual ultrasonido líquido Medidor de nivel con sitio web integrado

este proyecto le permite monitorear el nivel de 2 contenedores llenada de líquido. Los niveles podrán ser mostrados en una página web. El ejemplo siguiente tiene un sensor conectado por cable y otro sensor conectado inalámbricamente por XBee.El sitio
Construir tu propio sitio web con dreamweaver

Construir tu propio sitio web con dreamweaver

por lo que previamente he escrito sobre esto antes, el viejo es digno de la lectura en primer lugar, contiene instrucciones en photoshop y dreamweaver que esto no, sin embargo falta mucho señala respecto a este.Estos días hay toneladas de servicios p
Creación de Bookhuddle.com, un sitio web para descubrir, organizar y compartir información del libro

Creación de Bookhuddle.com, un sitio web para descubrir, organizar y compartir información del libro

este post describe los pasos involucrados en la creación y puesta en marcha Bookhuddle.com, un sitio web dirigido a ayudar a los lectores descubrir, organizar y compartir información del libro.Los pasos descritos aquí se aplicarían al desarrollo de o
Cómo instalar y personalizar un sitio web de CMS Drupal / / http://www.collectiveresolve.org

Cómo instalar y personalizar un sitio web de CMS Drupal / / http://www.collectiveresolve.org

Resumen / / un estudio general o ResumenOpensource Drupal Content Management SystemVer algunos sitios web que utiliza Drupal CMS.Probar una demo instalación del CMS Drupal con acceso de administrador.CollectiveResolve utiliza Drupal Content Managemen
Sitio web de consulta médica

Sitio web de consulta médica

Hola, mi nombre es Carlos NatividadTengo una licenciatura en Ciencias de la computación y maestría en administración de empresas.He trabajado con streaming de vídeo en tiempo real para la prueba de misiles y basada en la web de programación durante l
Temperatura en tiempo real en su sitio web (sin javascript o codificación de lado del servidor)

Temperatura en tiempo real en su sitio web (sin javascript o codificación de lado del servidor)

Cómo empujar datos en tiempo real de alta resolución del sensor de temperatura basado en Arduino a tu página web sin ningún servidor de codificación es.Arduino es un gran dispositivo para recoger, almacenar y transferir datos de varios sensores pero
Sitio web (HTML y CSS)

Sitio web (HTML y CSS)

Hola a todos en instructables :)Recientemente he estado intentando hacer que algunos sitios web y host en línea simplemente ver cómo el HTML y CSS he aprendido elaborado por lo que podría hacer un completo sitio web derecho que ofrece y la revisión d
Cómo hacer un sitio web de WordPress con Hostinger

Cómo hacer un sitio web de WordPress con Hostinger

¿Querido hospedar un sitio web sin utilizar el *. dominio wordpress.com? Bueno, te voy a mostrar cómo hacerlo con Hostinger Reino Unido, que tiene algunos subdominios frescos.Paso 1: Descargar WordPress!Wordpress.org y haga clic en el botón azul gran
Sensor de temperatura inalámbrico simple actualización de sitio web con electric imp y termistor

Sensor de temperatura inalámbrico simple actualización de sitio web con electric imp y termistor

[Edición 2014] El planificador que fue utilizado por Imp eléctrico ya no es usado y no está disponible ya. [/Edit]Este es un pequeño proyecto para empezar con la eléctrica imp y un termistor para que pueda ver cómo puede obtener las lecturas de tempe
¿Cómo evitar ser aburrido online - TV en vivo, Webcams, juegos, sitios web y más

¿Cómo evitar ser aburrido online - TV en vivo, Webcams, juegos, sitios web y más

vencer al jefe final en el extremo de internet ya (muchacho, no dura!) y necesitan algo que hacer? ¿Quieres algunas ideas y actividades en línea frescas para disfrutar? Bien, has venido a la derecha Instructable! Muchos de nosotros son encerrados en
Uso de Internet del sitio web de cosas de la (escuela)

Uso de Internet del sitio web de cosas de la (escuela)

¡ Hola!Por lo tanto, usted ha configurado su estación meteorológica, Sensor de suelo y RobotTug fuerza-o-meter, y estás listo para comenzar a explorar sus datos o la creación de experimentos. Vamos a llevarte a través de nuestro Internet de sitio web