Utilizzando Heltec WiFi LoRa 32 V3 per trasmettere la temperatura utilizzando DHT22 fino a 1.4km

Questa lezione fa parte di: Introduzione al WiFi LoRa

Utilizzando Heltec WiFi LoRa 32 V3 per trasmettere la temperatura utilizzando DHT22 fino a 1.4km

In questo tutorial, esploreremo come utilizzare il modulo Heltec WiFi LoRa 32 V3 per trasmettere dati di temperatura da un sensore DHT22 su lunghe distanze, raggiungendo intervalli fino a 1,4 chilometri. Questa capacità è resa possibile grazie all'uso della tecnologia LoRa, che consente comunicazioni a bassa potenza e lunga distanza. Alla fine di questa guida, avrai un sistema funzionante in grado di inviare letture di temperatura in modalità wireless.

Wifi LoRa 32 V3 all'interno di Meshnology N30 RX e TX

Inizieremo con una panoramica dei componenti hardware coinvolti in questo progetto, incluso il modulo Heltec WiFi LoRa 32 V3 e il sensore DHT22. Dopo di che, procederemo con le istruzioni di cablaggio, dove imparerai come collegare questi componenti. Infine, esamineremo il codice necessario per rendere operativo questo sistema. Per una guida visiva, ti preghiamo di fare riferimento al video a vari timestamp (nel video a 00:00).

Hardware Spiegato

I componenti principali per questo progetto sono il modulo Heltec WiFi LoRa 32 V3 e il sensore di temperatura e umidità DHT22. Il modulo Heltec è dotato di un microcontrollore ESP32, che offre capacità Wi-Fi e Bluetooth insieme alla comunicazione LoRa. Questo consente opzioni di trasmissione dei dati flessibili.

Wifi LoRa 32 V3 all'interno di Meshnology N30 come trasmettitore di temperatura

Il sensore DHT22 è un sensore digitale che fornisce letture accurate di temperatura e umidità. Comunica con l'ESP32 attraverso un singolo pin di uscita digitale, rendendo facile la connessione e l'uso nei tuoi progetti. Insieme, questi componenti formano un sistema robusto per il monitoraggio della temperatura senza fili.

Dettagli della scheda tecnica

Fabbricante Heltec Automation
Numero di parte WiFi LoRa 32 V3
Tensione logica/IO 3.3 V
Tensione di alimentazione 3,7-4,2 V
Corrente di uscita (per canale) ~1 A
Corrente di picco (per canale) ~2 A
Guida sulla frequenza PWM 1 kHz (tip.)
Soglie logiche di ingresso 0,7 V (alto), 0,3 V (basso)
Caduta di tensione / RDS(on)/ saturazione 0,3 V (max)
Limiti termici 85 °C (max)
Pacchetto Modulo PCB
Note / varianti Varie opzioni di frequenza disponibili (ad es., 433 MHz, 868 MHz, 915 MHz)

  • Assicurati di alimentare il DHT22 con 3,3V, non con 5V.
  • Usa livelli logici appropriati per la comunicazione tra l'ESP32 e il DHT22.
  • Considera il raffreddamento se funzionando a correnti elevate per periodi prolungati.
  • Controlla la connessione dell'antenna per LoRa per massimizzare la portata.
  • Fai attenzione alle normative sulle frequenze LoRa nella tua regione.

Istruzioni di cablaggio

Heltec_WiFi_loRa_32V3_DHT22_wiring

Per collegare il Heltec WiFi LoRa 32 V3 con il sensore DHT22, inizia collegando il pin VCC del sensore al pin 3.3V del modulo Heltec. Successivamente, collega il pin GND del DHT22 a uno dei pin GND sul Heltec. Il pin dati del DHT22 dovrebbe essere collegato al pin GPIO 3 sul Heltec.

Assicurati di utilizzare una resistenza di pull-up (circa 10kΩ) tra il pin dei dati e VCC per letture stabili. Inoltre, assicurati che l'antenna LoRa sia collegata in modo sicuro per migliorare la gamma di trasmissione. Se stai utilizzando alimentazione esterna, assicurati che il modulo Heltec sia alimentato correttamente per evitare problemi operativi.

Installazione delle schede Heltec ESP32

Aggiungi questo percorso nelle preferenze del tuo Arduino IDE come mostrato nel video:https://resource.heltec.cn/download/package_heltec_esp32_index.json

Esempi di Codice e Guida passo-passo

I seguenti frammenti di codice illustrano come configurare il modulo Heltec per leggere i dati di temperatura dal sensore DHT22 e trasmetterli tramite LoRa. Il codice inizializza il display e configura il sensore 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
}

In questo frammento, definiamo il pin a cui è collegato il sensore DHT22 e lo inizializziamo nelsetup()funzione. IlSerial.begin(115200)la linea è per l'output di debug.

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
}

Questo estratto mostra come leggere i dati di temperatura nelloop()funzione. LasendData()viene chiamata la funzione per trasmettere le letture di temperatura tramite 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
}

Qui creiamo la stringa di dati contenente la temperatura e la inviamo usando ilRadio.Send()metodo. Questo trasmetterà i dati in modalità wireless al modulo ricevente.

Si prega di fare riferimento al codice completo caricato sotto l'articolo per un'implementazione dettagliata.

Dimostrazione / Cosa Aspettarsi

Una volta che tutto è configurato e il codice è caricato sul modulo Heltec, dovresti vedere le letture della temperatura visualizzate sullo schermo OLED. Il sistema trasmetterà i dati sulla temperatura, che possono essere ricevuti da un altro modulo Heltec configurato per leggere i dati. Puoi testare la portata spostando il ricevitore più lontano dal trasmettitore, confermando la distanza massima raggiunta (nel video a 1:30).

Fai attenzione ai comuni errori come cablaggi errati, alimentazione insufficiente o utilizzo della frequenza LoRa sbagliata. Assicurati che il DHT22 funzioni correttamente e che l'antenna sia collegata per massimizzare la portata.

Timestamp video

  • 00:00 Inizio
  • 3:51 Specifiche
  • 8:32 Pagina di documentazione
  • 9:52 Pacco e batteria
  • 12:58 Accendendolo per la prima volta
  • 16:37 Installazione della libreria
  • 18:19 Codice base del trasmettitore
  • 19:43 Codice di Base del Ricevitore
  • 20:39 Dimostrazione dell'invio e ricezione di testo
  • 23:02 codice demo OLED
  • 24:06 Testo di base sul codice del display OLED
  • 26:26 Testo base sulla demo OLED
  • 26:58 Lettura della temperatura con DHT22
  • 28:49 Temperatura e visualizzazione del trasmettitore LoRa
  • 30:07 Temperatura e visualizzazione del ricevitore LoRa
  • 32:13 Attivazione del LED quando la temperatura aumenta
  • 22:26 Test di Portata della Trasmissione LoRa
  • 35:01 dBm e Milli Watt

Immagini

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
Lingua: C++
773-Transmitter Code for Heltec WiFi LoRa 32 V3 to send temperature using DHT11, DHT22
Lingua: C++
867-Receiver Code for Heltec WiFi LoRa 32 to receive and display Temperature
Lingua: C++
Copia!

Common Course Files

File📁

Altri file