🛠 LoRa point à point sans réseau (dumb modem)

Arduino MKR WAN 1310 · intermediaire · Schéma : IMG-mkr-wan-1310-intermediaire-2-mkrwan1310-lora-point-a-point.svg — Deux MKR WAN 1310 échangeant des paquets LoRa en mode direct, ondes radio entre les antennes, aucun routeur ni passerelle au centre.

Objectifs

Utiliser le module Murata en « modem bête » : sortie du firmware AT LoRaWAN et pilotage direct du SX1276 sur SPI1, sans passerelle ni serveur. Deux cartes s'échangent des messages en LoRa pur. Nécessite la bibliothèque arduino-LoRa ≥ 0.5.0, qui connaît le brochage MKR WAN 1300/1310 (CS = LORA_IRQ_DUMB sur SPI1).

Matériel

Code complet

// ===== EMETTEUR =====
#include <SPI.h>
#include <LoRa.h>

int compteur = 0;
void setup {
  Serial.begin(9600);
  while (!Serial);
  // arduino-LoRa >= 0.5.0 redémarre le module Murata en mode bête lui-même
  if (!LoRa.begin(868E6)) {          // 868E6 (UE), 915E6 (US), 433E6
    Serial.println("Demarrage LoRa impossible");
    while (1);
  }
  Serial.println("LoRa emetteur pret");
}
void loop {
  LoRa.beginPacket;
  LoRa.print("bonjour ");
  LoRa.print(compteur++);
  LoRa.endPacket;                  // pas d'ACK en mode brut
  delay(5000);
}

// ===== RECEPTEUR (autre carte) =====
// même setup ; dans loop :
// int taille = LoRa.parsePacket;
// if (taille) { while (LoRa.available)
//   Serial.write(LoRa.read); Serial.println; }

Vérification attendue

L'émetteur incrémente un compteur toutes les 5 s ; le récepteur affiche « bonjour N » avec un décalage d'au plus un paquet. La portée dépasse largement le Wi-Fi : quelques km en ville, 16+ km en vue directe selon la documentation LoRa.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels