TTN Smart Sensor (Example)

Sensor

Codec Description

Codec for Example

Codec Preview

var directions = ['N', 'E', 'S', 'W']; var colors = ['red', 'green']; var degrees = { N: 0, E: 90, S: 180, W: 270, }; function decodeUplink(input) { switch (input.fPort) { case 1: return { // Decoded data data: { direction: directions[input.bytes[0]], speed: input.bytes[1], }, }; default: return { errors: ['unknown FPort'], }; } } function normalizeUplink(input) { return { // Normalized data data: { wind: { direction: degrees[input.data.direction], // letter to degrees speed: input.data.speed * 0.5144, // knots to m/s }, }, }; } function encodeDownlink(input) { var i = colors.indexOf(input.data.led); if (i === -1) { return { errors: ['invalid LED color'], }; } return { // LoRaWAN FPort used for the downlink message fPort: 2, // Encoded bytes bytes: [i], }; } function decodeDownlink(input) { switch (input.fPort) { case 2: return { // Decoded downlink (must be symmetric with encodeDownlink) data: { led: colors[input.bytes[0]], }, }; default: return { errors: ['invalid FPort'], }; } } 

This codec is sourced from The Things Network. All rights belong to The Things Network.

This codec is licensed under the GNU General Public License v3 (GPL v3). Modifications, if any, are clearly marked. You are free to use, modify, and distribute the codec under the terms of GPL v3.

Community Feedback