Allumez un appareil à 21 km (13 miles) de distance - Le projet LoRa hors réseau ultime avec WiFi LoRa 32 !

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

Allumez un appareil à 21 km (13 miles) de distance - Le projet LoRa hors réseau ultime avec WiFi LoRa 32 !

Imagine pouvoir changer unventilateur, chauffage, verrou de porte ou système à distancede haut en bas21 kilomètres (13 miles)éloigné complètementhors réseau,sans Wi-Fi, etsans carte SIMDans ce didacticiel, vous apprendrez comment construire un contrôleur de relais sans fil longue portée sécurisé en utilisantHeltec WiFi LoRa 32 V3modules et leRobojax_HeltecLoRa32bibliothèque. Ce projet permet une communication LoRa chiffrée pour déclencher en toute sécurité des relais sur de grandes distances.

Aperçu du projet

Ce système se compose de deux cartes LoRa32 :

  • Émetteur (TX)Un bouton-poussoir déclenche un commandement chiffré ("ON" ou "OFF") via LoRa.

  • Récepteur (RX)Écoute et déchiffre la commande, puis contrôle un module de relais connecté à GPIO4 en conséquence.

Vous avez deux versions de code de transmetteur :

  • SimpleS'engage ON lorsque le bouton est maintenu enfoncé, OFF lorsqu'il est relâché.

  • BasculerAlterne l'état à chaque pression.


Installation des cartes Heltec ESP32

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

Bibliothèque requise

Vous devez installer leRobojax_HeltecLoRa32bibliothèque. Téléchargez-le à partir du lien ci-dessous cet article.

Installez cette bibliothèque ZIP via l'IDE Arduino avant de télécharger du code.

Instructions de câblage

Câblage du transmetteur :

  • Bouton utilisateur connecté àGPIO0

  • Optionnel : L'écran OLED utilise les broches par défaut (SCL/SDA)

Câblage du récepteur :

  • Pin de contrôle du relais (ou du buzzer) connecté àGPIO4

  • Module relais 5V alimenté via le 5V et le GND de la carte

Contrôler une charge en utilisant LoRa

Schéma de câblage montrant le récepteur LoRa32 avec relais et charge.

Helte_Wifi_LoRA_buzzer

Schéma de câblage montrant le buzzer LoRa32.

Explication du code TX sécurisé

Dans les deux croquis TX, le chiffrement est activé à l'aide de lasetSecurityKey()méthode de la bibliothèque Robojax. Par exemple :

const char *userKey = "hyhT676#h~_876s";
robojaxDevice.setSecurityKey(userKey);

DansRelay_Secure_TX_Simple.ino, un signal ÉLEVÉ sur GPIO0 envoie "ON", tandis qu'un signal BAS envoie "OFF":

if(digitalRead(0) == HIGH){
  robojaxDevice.sendSecureMessage("ON");
} else {
  robojaxDevice.sendSecureMessage("OFF");
}

DansRelay_Secure_TX_Toggle.ino, chaque pression sur le bouton bascule entre ON et OFF :

if(buttonPressed){
  status = !status;
  String message = status ? "ON" : "OFF";
  robojaxDevice.sendSecureMessage(message);
}

Explication du code de sécurité RX

Le schéma du récepteur utilise la même clé de chiffrement et écoute les messages sécurisés :

robojaxDevice.setSecurityKey("hyhT676#h~_876s");
String message = robojaxDevice.receiveSecureMessage();

Puis contrôle GPIO4 en conséquence :

if(message == "ON"){
  digitalWrite(RELAY_CONTROL_PIN, HIGH);
} else if(message == "OFF"){
  digitalWrite(RELAY_CONTROL_PIN, LOW);
}

L'écran OLED affiche l'état reçu et l'étiquette "RX".

Index des chapitres

  1. [00:00] Introduction au projet et démonstration de la portée

  2. Cas d'utilisation : Ventilateur, Chauffage, Portail, Lumière

  3. [00:20] Matériel utilisé

  4. [00:40] Aperçu du câblage

  5. [01:00] Installation de la bibliothèque Robojax

  6. [01:20] Code TX (Version Simple)

  7. [01:40] Code TX (Version à bascule)

  8. [02:00] Explication du code RX

  9. [02:20] Démonstration en direct

Ce tutoriel propose un moyen robuste et sécurisé de contrôler sans fil des appareils sur de longues distances. Tout le code et la bibliothèque requise sont disponibles sous cet article. Regardez la vidéo complète pour suivre !

Images

Heltec_WiFi_LoRa_32_V3_N35-1-package
Heltec_WiFi_LoRa_32_V3_N35-1-package
Aucun code joint.

Common Course Files

Fichiers📁

Autres fichiers