Advertisement
Guest User

Untitled

a guest
Jun 6th, 2019
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Decode an uplink message from a buffer
  2.  
  3. /** Decoder **/
  4.  
  5. // decode payload to JSON
  6. var message = decodeToJson(payload);
  7.  
  8. //Message should already be in JSON
  9. var deviceName = message.group + ":" + message.device_properties.deveui;
  10. var group = message.group;
  11.  
  12. // Temporary telemetry object
  13. var telemetryObj = {
  14.    ts: Date.parse(message.timestamp),
  15.    values: message.data
  16. };
  17.  
  18. // Result object with device attributes/telemetry data
  19. var result = {
  20.    deviceName: deviceName,
  21.    deviceType: message.profile,
  22.    telemetry:telemetryObj,
  23.    attributes: {
  24.        appEui: message.device_properties.appeui,
  25.        devEui: message.device_properties.deveui,
  26.        latitude: message.lat,
  27.        longitude: message.lng,
  28.        geolocation_type: message.geolocation_type
  29.    }
  30. };
  31.  
  32. function decodeToJson(payload) {
  33.    // covert payload to string.
  34.    var str = decodeToString(payload);
  35.    str = str.replace(/\|&;\$%@"<>\(\)\+,/g, "");
  36.  
  37.    // parse string to JSON
  38.    var data = JSON.parse(str);
  39.    return data;
  40. }
  41.  
  42. function decodeToString(payload) {
  43.    return String.fromCharCode.apply('', payload);
  44. }
  45.  
  46. return result;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement