Forcer un nœud RFM95 sur 868,1 MHz uniquement, pour un test de banc avec Hermetry LoRaWAN
Traduit de English par IA ·
Nous mettons en place un banc de test pour un enregistreur de température que nous voulons déployer dans une chambre froide sur notre site européen. Matériel : Feather M0 avec RFM95W (868), MCCI LMIC 4.1, OTAA, appareil enregistré dans Hermetry avec DevEUI/JoinEUI/AppKey.Problème : la seule passerelle sur mon banc est une carte mono-canal issue d’un kit de développement (ESP32 + SX1276) qui écoute sur 868,1 MHz, SF7. Notre passerelle officielle est toujours bloquée à la douane. Le nœud se connecte peut-être une fois sur quatre, et ensuite les uplinks n’apparaissent que sporadiquement dans le journal des trames. Je voudrais que le nœud n’émette que sur 868,1 afin de pouvoir avancer sur le firmware cette semaine.Existe-t-il un moyen propre dans LMIC de le figer sur une seule fréquence ? J’ai vu des gens modifier lmic_eu868.c. Par ailleurs, la carte mono-canal exécute un packet forwarder qui envoie de l’UDP vers une adresse de serveur. J’ai saisi l’adresse du serveur de réseau depuis la page LoRaWAN et elle apparaît, en quelque sorte, mais rien dans Hermetry ne la liste comme passerelle. Est-ce lié ?
Setting up a test bench for a temperature logger we want to deploy in a cold room at our EU site. Hardware: Feather M0 with RFM95W (868), MCCI LMIC 4.1, OTAA, device registered in Hermetry with DevEUI/JoinEUI/AppKey.
Problem: the only gateway on my bench is a single-channel board from a dev kit (ESP32 + SX1276) listening on 868.1 MHz, SF7. Our proper gateway is still in customs. The node joins maybe one time in four and after that uplinks show up in the frames log sporadically. I’d like the node to transmit on 868.1 only so I can get on with firmware work this week.
Is there a clean way in LMIC to pin it to one frequency? I’ve seen people edit lmic_eu868.c. Also: the single-channel board runs a packet forwarder that sends UDP to a server address. I typed in the network server address from the LoRaWAN page and it does show up, kind of, but nothing in Hermetry lists it as a gateway. Is that related?
Traduit de English par IA ·
Tu ne peux pas simplement faire LoRa.begin(868.1E6) et c’est réglé ? C’est comme ça que j’ai configuré le mien.
Can’t you just do LoRa.begin(868.1E6) and done? That’s how I set mine.
Traduit de English par IA ·
C’est la bibliothèque LoRa simple, Kevin. LMIC gère LoRaWAN, il choisit lui-même les canaux.
That’s the plain LoRa library, Kevin. LMIC does LoRaWAN, it picks channels itself.
Traduit de English par IA ·
Qu’est-ce qu’une passerelle monocanal par rapport à une passerelle classique ? Est-ce seulement moins cher ?
What’s a single channel gateway vs a normal one? Is it just cheaper?
Traduit de English par IA ·
Les cartes monocanal écoutent une seule fréquence et un seul facteur d’étalement. Une vraie passerelle LoRaWAN écoute huit canaux et tous les SF en même temps. Les nœuds LoRaWAN changent de canal volontairement, donc une carte monocanal ne capte que les trames qui tombent sur sa fréquence.Laura, deux choses distinctes se produisent.Joins : sur EU868, les requêtes de join utilisent les trois canaux par défaut, 868,1, 868,3 et 868,5. Votre nœud en choisit un au hasard, donc une carte monocanal sur 868,1 entend environ un tiers des joins. C’est votre « un sur quatre ». La join accept donne ensuite au nœud cinq canaux supplémentaires (867,1 à 867,9), puis il saute sur huit canaux après le join.Vous pouvez le figer après le join pour un test sur banc. Dans MCCI LMIC, dans le gestionnaire EV_JOINED :
case EV_JOINED:
// banc uniquement : garder le canal 0 (868,1), désactiver les autres
for (int ch = 1; ch < 9; ch++) {
LMIC_disableChannel(ch);
}
LMIC_setLinkCheckMode(0);
break;
Ne modifiez pas lmic_eu868.c et ne livrez pas cela sur le terrain. Cela ne peut rien changer au join lui-même.La partie UDP est en revanche le vrai blocage. Hermetry ne prend pas du tout en charge l’ancien packet forwarder UDP ; les passerelles se connectent avec Basics Station ou en tant que routeur sous licence. Cette carte n’aurait donc jamais pu être une passerelle dans votre organisation, ce qui explique qu’elle ne figure pas dans la liste. Ce que vous avez vu dans le journal des trames venait d’ailleurs. Y a-t-il une autre passerelle dans le bâtiment ? La nôtre a capté les trames d’un voisin avant que nous ajoutions la nôtre.Option de banc qui fonctionne dès aujourd’hui : n’importe quelle passerelle intérieure bon marché à 8 canaux qui exécute Basics Station. La nôtre a coûté moins cher que les capteurs de la chambre froide.
Single-channel boards listen on one frequency and one spreading factor. A real LoRaWAN gateway listens on eight channels and all SFs at once. LoRaWAN nodes hop channels on purpose, so a single-channel board only catches the frames that happen to land on its frequency.
Laura, two separate things are going on.
Joins: on EU868, join requests use the three default channels, 868.1, 868.3 and 868.5. Your node picks one of the three at random, so a single-channel board on 868.1 hears roughly a third of the joins. That’s your « one in four ». The join accept then hands the node five more channels (867.1 to 867.9), so after joining it hops over eight.
You can pin it after the join for a bench test. In MCCI LMIC, in the EV_JOINED handler:
case EV_JOINED:
// bench only: keep channel 0 (868.1), drop the others
for (int ch = 1; ch < 9; ch++) {
LMIC_disableChannel(ch);
}
LMIC_setLinkCheckMode(0);
break;
Don’t edit lmic_eu868.c, and don’t ship this to the field. It can’t help the join itself.
The UDP part is the real blocker though. Hermetry doesn’t support the legacy UDP packet forwarder at all, gateways connect with Basics Station or as a licensed router. So that board was never going to be a gateway in your organisation, which is why it isn’t listed. What you saw in the frames log came from somewhere else. Is there another gateway in the building? Ours picked up a neighbour’s frames before we added our own.
Bench option that works today: any cheap 8-channel indoor gateway that runs Basics Station. Ours cost less than the cold room sensors.
Traduit de English par IA ·
nous utilisons la même configuration Feather à l’hôtel, une passerelle d’intérieur Basics Station à 8 canaux coûtait à peu près le prix de deux Feathers
we use the same Feather setup at the hotel, an 8-channel Basics Station indoor unit was about the price of two Feathers
Traduit de English par IA ·
Kstewart a raison. Il y a une passerelle Basics Station dans le labo QA à l’étage au-dessus, enregistrée dans notre organisation par l’équipe QA. C’est elle qui a capté mes trames « sporadiques », ma carte de développement n’en a jamais transmis une seule. Je l’ai empruntée pour le banc, j’ai retiré la carte mono-canal et l’astuce de canal. Le join passe du premier coup, les uplinks toutes les 60 s sur les huit canaux. L’astuce 868.1 a d’ailleurs fonctionné entre-temps, pour mémoire.
Kstewart got it. There is a Basics Station gateway in the QA lab on the floor above, registered in our org by the QA team. That’s what heard my « sporadic » frames, my dev kit board never forwarded a single one. Borrowed it for the bench, removed the single-channel board, removed the channel hack. Joins first time, uplinks every 60 s on all eight channels. The 868.1 trick did work in between, for the record.
- Vous devez être connecté pour répondre à ce sujet.
Rejoignez la discussion
Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

