Getting Started with LoRaWAN on SenseCAP K1100 sensor prototype kit (Part 1)

CNXSoft: This getting started guide/review of the SenseCAP K1100 sensor prototype kit is a translation of the original post on CNX Software Thai. The first part of this tutorial describes the kit and shows how to program it with Arduino to get sensor data to a LoRAWAN gateway and display it on Wio Terminal, before processing the data in a private LoRaWAN network using open-source tools such as Grafana. The second part – to be published later – will demonstrate the AI capability of the kit.

In the digital era where IoT and big data are more prevalent, a large amount of data is required to be collected through sensors. To enable the digital transformation, SeeedStudio’s SenseCAP K1100 comes with all necessary sensors and equipment including the Wio Terminal, AI Vision Sensor, and a LoRaWAN module. With this plug-and-play platform, makers can easily create DIY sensors for data collection and solve real-world challenges.

SenseCAP K1100 Sensor Prototype Kit review

Let’s define some terms first:

IoT stands for “Internet of Things” and refers to the network of devices connected to the Internet. It allows us to control the use of various devices through the Internet such as turning on-off devices, electrical appliances, cars, mobile phones, communication tools, agricultural equipment, buildings, houses, and even home appliances that we use daily.

LoRaWAN is an acronym for “Long Range Wide Area Network”, a radio technology based on the LoRa protocol designed for ultra-low-power long-distance communications. It is becoming more and more popular among IoT developers, such as connecting smart devices.

SenseCAP K1100: Designed by Seeed Studio, it is a compact Sensor Prototype Kit with LoRaWAN and AI designed to help developers and makers create IoT prototypes. The Wio Terminal supports Wi-Fi and Bluetooth wireless communication only, but LoRaWAN connectivity can be added through with the Grove LoRa-E5 Module part of this kit. In this review, we will focus on sensor data gathering through a private LoRaWAN network.

Content of the SenseCAP K1100 kit

Wio Terminal, an Arduino-compatible HMI controller with WiFi and Bluetooth.

Wio Terminal D51R

WIo Terminal connected to Soil Sensor and LoRaWAN module
Wio Terminal connected to a soil sensor and a LoRaWAN module

Wio Terminal specifications:

  • MCU – Microchip ATSAMD51P19 Arm Cortex-M4F running at 120 MHz
  • Wi-Fi & Bluetooth – Realtek RTL8720DN Arm Cortex-M4 microcontroller with dual-band (2.4 GHz and 5 GHz) WiFi.
  • GPIO – 40 pin, same pin position as Raspberry Pi
  • On-board sensors and features
    • On board 3-axis digital accelerometer (LIS3DHTR)
    • Light sensor
    • Microphone & buzzer
    • IR emitter
  • 2.4-inch LCD Screen
  • TinyML (AI and Machine Learning) support

Wio Terminal specifications

Wio Terminal Pinout Diagram
Modules part of the kit:

  • LoRa-E5 LoRaWAN module based on STM32WLE5JC MCU; RF power: +20.8 dBm, supports EU868/US915/AU915/AS923/KR920 frequency bands.
  • SHT40 temperature and humidity sensor module
  • SGP30 module acting as air quality sensor (VOC and eCO2 Gas Sensor)
  • Soil moisture module
  • Vision AI module with camera

SenseCAP K1100 AI Vision

Working Principle of the SenseCAP K1100 sensors

The light sensor uses a photoelectric as a sensing element. It converts the changes in the measured light into an electrical signal.

light sensor working principle

The temperature sensor relies on the thermocouple method. It consists of 2 metal wires forming an electrical junction. A thermocouple produces a temperature-dependent voltage as a result of the Seebeck effect, and this voltage can be interpreted to measure temperature.

The relative humidity sensor measures the humidity through a polyamine film or acetate polymer. When the film absorbs or loses water, the dielectric constant changes between the two electrodes, and the capacitance can be recorded & converted into electrical signals.

SHT40 temperature humidity sensor

Getting started with SenseCAP K1100

Requirements

We’ll need the following our getting to measure environmental data and send it to our private LoRaWAN network:

  • Wio Terminal
  • USB Type-C cable
  • LoRa-E5 module
  • SHT40 module
  • A host computer
  • A LoRaWAN Gateway
  • A LoRaWAN Cloud Platform

Hardware connection

Let’s try to use SenseCAP K1100 by connecting the SHT40 sensor module to measure the air temperature and relative humidity, as well as the light and sound values from the sensor and microphone built into Wio Terminal, then connect the board to a LoRaWAN gateway using the LoRa-E5 module.

SenseCAP K1100 tutorial Wio Terminal LoRaWAN Sensor Connection

We’ll also use the Dragino LG308-AS923-TH-EC25 multi-channel LoRaWAN gateway with a 4G LTE internet connection.

Dragino LG308 LoRaWAN gateway

Software installation and instructions

Here are the step to follow for the software part

  1. Install the Arduino IDE
  2. Add the board file required for Wio Terminal. In the Arduino top menu, go tp  File -> Preferences and copy/paste https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json inro the Additional Boards Manager URLs box:Arduino Preference add board file for Wio Terminal
  3. Click on Tools -> Board -> Board Manager and search for Wio Terminal.Boards Manager Wio Terminal
  4. Now go to Tools -> Board and select the board Seeeduino Wio TerminalArduino Seeeduino Wio Terminal
  5. Add the Arduino library for the SHT40 temperature and humidity sensor. Download the file arduino-i2c-sht4x.zip, then go to Sketch -> Include Library -> Add .ZIP Library and select arduino-i2c-sht4x
  6. Add the LoRa-E5 Arduino library in the same manner after downloading Disk91_LoRaE5.zip
  7. Add Seeed Arduino LCD library at Seeed_Arduino_LCD.zip
  8. We’ve then modified the code of the LoRa-SHT40-TFT.ino sample to adapt it to our environment, and display the information on Wio Terminal display:
  9. You’ll also need to edit the program to set the required information for the LoRaWAN board as follows:
    • DevEUI number (8 bytes)
    • AppEUI number (8 bytes)
    • APPKEY number (16 bytes)
    • Set up an OTAA connection
    • Specify the working frequency band. For example, it is AS923 in Thailand is AS923
  10. Upload the program to the board Wio Terminal. One advantage of this board is that it will automatically enter Bootloader mode, and we do not need to press any buttons.SenseCAP K1100 Arduino code sample SHT40 LoRaWAN
  11. Open the Serial Monitor to check out the output from the program. If everything works as expected, it will show where the LoRaWAN connection is successful and values from the sensors, for  instance: Temperature = 25.46 degree , Humidity = 58.39% , Light = 7 % and Microphone = 55 dB.serial monitor lorawan sensor data
  12. We can also check out the sensor data displayed on the Wio Terminal controllerSenseCAP K1100 review LoRaWAN sensors

After the Wio Terminal board reads the value from the sensor, it is re-encoded in AES-128 (Advanced Encryption Standard) format and transmitted wirelessly through the LoRa-E5 Module. If it is within range of the LoRaWAN gateway, the data will then be forwarded to the LoRaWAN network, and we’ll have a look at that shortly. In the meantime, here’s a short video demo of the data being updated on the display.

YouTube video player

A small hiccup while programming Wio Terminal

At some point, I had an issue during the review while trying the flash the program to Wio Terminal via the Arduino IDE. The uploading part would be stuck forever…

Wio Terminal Arduino upload stuck

… because the computer would not recognize the Wio Terminal with an error reading “unknown USB Device (Device Descriptor Request Failed)” as shown in the picture below.

unknown USB device device description request failed

Even though I tried to reset the board and enter the Bootloader manually many times, I was not successful while trying the method in the illustration below.

Reset Wio Terminal

So we decided to contact Seeed Studio to help us with the issue, but their technical support just provided the same answer. It turns out the keywords are “twice very quickly“, and initially I pressed the button twice, relatively fast, but not quite enough. Sliding the switch repeatedly, I was able to use the Wio Terminal again. (I can’t count how many times I tried!). That means the computer can see the USB port again and we could continue the review with everything working normally. The important takeaway is that if the board hangs, you need to enter the Bootloader mode manually.

Private LoRaWAN IoT on-premise platform

SenseCAP K1100 LoRaWAN network chirpstack

Now that we’ve got data from the SenseCAP K1100 kit sent to our gateway we’ll process it through a private LoRaWAN IoT Platform I have installed for personal use. It is based on various software open-source components as explained below:

  • 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).SenseCAP K1100 ChirpStackChirpStack SenseCAP K1100 device data
  • 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.SenseCAP LoRaWAN SHT40 Node Red
  • 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.InfluxDB Studio SensorCAP K1100 database
  • We also use Grafana real-time dashboard to visualize the data from the InfluxDB database.SenseCAP K1100 Grafana visualization
  • 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.

Final words: Who is SenseCAP K1100 suitable for?

The SenseCAP K1100 sensor prototype kit is suitable for pupils, students, and experimenters (makers) who want to create prototypes with various sensors, write code (Arduino), and test proof-of-concept (PoC) using a LoRaWAN a wireless connection. However, for more practical applications, industrial-grade sensors are more suitable and reliable. Those are also available from Seeed Studio and other vendors.

I would like to thank Seeed Studio for sending the SenseCAP K1100 sensor prototype kit for this review. It is available for $99.00 plus shipping.

Continue reading “AI, computer vision meet LoRaWAN with SenseCAP K1100 sensor prototype kit“.

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

One Reply to “Getting Started with LoRaWAN on SenseCAP K1100 sensor prototype kit (Part 1)”

Leave a Reply

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

Khadas VIM4 SBC
Khadas VIM4 SBC