Si ce tutoriel vous est utile, pensez à donner une étoile ⭐ en haut à droit.
Cette opération est pour l’administrateur d’une organisation
Loggez-vous sur https://lora.campusiot.imag.fr
Créez au moins un gateway-profile DEFAULT
pour l’organisation.
Deux composants doivent être installés sur une nouvelle gateway.
- Semtech lora-pkt-fwd qui contrôle le concentrateur SX130X de la gateway,
- lora-gateway-bridge qui réalise un pont entre lora-pkt-fwd et le network server.
Une fois ces 2 composants installés, la gateway peut être enregistrée via Menu > Gateways
de l'organisation.
La réglementation ETSI impose que la puissance d'émission d'un équipement ne dépasse pas une limite donnée dans les bandes ISM utilisées : 14 dBm (soit 25 mW) pour les bandes g
et g1
, et 27 dBm (soit 500 mW) pour la bande g3
de la bande ISM eu868
. La limite de puissance d'émission inclut le gain de l'antenne et la perte du cable et des connecteurs. A titre d'exemple, si la gateway est équipée d'une antenne 12 dBi et que les pertes sont de 0.5 dBm, la puissance en sortie du concentrateur ne peut exéder 2 dBm pour les 2 bandes g
et g1
.
Ce travail de limitation est réalisé par le packer forwarder au moyen de la propriété de configuration SX1301_conf.antenna_gain
.
Afin de respecter la réglementation, il est important que le gain de l'antenne soit déterminé afin qu'il soit configuré (par les scripts d'installation) dans les fichiers local_conf.json
ou global_conf.json
. Il faut vous référer à la documentation technique de la gateway ou de l'antenne (on-board or indépendante).
Installez la gateway en suivre son guide.
Remarque: le gain de l'antenne PCB on-board de la Multitech Conduit AP est 2 dBi.
Votre gateway Multitech Conduit AP doit avoir le firmware mLinux et non pas AEP. Plus de détails
Loggez-vous (admin) sur la gateway et exécuter les commandes suivantes pour connaitre le LoRaNote EUI
de la gateway :
cd /tmp
REPO=https://raw.githubusercontent.com/CampusIoT/gateway-config/master
DIST=multitech-mtcap
wget $REPO/$DIST/getinfo.sh -O getinfo.sh
chmod +x getinfo.sh
./getinfo.sh
wget $REPO/$DIST/packages.sh -O packages.sh
chmod +x packages.sh
./packages.sh
Communiquez les informations LoRaNode EUI
et MQTT_USERNAME
retournées par le script getinfo.sh
au sysadmin du serveur CampusIoT (Didier DONSEZ pour le moment).
Récupérez les MQTT_USERNAME
et MQTT_PASSWORD
de la gateway auprès du sysadmin du serveur CampusIoT (Didier DONSEZ pour le moment) en lui communiquant le LoRaNote EUI
.
Loggez-vous (admin) sur la gateway et exécuter les commandes suivantes:
cd /tmp
REPO=https://raw.githubusercontent.com/CampusIoT/gateway-config/master
DIST=multitech-mtcap
wget $REPO/$DIST/install.sh -O install.sh
chmod +x install.sh
./install.sh
./install.sh __MQTT_USERNAME__ __MQTT_PASSWORD__
Il peut être nécessaire de rebooter la passerelle pour que le forwarder fonctionne.
Remarque : Les scripts d'installation sont dans le dépôt https://github.com/CampusIoT/gateway-config/tree/master/multitech-mtcap
Votre gateway Multitech Conduit doit avoir le firmware mLinux et non pas AEP. Plus de détails
Loggez-vous (admin) sur la gateway et exécuter les commandes suivantes:
cd /tmp
REPO=https://raw.githubusercontent.com/CampusIoT/gateway-config/master
DIST=multitech-mtcdt-usb
wget $REPO/$DIST/getinfo.sh -O getinfo.sh
chmod +x getinfo.sh
./getinfo.sh
wget $REPO/$DIST/packages.sh -O packages.sh
chmod +x packages.sh
./packages.sh
Communiquez les informations LoRaNode EUI
et MQTT_USERNAME
retournées par le script getinfo.sh
au sysadmin du serveur CampusIoT (Didier DONSEZ pour le moment).
Récupérez les MQTT_USERNAME
et MQTT_PASSWORD
de la gateway auprès du sysadmin du serveur CampusIoT (Didier DONSEZ pour le moment).
Se logger (admin) sur la gateway et exécuter les commandes suivantes:
MQTT_USERNAME=gw-1234567890abcdef
MQTT_PASSWORD=xXxXxXxXxXxXxXxXxXxXxXxXxXxXxX
ANTENNA_GAIN_DBI=3
cd /tmp
REPO=https://raw.githubusercontent.com/CampusIoT/gateway-config/master
DIST=multitech-mtcdt-usb
wget $REPO/$DIST/install.sh -O install.sh
chmod +x install.sh
./install.sh
./install.sh $MQTT_USERNAME $MQTT_PASSWORD $ANTENNA_GAIN_DBI
Remarque : Les scripts d'installation sont dans le dépôt https://github.com/CampusIoT/gateway-config/tree/master/multitech-mtcdt-usb
Votre gateway Multitech Conduit IP67 doit avoir le firmware mLinux et non pas AEP. Plus de détails TODO
IMPORTANT: Il faut préalablement activer le SPI via l'option "5 Interface Options"
avec sudo /usr/bin/raspi-config
. Il faut ensuite redémarrer la carte pour que le changement soit pris en compte avec sudo reboot
.
Loggez-vous (PI) sur la gateway et exécuter les commandes suivantes:
cd /tmp
REPO=https://raw.githubusercontent.com/CampusIoT/gateway-config/master
DIST=rpi3-ic880a
wget $REPO/$DIST/getinfo.sh -O getinfo.sh
chmod +x getinfo.sh
./getinfo.sh
Communiquez les informations LoRaNode EUI
et MQTT_USERNAME
retournées par le script getinfo.sh
au sysadmin du serveur CampusIoT (Didier DONSEZ pour le moment).
Récupérez les MQTT_USERNAME
et MQTT_PASSWORD
de la gateway auprès du sysadmin du serveur CampusIoT (Didier DONSEZ pour le moment).
Loggez-vous (admin) sur la gateway et exécuter les commandes suivantes:
MQTT_USERNAME=gw-1234567890abcdef
MQTT_PASSWORD=xXxXxXxXxXxXxXxXxXxXxXxXxXxXxX
ANTENNA_GAIN_DBI=2
cd /tmp
REPO=https://raw.githubusercontent.com/CampusIoT/gateway-config/master
DIST=rpi3-ic880a
wget $REPO/$DIST/install.sh -O install.sh
chmod +x install.sh
./install.sh
./install.sh $MQTT_USERNAME $MQTT_PASSWORD $ANTENNA_GAIN_DBI
Remarque : Les scripts d'installation sont dans le dépôt https://github.com/CampusIoT/gateway-config/tree/master/rpi3-ic880a
Loggez-vous (PI) sur la gateway et exécuter les commandes suivantes:
cd /tmp
REPO=https://raw.githubusercontent.com/CampusIoT/gateway-config/master
DIST=rpi3-picocell
wget $REPO/$DIST/getinfo.sh -O getinfo.sh
chmod +x getinfo.sh
./getinfo.sh
Communiquez les informations LoRaNode EUI
et MQTT_USERNAME
retournées par le script getinfo.sh
au sysadmin du serveur CampusIoT (Didier DONSEZ pour le moment).
Récupérez les MQTT_USERNAME
et MQTT_PASSWORD
de la gateway auprès du sysadmin du serveur CampusIoT (Didier DONSEZ pour le moment).
Loggez-vous (admin) sur la gateway et exécuter les commandes suivantes:
MQTT_USERNAME=gw-1234567890abcdef
MQTT_PASSWORD=xXxXxXxXxXxXxXxXxXxXxXxXxXxXxX
ANTENNA_GAIN_DBI=2
cd /tmp
REPO=https://raw.githubusercontent.com/CampusIoT/gateway-config/master
DIST=rpi3-picocell
wget $REPO/$DIST/install.sh -O install.sh
chmod +x install.sh
./install.sh
./install.sh $MQTT_USERNAME $MQTT_PASSWORD $ANTENNA_GAIN_DBI
Remarque : Les scripts d'installation sont dans le dépôt https://github.com/CampusIoT/gateway-config/tree/master/rpi3-picocell
TODO
Remarque: le gain de l'antenne livrée par défaut est 4.5 dBi.
TODO
Remarque: le gain de l'antenne livrée par défaut est 2-3dBi
Remarque : Les scripts d'installation sont dans le dépôt https://github.com/CampusIoT/gateway-config/tree/master/kerlink-ifemtocell
TODO
TODO
TODO
TODO
TODO
Récupérez le programme lopy-nano-gateway
.
git clone https://github.com/CampusIoT/lopy-nano-gateway.git
cd lopy-nano-gateway
Mettez à jour le firmware de votre carte Pycom LoPy/FiPy en utilisant l'application Pycom Firmware Update.
Récupérez les informations de votre carte Pycom LoPy/FiPy via via le plugin Pycom d'Atom.
Modifiez les propriétés WIFI_SSID
et WIFI_PASS
dans le fichier config.py
du répertoire lopy-nano-gateway
.
Chargez les fichiers du répertoire lopy-nano-gateway
sur la carte (via le plugin Pycom d'Atom).
Créez une gateway depuis une application créée (Menu > Gateways
) en utilisant le GWID
(64 bits soit 16 caractères hexadécimaux) fourni. Le GWID
est calculé soit à partir de l’adresse MAC de la carte ethernet (eth0
) de la gateway ou à partir de l’identifiant du composant concentrateur SX130x de la gateway (ie le LoRaNote EUI
). (A noter: une gateway comme la Kerlink iBTS peut avoir plusieurs concentrateurs donc plusieurs LoRaNote EUI
s).
Remarque: le gain de l’antenne ne peut pas être spécifié via le frontend Web.
TODO
Une fois la gateway enregistrée, les frames reçues par la gateway sont visualisables en temps réel depuis l’onglet “Live LoRaWAN Frame
”.
MQTT est le moyen par défaut pour récupérer les messages recus par les gateways.
Le flot de messages envoyés par les devices des applications peut être récupérer via des clients MQTT comme mosquitto_sub (en ligne de commande), mqtt-spy, , HiveMQ Websocket Client, MQTTBox (configuration, souscription) myMQTT pour Android ... Remarque: Des clients (comme mqtt-lens pour Chrome) ne supportent pas MQTT/TLS.
Installez le client MQTT mosquitto_sub
avec
sudo apt-get install -y mosquitto-clients
Remarque: Une alternative à mosquitto-clients est la commande
mqtt
qui s'installe avecsudo npm install mqtt -g; mqtt help subscribe; mqtt help publish
.
Il faut installer dans le répertoire courant le certificat ca.crt
dec l’autorité de certification du broker MQTT avec la commande suivante:
wget https://raw.githubusercontent.com/CampusIoT/campusiot-certs/master/mqtt/ca.crt
Remarque: l'option
--insecure
des commandesmqtt
etmosquitto_sub
permet de se passer du certificat du broker MQTT.
Actuellement, les commandes à utiliser sont:
ORGID=1 # l'id de votre ORGANISATION (ce n’est pas le username de votre compte utilisateur)
BROKER=lora.campusiot.imag.fr
MQTTUSER=org-$ORGID # le username de votre ORGANISATION (ce n’est pas le username de votre compte utilisateur)
MQTTPASSWORD=__SUPER_SECRET_TO_CHANGE__ # le mot de passe de votre ORGANISATION (ce n’est pas le username de votre compte utilisateur)
TLS="--cafile ca.crt -p 8883"
GWEUI=__LE_LoRaNode_EUI_de_la_Gateway__
# Receive Gateway rx
mosquitto_sub -h $BROKER -t "gateway/$GWEUI/rx" -u $MQTTUSER -P $MQTTPASSWORD -v $TLS
Remarque: les 2 commandes wget
et mosquitto_sub
peuvent être lancées depuis un container léger alpine
:
docker run -i -t alpine /bin/sh
/ # apk update && apk add mosquitto-clients && apk add jq
La commande suivante affiche la value hexadécimale du phyPayload
du message:
...
mosquitto_sub -h $BROKER -t "gateway/$GWEUI/rx" -u $MQTTUSER -P $MQTTPASSWORD $TLS | \
while read LINE; do
TIMESTAMP=$(date +%s)
PAYLOADHEX=$(echo $LINE | jq -M '.phyPayload' | base64 -d | xxd -p)
echo "$TIMESTAMP;$LINE;$PAYLOADHEX"
done