Getting started
Try the parsers online on the WIKA Toolbox.
As mentioned in the introduction, the WIKA parsers are runtime-agnostic message interpreters written in TypeScript. They can be used in various environments, including LoRaWAN gateways, network servers, web applications, and server applications.
They parsers are written on a per-device basis, allowing for easy customization and extension. All supported devices are listed in the Supported Devices section.
LoRaWAN Gateways and Network Servers
The parsers are also designed to be used in LoRaWAN gateways and network servers. They follow the LoRaWAN® Payload Codec API Specification TS013-1.0.0 and provide the necessary functions to decode uplink messages and encode downlink messages.
You can download the latest prebuilt parser as a zip file from the releases section of the repository. However these need to be adapted to your specific device(s) before they can be used in your gateway or network server. You can also configure the parser on the IIot Toolbox and try it out before downloading it from there. This way no manual configuration is needed. After you have downloaded your parser, go to the documentation of your gateway or network server to learn where and how to integrate the parser.
For most common network servers, such as The Things Network (TTN), ChirpStack or Loriot, you can find specific examples in the Networkserver Integration guide.
Web and Server Applications
The parsers are available as npm packages, which allows you to easily integrate them into your web or server applications. This package is actually a wrapper around the raw parsers, providing a simplified interface and a few additional features.
You can install the package via npm and use the parsers to decode uplink messages and encode downlink messages in your application.
npm i @w2a-iiot/parsers
After installing the package, you can import the parsers and use them in your application. The parsers encapsulate the raw parsers and add some additional functionality, such as minifying downlink frames.
import { NETRIS2Parser } from '@w2a-iiot/parsers'
const {
decodeUplink,
encodeDownlink,
adjustRoundingDecimals
} = NETRIS2Parser()
From here on you can use the parsers functions to decode uplink messages and encode downlink messages. See here for web and server examples.