Tabla de contenido:

Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub: 9 pasos (con imágenes)
Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub: 9 pasos (con imágenes)

Video: Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub: 9 pasos (con imágenes)

Video: Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub: 9 pasos (con imágenes)
Video: Envío de datos a MySQL desde ESP8266 NodeMcu - Método POST 2024, Noviembre
Anonim
Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub
Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub
Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub
Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub

La mayoría de los tutoriales sobre ESP8266 están en el nivel de novato (parpadeando un LED de forma remota) o demasiado complejos para alguien que está buscando algo para mejorar y actualizar sus habilidades de parpadeo de LED. utilizando ESP8266 y publique los datos recopilados en PubNub. El objetivo principal es minimizar el tiempo que las personas dedican a la construcción del hardware y, en cambio, concentrar su tiempo en el análisis de datos y la visualización con los datos recopilados.

Para las personas que no están familiarizadas con ESP8266 / NodeMCU, le sugerimos que obtenga una comprensión básica de cómo flashear y programar a través de ESPLORER. Hay muchos tutoriales / instructivos que ofrecen esto, como Get-Started-with-ESP8266-Using-AT -Comandos-NodeMCU.

Al final de este instructivo, podrá construir su propio centro de recolección de datos de sensores y una visualización gráfica básica en tiempo real con la ayuda de PubNub

Bienvenido a ESP8266-NodeMCU Lesson - 102 !!

Paso 1: componentes utilizados en el proyecto

Componentes utilizados en el proyecto
Componentes utilizados en el proyecto

Los siguientes componentes son necesarios para completar el proyecto

  • Una placa ESP8266 La placa que se utiliza para este instructable es NodeMCU devKit v1.0 (inserte el enlace del módulo 143 aquí)
  • Cualquier sensor cuyos datos deban recopilarse y registrarse. Aquí se utiliza un potenciómetro simple como sensor analógico
  • Un interruptor deslizante
  • Un cable micro a USB (tipo macho) para cargar el código en NodeMCU devKit v1.0 y alimentar el dispositivo
  • 2 leds para indicador de modo
  • Algunos cables macho a macho y placa de pruebas
  • Una cuenta PubNub con clave de publicación, clave de suscripción y un canal

Descargue los archivos a continuación. Si no desea cambiar nada y solo necesita que funcione, descargue la versión precompilada (inserte la carpeta zip de la versión compilada aquí). Si desea comprender cómo funciona y quiere ensuciarse las manos luego también puede descargar el código fuente principal (inserte la versión del código fuente aquí)

Paso 2: Diseño de circuito

Si ha comprado (inserte el enlace del producto final aquí), puede omitir este paso.

Paso 3: carga de código al kit NodeMCU usando ESPlorer

Carga de código al kit NodeMCU usando ESPlorer
Carga de código al kit NodeMCU usando ESPlorer
Carga de código al kit NodeMCU usando ESPlorer
Carga de código al kit NodeMCU usando ESPlorer

Una vez que abra la aplicación ESPlorer, la pantalla inicial se verá como la primera imagen. Seleccione el puerto COM del menú desplegable en la parte superior. Si el puerto COM no se muestra incluso cuando el dispositivo está conectado, simplemente vuelva a abrir la aplicación.

Ahora hay dos formas en que puede continuar y completar este instructivo

Termine la parte del hardware del concentrador del sensor lo antes posible y continúe para jugar con los datos

Comprenda la forma en que funcionan los scripts de NodeMCU y lua y personalícelos de acuerdo con sus necesidades

si (opción == 1)

Cargue todos los archivos precompilados (archivos.lc) y continúe con el siguiente paso

else if (opción == 2)

Simplemente abra los archivos de código fuente (.lua) en ESPlorer y comience a jugar con el código. Salte al paso 5 para obtener una descripción

Paso 4: Configuración del concentrador de sensores

Configuración del concentrador de sensores
Configuración del concentrador de sensores
Configuración del concentrador de sensores
Configuración del concentrador de sensores

Ahora deslice el interruptor hacia el modo de configuración y reinicie el módulo. El LED indicador del modo de configuración debe brillar.

Como se muestra en la primera imagen y se creará una red inalámbrica con el nombre de "configMode" y se visualizará. Conéctese a esa red con la contraseña como "password1234" desde cualquier computadora, lapotop o móvil.

Abra cualquier navegador e ingrese la siguiente URL

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

Reemplace los parámetros entre comillas con sus propios valores de contraseña de nombre de usuario de wifi (con acceso a Internet) y claves de PubNub. La URL final debería ser algo como a continuación

192.168.4.1/?username=MyWiFi&pwd=123456&apipubkey=pub_kjabdc_56513akhbcqio3_ad&apisubkey=sub_ajkd23d_sf23_24'&channel=channel1&sensorOneName=sensor1&check=1

Si el concentrador del sensor está configurado correctamente, el LED del modo de configuración se apagará y el LED del modo de datos se encenderá y la red inalámbrica "configMode" desaparecerá. Si desea comprender cómo funciona esto o desea cambiar algunos parámetros, consulte el siguiente paso; de lo contrario, vaya al paso 8

Paso 5: personalización de la configuración

Personalización de la configuración
Personalización de la configuración

Entonces, lo que sucede es que ESP8266 actúa como un enrutador y crea una red inalámbrica con el ssid, el nombre de usuario y la dirección IP dados a los que puede conectarse. La configuración se realiza ingresando los parámetros en el formato que se indica a continuación y presionando la siguiente URL desde cualquier navegador de cualquier dispositivo conectado a la red inalámbrica configurada.

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

Abrir archivo ap.lua en ESPlorer. Este script se encarga de la configuración inicial del concentrador de sensores, genera dos archivos en base a los datos que nos da el usuario

  • station.lua (contiene el ssid de red y la contraseña que tiene acceso a Internet para publicar los datos)
  • api_file.lua (contiene las claves de PubNub, el nombre del canal con los nombres de los sensores)

Para personalizar la dirección IP:

La IP se puede configurar en cualquier dirección válida que deba cambiarse en la URL. La dirección predeterminada será "192.168.4.1". Como se ve en la primera imagen, las primeras 3 líneas son responsables de configurar la dirección IP y la puerta de enlace. si la dirección es correcta enviando el comando "= wifi.sta.getip ()"

Para personalizar el nombre del ssid

El siguiente conjunto de código en la misma imagen es responsable de configurar el ssid y la contraseña para la red inalámbrica.

Recuerde que si ha realizado algún cambio en el archivo.lua, debe compilarlos para que los cambios se reflejen después del reinicio.

  1. Cargue el archivo.lua modificado … por ejemplo, el archivo ap.lua
  2. Envíe el comando "node.compile (ap.lua)" haciendo clic en el botón enviar en la parte inferior de ESPlorer
  3. Ahora sus archivos lua están compilados y se generarán nuevos archivos.lc

Paso 6: Adición de sensores al Hub y PubNub

Adición de sensores al Hub y PubNub
Adición de sensores al Hub y PubNub
Adición de sensores al Hub y PubNub
Adición de sensores al Hub y PubNub

Para agregar más sensor

De forma predeterminada, el código envía solo los datos de un sensor que está conectado al pin analógico 0. Puede agregar más sensores para enviar datos simultáneamente. Siga los pasos a continuación

  1. Agregue el nombre del sensor en la URL como se muestra en negrita. Así que ahora la URL será como la siguiente: //192.168.4.1/? Username = 'wifi_network_name' & pwd = 'password' & apipubkey = 'publish_key' & apisubkey = 'subscribe_key' & channel = ' Channel_name '& sensorOneName =' Sensor_1_name '& sensorTwoName =' Sensor_2_name '& check = 1
  2. El nombre correspondiente debe agregarse al archivo ap.lua como se muestra en la imagen 1sensorTwo = _GET.sensorTwoName print (sensorTwo). (Esto es solo para ver y verificar los datos)
  3. El paso final es agregarlo a la parte de generación de api_file al final como se muestra en la imagen 2 {"eon": {"'..sensorOne..'": / '.. adc.read (0).. \', "'..sensorTwo..'": / '.. gpio.read (2).. \'}} Repita el mismo paso para cada adición de sensor. Recuerde usar gpio.read (pin #) para digital y adc.read (pin #) para señales analógicas a digitales

Recuerde que si ha realizado algún cambio en el archivo.lua, debe compilarlos para que los cambios se reflejen después del reinicio.

  1. Cargue el archivo.lua modificado … por ejemplo, el archivo ap.lua
  2. Envíe el comando "node.compile (ap.lua)" haciendo clic en el botón enviar en la parte inferior de ESPlorer
  3. Ahora sus archivos lua están compilados y se generarán nuevos archivos.lc

Paso 7: inicialización de la recopilación de datos y envío a PubNub

Inicialización de la recopilación de datos y envío a PubNub
Inicialización de la recopilación de datos y envío a PubNub

Una vez realizada la configuración correctamente, el led de modo de datos se encenderá.

Básicamente, esto significa que los datos del sensor se envían a PubNub según los ajustes de configuración que proporcionó en los pasos anteriores.

De forma predeterminada, el concentrador enviará datos a PubNub cada 5 segundos. Si desea configurarlo, siga los pasos a continuación.

Para personalizar la frecuencia de la recopilación de datos:

  • Abra main.lua en ESPlorer
  • Ir a la línea resaltada en la imagen
  • El valor mencionado debe estar en milisegundos, es recomendable tener al menos un intervalo de 2 segundos para evitar cualquier pérdida de datos.
  • Cargue el archivo main.lua a esp y compile el archivo para generar el archivo.lc
  • Reinicie el módulo y verifique

Paso 8: Página HTML simple para visualización en tiempo real de datos de PubNub

Página HTML simple para visualización en tiempo real de datos de PubNub
Página HTML simple para visualización en tiempo real de datos de PubNub
Página HTML simple para visualización en tiempo real de datos de PubNub
Página HTML simple para visualización en tiempo real de datos de PubNub

Abra el archivo Sample.html de los archivos descargados. Esta es solo una página html simple para ver un gráfico en tiempo real de los datos recopilados.

Como se ve en la imagen 1, solo necesita configurarlo con sus propias claves PubNub y el nombre del canal.

También puede agregar esto a cualquier sitio web que desarrolle y crear una visualización aún más impresionante. Consulte PunNub EON para obtener más información.

Paso 9: Solución de problemas y preguntas frecuentes

Se actualizará en breve

Recomendado: