Beantwoord

Downlink - bad token - example.php

  • 26 August 2018
  • 5 reacties
  • 2239 keer bekeken

Beste mensen,

Wij ontwikkelen LoRa devices. Meestal met een TheThingsNetwork of privated hosted network server. Voor een klant richten we nu een aantal devices in op de KPN LoRa network server. We lopen tegen een foutbericht van de thingspark aan: `bad token`.

Uplinks werken prima, maar bij downlink krijgen we bad-token terug van de ThingsPark server. De gegevens (devEUI, AS_ID, LRC AS) hebben we ontvangen van simpoint.

We hebben een Python script voor het versturen van een downlink:
https://github.com/martinichka/kpn-lora-tools/blob/master/downlink.py

Dit script bouwt de url en voert de POST uit. Ook verifieert het de url opbouw tav het voorbeeld in https://drive.google.com/file/d/1YOLehIt0IzqpmwTkmHYRxEVhXmR97Dpm/view (1.3.2) . In eerste instantie dachten we dat er een fout in het script zat, maar niets kunnen vinden. Ook als we het KPN voorbeeld gebruiken (in php: https://github.com/kpn-iot/lora-reference/blob/master/downlink-request/php/example.php) krijgen we dezelfde fout:
```
php example.php
string(25) "Security Check. bad token"
```

Dit natuurlijk na $devEUI, $asId en $lrcAsKey te hebben aangepast.

Als ik bijvoorbeld een verkeerde devEUI op geeft dan krijg ik:
```string(14) "Invalid DevEUI"```
Of verkeerde AS_IS:
```string(25) "Security Check. bad AS_ID"```

Dus het heeft echt met de $lrcAsKey te maken, maar hier gebruiken we de string die door simpoint is aangegeven.

Simpoint geeft aan ons hiermee niet te kunnen helpen, en we hulp moeten zoeken op dit forum. Heeft iemand een idee wat er hier fout kan gaan?

Met vriendelijke groet,
Marten Lootsma
icon

Beste antwoord door Rik-PQTrackers 20 July 2020, 09:03

Bekijk origineel

5 reacties

Reputatie 7
Badge +6

Goedemorgen @Rik-PQTrackers

Heel erg bedankt voor de tip! 
Ik heb begrepen dat u ook al contact heeft gehad met wat collega's. Naar aanleiding van uw feedback is de voorbeeldcode inmiddels ook bijgewerkt. :grin:

Voor toekomstige zoekers...

Als je in ThinkPark een LrcAsKey hebt geplaatst met hoofdletters, wordt deze met de downlink API gebruikt als lowercase.

Zorg dus dat je de LrcAsKey eerst .toLowercase() doet voor je 'm gebruikt voor versleuteling tot token.

Groet Rik

Beste @EricRF,

Helaas is er toentertijd geen oplossing gekomen. Voor het betreffende project hebben we besloten om van het The Things Network gebruik te maken in plaatst van KPN.

Sindsdien hebben we geen pogingen meer gedaan om dit via KPN werkend te krijgen.

Met vriendelijke groet,
Marten
@marten.lootsma Marten Lootsma

Ik heb hetzelfde probleem, kunt u zo vriendelijk zijn om de oplossing te geven als u die heeft, bijvoorbaat dank.
Reputatie 7
Badge +11
Dag Marten ( @marten.lootsma ),

Sorry voor de late reactie vanuit ons team. Hebt u nagekeken of nagevraagd bij Simpoint of de ASkey wel klopt? Mogelijk kunnen ze een nieuwe voor u genereren?

Er gaat inderdaad iets fout met de authenticatie en ik neig ook naar de application server key. Een idee om dit uit te sluiten is wellicht om middels een developer portal account de opzet te testen. Als dat goed werkt, is het mogelijk inderdaad een kwestie van een verkeerde key.

Ik hoor graag of u inmiddels verder bent gekomen. Ik denk graag met u mee.

Reageer