LoRa Gateway, hoe zet ik een goedkope (test) gateway op.

Om IoT te ontwikkelen met een lora (longRange) verbinding heb je een gateway nodig.
TheThingsNetwork heeft een mooie gratis oplossing in de vorm van LoraWan om de verbinding naar internet te maken.
Is er al een gateway bij jou in de buurt kan je daar gebruik van maken en heb je zelf geen gateway nodig. Is dat nou niet het geval kan je met eenvoudige middelen goedkoop zelf een gateway opzetten om je IoT te testen.

De hardware die je nodig hebt voor deze oplossing:
– 1x Raspberry Pi (2 of 3)
– 1x Lora/GPS HAT (bv: https://www.aliexpress.com/item/Long-distance-wireless-433-868-915Mhz-Lora-and-GPS-Expansion-Board-for-Raspberry-Pi/32693338069.html)

Installeer raspbian voor de RaspberryPi
Start de RaspberryPi op en login als root
raspi-config
Vergroot de Disk met “Expand Filesystem”
Ga naar advanced options en kies daar voor “A6 SPI” set die aan
cd /root
aptitude update
aptitude install wiringpi git vim
git clone https://github.com/tftelkamp/single_chan_pkt_fwd.git
cd single_chan_pkt_fwd/
vi main.cpp
Vind in de code het blok met “Configure these values”
Verander de regel met #define SERVER1 naar een van de volgende opties:

  • router.eu.thethings.network # EU 433 MHz and EU 863-870 MHz
  • router.us.thethings.network # US 902-928 MHz
  • router.cn.thethings.network # China 470-510 MHz and 779-787 MHz
  • router.au.thethings.network # Australia 915-928 MHz

bv:
#define SERVER1 “router.eu.thethings.network”

Verander ook de

  • platform
  • email
  • description

Bewaar de file en compileer de file:
make
Nadat make klaar is en geen errors geeft, moet je het programma 1 keer draaien om het macaddres te vinden.
./single_chan_pkt_fwd
Als je hem start dan krijg je iets te zien zoals het volgende:
SX1276 detected, starting.
Gateway ID: b8:27:ff:ee:bf:d7:64:2c
Listening at SF7 on 868.100000 Mhz.
------------------

Break het programma af met <crtl>c
Neem de Gateway ID en haal de : er tussenuit, deze code moet je bij TheThingsNetwork.org invullen bij “Gateway EUI” het aanmaken van een nieuwe gateway.

Dit is alles om een werkende gateway te maken.
Je kunt de raspberry pi iets aanpassen zodat deze direct aangaat bij het opstarten.
Deze file maakt dat cron een script draait die checked of de gateway aanstaat.
echo "SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
* * * * * root /opt/ttn/gateway-check.sh" > /etc/cron.d/ttn

mkdir /opt/ttn/
echo "#!/bin/bash
#
/usr/bin/pgrep single_chan_pkt_fwd
if [ $? == 0 ]; then
/opt/ttn/single_chan_pkt_fwd &
fi" > /opt/ttn/gateway-check.sh

cp single_chan_pkt_fwd /opt/ttn/
chmod +x /opt/ttn/gateway-check.sh