packet-forwarder-json-builder

Build JSON packet forwarder message for an uplink (rxpk)

Usage no npm install needed!

<script type="module">
  import packetForwarderJsonBuilder from 'https://cdn.skypack.dev/packet-forwarder-json-builder';
</script>

README

Packet Forwarder JSON builder (Node.js)

Build Statusnpm version

Build JSON packet forwarder message for an uplink (rxpk) which will be sent Virtual LoRa packet forwarder.

Getting Started

In LoRaWAN, you will need real gateways and real devices for your real test case. However, it's simpler to using just simulated gateway and simulated devices in order to choose best LoRaWAN Network Server fulfills your real requirements.

lora-packet is a nice module to generate LoRaWAN uplink/downlink payloads, but in order to send them to a Network Server, Semtech UDP Packet Forwarder protocol is required.

Prerequisites

  • Node.js v8.x

Installation

npm install --save packet-forwarder-json-builder

Usage

Compose messages to remote Network Server using Packet Forwarder protocol.

Supported messages:

  • Uplink
  • Join-request
const jsonBuilder = require('packet-forwarder-json-builder')

const payload = Buffer.from('test')
const scenario = {
  gateway: {},
  device: {
    seqno: 1,
    addr: '899d555c',
    appSKey: 'db1ce62ae4a266a6aad58da0a6ef413b',
    nwkSKey: '33d356771bc0840d2ebf37e9585c800c'
  }
}
console.log(jsonBuilder.uplink(payload, scenario))
// {
//   rxpk: [{
//     time: '2018-05-14T21:00:06.324Z',
//     tmst: 1526331621,
//     chan: null,
//     codr: '4/5',
//     data: 'QFxVnYkgAQABAzcL0/TBBww=',
//     datr: 'SF8BW125',
//     freq: 868300000,
//     lsnr: 12,
//     modu: 'LORA',
//     rfch: 0,
//     rssi: -97,
//     size: 17,
//     stat: 0,
//     tmms: null
//   }]
// }

Testing

Clone repository, install dependencies and run tests npm test.

Deployment

Add additional notes about how to deploy this on a live system

Contributing

Respect standard rules.

Versioning

We use SemVer for versioning.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments