Forzar un nodo RFM95 solo a 868,1 MHz, para una prueba de banco contra Hermetry LoRaWAN
Traducido del English por IA ·
Estamos montando un banco de pruebas para un registrador de temperatura que queremos desplegar en una cámara fría en nuestra planta de la UE. Hardware: Feather M0 con RFM95W (868), MCCI LMIC 4.1, OTAA, dispositivo registrado en Hermetry con DevEUI/JoinEUI/AppKey.Problema: la única puerta de enlace en mi banco es una placa de un solo canal de un kit de desarrollo (ESP32 + SX1276) que escucha en 868,1 MHz, SF7. Nuestra puerta de enlace oficial sigue en la aduana. El nodo se une quizá una de cada cuatro veces y, después, los uplinks aparecen de forma esporádica en el registro de tramas. Quisiera que el nodo transmitiera solo en 868,1 para poder avanzar con el firmware esta semana.¿Hay una forma limpia en LMIC de fijarlo a una sola frecuencia? He visto que la gente edita lmic_eu868.c. Además, la placa de un solo canal ejecuta un packet forwarder que envía UDP a una dirección de servidor. Introduje la dirección del servidor de red de la página de LoRaWAN y aparece, en cierto modo, pero Hermetry no lista nada como puerta de enlace. ¿Está relacionado?
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?
Traducido del English por IA ·
¿No puedes simplemente hacer LoRa.begin(868.1E6) y listo? Así es como configuré el mío.
Can’t you just do LoRa.begin(868.1E6) and done? That’s how I set mine.
Traducido del English por IA ·
Eso es la biblioteca LoRa normal, Kevin. LMIC implementa LoRaWAN y elige los canales por sí mismo.
That’s the plain LoRa library, Kevin. LMIC does LoRaWAN, it picks channels itself.
Traducido del English por IA ·
¿Qué es una pasarela de un solo canal frente a una normal? ¿Es solo más barata?
What’s a single channel gateway vs a normal one? Is it just cheaper?
Traducido del English por IA ·
Las placas de un solo canal escuchan una frecuencia y un factor de propagación. Una pasarela LoRaWAN real escucha ocho canales y todos los SF a la vez. Los nodos LoRaWAN cambian de canal a propósito, así que una placa de un solo canal solo capta las tramas que caen en su frecuencia.Laura, están ocurriendo dos cosas distintas.Joins: en EU868, las solicitudes de join usan los tres canales por defecto, 868,1, 868,3 y 868,5. Su nodo elige uno de los tres al azar, así que una placa de un solo canal en 868,1 oye aproximadamente un tercio de los joins. Ese es su «uno de cada cuatro». La join accept entrega al nodo cinco canales más (867,1 a 867,9), así que tras unirse salta entre ocho.Puede fijarlo después del join para una prueba de banco. En MCCI LMIC, en el manejador EV_JOINED:
case EV_JOINED:
// solo banco: mantener el canal 0 (868,1), desactivar los demás
for (int ch = 1; ch < 9; ch++) {
LMIC_disableChannel(ch);
}
LMIC_setLinkCheckMode(0);
break;
No edite lmic_eu868.c y no envíe esto al campo. No puede ayudar al join en sí.Sin embargo, la parte UDP es el verdadero bloqueo. Hermetry no admite en absoluto el antiguo packet forwarder UDP; las pasarelas se conectan con Basics Station o como router con licencia. Así que esa placa nunca iba a ser una pasarela en su organización, por eso no aparece en la lista. Lo que vio en el registro de tramas llegó de otro lugar. ¿Hay otra pasarela en el edificio? La nuestra captó tramas de un vecino antes de que añadiéramos la nuestra.Opción de banco que funciona hoy: cualquier pasarela interior económica de 8 canales que ejecute Basics Station. La nuestra costó menos que los sensores de la cámara fría.
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.
Traducido del English por IA ·
usamos la misma configuración de Feather en el hotel; una unidad interior Basics Station de 8 canales costaba aproximadamente lo mismo que dos Feathers
we use the same Feather setup at the hotel, an 8-channel Basics Station indoor unit was about the price of two Feathers
Traducido del English por IA ·
Kstewart tiene razón. Hay una pasarela Basics Station en el laboratorio de QA del piso de arriba, registrada en nuestra organización por el equipo de QA. Esa es la que captó mis tramas «esporádicas», mi placa de desarrollo nunca reenvió ni una. La tomé prestada para el banco, quité la placa de un solo canal y el truco del canal. El join funciona a la primera, los uplinks cada 60 s en los ocho canales. El truco de 868.1 sí funcionó mientras tanto, para que conste.
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.
- Debes estar registrado para responder a este debate.
Únete a la conversación
Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

