IoT & protocol engineering
LoRa and LoRaWAN integrations, binary payload decoding, protocol analysis, telemetry processing and device communication for IoT platforms.
// The Things Stack uplink formatter (Cayenne LPP subset)
function decodeUplink({ bytes }) {
const data = {};
const int16 = (i) => (bytes[i] << 24 >> 16) | bytes[i + 1];
for (let i = 0; i < bytes.length; ) {
const channel = bytes[i++];
const type = bytes[i++];
if (type === 0x67) { data.temperature = int16(i) / 10; i += 2; }
else if (type === 0x68) { data.humidity = bytes[i++] / 2; }
else if (type === 0x02) { data.battery_v = int16(i) / 100; i += 2; }
else return { errors: [`unknown type ${type} on channel ${channel}`] };
}
return { data };
}
// 01 67 FF D8 03 02 01 36 → { temperature: -4, battery_v: 3.1 }
- LoRa
- LoRaWAN
- The Things Stack
- Payload Decoding
- Protocol Analysis
Open source
- LoRa Packet Decoder Web app that decodes LoRaWAN packets, including with your own session keys.
- Tektelic to TTS Migrates LoRaWAN devices from Tektelic to The Things Stack using ABP.