Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Decode an uplink message from a buffer
- /** Decoder **/
- // decode payload to JSON
- var message = decodeToJson(payload);
- //Message should already be in JSON
- var deviceName = message.group + ":" + message.device_properties.deveui;
- var group = message.group;
- // Temporary telemetry object
- var telemetryObj = {
- ts: Date.parse(message.timestamp),
- values: message.data
- };
- // Result object with device attributes/telemetry data
- var result = {
- deviceName: deviceName,
- deviceType: message.profile,
- telemetry:telemetryObj,
- attributes: {
- appEui: message.device_properties.appeui,
- devEui: message.device_properties.deveui,
- latitude: message.lat,
- longitude: message.lng,
- geolocation_type: message.geolocation_type
- }
- };
- function decodeToJson(payload) {
- // covert payload to string.
- var str = decodeToString(payload);
- str = str.replace(/\|&;\$%@"<>\(\)\+,/g, "");
- // parse string to JSON
- var data = JSON.parse(str);
- return data;
- }
- function decodeToString(payload) {
- return String.fromCharCode.apply('', payload);
- }
- return result;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement