WiFi activado Arduino - con web APIs (4 / 7 paso)

Paso 4: Paso 4: el código

Así que estoy seguro en este momento la mayoría de ustedes está familiarizada con el IDE de Arduino. Utilizaremos subir nuestro código de comprador tiempo a Arduino. He conectado una versión limpia y documentada del código a este paso, pero vamos a ir un poco sobre él (no laborioso, sólo lo suficiente para usted entender lo que está sucediendo).

La primera parte del código es nuestro #defines, sólo para hacer la vida un poco más fácil. También tenemos algunas variables en la parte superior que nos ayudan a analizar los datos un poco más fácil.

Setup() función

Aquí vamos, esto es cómo conectar nuestro ESP a nuestro Arduino. Había reservado algo de espacio en la parte superior de la respuesta de la cadena. Esto es un asimiento de una iteración anterior del código que había repetido pila accidentes porque la. JSON simplemente había abrumado mi micro pequeño. Probablemente puede lanzar esta línea de código hacia fuera, guardó. Después de eso ves arranque una I2C (TWI, alambre, SMB, lo que sea...) conexión. Esto es donde realmente se va mis datos. Luego viene el Serial. Esta es la conexión con el ESP, observe la velocidad de 115200 baudios. Eso es SUPER importante hacer bien, de lo contrario tu Arduino habla inglés y el ESP habla cantonés y todo el mundo está confundido. Se dará cuenta de que los comandos AT son, que te dije que sería importantes! El código comprueba en primer lugar para asegurarse de que el dispositivo está listo realizar un restablecimiento de software y a la espera de la ESP responder. Después establece el ESP en modo de estación y permitir conexiones múltiples. Podemos conectarnos a múltiples APs, pero para nuestro uso ahora sólo utilizaremos una de las conexiones. Es decir tras un intento de conectarse a la WiFi (función siguiente observamos). Una vez tenemos correctamente (con suerte) conectado a la WiFi que empuje y conectar con nuestro anfitrión (en este caso Wunderground).

connectWiFi() función

Esta función es las carne y las patatas de nuestro código. Así que lo que tenemos aquí es un comando (AT + CWJAP) que está diciendo nuestra ESP a un punto de acceso. Es seguido por el AP SSID y la contraseña. Si el ESP devuelve "OK" luego nos hemos con éxito unido a la AP. Si no, la conexión falló. Si estás usando un MEGA u otro microcontrolador multi serial que puede establecer hasta enviar la PC mensajes de lo que está sucediendo. Estoy enviando mis datos sobre I2C a una FPGA, por lo que sólo arrojó las respuestas.

Loop() función

Esta es la última porción importante del código. Esta área se conecta a la API de tiempo subterráneo y descarga los datos. Una vez que el ESP comienza a enviar datos de vuelta nos empuje en la variable de la cadena de respuesta que declaró anteriormente. Capturé los datos línea a línea (empezando y terminando con), y buscó los datos que necesitaba (temp_f y tiempo). Esto mantiene la cantidad de datos que tienda/análisis en hasta un mínimo de tiempo que uno trata de Arduino.

Otras funciones

La mayor parte de este código está bastante bien documentado, así que usted debe poder averiguar lo que está sucediendo en el resto de él. Voy a través y busca temp_f y tiempo. Luego convertir esos valores en bytes a enviar a mi FPGA (manteniendo el tamaño mínimo). Había convertido el tiempo en un valor de 1 byte. Esto me da hasta 256 códigos de tiempo diferentes. Entonces utilicé un método sencillo para convertir de binario codificado Decimal a la temperatura y envíe a la FPGA en 2 paquetes de 1 byte (total en una pantalla de siete segmentos de 4 dígitos).

Créditos

Este código vino parcialmente de mi propio trabajo y parcialmente de la de los demás. No recuerdo todas las fuentes que extraer ideas y código de, pero si alguno de ustedes pasar a otro trabajo que se ve así, me dejan saben. Me encantaría dar el crédito donde es debido.

Artículos Relacionados

Control de Arduino con python basado en web API (No php)

Control de Arduino con python basado en web API (No php)

En esta guía le mostrará cómo controlar el dispositivo arduino de una página web! Luego, te voy a mostrar cómo controlar tu arduino desde tu dispositivo móvil e incluso crear un API basado en web para controlar tu arduino desde su página web con otro
Arduino para principiantes: API y control clima Local a través de WIFI

Arduino para principiantes: API y control clima Local a través de WIFI

En este video que vamos a utilizar un Arduino Yun (o leonardo con un escudo de Wi-Fi) para conectar con la API de tiempo de Yahoo y devolver el valor de la temperatura local (cualquier localización que usted quiere!) como un entero para ser utilizado
Remoto de Monitor de Arduino con el iPhone via 3G / 4G/Wifi

Remoto de Monitor de Arduino con el iPhone via 3G / 4G/Wifi

Este instructivo describe cómo programar Arduino con aplicación de MeasViewLite. En la aplicación es posible entre los sensores y unidades que se utilizan, así que tendrás vistas de supervisión con los nombres de sensores y unidades. Mediciones se pu
Casa inteligente con Arduino Ethernet shield y Teleduino (con web app)

Casa inteligente con Arduino Ethernet shield y Teleduino (con web app)

Este proyecto es una solución simple para aquellos que quieren un sistema casero elegante pero no tienen un gran presupuesto y para los perezosos que no quieren levantarse de la cama para apagar las luces o en.También es el proyecto de un estudiante
Hacking WPS había activado WiFi contraseña con Kali y la prevención de él.

Hacking WPS había activado WiFi contraseña con Kali y la prevención de él.

Hola amigos,En este instructable, he mostrado cómo crack WPS activado WiFi contraseña con segadora en Kali Linux y cómo evitar que tu WiFi de los hackers.porque a menos que usted entiende que el proceso de WPS habilitado hacking, usted no puede imped
Aire calidad de medición con la Api REST

Aire calidad de medición con la Api REST

En este instructable estamos construyendo un simple montaje de Arduino que se conecta con nuestra propia API RESTful. El arduino se mida la calidad del aire con un sensor de calidad del aire Sainsmart MQ135 y enviarlos por Internet a uno de nuestros
Robot, conducido por el controlador de PS3 a través de Wifi y Arduino shield

Robot, conducido por el controlador de PS3 a través de Wifi y Arduino shield

esto es un robot que utiliza los dos joysticks izquierdos y derecho en el controlador de PS3 al disco "tanque-estilo." El chasis, ruedas y motores se compran en un kit. Un Arduino Uno se monta en el chasis y un escudo de Wifi se apila encima de
Espectáculo de láser de Arduino con Control completo de XY

Espectáculo de láser de Arduino con Control completo de XY

Update! Ver 32 paso para saber cómo utilizar este proyecto con una laser verde! Comprobación también - el LaserTweet Instructable para hacer que este proyecto Mostrar datos desde Twitter:Este proyecto utiliza un Arduino y algunos altavoces baratos pa
Sistema de seguridad de contraseña de Arduino con sensores de puerta magnético

Sistema de seguridad de contraseña de Arduino con sensores de puerta magnético

En esta guía de Instructables te mostrará cómo hacer su propio sistema de seguridad de la contraseña mediante el uso de la placa de Arduino uno y algunos interruptores de puerta magnético. Hice mi propio circuito utilizando el microcontrolador ATmega
Cómo controlar arduino con un correo

Cómo controlar arduino con un correo

Hay un montón de soluciones para el control de una placa de Arduino: web solutions, soluciones de aplicación de escritorio, soluciones de hardware. Pero, ¿por correo? Sí, usted puede encontrar algo en la web pero que necesitan para escudos de etherne
Cómo usar un escudo de WiFi serial - Arduino Tutorial

Cómo usar un escudo de WiFi serial - Arduino Tutorial

En este tutorial usted aprenderá cómo utilizar la WizFi210 - serie WiFi escudo con uno placa de Arduino. Este escudo de bajo costo wifi se puede conectar fácilmente a su red Wi-Fi y comunicarse con la placa de Arduino uno a través del Protocolo de co
Control de Arduino con Gamepad

Control de Arduino con Gamepad

Últimamente he sido curioso sobre amistad con Arduino o cualquier otro microcontrolador con un gamepad para poder tener interacción física con las cosas que hago, pero parecía que no rápido o barato a hacerlo.Mayoría de las soluciones implicadas:Comp
Control de Servos en Internet a través de Arduino con Teleduino

Control de Servos en Internet a través de Arduino con Teleduino

Servos tienen muchos usos y puede ser muy divertido para jugar con. Algo que puede ser un montón de diversión es tomar el control de servos de hasta seis por internet! Solo imagine las posibilidades.Este proceso se hace realmente simple con el bosque
Temporizador de cuenta regresiva de Arduino con los botones de configuración

Temporizador de cuenta regresiva de Arduino con los botones de configuración

En esta guía de Instructables te mostrará cómo hacer su propio temporizador de cuenta regresiva de Arduino dos dígitos. Hice mi propio circuito utilizando el microcontrolador ATmega328 pero este es un paso opcional. En esta guía te ayudaré a hacer fá