J'essaie de construire un réseau LoRaWan en utilisant un capteur programmable avec Arduino et un bouclier Dragino Lora .
J'ai trouvé de nombreuses solutions pour créer une passerelle, y compris un Raspberry Pi connecté à un autre Dragino Lora Shield ou à iC880A , et les données que je recevrai seront envoyées sur un serveur dans le cloud. Je suis très confus quant à la programmation de la passerelle.
- Dois-je lui dire de se connecter au nœud et au serveur? Ou reçoit-il automatiquement les données?
- Et puis-je programmer le serveur pour qu'il se connecte à la passerelle ou directement aux nœuds?
networking
lora
Mohamed Achref Dridi
la source
la source
Réponses:
Dans un réseau LoRaWAN typique, les passerelles sont des appareils stupides, comme l'explique la LoRa Alliance :
Ainsi, une passerelle doit uniquement être configurée pour se connecter à un serveur réseau, tel que le réseau The Things Network ouvert . C'est tout.
Les passerelles sont souvent appelées "redirecteurs de paquets". En tant que telles, les passerelles font exactement cela: elles transfèrent tous les paquets LoRaWAN reçus à un serveur réseau (quel que soit le nœud qui les a envoyées), et elles transmettent tout ce qui est commandé par le serveur réseau. Par conséquent, les nœuds (terminaux) ne se connectent pas à une passerelle ; au lieu de cela, ils transmettent simplement et espèrent qu'une ou plusieurs passerelles reçoivent leur transmission et la transmettent au serveur de réseau qui connaît le nœud. (Les passerelles ne peuvent pas lire les données chiffrées qu'elles transfèrent.)
Pour connecter des nœuds au réseau, ils sont "activés" en utilisant l'une des deux options :
Activation en direct (OTAA)
Tout d'abord, à l'aide d'un site Web ou d'une API, chaque nouveau nœud est enregistré sur le serveur réseau à l'aide de son appareil unique EUI (
DevEUI
). Il obtient ensuite un identifiant d'application publique (AppEUI
) et une clé d'application secrète (AppKey
). Ces trois valeurs sont programmées dans le nœud.Ensuite, lorsque vous êtes prêt à envoyer pour la première fois, les valeurs sont utilisées par le nœud pour créer et transmettre une demande de jointure LoRaWAN. Si une telle demande est reçue par une ou plusieurs passerelles, elle est transmise au serveur de réseau qui, s'il est approuvé, indiquera à une passerelle de transmettre une acceptation de jointure. S'il est reçu par le nœud, cela donne au nœud une adresse de périphérique public (
DevAddr
), une clé de session réseau secrète (NwkSKey
) et une clé de session d'application secrète (AppSKey
).Les valeurs déterminées à partir de la jointure acceptée sont utilisées chaque fois que le nœud a besoin de transmettre des données réelles (avec un compteur de sécurité qui commence à zéro à chaque jointure). L'activation est valide tant que le nœud le garde en mémoire (et que les compteurs de sécurité n'ont pas été épuisés), généralement pendant plusieurs mois, voire des années. En cas de perte, un nœud peut envoyer une nouvelle demande de jointure et obtenir de nouveaux secrets.
Activation par personnalisation (ABP)
Ici, lors de l'enregistrement à l'aide d'un site Web ou d'une API, le nœud reçoit immédiatement une adresse d'appareil (
DevAddr
), une clé de session réseau secrète (NwkSKey
) et une clé de session d'application secrète (AppSKey
), qui sont programmées dans le nœud et ne changent jamais. Le nœud n'a pas besoin d'envoyer d'abord une demande de jointure avant de pouvoir commencer à envoyer des données, mais il faut veiller à ce que les compteurs de sécurité ne soient pas perdus. De plus, les clés sont spécifiques à un réseau donné; APB rend difficile (voire impossible) le déplacement des nœuds vers un autre fournisseur de réseau.la source
La réponse d'Arjan est bonne. Technique. Je voulais fournir une réponse de saveur différente pour aider ceux qui sont nouveaux et qui ont du mal à rassembler l'image en ce qui concerne les passerelles et la façon dont les paquets se déplacent d'avant en arrière.
Analogie...
La lettre / le paquet a une adresse. Le facteur / passerelle récupère la lettre dans votre boîte aux lettres ou dans la boîte aux lettres dans laquelle vous avez déposé votre lettre. Elle est gérée jusqu'au destinataire. Si l'adresse est incorrecte, elle n'arrivera pas et vous devriez en être informé. Le destinataire peut vous renvoyer une lettre via le même système.
Que vous utilisiez le réseau The Things Network ou que vous essayiez de créer votre propre serveur privé à l'aide de quelque chose comme LoRaServer, vous aurez besoin d'une passerelle à portée de votre nœud / mote / terminal pour transmettre des messages d'avant en arrière. Considérez les différentes clés dans le code du nœud comme les adresses sur la lettre dans l'analogie.
Vous pouvez déterminer s'il y a déjà une passerelle TTN dans votre région sur leur page de carte et s'il y en a une à portée de votre nœud, vos messages devraient atteindre votre TTN (en supposant que vous avez enregistré et appliqué les clés à votre nœud). S'il n'y a pas de passerelle à portée de main, vous pouvez créer la vôtre. Il existe de nombreuses options pour ce faire.
En ce qui concerne la configuration de la passerelle, selon la bibliothèque que vous choisissez, il vous suffit généralement de configurer certains paramètres dans le code source ou dans un fichier global_conf.json ou local_conf.json.
Voici un exemple de bricolage avec un RFM9X (basé sur SX1276) et un RPI3 B + utilisant single_chan_pkt_fwdqui ne fournira pas de réponses ... gardez à l'esprit que c'est juste pour bricoler / tester. Le transitaire et les exemples global_conf.json ci-dessous ne sont pas plug-n-play et ne doivent pas être utilisés pour une mise en réseau LoRaWan appropriée. Une passerelle conforme dispose de 3 radios et peut traiter plusieurs canaux et envoyer / recevoir en même temps. Cet exemple est juste reçu du nœud sur un seul canal et n'est pas très fiable mais présente une configuration. Chacune des valeurs dépend du matériel que vous utilisez et de l'endroit où vous vous trouvez ... ou de l'emplacement de la passerelle, comme US, EU, etc ... convient à tous. Différentes bibliothèques ont généralement plus d'options de configuration pour plusieurs radios, canaux, etc ... juste pour info.
Disons que vous construisez un nœud avec un périphérique Arduino et du code. Et vous utilisez quelque chose comme la bibliothèque LMIC-Arduino et un exemple d'esquisse. Vous devez d'abord déterminer en fonction du matériel de l'appareil comment configurer le pinmap pour que l'appareil fonctionne même. Ensuite, si vous allez utiliser TTN, vous suivez l'un des nombreux guides pour vous inscrire et obtenir les clés nécessaires que vous mettez dans le code d'esquisse. Vous devez également vous assurer que vous transmettez sur la fréquence appropriée et autres ... pour vous aligner avec la passerelle de votre région.
la source