Skip to content
anthonyrowe edited this page Oct 29, 2017 · 45 revisions

This tutorial will show you how to add a LoRa Gateway using a RAK831 LoRa Gateway Concentrator Module and a RaspberryPi3 to OpenChirp.

Create an OpenChirp Device and Generate the Device Token

Please follow the Devices Tutorial to create an OpenChirp Device and Generate a Device Token. You will need the device id, endpoint, and the device token later for configuring the lora-gateway-bridge. After you are done setting up your RPI, you will install a LoRaWAN Gateway Service which will take a gateway_ID that is generated from the software running on your PI.

Install the Raspbian operating system

Use the Raspbian website to download the latest Raspbian Stretch Lite operating system and flash it to the SD card. After booting into the operating system used the raspi-config command to enable the SPI interface (under "Interface Options" menu). Reboot the OS.

Login and setup user accounts: Linux Users

Setup wireless: CLI WiFi Config

You likely want to run "sudo apt-get update" to update the latest package list.

Adjusting the Clock

# Setting the Time Zone, Date, and Time
sudo ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime

# Install the NTP package
sudo apt install ntp

# Add local ntp servers to /etc/ntp.conf and restart the service
# (Use a list of ntp server close the LoRa Gateway)
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
server new-parsley.srv.cs.cmu.edu  iburst
server new-sage.srv.cs.cmu.edu     iburst
server new-rosemary.srv.cs.cmu.edu iburst
server coriander.srv.cs.cmu.edu    iburst
server fennel.srv.cs.cmu.edu       iburst
server paprika.srv.cs.cmu.edu      iburst

# Restart the service
sudo systemctl restart ntp

# Check if the servers are used and if the time has been adjusted 
ntpq -pn
date

# Update the hardware clock (if present)
hwclock -u -w

Install the LoRa Packet Forwarder

Download the latest release of the precompiled Packet Forwarder installer (.deb) from the Openchirp repo.

For example:

wget https://github.com/OpenChirp/lora_gateway_pf/releases/download/v1.0.6/lora-gateway-pf_1.0.6_armhf.deb

Install the package

sudo dpkg -i lora-gateway-pf_1.0.6_armhf.deb

start the service

sudo systemctl start lora-gateway-pf

edit lora-gateway-pf config

sudo vi /opt/lora-gateway-pf/scripts/gwrst.sh
change RESET_PIN to 17 instead of 7 and save

Confirm that the service is running

systemctl status lora-gateway-pf

Install the LoRa Gateway Bridge

Download the latest release of the precompiled LoRa Gateway Bridge (lora-gateway-bridge_x.x.x-x_armhf.deb) from the OpenChirp lora-gateway-bridge releases page.

wget https://github.com/OpenChirp/lora-gateway-bridge/releases/download/OC-2.1.5-23/lora-gateway-bridge_2.1.5-23-gdc983b1_armhf.deb

Install the package

sudo dpkg -i lora-gateway-bridge_2.1.5-23-gdc983b1_armhf.deb

Configure the gateway bridge service by modifying /etc/default/lora-gateway-bridge. Please set the following parameters as indicated:

  • MQTT_SERVER="tls://openchirp.andrew.cmu.edu:1883"
  • MQTT_PREFIX="<your_openchirp_device_endpoint> available on the OC website for your device"
  • MQTT_USERNAME="<your_openchirp_device_id> which is the last 24 digits, number part, of the endpoint"
  • MQTT_PASSWORD="<your_openchirp_device_generated_token>"

<your_openchirp_device_endpoint>, <your_openchirp_device_id>, and <your_openchirp_device_generated_token> should be replaced based on your OpenChirp device you created earlier.

Start the service and confirm that it is running properly (sudo systemctl start lora-gateway-bridge; sudo systemctl status lora-gateway-bridge)

Link OpenChirp Gateway Service

After starting the service a gateway ID is composed from the Ethernet MAC address. It is stored in the local configuration file (/etc/lora-gateway-pf/local_conf.json) as gateway_ID. This ID is needed by OpenChirp.

Using the OpenChirp.io website, navigate to your previously created OpenChirp Device. Navigate to the Services tab and click Link Service. Select LoRaWAN Gateway, input your gateway_ID, and click Save. After refreshing the page, you should see a status that indicates your gateway was registered with the provided ID.

You may also want to add the TimeSeries service for visualizing debug data over time.

Clone this wiki locally