Vraag

OTAA downlink werkt niet meer (Arduino, HopeRF RFM95W)

  • 18 July 2017
  • 6 reacties
  • 842 keer bekeken

Tijdens het experimenteren met het KPN LoRa netwerk liep ik tegen een vreemd probleem aan. Code die op 7-7-2017 nog functioneerde werkt nu niet meer. De OTAA join werkt wel, maar downlink berichten komen niet meer aan.

Ik maak gebruik van het KPN LoRa Developer Portal en de volgende hardware en code van The Things Network (aangepast voor KPN netwerk): https://www.thethingsnetwork.org/labs/story/creating-a-ttn-node

Op 7-7-2017 kreeg ik de volgende resultaten (er zitten steeds 12 minuten tussen uplinks):
-----------------------------------------------
Starting
EV_JOINING
EV_JOINED
Sending: AEF7
Data Received: 3
EV_TXCOMPLETE (includes waiting for RX windows)
Sending: AEFC
Data Received: 3
EV_TXCOMPLETE (includes waiting for RX windows)
Sending: AEF9
Data Received: 33
EV_TXCOMPLETE (includes waiting for RX windows)
Sending: AEEE
EV_TXCOMPLETE (includes waiting for RX windows)
Sending: AEFC
Data Received: 34
EV_TXCOMPLETE (includes waiting for RX windows)
Sending: AEFC
EV_TXCOMPLETE (includes waiting for RX windows)
Sending: AEF5
EV_TXCOMPLETE (includes waiting for RX windows)
-----------------------------------------------

Als downlink payload heb ik '33' en '34' gestuurd.
Het vreemde hier is dat ik geen '3' als payload heb gestuurd, terwijl ik die soms wel ontvang. Andere keren ontvang ik ook '5' als downlink payload, terwijl ik dat niet gestuurd heb. Misschien betreft dit hetzelfde probleem als dit topic:
https://zakelijkforum.kpn.com/lora-forum-16/lora-downlink-messages-komen-verkeerd-aan-9460

Vandaag heb ik dezelfde code nogmaals geprobeerd, maar nu ontvang ik helemaal geen downlink berichten meer via OTAA. Downlink via ABP werkt overigens nog wel, echter krijg ik hier ook soms '3' en '5' als payload binnen zonder reden.

Is er iets in de tussentijd veranderd aan het netwerk wat dit kan veroorzaken? Is er een manier waarop ik kan achterhalen waarom ik geen downlink berichten meer via OTAA kan ontvangen?

6 reacties

Reputatie 1
Badge
Are you sure that your device's EUI is really unique? What DevAddr did you get after OTAA?

P.S. Sorry for answering in English.
Reputatie 3
Badge +1
Kijk even of de counter van je device niet op 10 staat. Deze is te zien op het developer portal bij devices. Als dit zo is moet je de counter resetten met de knop op dezelfde pagina.

Om het probleem met de payload op te lossen moet ik een exact voorbeeld hebben
- wat verstuur je precies? In welk formaat string, byte? Het makkelijkste is om dat stukje code te posten denk ik.
- wat voor payload wordt er bij dat bericht ontvangen op het developer portal?
@Jeroen10:
De counter staat niet op 10. Ik verstuur 1 byte, bijvoorbeeld '51' via de 'test downlink' optie in het Developer Portal'. Ik zie dat deze vervolgens bij de debugger in de lijst staan. Zie screenshot in de bijlage.

@hobo:
I've created a DevEUI myself. As far as I know the RFM95W doesn't have its own DevEUI defined by the manufacturer. The DevEUI I created is 0059AC00DDAE0CA7. I also used 0059AC00DD4243B5.
I don't know which DevAddr I get after OTAA. The debug info doesn't show that.

Ik heb gisteren ook nog een test gedaan met meer debug info. Ik heb de output vergeleken met de output van mijn ABP variant. Het lijkt erop dat na de join dezelfde channels worden gebruikt. Hier die logs:

-----------------------------------------
ABP log 18-7-2017
Hier stuur ik een downlink byte '26' en komt deze goed aan via het RX2 window (Data received).
-----------------------------------------
Starting
RXMODE_RSSI
16063: engineUpdate, opmode=0x808
16880: TXMODE, freq=868500000, len=15, SF=7, BW=125, CR=4/5, IH=0
Sending:
82381: RXMODE_SINGLE, freq=868500000, SF=7, BW=125, CR=4/5, IH=0
147857: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
EV_TXCOMPLETE (includes waiting for RX windows)
419402: en
Sending:
485781: RXMODE_SINGLE, freq=867100000, SF=7, BW=125, CR=4/5, IH=0
551257: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
642583: Received downlink, window=RX2, port=1, ack=0
Data Received: 26
EV_TXCOMPLETE (includes waiting for RX windows)
1020931: en
Sending:
1108372: RXMODE_SINGLE, freq=868100000, SF=10, BW=125, CR=4/5, IH=0
1173176: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
1285082: Received downlink, window=RX2, port=0, ack=1
Data Received: 5
EV_TXCOMPLETE (includes waiting for RX windows)
-----------------------------------------

-----------------------------------------
OTAA log 18-7-2017
-----------------------------------------
Starting
RXMODE_RSSI
EV_JOINING
16147: engineUpdate, opmode=0x4
330246: engineUpdate, opmode=0x4
330891: TXMODE, freq=868100000, len=23, SF=7, BW=125, CR=4/5, IH=0
647225: RXMODE_SINGLE, freq=868100000, SF=7, BW=125, CR=4/5, IH=0
712701: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
722864: engineUpdate, opmode=0x4
4543698: engineUpdate, opmode=0x4
4544347: TXMODE, freq=868300000, len=23, SF=7, BW=125, CR=4/5, IH=0
4860811: RXMODE_SINGLE, freq=868300000, SF=7, BW=125, CR=4/5, IH=0
4926287: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
4936447: engineUpdate, opmode=0x4
9514521: engineUpdate, opmode=0x4
9515169: TXMODE, freq=868500000, len=23, SF=8, BW=125, CR=4/5, IH=0
9834805: RXMODE_SINGLE, freq=868500000, SF=8, BW=125, CR=4/5, IH=0
9900185: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
9910342: engineUpdate, opmode=0x4
16850811: engineUpdate, opmode=0x4
16851464: TXMODE, freq=868100000, len=23, SF=8, BW=125, CR=4/5, IH=0
17171103: RXMODE_SINGLE, freq=868100000, SF=8, BW=125, CR=4/5, IH=0
17236483: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
17246792: engineUpdate, opmode=0x4
25697803: engineUpdate, opmode=0x4
25698455: TXMODE, freq=868300000, len=23, SF=9, BW=125, CR=4/5, IH=0
26024065: RXMODE_SINGLE, freq=868300000, SF=9, BW=125, CR=4/5, IH=0
26089253: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
26099416: engineUpdate, opmode=0x4
40603694: engineUpdate, opmode=0x4
40604346: TXMODE, freq=868500000, len=23, SF=9, BW=125, CR=4/5, IH=0
40929959: RXMODE_SINGLE, freq=868500000, SF=9, BW=125, CR=4/5, IH=0
40995147: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
41005307: engineUpdate, opmode=0x4
54661685: engineUpdate, opmode=0x4
54662337: TXMODE, freq=868100000, len=23, SF=10, BW=125, CR=4/5, IH=0
54998610: RXMODE_SINGLE, freq=868100000, SF=10, BW=125, CR=4/5, IH=0
55026392: Setup channel, idx=3, freq=867100000
55026498: Setup channel, idx=4, freq=867300000
55026609: Setup channel, idx=5, freq=867500000
55026837: Setup channel, idx=6, freq=867700000
55027102: Setup channel, idx=7, freq=867900000
EV_JOINED
55027743: engineUpdate, opmode=0x800
55027829: engineUpdate, opmode=0x808
55028684: TXMODE, freq=867300000, len=15, SF=10, BW=125, CR=4/5, IH=0
Sending:
55112404: RXMODE_SINGLE, freq=867300000, SF=10, BW=125, CR=4/5, IH=0
55177208: RXMODE_SINGLE, freq=869525000, SF=12, BW=125, CR=4/5, IH=0
EV_TXCOMPLETE (includes waiting for RX windows)
-----------------------------------------
Reputatie 3
Badge +1
Excuses de counter is enkel voor uplinks, niet voor downlinks. In het eerste bericht heb je het erover dat je soms een 3 of 5 ontvangt. Deze ontvang je op Port 0 ipv Port 1. Het kan goed zijn dat dit dan een acknowledgement of iets dergelijks is die niet goed verwerkt wordt, maar dat is gokken aangezien ik niet precies weet hoe je code werkt. Misschien kun je kijken of een andere library wel goed werkt? Verder kan ik je niet helpen aangezien ik zowel de software als de hardware niet ken.
Jeroen10, bedankt voor je reactie! Het was mij inderdaad niet opgevallen dat die 3 en 5 via port 0 kwamen. Aangezien ik best vaak die 3 of 5 heb ontvangen tijdens mijn tests, kan het zo zijn dat ik een downlink limiet heb overschreden en dat ik daarom niks meer ontvang?
Reputatie 3
Badge +1
Nee, dat is het in ieder geval niet. Als je het limiet hebt bereikt dan krijg je een error als response van je request naar het portal. Wat ik me nu bedenk is dat het mogelijk ook gewoon de ADR instelling kan zijn. Misschien zit er een verband in het nummer en de spreadingsfactor die gebruikt wordt.

Reageer