Using Link.ONE all-in-one LPWAN development kit with ChipStark, Node-Red, InfluxDB, and Grafana

RAKwireless has sent us a review sample of the WisTrio Link.ONE all-in-one LPWAN IoT development kit with support for LTE-M, NB-IoT, and LoRaWAN connectivity and programmable with the Arduino IDE. We’ve tested the kit with its weatherproof WisBlock Unify enclosure using LoRaWAN connectivity and open-source software packages and frameworks such as ChipStark, Node-Red, InfluxDB, and Grafana.

Link.ONE review

The Link.ONE kit we’ve received comes with a WisBlock Unify Enclosure (100 x 75 x 38 mm) and a 3,200 mAh/3.7V rechargeable lithium battery which is sufficient when the system is mostly in sleep mode and used to receive data, while not sending information too often.

WisTrio Link.ONE package

The following items were very tightly packed inside the box:

  • WisTrio LTE-M, NB-IoT, and LoRaWAN development board
  • Rechargeable lithium battery
  • External Antenna for cellular
  • USB Type-C cable
  • Circular M8 female cable

Link.ONE unboxing

The enclosure is strong with the lid having a waterproof rubber to ensure IP65 ingress protection rating – and weatherproofness – when the enclosure is closed.

WisBlock Unify Enclosure

3200 mAh lithium battery

If we remove the battery, we can have a closer look at the WisTrio Link.ONE development board.

Link.ONE teardown

Link.ONE development board
Click to enlarge

There are three main modules in the kit:

  • RAK4631 WisBlock core module with a Nordic Semi nRF52840 BLE microcontroller and a Semtech SX1262 (LoRA/LoRaWAN) RF transceiver
  • RAK5860 WisBlock NB-IoT interface module based on Quectel BG77 with NB-IoT, LTE-M, and GPS
  • RAK19007 WisBlock baseboard with a USB Type-C port and a Li-ion charger

Everything is assembled as shown in the illustration below.

Link.ONE WisBlock devkit modules antenna

The kit also includes a Monogoto SIM card with 500 MB of cellular data that can be used for up to 10 years.

Monogoto SIM card

Monogoto nano SIM card

The SIM card can be used globally, but we are based in Thailand, and the SIM card works with 2G, 3G, and 4G cellular networks using AIS or TrueMove operators, but not LTE Cat M1 (LTE-M), and there’s no information about NB-IoT. More about that later.

Monogoto Thailand

In addition, various sensor modules can be added to the Link.ONE devkit at the time of order, but none were included in our kit.

Link.ONE sensors

LPWAN (Low Power Wide Area Network)

Link.ONE supports three types of low-power wide area networks (LPWAN): LTE-M, NB-IoT, and LoRaWAN.

LPWAN NB-IoT LTE-M LoRaWAN

  • NB-IoT (Narrow Band Internet of Things) is a technology that has been developed from 4G LTE to allow IoT devices to connect wirelessly through a cellular network. It is suitable for applications that do not require high data transmission speed, such as Smart Parking or Smart Metering.
  • LTE-M (Long Term Evolution of Machines) is a technology similar to NB-IoT but with a higher data transmission speed, while still saving energy compared to a traditional 4G LTE data connection. It is suitable for device location-tracking applications such as Smart Transportation and Asset Tracking.
  • LoRaWAN (Long Range Wide Area Network) is a radio technology based on the LoRa protocol designed to support low-power device connectivity and communicate data over a long distance across the network. It supports both Private and Public networks, the former meaning you can install your own gateway instead of relying on an operator.

Note 1 – The reviewer did not test the NB-IoT connection due to the annual fee for Network Server on Cloud from operators in Thailand.
Note 2. The reviewer did not test the LTE-M connection because it is not supported by the Monogoto SIM card in Thailand.

Private LoRaWAN IoT on-premise platform

The reviewer has set up a private LoRaWAN IoT platform bringing the convenience of managing the LoRaWAN system completely. The platform comes with various open-source software as follows.

  • ChirpStack open-source LoRaWAN network and application server that registers the LoRaWAN IoT device number and decrypts the received data in AES128 format through an MQTT broker (Message Queuing Telemetry Transport) acting as the sender (publish).
  • Node-RED flow-based development tool for programming. It is a recipient (subscribe) from ChirpStack via the MQTT protocol and takes the data from the payload and decodes it according to the BASE64 format. It will store the sensor data in an InfluxDB database, and check and configure notification settings in the LINE Notify Application.
  • InfluxDB is an open-source time series database that stores sensor and LoRaWAN gateway data, and automatically sorts it by time series allowing us to analyze the data for any period of time.
  • Grafana real-time dashboard to visualize the data from the InfluxDB database in different ways.
  • LINE Notify – When the sensor is higher or lower than a specified value, the LINE messaging application will notify us via the LINE Notify API only once, meaning there will be no notification for duplicate values.

Link.ONE Private IoT LoRaWAN platform

Hardware and software preparations

The hardware required includes the Link.ONE development kit, a USB Type-C cable, a LoRaWAN gateway, and a computer.

We’ll also need to install the Arduino IDE and set it up for the Link.ONE devkit as follows:

  1. Install the Arduino IDE
  2. Added the Link.ONE device. Go to the Arduino IDE menu File -> Preferences and paste the URL https://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json to the field Additional Boards Manager URLs.
    Arduino Link.ONE board
  3. Then click on Tools -> Board -> Board Manager, search for “RAKwireless nRF Boards”, and install the package for WisBlock RAK4631
    Arduino IDE RAK4631 board
  4. Go to Tools -> Board -> Board Manager -> RAKwireless nRF Boards -> WisBlock RAK4631 to select the Link.ONE board.
    Arduino Wisblock RAK4631
  5. Add the SX126x library by going to the Arduino menu and selecting Sketch -> Include Library -> Library Manager before searching for “SX126x-Arduino” and installing the library.
    SX126x arduino

LoRaWAN tests on Line.ONE devkit

We’ll write a “Hello World” program to send a message to Link.ONE over LoRaWAN. We’ve set the operating frequency band to AS923 for Thailand, and set up the connection as OTAA using the following values:

  • DevEUI = 88 88 88 88 88 88 33 33
  • AppKey = 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88
  • AppEUI = B8 27 E B FF FE 39 00 00

Note: There are 2 types of Activation processes: ABP (Activation By Personalization) and OTAA (Over The Air Activation).


We can now compile the code in the Arduino IDE and upload/flash it to the Link.ONE board. Note that we can flash/program the board immediately without pressing any button and the board will work as programmed automatically. This is an advantage of Link.ONE for developers.

Arduino Link.ONE LoRaWAN test

When the program runs two types of messages are processed:

  • A “Join Request” where the Link.ONE makes a request to connect to the LoRaWAN Network Server through the LoRaWAN Gateway.
  • A “Join Accept” where the LoRaWAN Network Server will check Link.ONE DeviceEUI number, and if it is already registered, it will accept requests to send and receive data to each other.

Chirpstack join request join accept

The payload data is “TmluZVBob24=” as can be seen from the screenshot below. It decodes to “NinePhon” (the reviewer’s name) when using the Base64 decode standard.

Chirpstack payload

Since RAKwireless did not include a sensor module in the kit, we wrote a second demo program to read the battery voltage, the battery level in percent, and a “battery value” from the Lithium-ion batteries.


Link.ONE Arduino IDE ChirpStack

Link.ONE transmits battery data wirelessly to the LoRaWAN gateway which then forwards the payload to the “ChirpStack” LoRaWAN Network Server.

ChipStark LoRaWAN battery data

Node-RED then connects to ChirpStack via the MQTT protocol and decrypts the payload data using the Base64 algorithm.

Link.ONE Node Red

Node-RED also automatically stores sensor and LoRaWAN system data in the InfluxDB time-series database.

InfluxDB Battery LoRaWAN data

The Grafana dashboard reads data from the InfluxDB time series database and displays the results with the battery voltage, the battery level in percent, and the power consumption in mW while the data is being transmitted.

Link.ONE review Grafana

Finally, the LINE Notify application monitors the lithium battery voltage, and if it drops below 3.3 Volts, an alert/notification will be sent to the LINE application to let us know immediately.

Conclusion

The WisTrio Link.ONE development kit is suitable for IoT device developers who are interested in assembling various sensors, writing code for versatility, and connecting to various wireless low-power wide area networks (LPWAN) such as LTE-M, NB-IoT, and LoRaWAN. Compatibility with the Arduino IDE makes it very easy to use. The Monogoto SIM card is also an advantage with a 500 MB data package that can be used for up to 10 years. That’s provided it works in your country.

We’d like to thank RAKwireless for sending us a Link.ONE development kit for review. RAKwireless sells the Link.ONE all-in-one LPWAN development kit for as low as $56, but if you’d like the WisBlock Unify Enclosure with a battery, the total would be $107. We’d also recommend getting one or more sensors with the kit. The company warns that adding a battery increases the delivery costs, so if possible, you might want to source it locally.

CNXSoft: This article is a translation of the original tutorial in Thai on CNX Software Thailand by Ninephon Kongangkab.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC