Skip to content

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 :

RADDXA rockpi S0
Carte RADDXA rockpi S0

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