Smart termómetro Personal con Arduino (2 / 3 paso)

Paso 2: Poner el código en

El código que ves hace lo siguiente:

-Se conecta a una red WiFi
-Obtiene una dirección IP
-Connect sobre TCP a un servidor (como cliente)
-Configurar un servidor TCP de los nuestros.
-Leer y mostrar la temperatura de su sensor.
-Leer y mostrar la hora actual.
-Empuje la temperatura en el servidor.
-Mostrar la dirección IP del servidor.

Poner el siguiente código en el IDE, compilar y subir a tu arduino.

! = ESP8266_MODE_STA) {/ / si no es en modo de estación. / / utilizar esp8266.setMode([mode]) para establecer en un especificado / / modo retVal = esp8266.setMode(ESP8266_MODE_STA); if (retVal < 0) {Serial.println (F) ("Error configuración modo."); errorLoop(retVal);}} Serial.println (F ("modo de estación")); < /p >< p > / / esp8266.status() indica WiFi de la ESP8266 conectar / / estado. Un valor devuelto de 1 indica que el dispositivo ya está / / conectado. 0 indica desconectado. (Valores negativos / / equivale a errores de comunicación.) retVal = esp8266.status(); Si (retVal < = 0) {Serial.print (F ("conectando al")); Serial.println(mySSID); esp8266.Connect ([ssid], [psk]) conecta la ESP8266 / / a una red. Éxito la conexión la función devuelve un valor > 0 / / FAIL, la función volverá cualquiera: / / -1: TIMEOUT - la biblioteca tiene un tiempo de espera de sistema 30s / / -3: falla - no podía conectar a la red. retVal = esp8266.connect (mySSID, myPSK); Si (retVal < 0) {Serial.println (F ("Error de conexión")); errorLoop(retVal);}} } < /p >< p > void displayConnectInfo() {char connectedSSID [24]; memset (connectedSSID, 0, 24); / / esp8266.getAP() puede utilizarse para comprobar qué AP el / ESP8266 está conectado a. Devuelve un código de error. El AP conectado se devuelve por referencia como parámetro. int retVal = esp8266.getAP(connectedSSID); Si (retVal > 0) {Serial.print (F ("conectado a:")); Serial.println(connectedSSID); } < /p >< p > / / esp8266.localIP devuelve una variable de la dirección IP con la / / ESP8266 de la actual dirección IP local. Dirección IP myIP = esp8266.localIP(); Serial.Print (F ("mi IP:")); Serial.println(myIP); } < /p >< p > void clientDemo() {/ / para utilizar el ESP8266 como un cliente TCP, utilice el / / ESP8266Client clase. En primer lugar, crear un objeto: ESP8266Client cliente; < /p >< p > / ESP8266Client Connect ([server], [puerto]) se utiliza para / / conectarse a un servidor (const char * o dirección IP) en / / a especificado puerto. Devoluciones: 1 éxito, 2 ya conectado, / / negativo FAIL (-1 = tiempo de espera, -3 = error). int retVal = client.connect (destServer, 80); Si (retVal < = 0) {Serial.println (F ("no pudo conectarse al servidor.")); vuelta;} < /p >< p > / / impresión y escritura pueden usarse para enviar datos a un conectado / / conexión de cliente. Client.Print(HttpRequest); < /p >< p > / / available() devuelve el número de caracteres / / actualmente en el búfer de recepción. mientras que (client.available()) Serial.write(client.read()); Read() obtiene el char de FIFO / connected() es un valor devuelto booleano - 1 si la / / conexión está activa, 0 si está cerrada. Si (client.connected()) client.stop(); STOP() se cierra una conexión TCP. } < /p >< p > void serverSetup() {/ / comenzar Inicializa un ESP8266Server objeto. Lo hará / / inicie un servidor en el puerto especificado en el objeto / / constructor (en área global) server.begin(); Serial.Print (F ("el servidor iniciado! Ir a ")); Serial.println(esp8266.localIP()); Serial.println(); } < /p >< p > void serverDemo() {/ / available() es una función de ESP8266Server que / / devolver un objeto ESP8266Client para la impresión y lectura. / available() tiene un parámetro, un valor de tiempo de espera. Este / / es el número de milisegundos la función espera, / / comprobación de una conexión. Cliente ESP8266Client = server.available(500); Si (cliente) {Serial.println (F ("cliente conectado!")); / / una petición http termina con una línea en blanco boolean currentLineIsBlank = true; mientras que (client.connected()) {si (client.available()) {char c = client.read(); / / si se ha llegado al final de la línea (recibió una nueva línea / / carácter) y la línea está en blanco, ha terminado la solicitud http, / / así que usted puede enviar una respuesta si (c == '\n' & & currentLineIsBlank) {Serial.println (F ("página de envío de HTML")); / / enviar un encabezado de respuesta http estándar : client.print(htmlHeader); HtmlBody de cadena; el valor de cada pin de entrada analógica para (int a = 0; < 1; a ++) {htmlBody += "A"; htmlBody += String(a); htmlBody += ":"; htmlBody += String(Thermister(analogRead(a))); < /p >< p > //htmlBody += Serial.println(temp); htmlBody += "< br > \n"; } htmlBody += "< /p >< p > \n"; Client.Print(htmlBody); rotura; } Si (c == '\n') {/ / vas a empezar un nuevo currentLineIsBlank de línea = true;} else if (c! = '\r') {/ / he conseguido un carácter en la actual línea currentLineIsBlank = false;}} } / / dar el tiempo de navegador web para recibir el delay(1) de datos; cerrar la conexión: client.stop(); Serial.println (F ("cliente desconectado")); }} < /p >< p > / / errorLoop imprime un código de error y los lazos para siempre. void errorLoop (int error) {Serial.print (F ("Error:")); Serial.println(error); Serial.println (F ("bucle para siempre.")); para (;);} < /p >< p > / / serialTrigger imprime un mensaje y espera a que algo / / venir del puerto serial. void serialTrigger(String message) {Serial.println(); Serial.println(Message); Serial.println(); mientras (!. Serial.Available()); mientras que (Serial.available()) Serial.read(); } < /p >			

          

Artículos Relacionados

Creación de un termómetro digital con Arduino

Creación de un termómetro digital con Arduino

¿imaginaste alguna vez que hace su propio termómetro digital? Con el desarrollo de la tecnología cada vez más sofisticado, que nada es imposible.Esta vez el proyecto es crear su propio termómetro digital con Arduino. Que debe ser aprendido en este tu
Termómetro digital con Arduino

Termómetro digital con Arduino

Este proyecto utiliza un Arduino, un sensor de temperatura DS18B20 y una pantalla de LCD de 16 x 2 para mostrar la temperatura actual del aire. Se puede hacer con o sin un protoboard, pero un protoboard es mucho más fácil de alambre.Muestra la temper
Termómetro Digital con Arduino Powered

Termómetro Digital con Arduino Powered

este es un dispositivo de medición de temperatura digital con la Arduino UNO R3. Es bastante simple y algo muy práctico para ser capaces de hacer. Un proyecto adecuado para aprender sobre pantallas de cristal líquido (LCDs) interactuando con un Ardui
Creación de un termómetro digital con Edison de Intel

Creación de un termómetro digital con Edison de Intel

En primer lugar me gustaría agradecer a Instructables y Intel por darme edison de Intel con el kit. Este Instructable es sobre la creación de termómetro digital (con intel edison). Termómetro digital es bastante simple y se puede hacer por todo el mu
Coche Termómetro Digital con brújula y

Coche Termómetro Digital con brújula y

no soy muy bueno encontrando lugares y dirección, pero al menos soy capaz de leer mapas y brújula. Hoy en día, sistemas de navegación GPS son cada vez más populares, probablemente que algunos dicen por qué necesito una brújula. Bueno, primero, me gus
PICAXE en base termómetro digital con Max y Min

PICAXE en base termómetro digital con Max y Min

(por favor deje un mensaje, pero no seas demasiado crítico, este es mi primer instructable!!)Este es un termómetro que hice para que nuestra autocaravana, para mostrar la temperatura exterior. Se basa en un chip Picaxe ya que son baratos y fáciles de
Voltímetro digital con arduino

Voltímetro digital con arduino

Voltímetro se utiliza para medir voltaje en el circuito, voltímetro analógico tiene 5% de error, muestra el valor aproximado, donde el voltímetro digital da un valor exacto del voltaje en circuito. Voltaje se mide utilizando la divisor de tensión cir
Cómo utilizar la pantalla LCD con arduino tutorial

Cómo utilizar la pantalla LCD con arduino tutorial

Hola todos espero que bien :)Hoy yo soy va a enseñarle a utilizar un LCD display con Arduino (sólo un mensaje de mundo infierno).Si eres un principiante o nunca jugaste con pantalla de LCD con Arduino antes, este instructable definitivamente para ust
Termómetro Arduino Digital (con DS18B20)

Termómetro Arduino Digital (con DS18B20)

Hola,Hoy voy a mostrar cómo hacer su propio termómetro digital con sensor de temperatura DS18B20 y arduino uno.Este termómetro puede medir temperaturas de-55 ° C a + 125 ° C (-67 ° F +257 ° f). Hay botones, uno para encender/apagar luz de pantalla y
Arduino Nano: Con DS1820/DS18S20 Maxim un termómetro Sensor módulo

Arduino Nano: Con DS1820/DS18S20 Maxim un termómetro Sensor módulo

He recibido muchas peticiones para tutorial de termómetro OneWire Maxim DS1820/DS18S20 , así que aquí está el primer tal Instructable.En la siguiente Instructables demuestro cómo trabajar con varios termómetros conectados al mismo pin, así como obten
Arduino Nano: Leer DS1820/DS18S20 Maxim un cable termómetro dirección con Visuino

Arduino Nano: Leer DS1820/DS18S20 Maxim un cable termómetro dirección con Visuino

OneWire Maxim DS1820 DS18S20 / / DS18B20 son termómetros muy populares y con razón. Termómetros de múltiples se pueden conectar e incluso funciona con sólo 2 hilos. Ya postee Instructable sobre cómo conectar y leer OneWire termómetro aquí.Cada termóm
Siete segmentos Display termómetro - Arduino basado

Siete segmentos Display termómetro - Arduino basado

Hoy voy a mostrar cómo hacer su propio termómetro de 7 segmentos - 2 dígitos - con Arduino uno y sensor de temperatura DS18B20.Prefiero construir mi propio circuito de arduino basado usando el poseedor de uno de ATmega328p, pero esto es opcional para
TfCD ropa termómetro

TfCD ropa termómetro

Este termómetro de arduino proporciona información de color en temperatura ambiente, junto con una indicación de cuánta ropa que debe usar. Este termómetro mide temperatura ambiente con un termistor y da feedback con un neopixel. La escala a lo largo
Attiny85 5110LCD DS18B20 termómetro

Attiny85 5110LCD DS18B20 termómetro

Pude hacer un termómetro sencillo con Attiny85 microcontrolador. Un pequeño precio, dimensiones reducidas, bajo consumo y baja tensión.Paso 1: piezas:Para este proyecto es necesario algunas partes:1: Attiny85 uC2. Nokia 5110 LCD3. DS18B20 + 4 K 7 res