Usando Heltec WiFi LoRa 32 V3 para transmitir temperatura utilizando DHT22 hasta 1.4 km

Esta lección es parte de: Introducción a WiFi LoRa

Usando Heltec WiFi LoRa 32 V3 para transmitir temperatura utilizando DHT22 hasta 1.4 km

En este tutorial, exploraremos cómo usar el módulo Heltec WiFi LoRa 32 V3 para transmitir datos de temperatura desde un sensor DHT22 a largas distancias, logrando alcances de hasta 1.4 kilómetros. Esta capacidad es posible gracias al uso de la tecnología LoRa, que permite una comunicación de bajo consumo y largo alcance. Al final de esta guía, tendrás un sistema operativo que puede enviar lecturas de temperatura de forma inalámbrica.

Wifi LoRa 32 V3 dentro de Meshnology N30 RX y TX

Comenzaremos con una visión general de los componentes de hardware involucrados en este proyecto, incluyendo el módulo Heltec WiFi LoRa 32 V3 y el sensor DHT22. Después de eso, procederemos a las instrucciones de cableado, donde aprenderás cómo conectar estos componentes. Por último, recorreremos el código necesario para hacer que este sistema sea operativo. Para orientación visual, consulta el video en varias marcas de tiempo (en video a las 00:00).

Hardware Explicado

Los componentes principales de este proyecto son el módulo Heltec WiFi LoRa 32 V3 y el sensor de temperatura y humedad DHT22. El módulo Heltec cuenta con un microcontrolador ESP32, que proporciona capacidades de Wi-Fi y Bluetooth, además de comunicación LoRa. Esto permite opciones flexibles de transmisión de datos.

Wifi LoRa 32 V3 dentro de Meshnology N30 como transmisor de temperatura

El sensor DHT22 es un sensor digital que proporciona lecturas precisas de temperatura y humedad. Se comunica con el ESP32 a través de un solo pin de salida digital, lo que facilita su conexión y uso en tus proyectos. Juntos, estos componentes forman un sistema robusto para la monitorización inalámbrica de temperatura.

Detalles de la hoja de datos

Fabricante Heltec Automation
Número de pieza WiFi LoRa 32 V3
Voltaje de lógica/entrada/salida 3.3 V
Tensión de suministro 3.7-4.2 V
Corriente de salida (por canal) ~1 A
Corriente pico (por canal) ~2 A
Guía de frecuencia PWM 1 kHz (típ.)
Umbrales de lógica de entrada 0.7 V (alto), 0.3 V (bajo)
Caída de tensión / RDS(on)/ saturación 0.3 V (máx)
Límites térmicos 85 °C (máx)
Paquete módulo PCB
Notas / variantes Opciones de frecuencia disponibles (por ejemplo, 433 MHz, 868 MHz, 915 MHz)

  • Asegúrate de alimentar el DHT22 con 3.3V, no con 5V.
  • Use niveles de lógica apropiados para la comunicación entre el ESP32 y el DHT22.
  • Considere la disipación de calor si está funcionando a corrientes altas durante períodos prolongados.
  • Verifique la conexión de la antena para LoRa para maximizar el alcance.
  • Ten en cuenta las regulaciones de frecuencia de LoRa en tu región.

Instrucciones de cableado

Heltec_WiFi_loRa_32V3_DHT22_wiring

Para conectar el Heltec WiFi LoRa 32 V3 con el sensor DHT22, comienza conectando el pin VCC del sensor al pin de 3.3V en el módulo Heltec. A continuación, conecta el pin GND del DHT22 a uno de los pines GND en el Heltec. El pin de datos del DHT22 debe estar conectado al pin GPIO 3 en el Heltec.

Asegúrate de usar una resistencia de pull-up (alrededor de 10kΩ) entre el pin de datos y VCC para obtener lecturas estables. Además, asegúrate de que la antena LoRa esté conectada de forma segura para mejorar el alcance de transmisión. Si estás utilizando energía externa, asegúrate de que el módulo Heltec esté alimentado correctamente para evitar problemas operativos.

Instalando placas Heltec ESP32

Agrega esta ruta en las preferencias de tu IDE de Arduino como se muestra en el video:https://resource.heltec.cn/download/package_heltec_esp32_index.json

Ejemplos de código y guía paso a paso

Los siguientes fragmentos de código ilustran cómo configurar el módulo Heltec para leer datos de temperatura del sensor DHT22 y transmitirlos a través de LoRa. El código inicializa la pantalla y configura el sensor DHT.

#include 
#define DHTPIN 3         // GPIO pin for DHT22
#define DHTTYPE DHT22    // Define DHT type
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(115200);
  dht.begin(); // Initialize DHT sensor
}

En este fragmento, definimos el pin al que está conectado el sensor DHT22 y lo inicializamos en elsetup()función. ElSerial.begin(115200)la línea es para la salida de depuración.

void loop() {
  float tempC = dht.readTemperature(); // Read temperature in Celsius
  float tempF = dht.convertCtoF(tempC); // Convert to Fahrenheit
  sendData(tempC, tempF); // Function to send temperature data
}

Este extracto muestra cómo leer datos de temperatura en elloop()función. ElsendData()se llama a la función para transmitir las lecturas de temperatura a través de LoRa.

void sendData(float tempC, float tempF) {
  String data = "Temperature: " + String(tempC) + "°C"; // Create data string
  Radio.Send(data.c_str(), data.length()); // Send data
}

Aquí, creamos la cadena de datos que contiene la temperatura y la enviamos usando elRadio.Send()método. Esto transmitirá los datos de forma inalámbrica al módulo receptor.

Por favor, consulta el código completo cargado debajo del artículo para la implementación detallada.

Demostración / Qué Esperar

Una vez que todo esté configurado y el código esté cargado en el módulo Heltec, deberías ver las lecturas de temperatura mostradas en la pantalla OLED. El sistema transmitirá los datos de temperatura, que pueden ser recibidos por otro módulo Heltec configurado para leer los datos. Puedes probar el alcance moviendo el receptor más lejos del transmisor, confirmando la distancia máxima alcanzada (en el video a las 1:30).

Ten cuidado con los errores comunes como el cableado incorrecto, la fuente de alimentación insuficiente o el uso de la frecuencia LoRa equivocada. Asegúrate de que el DHT22 esté funcionando correctamente y de que la antena esté conectada para maximizar el alcance.

Tiempos de video

  • 00:00 Comienzo
  • 3:51 Especificaciones
  • 8:32 Página de documentación
  • 9:52 Paquete y batería
  • 12:58 Encendiéndolo por primera vez
  • 16:37 Instalando la biblioteca
  • 18:19 Código básico del transmisor
  • 19:43 Código Básico del Receptor
  • 20:39 Demostración de envío y recepción de texto
  • 23:02 Código de demostración OLED
  • 24:06 Texto básico sobre el código de pantalla OLED
  • 26:26 Texto básico sobre la demostración de OLED
  • 26:58 Lectura de temperatura con DHT22
  • 28:49 Temperatura del transmisor LoRa y pantalla
  • 30:07 Temperatura y Pantalla del Receptor LoRa
  • 32:13 Activar LED cuando la temperatura aumenta
  • 22:26 Prueba de Rango de Transmisión LoRa
  • 35:01 dBm y miliwatio

Imágenes

Heltec_WiFi_loRa_32V3_DHT22_wiring
Heltec_WiFi_loRa_32V3_DHT22_wiring
Wifi LoRa 32 V3 inside Meshnology N30 as transmitter of Temperature
Wifi LoRa 32 V3 inside Meshnology N30 as transmitter of Temperature
meshnology-N30-LoRa-v3-red-black
meshnology-N30-LoRa-v3-red-black
Wifi LoRa 32 V3 inside Meshnology N30 RX and TX
Wifi LoRa 32 V3 inside Meshnology N30 RX and TX
563-Printing Simple Text on the screen of WiFi LoRa 32 V3
Idioma: C++
773-Transmitter Code for Heltec WiFi LoRa 32 V3 to send temperature using DHT11, DHT22
Idioma: C++
867-Receiver Code for Heltec WiFi LoRa 32 to receive and display Temperature
Idioma: C++
¡Copiado!

Common Course Files

Archivos📁

Otros archivos