Gateway rockpi S0 et carte seedstudio usb
Objectifs
L'objectif de la manip est de réaliser une passerelle LoRaWAN "maison" et multicanal pas trop chère. Nous avons besoin de :
- Une carte RADDXA rockpi S0 comme ci-dessous (c'est équivalent à un Raspberry zéro)
- Une carte seedstudio LoRaWAN version USB USB de seedstudio

Le coût total de la gateway n'excède pas 70 € (mai 2025).
Flashage de la carte avec armbian
Sur la carte RADDXA rockpi S0, nous allons installer le système d'exploitation armbian.
Les instructions du site armbian sont valides, nous installons la version debian de armbian (mai 2025 version bookworm), il faut installer d'abord mkdeveloptool
sur votre machine, les paquets precompiles sont dispos sur la page dédié du site de radxa
Le principe étant de flasher le bootloader (equivalent du bios d'un PC) proposé par armbian, et ensuite de flasher le systeme d'exploitation qui est sous forme d'une image img.
Si vous avez des problemes avec la commande rkdeveloptool
qui renvoie : Creating Comm Object failed!
essayez de desactiver l'USB autosuspend sur votre machine avec la commande suivante :
echo -1 > /sys/module/usbcore/parameters/autosuspend
Attention echo ne marche pas correctement avec sudo , vous devez passer root pour passer cette commande. Le mot de passe root par defaut de armbian est 1234
Installation du lora packet forwarder
sudo apt update ; sudo apt dist-upgrade
sudo apt install git build-essential
git clone https://github.com/Lora-net/sx1302_hal
make clean all
Configuration du packet forwarder pour un usage avec chirpstack gateway bridge
Localiser dans le fichier de configuration la section gateway_conf
. Les lignes à changer concernent la gateway ID, la convention de nommage est la suivante : le code postal plus numero incrémental, un gentil admin vous le donnera.
serv_port_up et serv_port_down sont a changer en 1700
À noter vous pouvez pousser une fausse position gps
"gateway_conf": {
"gateway_ID": "AA555A0000000000",
/* change with default server address/ports */
"server_address": "localhost",
"serv_port_up": 1700,
"serv_port_down": 1700,
/* adjust the following parameters for your network */
"keepalive_interval": 10,
"stat_interval": 30,
"push_timeout_ms": 100,
/* forward only valid packets */
"forward_crc_valid": true,
"forward_crc_error": false,
"forward_crc_disabled": false,
/* GPS configuration */
"gps_tty_path": "/dev/ttyS0",
/* GPS reference coordinates */
"ref_latitude": 0.0,
"ref_longitude": 0.0,
"ref_altitude": 0,
/* Beaconing parameters */
"beacon_period": 0,
"beacon_freq_hz": 869525000,
"beacon_datarate": 9,
"beacon_bw_hz": 125000,
"beacon_power": 14,
"beacon_infodesc": 0
},
Une fois compilé sans erreur, nous allons envoyer les paquets recus par la gateway au "chirpstack gateway bridge" qui va les prendre en UDP et les renvoyer.
Installation du chirpstack gateway bridge
Ce service va prendre les données emises par le packet forwarder localement et les transmettre au serveur MQTT du serveur de réseau loraserver.tetaneutral.net
Nous installons le paquet chirpstack gateway bridge sur le rockpi en suivant l'ajout d'un depôt debian comme mentionné ici : https://www.chirpstack.io/docs/chirpstack-gateway-bridge/downloads.html#debian--ubuntu-repository Puis
sudo apt-install chirpstack-gateway-bridge