10.4. TTN - Payload#
De payload van een LoRa-bericht probeer je klein te houden - maximaal enkele tientallen bytes. (Zie de opmerkingen hiervoor.) Je gebruikt daarom het liefst een binair formaat. Een tekstbericht zoals in JSON-formaat is al snel veel te groot. De codering van de uplink-payload gebeurt in het device (IoT-knoop). In de TTN-application moet je dan een passende decodeerfunctie hebben die deze uplink-payload weer omzet in een JavaScript object. Deze functie kun je definiëren via het console.
Voor de downlink-payload gebeurt de codering in de TTN-application, en de decodering in het device.
Cayenne Low Power Payload
Een veel gebruikt binair formaat is het Cayenne Low Power Payload (Cayenne LPP) formaat.
Opmerking. In het algemeen is het verstandig om in de devices zelf en in de communicatie tussen device en gateway te werken met gehele getallen. Als je werkt met decimalen kan het handig zijn om de waarden te schalen: bijvoorbeeld 21,7 ‘Celcius geef je dan weer als 217.
Eigen binair payload-formaat
Soms is zelfs het Cayenne-LPP formaat niet compact genoeg: je kunt dan een eigen binaire codering bedenken, waarbij je gebruik maakt van al je kennis over de sensorwaarden die je denkt te versturen. Zie bijvoorbeeld:
De MQTT-berichten die TTN verstuurt naar externe toepassingen bevatten naast de eigenlijke payload ook de metadata van het oorspronkelijke bericht, zie: https://www.thethingsnetwork.org/docs/applications/mqtt/api.html