Tabla de contenido:

Comunicación de Arduino a Laravel: 4 pasos
Comunicación de Arduino a Laravel: 4 pasos

Video: Comunicación de Arduino a Laravel: 4 pasos

Video: Comunicación de Arduino a Laravel: 4 pasos
Video: Generalidades de la comunicación inalámbrica con Arduino. 2024, Mes de julio
Anonim
Image
Image
Comunicación de Arduino a Laravel
Comunicación de Arduino a Laravel

Hola a todos, En este Instructable, le mostraré cómo puede enviar datos desde un Arduino a una aplicación Laravel.

Paso 1: Introducción

Introducción
Introducción
Introducción
Introducción

Siempre que tengamos un proyecto que requiera la visualización y el registro de algunos datos, generalmente se requiere que tengamos los datos disponibles en la web. De esta manera posiblemente podamos monitorear el estado de un objeto de forma remota o incluso controlar nuestros dispositivos desde cualquier parte del mundo.

Para este proyecto usaremos una placa NodeMCU v1.0 que tiene un módulo ESP8266 12e a bordo. Además, necesitaremos usar una computadora donde podamos alojar nuestra aplicación Laravel. Si desea saber cómo puede configurar dicho entorno, consulte mi video al respecto.

Paso 2: preparar la aplicación Laravel

Preparar la aplicación Laravel
Preparar la aplicación Laravel
Preparar la aplicación Laravel
Preparar la aplicación Laravel

Nuestro primer paso es instalar Laravel a través de Composer. No entraré en detalles sobre cómo puede hacer esto, ya que la documentación lo explica en detalle y puede encontrarlo aquí.

Para mantener esta demostración simple, dentro de Laravel registraremos la información enviada desde Arduino a un archivo de texto para que podamos revisarlos más tarde. Para eso, primero crearemos una nueva ruta POST en el archivo "api.php". En la devolución de llamada, inyectaremos los detalles de la solicitud para que luego podamos recuperar los parámetros que se envían.

Para escribir en un archivo, estoy usando la fachada de almacenamiento de Laravel con su práctico método de adición. Cuando se llama, este método recibe un nombre de archivo y datos de cadena donde agrega estos datos al archivo especificado. Si el archivo no está presente, se está creando en la primera llamada.

Los datos que escribimos en cada fila están formados por la fecha y hora actuales, seguidos de los valores solicitados para la temperatura y la humedad. Si tiene varios de estos valores, puede repetir el mismo proceso de recuperación para todos ellos.

Paso 3: prepara el remitente de Arduino

Prepare el remitente de Arduino
Prepare el remitente de Arduino
Prepare el remitente de Arduino
Prepare el remitente de Arduino

Veamos ahora el código Arduino y el envío de datos.

Para que la placa NodeMCU pueda conectarse a nuestro WiFi y enviar una solicitud, primero debemos incluir varias bibliotecas en la parte superior. A continuación, debemos especificar el SSID de la red a la que nos conectamos y su contraseña. Si está utilizando un Uno con un escudo de Ethernet, entonces su proceso será diferente.

Además, guardamos aquí la URL raíz del servidor Laravel que acabamos de crear. En mi caso, esta es la dirección IP de mi computadora local, pero puede agregar cualquier URL de host donde se pueda acceder al código.

En la función de configuración, iniciamos la comunicación en serie para poder monitorear lo que está sucediendo. Además, necesitamos configurar la placa NodeMCU para que pueda conectarse correctamente al WiFi. Una vez hecho esto, podemos iniciar la conexión y esperar hasta que recibamos una dirección IP del enrutador.

Para este ejemplo, en realidad no tengo ningún sensor conectado a la placa. En su lugar, solo estoy generando algunos datos aleatorios usando la función aleatoria y los estoy enviando.

Estos datos deben prepararse en forma de una cadena de consulta y, una vez iniciada la solicitud HTTP, debemos enviarla mediante el método POST en el cliente HTTP. El encabezado que agregamos antes está ahí para que el servidor sepa que hay datos en la solicitud que necesita recopilar.

Como resultado, primero obtenemos el código de estado HTTP y luego la carga útil de respuesta. Si todo salió bien, deberíamos obtener 200 como código y, dado que no devolvimos nada de nuestra aplicación Laravel, la carga útil estará vacía.

Si por alguna razón el código de estado no es 200, entonces la carga útil generalmente contendrá el mensaje de error de lo que sucedió.

Al final, debemos asegurarnos de cerrar la solicitud y esperar un cierto tiempo, 5 segundos en nuestro ejemplo para hacer el mismo proceso nuevamente.

El resultado es que obtenemos esos valores guardados en el archivo de texto en cada iteración, por lo que luego podemos usar esto para mostrarlo o mapearlo en un gráfico.

Paso 4: Pasos adicionales

Pasos adicionales
Pasos adicionales

Como puede ver, el proceso es bastante simple y se puede expandir fácilmente para leer los valores de diferentes sensores y tal vez escribirlos en una base de datos. El resultado de lo que puede construir con esto solo está limitado por su imaginación. Para ayudarlo a comenzar, a continuación hay un enlace al código fuente completo utilizado en el ejemplo.

github.com/bkolicoski/arduino-laravel-comm…

Espero que hayas logrado aprender algo nuevo de este Instructable y, si lo hiciste, házmelo saber en los comentarios, sígueme en Instructables y no olvides suscribirte a mi canal de YouTube.

¡Gracias!

Recomendado: