Utilisation du Heltec WiFi LoRa 32 V3 pour transmettre la température avec un DHT22 sur 1,4 km.

Cette leçon fait partie de: Introduction au WiFi LoRa

Utilisation du Heltec WiFi LoRa 32 V3 pour transmettre la température avec un DHT22 sur 1,4 km.

Dans ce tutoriel, nous allons explorer comment utiliser le module Heltec WiFi LoRa 32 V3 pour transmettre des données de température depuis un capteur DHT22 sur de longues distances, atteignant des portées allant jusqu'à 1,4 kilomètre. Cette capacité est rendue possible grâce à l'utilisation de la technologie LoRa, qui permet une communication à faible consommation d'énergie et longue portée. À la fin de ce guide, vous disposerez d'un système fonctionnel capable d'envoyer des relevés de température sans fil.

Wifi LoRa 32 V3 à l'intérieur de Meshnology N30 RX et TX

Nous commencerons par un aperçu des composants matériels impliqués dans ce projet, y compris le module Heltec WiFi LoRa 32 V3 et le capteur DHT22. Ensuite, nous passerons aux instructions de câblage, où vous apprendrez comment connecter ces composants. Enfin, nous passerons en revue le code nécessaire pour rendre ce système opérationnel. Pour des conseils visuels, veuillez vous référer à la vidéo à divers moments (dans la vidéo à 00:00).

Matériel expliqué

Les principaux composants de ce projet sont le module Heltec WiFi LoRa 32 V3 et le capteur de température et d'humidité DHT22. Le module Heltec est doté d'un microcontrôleur ESP32, qui offre des fonctionnalités Wi-Fi et Bluetooth en plus de la communication LoRa. Cela permet des options de transmission de données flexibles.

Wifi LoRa 32 V3 à l'intérieur de Meshnology N30 en tant qu'émetteur de température

Le capteur DHT22 est un capteur numérique qui fournit des mesures précises de température et d'humidité. Il communique avec l'ESP32 par le biais d'une seule broche de sortie numérique, ce qui le rend facile à connecter et à utiliser dans vos projets. Ensemble, ces composants forment un système robuste pour la surveillance sans fil de la température.

Détails de la fiche technique

Fabricant Heltec Automation
Numéro de pièce WiFi LoRa 32 V3
Tension logique/IO 3,3 V
Tension d'alimentation 3,7-4,2 V
Courant de sortie (par canal) ~1 A
Courant de crête (par canal) ~2 A
Directives sur la fréquence PWM 1 kHz (typ.)
Seuils logiques d'entrée 0,7 V (haut), 0,3 V (bas)
Chute de tension / RDS(on)/ saturation 0,3 V (max)
Limites thermiques 85 °C (max)
Emballage module PCB
Remarques / variantes Différentes options de fréquence disponibles (par exemple, 433 MHz, 868 MHz, 915 MHz)

  • Assurez-vous d'alimenter le DHT22 avec 3,3 V, pas 5 V.
  • Utilisez des niveaux logiques appropriés pour la communication entre l'ESP32 et le DHT22.
  • Considérez le dissipateur de chaleur si vous fonctionnez à des courants élevés pendant de longues périodes.
  • Vérifiez la connexion de l'antenne pour LoRa afin de maximiser la portée.
  • Soyez conscient des réglementations sur la fréquence LoRa dans votre région.

Instructions de câblage

Heltec_WiFi_loRa_32V3_DHT22_wiring

Pour câbler le Heltec WiFi LoRa 32 V3 avec le capteur DHT22, commencez par connecter la broche VCC du capteur à la broche 3.3V du module Heltec. Ensuite, connectez la broche GND du DHT22 à l'une des broches GND sur le Heltec. La broche de données du DHT22 doit être connectée à la broche GPIO 3 sur le Heltec.

Assurez-vous d'utiliser une résistance de tirage (environ 10kΩ) entre la broche de données et VCC pour des lectures stables. De plus, assurez-vous que l'antenne LoRa est correctement connectée pour améliorer la portée de transmission. Si vous utilisez une alimentation externe, assurez-vous que le module Heltec est alimenté correctement pour éviter tout problème de fonctionnement.

Installation des cartes Heltec ESP32

Ajoutez ce chemin dans les préférences de votre Arduino IDE comme montré dans la vidéo :https://resource.heltec.cn/download/package_heltec_esp32_index.json

Exemples de code et guide étape par étape

Les extraits de code suivants illustrent comment configurer le module Heltec pour lire les données de température du capteur DHT22 et les transmettre via LoRa. Le code initialise l'affichage et configure le capteur 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
}

Dans cet extrait, nous définissons la broche à laquelle le capteur DHT22 est connecté et l'initialisons dans lesetup()function. LeSerial.begin(115200)la ligne est destinée à la sortie de débogage.

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
}

Cet extrait montre comment lire les données de température dans leloop()fonction. LesendData()la fonction est appelée pour transmettre les relevés de température via 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
}

Ici, nous créons la chaîne de données contenant la température et l'envoyons en utilisant leRadio.Send()méthode. Cela transmettra les données sans fil au module récepteur.

Veuillez vous référer au code complet chargé ci-dessous l'article pour une mise en œuvre détaillée.

Démonstration / À quoi s'attendre

Une fois que tout est configuré et que le code est téléchargé sur le module Heltec, vous devriez voir les relevés de température affichés sur l'écran OLED. Le système transmettra les données de température, qui peuvent être reçues par un autre module Heltec configuré pour lire les données. Vous pouvez tester la portée en éloignant le récepteur de l'émetteur, confirmant ainsi la distance maximale atteinte (dans la vidéo à 1:30).

Faites attention aux pièges courants tels qu'un câblage incorrect, une alimentation insuffisante ou l'utilisation d'une mauvaise fréquence LoRa. Assurez-vous que le DHT22 fonctionne correctement et que l'antenne est connectée pour maximiser la portée.

Horodatages vidéo

  • 00:00 Début
  • 3:51 Caractéristiques
  • 8:32 Page de documentation
  • 9:52 Paquet et batterie
  • 12:58 Mise sous tension pour la première fois
  • 16:37 Installation de la bibliothèque
  • 18:19 Code de base du transmetteur
  • 19:43 Code de Base du Récepteur
  • 20:39 Démonstration de l'envoi et de la réception de textes
  • 23:02 code de démonstration OLED
  • 24:06 Texte de base sur le code d'affichage OLED
  • 26:26 Texte de base sur la démo OLED
  • 26:58 Lecture de la température avec DHT22
  • 28:49 Température et affichage du transmetteur LoRa
  • 30:07 Température et affichage du récepteur LoRa
  • 32:13 Déclenchement de la LED lorsque la température augmente
  • 22:26 Test de portée de transmission LoRa
  • 35:01 dBm et Milli Watt

Images

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

Common Course Files

Fichiers📁

Autres fichiers