npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@rakwireless/field-tester-server

v0.2.4

Published

Field tester server node compatible with disk91 implementation

Downloads

49

Readme

@rakwireless/field-tester-server

A Node-RED node to process and report LoRaWAN gateway coverage data to Field Tester devices like RAK10701. It's an implementation of Paul Pinault backend service.

version downloads


Install

The easiest way to install this node from Node-RED is to go to the top right menu (three horizontal lines) and then select Manage palette option. Then select the Install tab and search for @rakwireless/field-tester-server. Click on the small install button next to the node.

You can also install it manually on your Node-RED server by running the following command in your Node-RED user directory, typically ~/.node-red:

npm install "@rakwireless/field-tester-server"

Finally, you can also install it from the source code (this repository), again from the Node-RED user directory:

npm install "path-to-workspace/field-tester-server/node-red-node"

Once installed the node will be available from the node library under the rakwireless section.

Usage

The node is pretty self explanatory. The node exposes a couple of properties: the name and the parser to use. The name, like with every other node in Node-RED, lets you identify the node in your flow. The parser let's you specify what kind of input the node should expect.

Node-RED flow

Input

Depending on the "Parser" option in the node configuration, the node expects a certain payload as input:

  • The Things Stack v3: feed the node directly to the output of an mqtt in node connected to an instance of The Things Stack (like TTN).
  • ChirpStack v3 or v4: feed the node directly to the output of an mqtt in node connected to an instance of ChirpStack. This will work also for the embedded server in RAKwireless gateways.
  • Raw data: the node expects a specific input format, see below.

The format for the Raw data parser must be:

  • port: 1 (default) for normal distance resolution (250m), 11 for higher precission (10m)
  • bytes: array of 10 bytes with the device payload
  • uplink_counter: unique incrementing number
  • gateways: array of gateways, each gateway object must have:
    • rssi: signal quality as received by that gateway
    • location: object with latitude and longitude properties with the location of the gateway

Example:

{
    "bytes": [0x1d, 0x63, 0x67, 0x81, 0xdc, 0x67, 0x04, 0x41, 0x08, 0x0b],
    "uplink_counter": 13,
    "gateways": [
        { "rssi": -119, "location": { "latitude": 41.42, "longitude": 2.13 } },
        { "rssi": -108, "location": { "latitude": 41.30, "longitude": 2.22 } }
    ]
}

Output

Again, depending on the parser used the output will change to match the specific LNS downlink format. For the The Things Stack and ChirpStack parsers the node will take care not only of the payload format but also of the default topic, so you can feed the output directly to an mqtt out node connected to the same broker.

For the Raw data parser, the node will output all the parsed information along with processed information to the payload. It's up to the user to format it further. An example of the output payload can be:

{
    "has_gsp":1,
    "latitude":41.6014325,
    "longitude":2.6221077,
    "altitude":95,
    "accuracy":0.8,
    "hdop":0.6,
    "sats":15,
    "num_gateways":2,
    "min_distance":19,
    "max_distance":120,
    "min_rssi":-104,
    "max_rssi":-98,
    "buffer":[36,96,102,0,1,2]
}

When using the higher resolution (port 11), min_distance and max_distance are reported in the buffer as 2 bytes each (10m resolution).

Please note that, according to the original definition of the service, the distances (min_distance and max_distance) are values from 1 to 128 (so 250m to 32km, since they mean 250m steps).

Contribute

There are several ways to contribute to this project. You can report bugs or ask for new features directly on GitHub. You can also submit your own new features of bug fixes via a pull request.

License

This project is licensed under Apache 2.0 license.