How to build a LoRaWAN gateway

Revision as of 10:16, 11 April 2019 by Registered User

Template:ArticleMainWriter Template:ArticleFirstDraftVersion


1. Article purpose[edit source]

This article explains the steps to create your own LoRaWan gateway for the Distribution Package of the OpenSTLinux distribution with the BitBake tool. It also shows how to deploy the results of the cross-compilation on the target and connect the gateway to The Things Network.

2. Prerequisites[edit source]

The prerequisites from Installing the OpenSTLinux distribution must be executed.

The board and the host machine are connected through an Ethernet link, and a remote terminal program is started on the host machine: see How to get Terminal.

The target is started, and its IP address (<board ip address>) is known.

This LoRaWan gateway is based on the RAK831

Info white.png Information
more informations about this module can be found here : https://www.rakwireless.com/en/WisKeyOSH/RAK831

3. Creation of the LoRaWan gateway build[edit source]

To start you need to add the LoRaWan gateway layer to your Distribution Package environment.

 cd <working directory path of distribution>/openstlinux-4.19-thud-mp1-19-02-20/layers/meta-st
 git clone "https://gerrit.st.com/stm32mpuapp/meta/meta-st-stm32mpu-app-lorawan"

The next step is to create the build for the LoRaWan gateway

 cd <working directory path of distribution>/openstlinux-4.19-thud-mp1-19-02-20
 DISTRO=openstlinux-weston-extra MACHINE=stm32mp1-lorawan-a7 source layers/meta-st/scripts/envsetup.sh
 bitbake st-image-lorawan

This may take some time.

The final step is to populate the SD card: (more informations in the How to populate the SD card with dd command page)

( cd <working directory path of distribution>/openstlinux-4.19-thud-mp1-19-02-20/build-openstlinuxwestonextra-stm32mp1-lorawan-a7 )
 cd tmp-glibc/deploy/images/stm32mp1-lorawan-a7/scripts/
 ./create_sdcard_from_flashlayout.sh ../flashlayout_st-image-lorawan/FlashLayout_sdcard_stm32mp157c-lorawan-a7-mx-trusted.tsv
 sudo umount `lsblk --list | grep mmcblk0 | grep part | gawk '{ print $7 }' | tr '\n' ' '`
 sudo dd if=../flashlayout_st-image-lorawan/../flashlayout_st-image-lorawan_FlashLayout_sdcard_stm32mp157c-lorawan-a7-mx-trusted.raw of=/dev/mmcblk0 bs=8M conv=fdatasync status=progress

You can now plug the SD card in the right place and plug the RAK831 concentrator on the right pins.

Concentrator LoRaWan
Warning white.png Warning
It is mandatory to plug the antenna on the concentrator before powering up the board
Antenna

Using the converter board is recommended to avoid any trouble with the GPIO's management.

Converter board

4. Launching the binaries on the board[edit source]

This part explains how to launch the LoRaWan service on the board.

 cd /usr/local/lorawan-gateway/
 ./LoRaWan_gateway_launcher.sh 
  1. During the launcher script, enter your prefered server, up and down ports when it is asked.
Info white.png Information
If you want to use https://www.thethingsnetwork.org in europe

Their server is router.eu.thethings.network
Up and down ports 1700

  1. Important Copy your EUI before the restart of the gateway

All those informations can be found or changed in the global_conf.json and local_conf.json files in /usr/local/lorawan-gateway/ on the board.

4.1. How to proceed on The Things Network[edit source]

Login or create an account on https://www.thethingsnetwork.org

  1. Go into your Console.
  2. Clic on GATEWAYS.
  3. Clic on register gateway.
  4. Check I'm using the legacy packet forwarder and enter your EUI you previously copied.
  5. Enter a description of the gateway, this is the name you can see on the map of the site.
  6. Select your Frequency Plan.
  7. Select your Router (for europe choose ttn-router-eu).
  8. You can place your gateway on the map by clicking on it or by entering directly the precise coordinates.
  9. Tell if your antenna is indoor or outdoor.
No categories assignedEdit