99danirmoya / Lora-Mini-Air-Quality-Drone-Onboard-Station

LoRa mini air quality drone onboard station

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spanish | english

Static Badge

MINI ESTACIÓN DE CALIDAD DEL AIRE CONECTADA POR LORA A BORDO DE UN DRONE

made-for-VSCode Build with PlatformIO



Introducción ↩️

Como parte de mi Trabajo de Fin de Grado sobre drones y sensorización, en Medialab_ LPWAN, se me dio a conocer la tecnología de LoRaWAN. Con ella, entendí rápidamente el potencial de trabajar en un sensor de calidad de aire que montar en un drone de long range para ser usado como plataforma móvil y medir a kilómetros de distancia atmósferas hostiles en caso de accidente donde fuese peligroso enviar a un equipo de personas. Como resultado, nació el sensor on-board que os voy a mostrar como un nodo conectado por LoRa, sincronizable con The Things Network, que montarle al drone que construí sin que la cobertura fuese un factor limitante.


En este repositorio, encontrarás todos los archivos y guías educativas necesarias para entender con totalidad e incluso tomarte la libertad creativa de mejorar este proyecto. Las carpetas y archivos han sido llamados con nombres que se explican a ellos mismos para hacer la navegación más intuitiva.


Características principales ↩️

  • Desarrollado usando la HelTec CubeCell HTCC-AB01 (Una placa de muy bajo consumo con LoRa implementado y que soporta recarga con panel solar y gestión de batería)


  • Cambios realizados para añadirle, además, un sensor CCS811 (Sensor de partículas volátiles)


  • Carcasa a medida para encapsular todos los componentes a un tamaño similar al de la batería del drone (Envase + Recipiente)



    Ejemplo de ensamblaje:


Warning

Hacen falta seis tornillos M3 para fijar el ensamblado y dos bridas para ajustarlo al frame del drone


Lista de componentes ↩️

Componente Modelo
Placa CubeCell HTCC-AB01
Sensor atmosférico BME280
Sensor de partículas volátiles CCS811
Batería LiPo 1S 300mAh
Carcasa A medida (archivo inlcuido)

Lista de conexiones ↩️

BME280 CCS811 LiPo CubeCell
SDA SDA - SDA
SCL SCL - SCL
VIN - - VEXT
GND GND - GND
- VCC - VDD
- WAK - GPIO0
- - Con Bat Con Bat

En una protoboard se ve de la siguienta forma:


Note

Teniendo en cuenta que el programa hace uso del deep sleep de la CubeCell, el sensor BME280 se pone en sleep entre mensajes gracias a que el pin VEXT se puede gobernar (HIGH/LOW), mientras que el CCS811, por su uso de agentes químicos para obtener las medidas, se conecta al pin VDD estático (incluso en deep sleep aporta corriente), y es el pin GPIO0,conectado al pin WAK del sensor, el que emite una señal digital (HIGH/LOW) el que lo echa a sleep


Flujograma (¡Simplificado!) ↩️

graph TD;
  A[Encender] -->|1| B(Conectarse a una red LoRaWAN)
  B -->|2| C(Obtener las medidas de la batería y de los sensores BME y CCS)
  C -->|3| D(Mandar los bytes a TTN)
  D -->|4| E(Temporizar la tasa de transmisión de datos)
  E -->|5| F(Ir a deep sleep)
  F -->|6| B

Archivos de código ↩️

En esta sección, se da una descripción breve a cómo está distribuido el código entre los archivos en medialablpwan/droneloraminiairqualitystation/main/src/, donde el código está disponible para flashear o editar:

Un análisis más en profundidad viene dado en el propio código ya que cada función está explicada con comentarios.


Ejemplos consultados ↩️

En esta sección se listan los ejemplos de código oficiales de HelTec usados para adaptar el proyecto original a los objetivos de éste y si han sido finalmente útiles:



Experimento de implementación ↩️

El ensamblaje final ha quedado de la siguiente manera:



Accede al panel de Grafana1 por medio de este código QR o el link de debajo:


http://4f566df1fed52c6e7fd5f661f64ae3eb.balena-devices.com:8080/d/1bwgnfzgk/heltec-cubecell-bme280-ccs811?orgId=1&from=now-30m&to=now&refresh=30s



Licencia ↩️

Este proyecto está licenciado bajo la GPL-3.0 license. Contiene código de alexcorvis84/mini-lora-weatherstation


Contacto ↩️

Important

Responderemos amablemente a dudas y leeremos sugerencias: Gmail Badge

Más información sobre nuestras actividades: Linkedin Badge

Autores: Daniel Rodríguez Moya, Iván Graña y el grupo de trabajo de MediaLab_ LPWAN :shipit:

Footnotes

  1. Instrucciones sobre como desplegar paneles de Grafana en el siguiente repo medialablpwan/documentacion.

About

LoRa mini air quality drone onboard station

License:GNU General Public License v3.0


Languages

Language:C++ 90.5%Language:C 4.8%Language:JavaScript 4.6%