¿Cómo programar el AQA?

programación
componentes
firmware

#1

Para programar el sensor en desarrollo por Un/Loquer hasta el momento, es necesario comprender las partes que lo componen:

  • Módulo GPS Quectel L80 del cual obtenemos lat,lng,fecha,hora,altitud,curso,velocidad
  • Sensor DHT-11 del cual obtenemos temperatura,humedad
  • Sensor PMS5003 del cual obtenemos Concentración PM1, Concentración PM2.5, Concentración PM10
  • Leds LPD8806 de los cuales obtenemos Retroalimentación visual en escala de colores tipo semáforo
  • Microcontrolador ESP8266 del cual obtenemos Control de la lógica de programación, conectividad WiFi, descarga de registros, almacenamiento de 3Megas e interconexión de los demás componentes

La conexión de pines es como la que se ve en la siguiente imagen.

El código para el microcontrolador que se ha desarrollado hasta ahora se encuentra disponible en el siguiente repositorio de github dentro de la carpeta firmware.

Este está escrito para plataformas tipo Arduino en C/C++ y para subirlo al microcontrolador se usa el IDE de Arduino o el IDE Platformio, si se quiere usar el IDE de Arduino es necesario configurar la plataforma ESP866- 12E como se indica en el repositorio de la comunidad del dispositivo.

Para Un/Loquer es preferible usar el IDE Platformio, una vez instalado este solo es necesario abrir el proyecto que es la misma carpeta firmware, este ya tiene todas las dependencias de librerías y algunas de banderas de configuración establecidas en el archivo platformio.ini, una vez se compile por primera vez Platformio descarga las dependencias y las integra al proyecto.

Acá una guía en proceso para el uso del IDE Platformio http://wiki.unloquer.org/personas/johnny/proyectos/esp8266

La estructura del código tiene una correspondencia en archivo a componentes se que han descrito arriba, en términos técnicos se hace lectura y escritura de protocolos digitales para obtener datos de los sensores. El sensor PMS5003 y el GPS usan protocolo serial RS-232, el sensor DHT-11 usa el protocolo ONE-WIRE y los LEDs se controlan con SPI.

El diagrama de tiempo de señales se ve a continuación, la periodicidad máxima de la entrada de señal es de 1 segundo para el GPS y el PMS5003, los otros dos dispositivos se activan a conveniencia.

Estos datos son almacenados en memoria Flash a través de un sistema de archivos sobre SPI llamado SPIFFS, cada registro se almacena en texto plano y en un mismo archivo con formato CSV .

Integrado al ESP8266 tenemos disponible WiFi, que usamos por ahora para enviar los datos una vez se tiene conectividad. Existen diversidad de protocolos para el envío de datos a un servidor; por ahora hemos probado HTTP y MQTT


Ayuda para la construcción de censores
¿Cómo conectar el AQA (dispositivo de medición) a wifi?
#2

#3

#4

Para cuando se usa el montaje del ESP8266 en la tarjeta WeMos se deben adaptar los pines según este diagrama:


#5

Si quiero realizar un pedido de varios dispositivos a Mexico los pueden enviar?