Monitoreo de Áreas Protegidas con RSL10 Sense + Mini Drone

Área protegida a través de medios efectivos para lograr la conservación a largo plazo de la naturaleza con los servicios de un RSL10-SENSE y un Mini Drone

1.INTRODUCCIÓN

Las áreas protegidas como ser los parques nacionales, áreas silvestres, áreas conservadas por la comunidad, reservas naturales, etc., son un pilar de la conservación de la biodiversidad. Las áreas protegidas están en el centro de los esfuerzos para conservar la naturaleza y los servicios que nos brinda: alimentos, suministro de agua limpia, medicamentos y protección contra los impactos de los desastres naturales. Su papel para ayudar a mitigar y adaptarse al cambio climático también se reconoce cada vez más. En el siguiente video les muestro un ejemplo de un área protegida en mi comunidad donde vivo, y donde es muy común encontrar aves migratorias como garzas y patos de diferentes especies.

Los principales objetivos de este proyecto son los siguientes:

  • Conexión de RSL10-SENSE a IBM Cloud (sección 2).
  • Interfaz para obtener la altitud (sección 3).
  • Clúster ambiental BSEC con sensor BME680 (sección 4).
  • SENSOR RSL10-SENSE-DB-GEVK + DRONE DJI TELLO RYZE (sección 5)

Siga los enlaces a continuación para encontrar toda la información técnica del dispositivo: RSL10-SENSE-DB-GEVK .

Monitoreo con drone

Monitoreo de áreas protegidas

 

2. CONEXIÓN DE RSL10-SENSE A LA NUBE DE IBM

(Timing: 4 hrs.)

Una vez que haya instalado el programa «ON Semiconductor IDE» en su PC, y en su Smartphone la aplicación «RSL10 Sense and Control» , entonces vamos al siguiente paso.

Conectar este dispositivo BLE a la nube de IBM es muy fácil. Para empezar tienes que descargar la siguiente guía de instrucciones: https://www.onsemi.com/pub/Collateral/AND9839-D.PDF

El sitio oficial de IBM Cloud es: https://cloud.ibm.com/login

En este ejercicio, puede usar cualquiera de los dos ejemplos siguientes para cargarlos en su SENSOR RSL10 con el «IDE de ON Semiconductor»:

  • sense_ics_firmware
  • sense_ics_firmware_sleep

Tenemos que seguir todos los pasos de la guía para obtener los resultados que podemos ver en el siguiente vídeo:

3. INTERFAZ PARA OBTENER LA ALTITUD

(Timing: 4 hrs.)

En este ejercicio crearemos una interfaz con nuestro dispositivo RSL10-SENSE para visualizar y calcular los siguientes datos: temperatura máxima, humedad máxima y altitud. En este caso, el ejemplo que usaré como modelo será el siguiente: «sense_production_tests» . Puedes descargar todos los códigos en la sección de descargas. La temperatura y la humedad máximas se calculan utilizando el siguiente código.

if (bme680_status == 0)
{
printf(«BME680 temperature: » COLORIZE(«%.2f», YELLOW) » °C\r\n», ((float)bme680_output.temperature) / 100.0f);
printf(«Maximum temperature: » COLORIZE(«%.2f», YELLOW) » °C\r\n», tmax / 100.0f);
printf(«BME680 humidity: » COLORIZE(«%.2f», YELLOW) » %%\r\n», ((float)bme680_output.humidity) / 1000.0f);
printf(«Maximum humidity: » COLORIZE(«%.2f», YELLOW) » %%\r\n», hmax / 1000.0f);
printf(«BME680 pressure: » COLORIZE(«%.2f», YELLOW) » Pa\r\n», ((float)bme680_output.pressure));
bar = bme680_output.pressure * 1e-5;
altitude = -8005 * log(bar);
printf(«Altitude: » COLORIZE(«%.2f», YELLOW) » mts\r\n\n», altitude);
}
if (bme680_output.temperature > tmax) {
tmax = bme680_output.temperature;
//printf(«t max: » COLORIZE(«%.2f», YELLOW) » °C\r\n», tmax / 100.0f);
}
if (bme680_output.humidity > hmax) {
hmax = bme680_output.humidity;
//printf(«h max: » COLORIZE(«%.2f», YELLOW) » %%\r\n», hmax / 1000.0f);
}

Inicialmente a la máxima temperatura y máxima humedad le asignamos los siguientes valores:

float tmax = 0;
float hmax = 0;

De esta forma nos aseguramos que en la primera comparación, el valor más alto es el primero que mide nuestro sensor.

En el código anterior también podemos ver el cálculo aproximado de la altitud a partir de la presión barométrica. Puede encontrar la referencia biográfica en el siguiente blog escrito en español: https://foro.tiempo.com/calculo-de-la-variacion-de-presion-con-la-altura-t132936.0.html

La fórmula utilizada es:

  • h= -(H)* In (barra) donde:
  • H = (logaritmos neperianos) = 8005
  • h = altitud sobre el nivel del mar, medida en m.
  • Entonces: h=-8005*ln(barra)
  • Y, 1 Pa = 1e-5 bar

A continuación les muestro el video con mi demostración:

De esta forma nos aseguramos que en la primera comparación, el valor más alto es el primero que mide nuestro sensor.

En el código anterior también podemos ver el cálculo aproximado de la altitud a partir de la presión barométrica. Puede encontrar la referencia biográfica en el siguiente blog escrito en español: https://foro.tiempo.com/calculo-de-la-variacion-de-presion-con-la-altura-t132936.0.html

La fórmula utilizada es:

  • h= -(H)* In (barra) donde:
  • H = (logaritmos neperianos) = 8005
  • h = altitud sobre el nivel del mar, medida en m.
  • Entonces: h=-8005*ln(barra)
  • Y, 1 Pa = 1e-5 bar

A continuación les muestro el video con mi demostración:

4. CLÚSTER AMBIENTAL BSEC CON SENSOR BME680

(Timing: 4 hrs.)

De forma muy similar al apartado anterior, os muestro con el siguiente ejemplo el cálculo de la altitud: sense_bme680_bsec

Monitoreo de áreas seguras con drone

A diferencia del ejercicio anterior, aquí solo calcula la altitud. Por otro lado también me interesó ver los cálculos de CO2 equivalente y el COV de respiración equivalente. A continuación puedes ver el código que modifiqué y el video de la prueba realizada.

#endif /* APP_USE_ANSI_COLORS */
printf(»  raw_pressure = %f Pa\r\n», output->raw_pressure);
float bar = (output->raw_pressure) * 1e-5; // ALTITUDE
float altitude = -8005 * log(bar); // ALTITUDE
printf(»  altitude = %f mts\r\n», altitude); // ALTITUDE
printf(»  co2_equivalent = %.2f ppm (%d)\r\n», output->co2_equivalent,
output->co2_accuracy);
printf(»  breath_voc_equivalent = %.2f ppm (%d)\r\n»,
output->breath_voc_equivalent,
output->breath_voc_accuracy);
printf(«\r\n\n»);

5. SENSOR RSL10-SENSE-DB-GEVK + DRON DJI TELLO RYZE

(Timing: 5 hrs.)

En este ejercicio quiero demostrar que si es posible montar el dispositivo BLE RSL10-SENSE en un Mini Drone y que funcione sin interferencias de señal, y además que la estabilidad del Drone no se vea afectada. Para empezar, tenemos que imprimir las siguientes dos piezas con nuestra impresora 3D. Al final de este tutorial, puede descargar los archivos STL.

Con estas piezas protegeremos el dispositivo RSL10-SENSE-DB-GEVK . He utilizado el DJI TELLO RYZE DRONE https://www.ryzerobotics.com/es/tello ) porque tiene buena reputación de estabilidad, es económico, no pesa mucho y es ideal para los propósitos de este proyecto: Además este dispositivo BLE no pesa mucho, no es grande, y en pruebas logré un alcance de hasta 10 metros libre de obstáculos y con la Aplicación Android. En otras palabras, un Drone mediano o grande no sería útil ya que manejan distancias mayores a los cien metros y la comunicación se romperá fácilmente. El código de ejemplo utilizado fue: sense_ics_firmware , porque demostró ser más estable y la comunicación no se interrumpió.

Necesitamos dos Smartphones: uno para controlar el «Drone» y otro para monitorear la aplicación del dispositivo RSL10-SENSE-DB-GEVK .. En el siguiente video les muestro el montaje, y las pruebas que realicé con mi prototipo:

6. CONCLUSIÓN

Este dispositivo RSL10-SENSE-DB-GEVK , me resultó bastante entretenido para nuestros propósitos de monitorear un área protegida de mi comunidad. Las herramientas de conectividad en la nube de IBM son muy fáciles y sencillas. También pudimos modificar los códigos de dos ejemplos para lograr la interfaz de nuestras necesidades para querer monitorear la temperatura, la humedad, la presión barométrica y los equivalentes de CO2 y COV de la respiración . Incluso hicimos modificaciones en los códigos para medir la altitud, y los valores máximos de temperatura y humedad . Demostramos que es posible montar el RSL10-SENSE-DB-GEVK en un mini Drone… no hubo interferencia en la comunicación, y la estabilidad del Drone tampoco se vio afectada; ahora podemos monitorear los valores meteorológicos en nuestro dron y sin problemas… Finalmente, agradezco a «ON Semiconductor» por haberme brindado este dispositivo y el software gratuito para hacer mis pruebas.

Descarga de archivos

Acerca de Guillermo Perez Guillen 3 Artículos
Ingeniero en Electrónica y Comunicaciones (ECE), involucrado en la investigación, diseño, desarrollo y prueba de equipos electrónicos utilizados en varios sistemas.

Sé el primero en comentar

Dejá un Comentario

Tu dirección de correo no será publicada.


*