Link.ONE WisTrio LTE-M NB-IoT LoRaWAN Development Board Quick Start Guide
Prerequisites
Before going through each step in the installation guide of the Link.ONE WisTrio LTE-M NB-IoT LoRaWAN Development Board, make sure to prepare the necessary items listed below:
Hardware
- Link.ONE WisBlock Solution LTE-M NB-IoT LoRaWAN Development Board
- USB-C Cable
- Li-Ion 3.7 V rechargeable battery
- 5 V Solar Panel (optional)
Software
- Download and install the ArduinoIDE.
- To add the RAKwireless Core boards on your Arduino Boards Manager, install the RAKwireless Arduino BSP.
Package Inclusion
When you buy Link.ONE, you can choose between two variants: one with bare modules and antennas and one with an enclosure and more optimized antennas.
Product Configuration
Hardware Setup
Link.ONE Without Enclosure
- Assemble each module, including the respective antenna. Refer to Figure 3 for the connections.
- When the modules are plugged in together, they should look the same as in Figures 4 and Figure 5:
Link.ONE With Enclosure
- If you got the Link.ONE with enclosure, you have to prepare the WisBlock Modules together with the WisBlock Baseplate with antenna, circular connector, IPEX-SMA cellular antenna connector, and GPS antenna.
- On the WisBlock Baseplate, you have to remove the cutout that is designed to be used for the mini-base board. This cutout part must be removed for Link.ONE.
- After removing the cutout, you can now attach the WisBlock Base Board to the WisBlock baseplate using screws.
- The next step is to connect the IPEX-IPEX from the WisBlock Core to the WisBlock Baseplate with an antenna.
- Then, you can attach it to the enclosure and complete it with the rest of the parts.
After assembling all the parts, connect the battery to the WisBlock Base. Without the battery connected, the BG77 Cellular Module will not be able to function correctly due to a lack of power source. The USB connection will not be able to provide enough power to achieve enough performance stability.
Software Setup
- Install the RAKwireless Arduino BSP for WisBlock by using the
https://raw.githubusercontent.com/RAKwireless/RAKwireless-Arduino-BSP-Index/main/package_rakwireless_index.json
board installation package, the WisBlock Core RAK4631 should now be available on the Arduino IDE. - Link.ONE uses the RAK4631 WisBlock Core as the main processor.
- Once you are ready with the Arduino IDE software and the RAK4631 board has already been added, you can now check the cellular examples available for the RAK5860 Cellular Wireless module. You can look at examples for TCP, MQTT, HTTP, and GPS on the RAK5860 Examples Repository.
Link.ONE software guide is focused on cellular applications. If you are looking for its LoRa and LoRaWAN functionality, you can check the the RAK4631 LoRa/LoRaWAN examples repository.
For low-power examples, you can check:
- The basic software example you can run is the BG77_Unvarnished_Transmission. This is a UART passthrough to the BG77 from RAK4631. This code will power up the module correctly, and after initialization, AT commands are passed and received to the BG77 module. In the example below, the module responded to
AT
andATI
commands.
Software Examples
This section provides different example codes that can be used with Link.ONE.
The following examples show different protocols that Link.ONE can use it to access and send data to the cloud. This can be done easily with the included Monogoto SIM card on Link.ONE.
All the examples that use cellular connectivity should update the APN sections of the code for the cellular SIM card used. To illustrate, the code below configures the PDP context to 1
and APN to data.mono
for a Monogoto SIM.
command = "AT+QICSGP=1,1,\"data.mono\",\"\",\"\",1";
BG77_write(command.c_str());
BG77_read(2000);
GNSS Satellite Example
- Go to the GNSS satellite example code from the RAK5860 repository.
- Copy and paste the code into the Arduino IDE and click upload.
BG77 is based on a cost-optimized architecture in which WWAN (LTE Cat-M1, LTE Cat-NB2, and GSM) and GNSS Rx chains share certain hardware blocks. As a result, the modules do not support the concurrent operation of WWAN and GNSS.
- The process will turn on the GNSS and the Acquire Positioning Information and Query Satellite System, as shown in the example. It should be able to obtain the latitude and longitude within 30 s ~ 2 mins of power-up. Open
Serial Terminal
in Arduino from the Tools tab to see the output data/coordinates.
If there are no coordinates shown, make sure that you are exposed to a clear sky. You can also double-check that the antenna connector is properly attached to the module.
HTTP Access Example
- Go to the HTTP Access example code from the RAK5860 repository.
- Copy and paste the code into the Arduino IDE and click upload.
- The process will first configure the APN of the cellular network, then set up the URL of the HTTP server to be accessed, send an HTTP GET/Read request, and enable the output of the HTTP response header to display on the Serial Terminal of the Arduino IDE.
The APN must be configured to the correct setting based on the SIM card used on Link.ONE.
The server to be accessed in the example is sina.com
, but this can be changed to a different website.
TCP Client Example
- Go to the TCP Client example code from the RAK5860 repository.
- Copy and paste the code into the Arduino IDE and click upload.
- The process will first configure the APN of the cellular network, then create a TCP socket connection and send data to the TCP server. You can see the status if the device has already sent the payload via the serial terminal of the Arduino IDE.
You need to configure your own TCP server that will receive the transferred data. You have to edit the AT+QIOPEN
and put the address of your server.
MQTT Example
- Go to the MQTT Client example code from the RAK5860 repository.
- Copy and paste the code into the Arduino IDE and click upload.
- The process will first configure the APN of the cellular network, then configure the MQTT Broker (in this example, pointing to a specific address). It will then subscribe to an MQTT topic in the setup section and continuously publish Hello RAKwireless at fixed intervals. You can see the status if the device has already sent the payload via the serial terminal of the Arduino IDE.