Project based on: alexcorvis84/mini-lora-weatherstation
Introduction ↩️
As parto of my Bachelor´s Degree Final Project about drones an sensorization, in MediaLab_ LPWAN, I was given to know LoRaWAN technology. With it, I inmediately understood the potential of working with an air quality sensor that could be attached to a long range drone to be used as a mobile platform and measure from kilometers away hostile atmospheres in case of accidents where sending people could be really endangering. As a result, the on-board sensor I am going to describe was born as a LoRa node, synchronizable with The Things Network, that I could attach to the drone I had build without being coberage a limiting factor.
In this repo, you will find all the files and teaching guides required to fully understand and even take the creative freedom to improve this project. Folders and files have been given a self-explanatory name to make navigation more intuituve.
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 |
Vin |
- | Vext |
GND |
GND |
- | GND |
- | WAK |
- | GND |
- | - | Con Bat |
Con Bat |
En una protoboard se ve de la siguienta forma:
Flujograma (¡Simplificado!) ↩️
graph TD;
A[Turn on, include libraries, create variables, set pin modes] -->|1| B(Connect to LoRaWAN)
B -->|2| C(Get battery, BME and CCS sensors measurements)
C -->|3| D(Send measurement bytes to TTN)
D -->|4| E(Temporize data transmission rate)
E -->|5| F(Go to deep sleep for the temporized time)
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:
main.cpp
/* Algoritmo completo */
ttnvalues.h
/* Claves OTAA para sincronizarse en TTN */
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 ↩️
Accede al panel de Grafana1 por medio de este código QR o el link de debajo:
Licencia ↩️
Este proyecto está licenciado bajo la GPL-3.0 license. Contiene código de alexcorvis84/mini-lora-weatherstation
Contacto ↩️
Autores: Daniel Rodríguez Moya, Iván Graña y el grupo de trabajo de MediaLab_ LPWAN
Footnotes
-
Instrucciones sobre como desplegar paneles de Grafana en el siguiente repo
medialablpwan/documentacion
. ↩