Mise en place d'un LoRa la passerelle peut sembler compliquée, mais ne t'inquiète pas. je vais d'abord expliquer le principe, puis vous montrer comment terminer la configuration d'une passerelle LoRa.
logiciel et matériel de la passerelle LoRa
Le logiciel et le matériel que vous devez préparer dans cet article:
j'ai joué modules LoRa beaucoup récemment, et même fait moi-même une carte de développement LoRa. La communication radio longue portée à faible puissance peut être réalisée grâce à la technologie LoRa, qui est un petit, méthode efficace et simple. Vous pouvez même débloquer plus de fonctionnalités de LoRa: mettre en place un réseau LoRaWAN pouvant être connecté à Internet, permettant aux nœuds mobiles de passer d'une gestion de réseau à l'autre, tout comme votre téléphone mobile, quand tu déménages, il se connectera à différentes tours de signalisation. Donc, cet été, je prévois de créer une passerelle LoRa à faible coût et de l'exécuter sur le réseau MOKO. C'est beaucoup plus simple que je ne le pensais ~
Matériel de passerelle LoRa
La passerelle est un Appareil LoRa connecté à Internet. Il peut surveiller plusieurs canaux LoRa différents et transférer des paquets de données entre le backhaul du réseau (comme MOKO) et le dispositif de nœud terminal. Vous pouvez le considérer comme une tour cellulaire de nœuds de terminaux mobiles à faible puissance.
MOKO a donné quelques options matérielles de passerelle recommandées, et j'ai choisi RAK831 de RAK Wireless pour cette tentative:
RAK831 est une carte concentrateur LoRa qui peut être utilisée avec Raspberry Pi. J'ai directement acheté un tel kit de développement LoRa, qui contient tout le matériel nécessaire à ce projet:
- – Carte concentrateur RAK831 LoRaWAN
- – Framboise Pi 3B (comprend une carte mémoire avec pilote et paramètres MOKO intégrés)
- – Carte adaptateur GPS (connecter RAK831 avec Raspberry Pi)
- – Antenne GPS
- – Antenne fibre de verre (60gain en dB, utilisé pour concevoir de hauts pôles d'antenne)
- – Câble de connexion RG-58 (utilisé pour connecter l'antenne, longueur 5 mètres)
- – Radiateur à panneau concentrateur
Le kit comprend également une carte WisNode, qui est similaire à un terminal Arduino + LoRa; en outre, le kit comprend également une carte LoRa Tracker, mais je n'en ai pas besoin car j'ai fait un nœud LoRa avec GPU.
Configuration de la passerelle LoRa
Parce que beaucoup de logiciels ont été préconfigurés dans la carte mémoire, c'est relativement simple. Ces logiciels seront pré-installés pour l'achat d'appareils. Essentiellement, ces appareils peuvent être utilisés directement après l'achat. Il n'est pas nécessaire de rechercher et de télécharger le logiciel de passerelle lié à ic880a sur GitHub, ni pour activer SPI sur la tarte aux framboises
J'ai suivi les instructions pour définir les informations d'identification WiFi dans /etc/wpa_supplicant/wpa_supplicant.conf.
Prochain, notre travail principal est de connaître la signification de chaque paramètre de la passerelle et de configurer les paramètres. D'abord, nous devons confirmer l'identification de la passerelle, chaque passerelle a son propre identifiant, car il est accessible via l'adresse MAC de l'interface réseau. L'ID de la passerelle peut être obtenu via ce script:
PASSERELLE_ID=$(lien ip afficher eth0 | awk'/éther/ {imprimer $2}’ | awk -F:'{imprimer $1$2$3″FFFE”$4$5$6}'); écho ${GATEWAY_ID^^}
La configuration de la passerelle est un peu déroutante. d'abord, le fichier de configuration de la passerelle est un fichier de configuration générale. Le fichier de configuration générale convient à tous les paramètres de passerelle, puis les paramètres du fichier de configuration de régions spécifiques. Parce que le spectre de communication Lora de différents pays peut être différent, les paramètres du fichier de configuration de toutes les régions caractéristiques peuvent être différents. J'habite en Chine, et les fichiers de configuration de toutes les passerelles Lora que j'ai utilisées dans le test sont les fichiers de configuration globaux de la Chine. GitHub a des fichiers de configuration pour différentes régions, ce qui est très pratique pour les développeurs de télécharger les fichiers de configuration requis.
Le gateway_conf vers la fin est une partie importante. Il s'agit des informations de routeur correctes pour votre région. Ce fichier entrera dans l'emplacement de /opt/moko-gateway/bin.
L'horloge de synchronisation dans le GPS est très importante pour le travail de la passerelle. La passerelle Lora peut juger de la position de l'objet cible et doit s'appuyer sur le GPS pour envoyer un signal de synchronisation. L'activation du GPS dans le fichier est un travail très important. Nous devons configurer la passerelle dans le fichier de configuration de la passerelle Lora_ Le code suivant est ajouté à conf, ce qui est très important pour le travail de Lora:
{
“passerelle_conf”: {
…
“GPS”: vrai,
“gps_tty_path”: “/dev/ttyAMA0”,
“faux_gps”: faux,
…
}
}
Les informations spécifiques de la passerelle seront enregistrées dans ce fichier /opt/moko-gateway/bin/local_config.json. Ici, vous pouvez utiliser les informations clés dans global_config.json et votre gateway_ID, informations de localisation sur l'emplacement de la passerelle, et coordonnées.
c'est à moi:
{
“passerelle_conf”: {
“ID_passerelle”: “MFP254862KEF1034”,
“réf_latitude”: 22.24851,
“réf_longitude”: 114.06611,
“réf_altitude”: 114,
“Email du contact”: “[email protected]”,
“la description”: “conception mokolora passerelle lora lw0003”,
“les serveurs”: [
{
“adresse du serveur”: “router.us.mokolora.network”,
“serv_port_up”: 433,
“serv_port_down”:433,
“serv_enabled”: vrai
}
]
}
}
Les informations spécifiques de la passerelle seront enregistrées dans ce fichier /opt/moko-gateway/bin/local_config.json. Ici, vous pouvez utiliser les informations clés dans global_config.json et votre gateway_ID, informations de localisation sur l'emplacement de la passerelle, et coordonnées.
c'est à moi:
{
“passerelle_conf”: {
“ID_passerelle”: “MFP254862KEF1034”,
“réf_latitude”: 22.24851,
“réf_longitude”: 114.06611,
“réf_altitude”: 114,
“Email du contact”: “[email protected]”,
“la description”: “conception mokolora passerelle lora lw0003”,
“les serveurs”: [
{
“adresse du serveur”: “router.us.mokolora.network”,
“serv_port_up”: 433,
“serv_port_down”:433,
“serv_enabled”: vrai
}
]
}
}
Au démarrage de la passerelle Lora, la passerelle Lora appellera en même temps local_ informations Config.json et global_ informations de configuration de config.json.
La configuration de la passerelle Lora peut être synchronisée avec le fichier GitHub. On peut suivre le fichier de configuration de la nouvelle passerelle Lora en temps réel grâce aux informations de synchronisation de GitHub. L'opération est très pratique. Le chemin de collecte des fichiers de configuration de la passerelle Lora est [passerelle de configuration à distance du référentiel GitHub] (Moko zh / configuration à distance de la passerelle). Chaque fois que le centre de passerelle démarre correctement, il lira le message sur le fichier GitHub, juger si le fichier de configuration est mis à jour, et téléchargez le dernier fichier de configuration s'il est mis à jour. S'il peut trouver le fichier pertinent pour votre passerelle, il supprimera le fichier local_config.json et créera un lien symbolique pour cloner le fichier dans l'entrepôt de bin/local_config.json vers le Raspberry Pi!
Si tu veux faire ça, veuillez désassembler le rapport de configuration à distance de la passerelle sur GitHub, soumettez votre propre fichier de configuration local au rapport de fourche nommé d'après votre GatewayID (par exemple, MFP254862KEF1034.json), puis soumettez le pull au référentiel principal, demandez. Après une période de temps, la demande que vous soumettez à l'entrepôt est acceptée, le fichier de configuration local est fusionné avec le fichier sur GitHub, et le fichier de configuration sur GitHub est modifié. Lorsque la passerelle Lora est redémarrée, la passerelle Lora va télécharger le nouveau fichier de configuration, et le nouveau fichier de configuration prendra effet. Ma configuration finale est /opt/moko-gateway/bin/local_config.json, qui est connecté à GitHub [mon fichier de configuration dans GitHub](https://www.github.com/moko-zh/gateway-remote-config/ blob/master/MFP254862KEF1034.json) relier.
La section gateway_conf dans global_config.json ne contient que les éléments suivants:
{
“passerelle_conf”: {
“GPS”: vrai,
“gps_tty_path”: “/dev/ttyAMA0”,
“faux_gps”: faux
}
}
Enregistrer la passerelle sur TTN.
Tu dois apprendre [Instructions d'inscription](https://www..thethingsnetwork.org/docs/gateways/registration.html) pour enregistrer votre passerelle sur TTN. c'est très simple.
Boîtier et antenne
J'ai installé la passerelle dans un boitier étanche avec alimentation 5V, Antenne LoRa et antenne GPS. Le temps d'été n'est pas trop chaud, et je verrai bientôt comment cette passerelle se comporte en hiver au Minnesota. J'espère que la chaleur générée par le Raspberry Pi dans le boîtier fermé peut empêcher le matériel de geler, mais je ne sais pas si cela fonctionnera! (Mettre à jour: Le Raspberry Pi n'a aucun problème même à moins 28 degrés Fahrenheit (-33 degré Celsius)!!!)
Le dispositif d'antenne est un tube en plastique ordinaire. J'utilise un long câble concentrateur pour le connecter à l'antenne de la passerelle Lora. Le câble de 5 mètres a une perte de puissance, mais après avoir pris cela en compte, l'antenne peut toujours fournir un gain net. La passerelle Lora a été construite. Cela semble très bien. Ce processus est très intéressant et me permet de mieux comprendre Lora.
J'espère que cet article sur la configuration de la passerelle sera utile à d'autres! LoRa est vraiment une technologie d'apprentissage passionnante.