Sistema IoT de monitoreo de plantas de tomate en la azotea

IoT de monitoreo de plantas de tomate

En este proyecto se presenta un sistema de monitoreo de plantas de tomate en azoteas alimentado por el kit SenseCap K1100. (https://www.seeedstudio.com/Seeed-Studio-LoRaWAN-Dev-Kit-p-5370.html )

Debido a la crisis de las tierras agrícolas, es muy importante pensar en la jardinería en la azotea para la seguridad alimentaria. El mantenimiento regular es importante para cualquier jardín. Hacemos jardinería en la azotea como un pasatiempo. Muchos de nosotros no sabemos cómo cuidar el jardín adecuadamente. A lo largo de este proyecto se presenta un sistema automatizado que puede ayudarnos en nuestra jardinería en la azotea. La vista superior del sistema se muestra a continuación,

IoT de monitoreo de plantas de tomate

Técnicamente, el terminal Wio se utiliza como controlador principal de nuestro sistema. Hemos utilizado un sensor de temperatura a prueba de agua con sensor de humedad del suelo para recopilar datos de temperatura y humedad. Se utiliza una sonda de conductividad eléctrica (sonda EC) para capturar la información de pH y sal del suelo. Se utiliza un sensor de color para recopilar información de color de la planta. El riego automático es compatible con este sistema. Se utiliza un motor para bombear el agua en función de los datos de humedad del suelo (como el riego inteligente de plantas). El microcontrolador (terminal Wio) es responsable de recopilar los datos del sensor y transferir los datos a la nube.

La aplicación móvil se desarrolla como resultado, los usuarios de este sistema pueden monitorear fácilmente el estado de sus plantas (de forma remota sin visitar el jardín). En situaciones críticas, el sistema informará automáticamente al usuario sobre las condiciones de la planta.

Componentes de hardware

  • Terminal Wio basado en un microcontrolador basado en ATSAMD51 con conectividad inalámbrica compatible con Realtek RTL8720DN y está equipado con una pantalla LCD de 2,4″, IMU integrada (LIS3DHTR), micrófono, zumbador, ranura para tarjeta microSD, sensor de luz y emisor de infrarrojos (IR 940nm). El chip Realtek RTL8720DN es compatible con Bluetooth y Wi-Fi y proporciona la columna vertebral para los proyectos de IoT.
  • El DS18B20 secomunica con el protocolo de comunicación «One-Wire», un protocolo de comunicación en serie patentado que utiliza un solo cable para transmitir las lecturas de temperatura al microcontrolador. El DS18B20 puede funcionar en lo que se conoce como modo de energía parásita. Normalmente, el DS18B20 necesita tres cables para funcionar: los cables Vcc, tierra y datos. En el modo parásito, solo se utilizan las líneas de tierra y de datos, y la alimentación se suministra a través de la línea de datos. El DS18B20 también tiene una función de alarma que se puede configurar para emitir una señal cuando la temperatura cruza un umbral alto o bajo establecido por el usuario. Para obtener más detalles sobre el tiempo, la configuración de la energía parásita y la configuración de la alarma, consulte la hoja de datos
  • El TCS34725, que tiene elementos sensores de luz RGB y Clear. Un filtro de bloqueo de IR, integrado en el chip y localizado en los fotodiodos de detección de color, minimiza el componente espectral IR de la luz entrante y permite realizar mediciones de color con precisión. El filtro significa que obtendrá un color mucho más real que la mayoría de los sensores, ya que los humanos no ven IR. El sensor también tiene un increíble rango dinámico de 3 800 000:1 con ganancia y tiempo de integración ajustables, por lo que es adecuado para usar detrás de un vidrio oscuro.

Terminal Seeed Wio

El microcontrolador basado en ATSAMD51 basado en terminal Wio con conectividad inalámbrica compatible con Realtek RTL8720DN y está equipado con una pantalla LCD de 2,4″ , IMU integrada (LIS3DHTR) micrófono zumbador ranura para tarjeta microSD sensor de luz y emisor de infrarrojos (IR 940nm) . El chip Realtek RTL8720DN es compatible con Bluetooth Wi-Fi y proporciona la columna vertebral para los proyectos de IoT.

IoT de monitoreo de plantas de tomate

Características clave

  • Potente MCU: Microchip ATSAMD51P19 con núcleo ARM Cortex-M4F funcionando a 120 MHz
  • Conectividad inalámbrica confiable: equipado con Realtek RTL8720DN, Wi-Fi de doble banda de 2,4 Ghz / 5 Ghz
  • Diseño altamente integrado: pantalla LCD de 2,4″, IMU y complementos más prácticos alojados en una carcasa compacta con imanes incorporados y orificios de montaje
  • GPIO compatible con Raspberry Pi de 40 pines
  • Compatible con más de 300 módulos Grove plug & play para explorar con IoT
  • Soporte USB OTG
  • Compatibilidad con Arduino, CircuitPython, Micropython, ArduPy (¿Qué es ArduPy?), Firmware A T, Código de Visual Studio
  • TELEC certificado

Para obtener más información, visite https://www.seeedstudio.com/Wio-Terminal-p-4509.html.

Paso 1: Configurar Wio Terminal y Arduino IDE

Para la configuración, puede seguir esta maravillosa guía proporcionada por SeeedStudio. Comience con Wio Terminal, de todos modos, a continuación se muestra un breve video,

Paso 2: Configurar el sensor de humedad del suelo

Se utiliza un conector grove para conectar el sensor de humedad con la placa de desarrollo de terminales wio. La referencia del pin se proporciona a continuación,

Wio terminal    to     Grove soil moisture
A6 (33) ——————> SIG
GND     —————–> GND
3.3V    —————-> VCC

El sensor de humedad del suelo no requiere ninguna biblioteca.

int sensorPin = A6;
int sensorValue = 0;

void setup() {
Serial.begin(115200);
}
void loop() {
// read the value from the sensor:
sensorValue = analogRead(sensorPin);
Serial.print(«Moisture = » );
Serial.println(sensorValue);
if ((sensorValue < 300))
{
Serial.println(«DRY» );
}
else if ((sensorValue >= 300) and (sensorValue < 600))
{
Serial.println(«Moist» );
}
else
{
Serial.println(«WET» );
}
delay(1000);
}
//source collected from internet.

La fuente anterior se utiliza para probar el sensor de humedad del suelo.

Paso 3: Configurar el sensor de temperatura del suelo

La sonda o sensor térmico digital a prueba de agua DS18B20 se conecta con nuestra placa a través de un cable puente. Las conexiones de los pines se dan a continuación,

Wio terminal    to     DS18B20 waterproof digital thermal sensor
D8 (37) ——————> DQ (Yellow Wire)
GND     —————–> GND (Black Wire)
3.3V    —————-> VCC (RED wire)

IoT de monitoreo de plantas de tomate

Bibliotecas requeridas:

El sensor DS18B20 requiere dos bibliotecas para reducir la complejidad del análisis del código.

  • h ( Temperatura de Dallas por Miles Burton )
  • h ( One Wire de Paul Stoffregen )

Puede descargar e instalar estas bibliotecas directamente a través del IDE de Arduino o manualmente desde nuestra página de bibliotecas.

Para instalar directamente desde IDE, siga los pasos a continuación:

  • Abra Arduino IDE y seleccione el menú desplegable Sketch de la barra de menú
  • Elija Incluir biblioteca y seleccione Administrar bibliotecas
  • Ahora escriba el nombre de la biblioteca requerida en el cuadro de búsqueda, elija entre los resultados y toque instalar.
  • La biblioteca se instaló correctamente.

#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is connected to digital pin 8 on the Arduino
#define ONE_WIRE_BUS 8

// Setup a oneWire instance to communicate with any OneWire device
OneWire oneWire(ONE_WIRE_BUS);

// Pass oneWire reference to DallasTemperature library
DallasTemperature sensors(&oneWire);

void setup(void)
{
sensors.begin();  // Start up the library
Serial.begin(9600);
}

void loop(void)
{
// Send the command to get temperatures
sensors.requestTemperatures();

//print the temperature in Celsius
Serial.print(«Temperature: «);
Serial.print(sensors.getTempCByIndex(0));
Serial.print(«ºC  |  «);

//print the temperature in Fahrenheit
Serial.print((sensors.getTempCByIndex(0) * 9.0) / 5.0 + 32.0);
Serial.println(«ºF»);

delay(500);
}

La fuente anterior se utiliza para probar la temperatura por separado.

Paso 4: Configuración del interruptor del motor de agua (interruptor Mosfet)

Directly connected to the grove multi-functional port (Right side) of Wio terminal.

Este interruptor no requiere ninguna biblioteca.

void setup() {
pinMode(D0, OUTPUT);
digitalWrite(D0,LOW);
}

void loop() {
digitalWrite(D0,HIGH);
delay(1000);
digitalWrite(D0,LOW);
delay(1000);
}

La fuente anterior se utiliza para probar el interruptor Mosfet.

Paso 5: Configure el sensor de color Grove

Directly connected to the grove multi-functional port (left side) of Wio terminal.

Primero, necesitamos configurar el TCS3472 para la Terminal Wio

Paso 5.1: Descargue e instale las bibliotecas de Arduino

abra Administrar bibliotecas en Arduino IDE desde Sketch -> Incluir biblioteca -> Administrar bibliotecas.

IoT de monitoreo de plantas de tomate

Luego busque Adafruit TCS34725 y haga clic en Instalar.

IoT de monitoreo de plantas de tomate

Adafruta TCS34725

#include <Wire.h>
#include «Adafruit_TCS34725.h»

/* Example code for the Adafruit TCS34725 breakout library */

/* Connect SCL    to analog 5
Connect SDA    to analog 4
Connect VDD    to 3.3V DC
Connect GROUND to common ground */

/* Initialise with default values (int time = 2.4ms, gain = 1x) */
// Adafruit_TCS34725 tcs = Adafruit_TCS34725();

/* Initialise with specific int time and gain values */
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_614MS, TCS34725_GAIN_1X);

void setup(void) {
Serial.begin(9600);

if (tcs.begin()) {
Serial.println(«Found sensor»);
} else {
Serial.println(«No TCS34725 found … check your connections»);
while (1);
}

// Now we’re ready to get readings!
}

void loop(void) {
uint16_t r, g, b, c, colorTemp, lux;

tcs.getRawData(&r, &g, &b, &c);
// colorTemp = tcs.calculateColorTemperature(r, g, b);
colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c);
lux = tcs.calculateLux(r, g, b);

Serial.print(«Color Temp: «); Serial.print(colorTemp, DEC); Serial.print(» K – «);
Serial.print(«Lux: «); Serial.print(lux, DEC); Serial.print(» – «);
Serial.print(«R: «); Serial.print(r, DEC); Serial.print(» «);
Serial.print(«G: «); Serial.print(g, DEC); Serial.print(» «);
Serial.print(«B: «); Serial.print(b, DEC); Serial.print(» «);
Serial.print(«C: «); Serial.print(c, DEC); Serial.print(» «);
Serial.println(» «);
}

La fuente anterior se utiliza para probar el sensor de color por separado. recopilado de la biblioteca de ruptura Adafruit TCS34725.

Paso 6: Configure el sensor de pH y salinidad (Opcional)

Se utiliza una sonda de conductividad eléctrica para medir los niveles de salinidad y los niveles de pH del suelo. No pudimos integrar con éxito este sensor (sonda EC) con nuestro sistema.

Construyendo todo el sistema

El diagrama de circuito de nuestro sistema se da a continuación,

IoT de monitoreo de plantas de tomate

Conexión a la nube

La conexión a la nube es muy sencilla. En este proyecto se utiliza la plataforma en la nube thinger.io.

Vídeo breve sobre la creación de dispositivos en la nube (configuración de Thinger.io); consulte la documentación de thinger.io para obtener más información.

Aplicaciones móviles

Las aplicaciones móviles recopilan datos de la nube de thinger.io y los visualizan a través de imágenes y gráficos. Según los datos; las aplicaciones proporcionan una notificación de inserción. La demostración en video muestra todo. He compartido el APK (consulte el repositorio de git y el enlace de descarga). Nota. las aplicaciones no funcionan si el dispositivo no está conectado con la nube de thinger.io. Las aplicaciones usaron mi credencial en la nube para comunicarse con thinger.io. consulte la documentación de thinger.io para obtener más detalles sobre las credenciales.

Hemos desarrollado una aplicación móvil para monitorear la planta de forma remota. Puede descargar las aplicaciones móviles (versión de Android) desde aquí. El correo electrónico y la contraseña de inicio de sesión son hackster@gmail.com hackster respectivamente.

IoT de monitoreo de plantas de tomate

IoT de monitoreo de plantas de tomate

Conclusión

Hemos desarrollado un sistema automático de monitoreo de plantas de tomate en azoteas. Se utilizarán varios sensores para capturar parámetros ambientales y del suelo. Se utilizará un microcontrolador para manipular y analizar los datos del sensor. Los sistemas manuales no son muy útiles para el mantenimiento las 24 horas. Los sistemas automáticos son más eficientes y económicamente viables que los manuales.

Plan futuro

Tenemos un plan para implementar un algoritmo (basado en aprendizaje automático) para determinar automáticamente si las propiedades del suelo son adecuadas para las plantas de tomate. Aplicará otro algoritmo ML para la detección temprana de enfermedades en plantas de tomate. También se añadirá una técnica automática para proteger las plantas de tomate de los insectos. Varias investigaciones y trabajos de campo son obligatorios para lograr esos objetivos.


Fuentes:

  1. https://wiki.seeedstudio.com/Wio-Terminal-Getting-Started/
  2. https://www.circuitbasics.com/raspberry-pi-ds18b20-temperature-sensor-tutorial/
  3. https://www.circuitschools.com/interfacing-ds18b20-temperature-sensor-with-arduino-esp8266-esp32/
  4. www.thinger.io

 

Acerca de Mohammad Salah Uddin 12 Artículos
El Dr. Mohammad Salah Uddin es profesor asistente en el Departamento de Ingeniería y Ciencias de la Computación de la Universidad East West de Dhaka, Bangladesh. Antes de esto, trabajó como investigador (Tradr - proyecto europeo) en la Universidad Sapienza de Roma. Después de completar su licenciatura en Ciencias de la Computación e Ingeniería de la East West University en 2012, se unió como profesor en la Central Women’s University, Bangladesh. En octubre de 2013, se matriculó en la Universidad Sapienza de Roma, Italia, para realizar su doctorado. Licenciatura y Ph.D. Licenciado en Robótica en julio de 2017. Su investigación se centra principalmente en Sistema de Robótica Heterogénea, Planificación / Asignación de Tareas para Sistema Multi-Robótica, IoT-Robótica, Sensores y Sistemas, Sistemas Embebidos, Internet de las Cosas, Visión por Computador, etc. Publicó varias investigaciones artículos en conferencias / revistas revisadas por pares de su trabajo de investigación. En 2018, pronunció un discurso en Maker Faire Shenzhen 2018 como orador del foro. Es miembro de la IEEE Robotics and Automation Society y tiene la membresía profesional de IEEE. También tiene algunos otros miembros nacionales e internacionales.

Sé el primero en comentar

Dejá un Comentario

Tu dirección de correo no será publicada.


*