GPS positie via LoRA naar een digitale interface

Hoi allemaal,

Ik ben bezig met een LoRa project. Een GPS module en een LoRa module werken samen om de locatie te bepalen. De GPS module verzameld de data, en de LoRa module verzend de data naar het TTN netwerk. Nu werkt dit samen goed, ik krijg data binnen op het TTN netwerk. (zie foto)

De data werd in eerste instantie in hexadecimaal verzonden, maar ergens ging dit niet goed en ik kon de juiste decimale waarden niet terugvinden. Nu heb ik er voor gekozen om de data gewoon in decimale getallen te versturen.

Bij deze data is de eerste 0 overbodig. Deze moet wegvallen. En helaas moet ik er momenteel zelf nog de punten en komma's bijverzinnen. Deze kun je namelijk niet mee versturen via de LoRa module.

Mijn vraag: Kan ik deze data automatisch plaatsen in een map (zoals google maps)? Zodat je niet handmatig de coördinaten moet kopiëren en in moet voeren in google maps.. Dus zodat je een soort van automatisch systeem hebt, wat je positie uit zichzelf bijwerkt?

Totale beginner

Golden Member

Hallo Christiaan,

Er is niet zo iets als de data in hex verzenden of de data in decimale getallen verzenden, ... Er wordt altijd binaire data verzonden en hex, decimaal of ASCII of nog iet anders is maar hoe je die binaire data voorstelt.

De TTN website stelt de payload altijd voor in groepjes van 2 hexadecimalen omdat 2 hexacedimalen 1 byte vormen. Bijvoorbeeld jouw payload:

code:


HEX:   05 20 82  10 51 67  86
DEC:   5  32 130 16 81 103 134

dit is eigenlijk niets zeggend als je niet weet hoe men aan deze bytes gekomen is. Nu lijken mij 7 bytes raar om 2 GPS coordinaten voor te stellen. Wat je moet doen is eens nadenken over hoeveel bytes je nodig hebt voor de latitude/longitude en hoe je die het beste kan voorstellen. Hier is veel over te vinden op internet.

Lucky Luke

Golden Member

Hoezo zou je geen comma' s kunnen versturen?

Die LoRa module verstuurt gewoon bits aan informatie. Die kun je later interpreteren als getalletjes en weergeven. (En of je ze dan binair weergeeft, of heaxadecimaal, of decimaal, of hoe ook... Al dan niet signed of unsigned. Is naar keuze). Maar je kunt ze ook interpreteren als letters.

Bekijk voor de gein eens een ASCII tabel. Da's een van de mogelijke manieren om "af te spreken" welke getalletjes welke letters voorstellen.

Je zou ook zelf wat kunnen verzinnen, 1=a, 2=b, en zo verder tellen. En dan de comma op 27 zetten. Maar het is handiger een al bestaande standaard te gebruiken, bijvoorbeeld ASCII.

Wat trouwens ook heel handig is ("protip" zegmaar), is als zendende en ontvangende kant de getalletjes op gezelfde manier interpreteren. >:) Als de ene kant signed ints stuurt, en de andere kant van het op als unsigned chars, krijg je precies wat je verstuurd hebt alleen ziet het er compleet anders uit.

Eluke.nl | De mens onderscheid zich van (andere) dieren door o.a. complexe gereedschappen en bouwwerken te maken. Mens zijn is nerd zijn. Blijf Maken. (Of wordt, bijvoorbeeld, cultuurhistoricus)
Hensz

Golden Member

Welk merk/type is die module?

Met dit soort dingen is het altijd maar wat je (met jezelf) afspreekt.

Kun je aan de kant van de LoRa-module nog iets aan de data veranderen?

Kans is groot van weinig of niet, dan zul je aan de ontvangende kant iets aan je data moeten doen.

Wat heb je aan de ontvangende kant staan? Waar komt de data uiteindelijk terecht, daar kun je al snel die gegevens zover masseren dat ze eruit zien zoals jij dat wil.

Dat moet eigenlijk altijd. Data wordt praktisch nooit hapklaar geserveerd er is altijd wel íets wat er aan gedaan moet worden.

Don't Panic!

Kijk eens op het forum van TTN, daar staat ook het een ander uitgelegd over GPS trackers via het LoRaWan netwerk. Daarnaast is bij LoRaWan de payload beperkt (en kostbaar), dus wordt er veel gebruik gemaakt manieren om zo kort als mogelijke berichten te sturen.

Daarnaast... Kijk eens op ttnmapper.org, voor een snelle GPS plot kun je daar terecht, plus je kunt een bijdrage leveren aan de dekkingsmap.

@Totale beginner:
Om een beter inzicht te krijgen zou je in elk geval de min of meer exacte coordinaten moeten bepalen van de locatie waar je de voorbeelddata genereert.

Vervolgens ga je een paar kilometer verderop, bijvoorbeeld zuidelijker en westelijker, en doe je nogmaals een meting.
Uit de verschillende data kan je dan makkelijker afleiden wat er wordt doorgegeven.

Vervangen DOOR.