Beantwoord

rssi ophalen via kpn things api

  • 12 June 2022
  • 16 reacties
  • 216 keer bekeken

Voor de uitrol van een project (meerdere sensoren op verschillende geografische locaties) willen we graag de rssi waarde van het ontvangen signaal via de api opvragen.
De info is beschikbaar in het web dashboard (in de join regels), ik kan echter geen manier vinden om dit via een api call te doen.
Kan rssi via de api opgevraagd worden en zo ja, welke call moet ik dan gebruiken ?
Ik kan deze info niet in de api documentatie achterhalen ?
Of is er een andere manier om de rssi van het signaal van/naar het lora device op te vragen?

Verneem het graag,

Pierre

 

 

icon

Beste antwoord door Rick S. 8 July 2022, 16:33

Bekijk origineel

16 reacties

Reputatie 7
Badge +6

Goedemiddag @Pierre Veelen,

Ik heb het topic natuurlijk al eerder gezien en heb gelijk intern wat hulpvragen uitgezet. Dit met de gedachten om gelijk een inhoudelijke reactie te kunnen geven. Tot op heden heb ik nog geen terugkoppeling mogen ontvangen. Dus ik wil bij deze in ieder geval laten weten dat het in behandeling is. Zodra ik wat hoor kom ik uiteraard direct bij je terug. 

Reputatie 7
Badge +6

Goedemiddag Pierre, 

Daar ben ik weer! 
Ik heb van een van de specialisten het advies gekregen om de LoRa Geolocation data decoder te laten activeren in de Digital Data Sensoring (Dierx) flow. Wil je het hiermee proberen en laten weten of gelukt is?

Hoi Rick,
Helaas; als ik de LoRa Geolocation aan zet, dan zie ik inderdaad wel geo locatie data binnenkomen, maar die heb ik niet nodig (zie onderstaand.

"[{\"bn\":\"urn:dev:DEVEUI:xxxxxxxxxxxxxxxx:\",\"bt\":1.655743639E9},{\"n\":\"locOrigin\",\"vs\":\"KPNLORA\"},{\"n\":\"latitude\",\"u\":\"lat\",\"v\":51.128139},{\"n\":\"longitude\",\"u\":\"lon\",\"v\":6.026347},{\"n\":\"radius\",\"u\":\"m\",\"v\":10000.0},{\"n\":\"locAccuracy\",\"u\":\"%\",\"v\":9999.0},{\"n\":\"locPrecision\",\"u\":\"%\",\"v\":9999.0},{\"n\":\"locTime\",\"vs\":\"1655743639630\"}]"

Ik wil de rssi (en evt SNR en ESP)  graag ontvangen.

Pierre

Reputatie 7
Badge +6

Hey Pierre, 

Bedankt voor je reactie! 
Ik heb weer met mijn collega's geschakeld en begreep dat zij de device twin aan hebben gezet. 
Met de volgende API call zou je data uit moeten kunnen lezen: 

 

Helaas,, ik heb in Postman voor deviceId zowel devEUI als devUUI gebruikt. Maar beiden geven een {"code":406,"message":"Not Acceptable","timestamp":"2022-06-29T12:48:57.427797373Z"} antwoord.

Hierbij maar meteen ook opgemerkt dat ik het benodigde token via Postman heb aangevraagd/gegenereerd en andere api call’s werken dan wel.

 

Voor de volledigheid “GET https://api.kpnthings.com/api/thingsgateway/device-twin/dd510da7-b1fb-43f3-9fed-223758382042

 

Reputatie 7
Badge +6

Goedemorgen Pierre, 

Bedankt voor de terugkoppeling! 
Begrijp ik goed dat het met de API call die ik doorgestuurd heb niet gelukt is, maar dat het met de API call in jouw laatste reactie wel gelukt is?

Nee, helaas dat begrijp je verkeerd. Beide, door jou aangeven, API call’s werken niet.
Wat ik nagestuurd heb is de volledige url die ik gebruik heb in de eerste API call.

Misschien goed om naast de korte versie van de URL ook aan te geven wat in de headers van de “GET”  meegestuurd moet worden.

 

Reputatie 7
Badge +6

Goedemiddag Pierre, 

Daar ben ik weer! 
Mijn excuses dat het wat langer heeft geduurd. 

Ik kreeg van mijn collega te horen dat de juiste ‘Accept’ header ontbreekt en dat deze aan de postman call toegevoegd zou moeten worden: 

Accept - application/vnd.kpnthings.thingsgateway.v1.response+json

Hoi Rick, dat blijkt niet het gewenste resultaat te geven. Of laat ik het anders formuleren de GET werkt hiermee. Maar in de informatie die ik ontvang staat nog steeds geen RSSI waarde.

Reputatie 7
Badge +6

Goedemiddag Pierre, 

Je hebt helemaal gelijk. Mijn collega was in de veronderstelling dat de RSSI waarde in de device twin staat, maar het blijkt in de raw LoRa data te staan. Dit is (nog) niet beschikbaar. Dit wordt in de toekomst wel verwacht, maar de verwachting is niet op korte termijn. 

Als alternatief hebben we wel een (niet ondersteunde) API call. Het feit dat het een niet ondersteunde API call is betekent dat we de werking hiervan niet kunnen garanderen. 

De API call ziet er als volgt uit: 

Hierbij moet de DevEUI en de timeframe nog ingevuld worden. Een voorbeeld van het resultaat van deze API call is: 


"signal": {

            "percentage": "25",

            "spreadingFactor": "12",

            "channel": "LC14",

            "gateways": "3",

            "rssi": "-111.0",

            "snr": "-2.0",

            "esp": "-115.12443"

        },

Hopelijk lukt het hier wel mee! 

 

Goedemiddag Rick,

Deze API call zou ik ook erg handig vinden. Zijn er nog andere parameters dan untilDateTime die bij deze call gebruikt kunnen worden?

Reputatie 7
Badge +6

Goedemorgen @followsense 

Natuurlijk check ik dat graag voor je. Welke parameters zou je willen gebruiken? Welke informatie zou je hiermee op willen vragen? 

Dan kan ik gericht navraag doen bij de specialisten. 

Ik zou graag wat specifieker op de tijd willen filteren. Met untilDateTime is het alleen mogelijk om de berichten tot een bepaalde datum te zien, maar ik zou ook graag berichten vanaf een bepaalde datum zien. Of tussen twee data. Zijn hier parameters voor?

Reputatie 7
Badge +6

Hey @followsense,

Ik heb dit voor je uitgezocht en heb intern rond gevraagd. 
Het is helaas niet mogelijk om specifieker op tijd te filteren. De untilDateTime is de enige parameter die resultaten filtert op tijd. 

Hey @Rick S. ,

Bedankt voor je antwoord! Dan ga ik kijken ik of het nog handig is om te gebruiken..

Reageer