Construire une passerelle LoRa avec le module RAK831 sur Raspberry Pi 3 – Guide pas à pas
Introduction
Ce guide détaille chaque étape pour mettre en service un module passerelle LoRa RAK831 sur un Raspberry Pi 3 en utilisant le Wi‑Fi comme backhaul. Il s'adresse aux développeurs souhaitant créer leur propre passerelle LoRa, avec une connaissance de base de l'écosystème Raspberry Pi, ses broches GPIO et l'OS Debian qui l'accompagne.
Qu'est‑ce que LoRa ?
LoRa (Long Range) est la technologie de l'alliance LoRa Alliance™ qui alimente LoRaWAN™ — une spécification de réseau étendu à faible consommation (LPWAN) pour objets IoT alimentés sur batterie, à l'échelle régionale, nationale ou mondiale. LoRaWAN offre une communication bidirectionnelle sécurisée, la mobilité et des services de localisation répondant aux besoins fondamentaux de l'IoT moderne.
Le schéma ci‑dessus illustre les composants clés d'un réseau LoRa. Voici les aspects les plus importants :
Caractéristiques clés de LoRa et du protocole LoRaWAN
- Géolocalisation : suivi mobile sans GPS, à très faible consommation.
- Faible coût : réduit infrastructure, exploitation et coûts des capteurs.
- Standardisé : interopérabilité mondiale accélérant l'adoption.
- Très faible consommation : conçu pour des batteries durant jusqu'à 20 ans.
- Longue portée : une station de base couvre jusqu'à 50 km en zone rurale et pénètre les environnements urbains denses et intérieurs.
- Sécurisé : chiffrement AES‑128 natif de bout en bout.
- Haute capacité : supporte des millions de messages par station, idéal pour opérateurs de réseaux publics.
Le RAK831 est un frontend radio LoRa. Il reçoit les paquets LoRa entrants et les transmet à un système hôte — ici un Raspberry Pi 3 — qui peut aussi commander l'émission. Dans ce tutoriel, le Pi fait office de carte hôte pilotant le RAK831.
Choix du backhaul
Le backhaul désigne la connexion Internet reliant votre Raspberry Pi au réseau au sens large. Ce guide se concentre sur le Wi‑Fi, mais l'Ethernet ou la 3G/4G sont possibles. Si un port Ethernet est disponible, il est préférable car il élimine le signal radio additionnel dans le boîtier, source de bruit. En environnement bruyant, le logiciel peut compenser, mais un lien plus propre améliore toujours la fiabilité. Pour le Wi‑Fi, utilisez un dongle avec antenne externe et placez l'antenne hors du boîtier.
Montage matériel
Avant d'alimenter quoi que ce soit, configurez le Raspberry Pi et le RAK831 comme suit :
Raspberry Pi
- Procurez‑vous un Raspberry Pi 3 et flashez une carte microSD 8 Go avec Raspberry Pi OS (anciennement Raspbian). Des cartes « Noobs » préchargées existent, ou suivez ce guide pour flasher l'OS.
- Connectez une alimentation 5 V / 2 A. Le RAK831 peut tirer jusqu'à 700 mA en crête d'émission, une alimentation robuste est donc essentielle.
RAK831
- Fixez l'antenne fournie sur le bornier à vis — cette étape est obligatoire.
Détails de câblage
Le tableau ci‑dessous montre comment câbler le RAK831 sur le Raspberry Pi 3. Pour le pinout du Pi, consultez cette documentation.
Notes
- La broche de reset peut être reliée à n'importe quel GPIO disponible.
- Vérifiez les broches d'alimentation pour ne pas endommager le RAK831.
Activer l'interface SPI
L'interface SPI est désactivée par défaut. Activez‑la via :
- Lancez
sudo raspi-config. - Allez dans
Advanced Options → SPIet choisissezYespour activer SPI et charger le module noyau. - Terminez et redémarrez.
Après redémarrage, vérifiez l'interface :
> ls /dev/*spi* /dev/spidev0.0 /dev/spidev0.1
Ce sont les périphériques SPI pour les broches chip‑enable 0 et 1.
Options d'alimentation
Les modules radio tirant souvent plus de courant que les broches d'alimentation du Pi ne peuvent en fournir, deux options s'offrent à vous :
- Utiliser le rail 5 V du Pi pour alimenter les deux appareils.
- Fournir des rails 5 V séparés pour le Pi et le RAK831.
Installation logicielle
Sur le Raspberry Pi, effectuez les étapes suivantes :
- Activez SPI (comme décrit) et étendez le système de fichiers (
Advanced options → Expand filesystem). - Mettez à jour le système et installez
git:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
- Configurez le Wi‑Fi en éditant
/etc/wpa_supplicant/wpa_supplicant.conf:
network={
ssid="Le_SSID_de_votre_wifi"
psk="Votre_mot_de_passe_wifi"
}
- Clonez l'installateur et lancez‑le sur la branche
spi:
git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway
cd ~/ic880a-gateway
sudo ./install.sh spi
- Pendant l'installation, activez la configuration à distance si souhaité. Le script affichera l'EUI de la passerelle — notez‑le pour la suite.
Si vous avez opté pour la configuration à distance, créez un fichier JSON nommé d'après l'EUI de votre passerelle (ex. B827EBFFFE7B80CD.json) dans le dépôt gateway‑remote‑config. Forkez le dépôt, ajoutez votre fichier, commitez et soumettez une pull request. Exemple de configuration :
{
"gateway_conf": {
"gateway_ID": "votre_EUI_gateway_ici",
"servers": [
{
"server_address": "votre_adresse_router_ici",
"serv_port_up": 1700,
"serv_port_down": 1700,
"serv_enabled": true
}
],
"ref_latitude": votre_latitude,
"ref_longitude": votre_longitude,
"ref_altitude": 40,
"contact_email": "votre_email@example.com",
"description": "brève description"
}
}
Pour la liste des adresses de serveurs valides, voir le wiki The Things Network.
Par défaut, l'installateur change le hostname du Pi en ttn-gateway pour éviter les collisions. Vous pouvez le personnaliser. Après installation, redémarrez la passerelle le lendemain pour assurer le téléchargement correct du fichier JSON.
Ajustez global_config.json si besoin. Pour les déploiements US, éditez le fichier à US‑global_conf.json. Si vous préférez le forwarder mp_pkt_fwd, suivez les instructions à ce dépôt et copiez le global_conf.json mis à jour dans le dossier bin après compilation.
Entités configurables dans global_conf.json
Après installation, le fichier ./bin/global_conf.json contient plusieurs sections à ajuster :
- Réglages radio (
radio_0ouradio_1) – modifiez laFrequencyet les paramètres de balayage min/max. - Identité de la passerelle – mettez à jour
gateway_IDou l'EUI. - Ports serveur – modifiez
serv_port_upetserv_port_downavec l'adresse du serveur.
Une fois ces étapes terminées, votre passerelle LoRa RAK831 devrait être pleinement opérationnelle, prête à émettre et recevoir des données via le backhaul choisi.
Processus de fabrication
- Surveiller efficacement les températures de salle avec Raspberry Pi et Nagios
- Centre Énergie Domestique : Surveillance panneaux solaires PV, thermiques et températures pièces avec Raspberry Pi et Moteino
- Intégration de données de capteurs sur Raspberry Pi : Guide pratique complet
- Construire un contrôleur domotique 433 MHz avec Sensorflare et Raspberry Pi
- Suivi de visage Pan/Tilt temps réel sur Raspberry Pi – Guide pratique
- Construire un système aéroponique automatisé avec Raspberry Pi et capteur d'humidité
- Intégrer le radar pulsé Acconeer A111 à un Raspberry Pi : Guide pratique
- Démarrage avec TJBot : Construire, Configurer et Contrôler par la Voix Votre Propre Robot IA
- NanoPi K1 Plus à 35 $ : Un SBC de Type Raspberry Pi avec 2 Go RAM, CPU Allwinner H5, HDMI, Gigabit Ethernet — Idéal pour Bornes, Centres Média et Projets DIY