¿Cómo programar el AQA?

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

1 me gusta

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

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

@danx_10 el prototipo no está en una etapa que pueda entregarse como producto, pero estamos listos a ayudar si desean implementar este tipo de dispositivos allá, tenemos las partes, los diagramas, el firmware etc.
saludos!

El siguiente post pretende actualizar esta publicación.

El firmware del dispositivo está en un entorno https://platformio.org/

Descargue visualstudio code de este enlace https://code.visualstudio.com y agregue el complemento platformio IDE

2019-08-06-122046_941x502_scrot

Descargue o clone el código del sensor de https://github.com/unloquer/AQA teniendo en cuenta el branch adecuado según el tipo de sensor

El branch que estamos usando en este momento es AQAkit si usa el sensor rojo


Y el branch aqa_hw2019 si usa el sensor verde
sensor_aqa_2019

El branch se selecciona en la parte superior izquierda y luego de click en el botón verde de la derecha Clone or download
2019-08-06-123747_1042x280_scrot|300

2019-08-06-122549_372x201_scrot

Una vez descargado, dentro de platformio abra el proyecto dentro de la carpeta firmware

2019-08-06-124125_377x250_scrot 2019-08-06-124158_645x567_scrot

Modifique en el archivo constant_defines.h los parámetros de conexión wifi, el id del sensor y las coordenadas si es un sensor fijo

2019-08-06-124407_1372x513_scrot

Compile y suba el firmware al dispositivo conectado por usb con el botón de la flecha que apunta a la derecha.
2019-08-06-124445_873x100_scrot

Una vez el dispositivo está programado envía la información al servidor en internet que puede explorar a través de esta interfaz http://aqa.unloquer.org:8888/sources/1/chronograf/data-explorer

Busque su sensor por ID que acaba de poner en el código

2019-08-06-124724_1322x523_scrot

También puede visulizar el promedio de la última hora en el mapa http://daquina.io/aqaviz/
2019-08-06-124910_405x452_scrot

GUIA EN CONSTRUCCIÓN