User Tools

Site Tools


project:lora_gateway

This is an old revision of the document!


LoRa gateway

Setup za relativno povoljan DIY LoRa gateway kakve koristimo u Radioni za The Things Network / SmartZG mrežu.

Što je LoRa? LoRa WAN je protokol za kontrolu pristupa medijima za širokopojasne mreže dizajniran tako da omogućava uređajima male potrošnje da komuniciraju s povezanim Internet aplikacijama putem bežičnih veza velikog dometa.

Što je The Things Network? TTN je globalna community-based mreža za Internet of Things (IoT) bazirana na LoRa tehnologiji, napravljena s ciljem kreiranja robusne mreže i olakšavanja primjene ove tehnologije za različite aplikacije.

Što je SmartZG? SmartZG je naziv za Radioninu inicijativu postavljanja LoRa gatewaya u Zagrebu baziranih na TTN mreži, a s ciljem osiguravanja minimuma pokrivenosti potrebne za eksperimentiranje i korištenje ove tehnologije.

RAK831 + RPi = LoRa Gateway

LoRa Gateway se sastoji od koncentratora (u našem slučaju RAK831) – radio frontend modula koji omogućava primanje (i slanje) LoRa paketa poslanih s node modula, te host-boarda (u našem slučaju Raspberry Pi računala) – na kojem se nalazi software i koji putem SPI protokola komunicira i kontrolira s frontend modulom.

Potrebna oprema

  1. RAK831 LoRa Gateway Concentrator Module (868MHz)
  2. Raspberry Pi 2, 3 ili Raspberry Pi Zero W
  3. MicroSD kartica
  4. žice i protoboard
  5. antena i pigtail
  6. napajanje 5v 2A (ili druga voltaža uz regulator na 5v)
  7. mrežni kabel (ako ne ide preko WiFi-ja)
  8. vodonepropusna kutija i uvodnice (za vanjsku instalaciju)

Sastavljanje

Važne napomene

  • nikada ne uključivati RAK831 bez spojene antene jer ga tako možete ga spržiti!
  • za povezivanje RAK831 i RPi-a koristiti kratke kabele ili još bolje napraviti malu pločicu
  • koristiti kvalitetno napajanje (5v, 2000mA)

Napajanje

Moduli se mogu spojiti na isto napajanje ili svaki odvojeno. U svakom slučaju potrebno je povezati uzemljenja između modula. Napomena: Nije moguće napajati RAK831 modul samo preko RPi 5v pina!

Povezivanje RAK831 i Rpi-a

Rak831 Concentrator pin # Raspberry pin #
+5V 1,2 +5V 2,4
GND 3,5,6,12,14 GND 6,9,14,20,25,30,34
RST (Reset pin) 19 RST 22
SCK (SPI clock) 18 SCK 23
MISO 17 MISO 21
MOSI 16 MOSO 19
CSN (Chip Select) 15 CSN 24

Može se kupiti i shield https://github.com/hallard/RAK831-Zero

Setupiranje Raspberry-ja

Skini image Raspbian Jessie Lite i pomoću Etcher-a snimi na MicroSD karticu.

Uključi SSH

Kako bi omogućili SSH pristup na boot particiji SD kartice potrebno je kreirati prazni file imenovan ssh.

Setupiraj WiFi

Ako ćemo se na internet spajati putem WiFi-ja, to možemo napraviti tako da na boot particiji napravimo file wpa_supplicant.conf sa sljedećim sadržajem:

network={
   ssid="testing"
   psk="testingPassword"
}

Nakon boota sadržaj file se iskopira u /etc/wpa_supplicant/wpa_supplicant.conf pa se tamo može editirati.

Prvo bootanje i postavke

Stavite karticu u Raspberry, pronađite ga na mreži i SSH-om se spojite.

sudo raspi-config
  1. expand-ajte particiju ([7] Advanced options → A1 Expand filesystem)
  2. uključite SPI ([5] Interfacing options → P4 SPI)

Updejtate sistem i instalirajte git:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git

Promjenite defaultni password:

sudo passwd

Kako bi osigurali da se Raspberry u slučaju prekida WiFi veze ponovo spoji najjednostavnije je instalirati network manager. Npr.:

sudo apt-get install wicd-curses
sudo wicd-curses

Odabrati našu WiFi mrežu i u postavkama uključiti check-box Automatically connect to this network

Osim toga provjerite da li je uključen Power Management za WiFi adapter. Ako komada iwconfig vrati Power Management:on, potrebno ga je isključiti komandom

sudo iwconfig wlan0 power off

Komandu treba izvršiti pri svakom rebootu, pa u file rc.local treba dodati liniju iwconfig wlan0 power off prije linije exit 0

Resetiranje RAK831 modula pri bootanju

Ovo nije potrebno, ispravni kod za restart se već nalazi u /opt/ttn-gateway/bin/start.sh

Preporuča se da se pri svakom startu Raspberry Pi-ja resetira i RAK831 modul prije nego LoRa pristupi hardware-u. To možemo napraviti preko shell skripte. U našem slučaju RST (Reset pin) RAK831 modula je spojen na GPIO25, i file treba izgledati ovako:

#!/bin/bash
echo "25" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio25/direction
echo "1" > /sys/class/gpio/gpio25/value
sleep 5
echo "0" > /sys/class/gpio/gpio25/value
sleep 1
echo "0" > /sys/class/gpio/gpio25/value

Skriptu treba učiniti izvršivom:

sudo chmod +x rak831_reset.sh

Kako bi se izvršava pri svakom bootu, u fajlu /etc/rc.local prije linije exit 0 treba dodati /home/pi/rak831_reset.sh

Instaliranje podrške za TTN iC880a-based LoRa gateway

git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway
cd ~/ic880a-gateway
sudo ./install.sh spi

Instalacija će vam izbacit vaš gateway EUI. Zapišite ga, trebat će vam dalje pri on-line registraciji.

“Do you want to use remote settings file?”. Odaberite No

Registranje gatewaya na The Things Network

Ako ga već nemate, kreirajte account i ubacite podatke o gatewayu.

https://www.thethingsnetwork.org/docs/gateways/registration.html

  • Uključite checkbox I'm using the legacy packet forwarder i upišite vaš EUI.
  • Frequency plan: Europe 868Mhz
  • Router: ttn-router-eu
  • Location: izaberite na mapi

Provjera statusa

systemctl status ttn-gateway.service
sudo apt-get install tcpdump
sudo tcpdump -AUq port 1700
sudo tail -f /var/log/syslog

Korisni linkovi

project/lora_gateway.1524066104.txt.gz · Last modified: 2018/04/18 17:41 by dp