IoT / DIY-Projekt
LoRaWAN Gateway
För anslutning till TheThingsNetwork.org


INDEX
  • Inledning
  • Senast uppdaterat
  • Beskrivning
  • Budget / Transport
  • Referenser / Länkar m.m.
  • 'Disclaimer'

  • Om mina LoRa Klienter

  • Inledning
    Bygger en LoRa gateway för att kunna ansluta LoRa klienter till ett LoRaWAN. Ansluter min LoRa gateway till 'thethingsnetwork.org'[R1] som är ett publikt nätverk för bl.a. LoRa anslutning.

    Tanken är att kunna ansluta en rad billiga LoRa klienter men olika sensorer för att samla in data i det närmaste grannskapet.

    Går inte in på LoRa's grundläggande teknik, principer eller funktion, det finns redan en rad mycket bra beskrivningar av detta, länkar till några av dessa under sektionen '
    Referenser' längst ner på sidan.

    Senast uppdaterat
    2020.09.21 Fokuserar nu på klient och applikation, har påbörjat den delen av mitt LoRa projekt. Läs mera om LoRaWAN klienter -->
    Här!

    2020.09.17 Finputsar lite på min LoRa gateway, editerar /boot/config.txt - Lägger in några rader för att minska ström-förbrukning och samtidigt sänka temperatur på CPU, stänger bl.a. av USB portarna, HDMI grafiken, WiFi och blåtand.

    # Throttle CPU to save power
    arm_freq_min=250
    core_freq_min=100
    sdram_freq_min=150
    over_voltage_min=0
    
    # Dissable WiFi and BT (Not needed for RPI version  < 3)
    dtoverlay=pi3-disable-wifi
    dtoverlay=pi3-disable-bt
    
    # Turn USB off
    sudo /sys/bus/usb/drivers/usb/unbind
    
    # Turn OFF HDMI output
    sudo /opt/vc/bin/tvservice -o
    
    # Turn ON HDMI output
    # sudo /opt/vc/bin/tvservice -p
    
    # Status blink on GPIO16 (Pin36)
    dtparam=act_led_gpio=16
    dtparam=act_led_trigger=heartbeat
    

    Slutligen lägger jag in en omdirrigering av statusled till GPIO16 (Pin36) för att kunna löda in en status-led som jag monterar i en kabelgenomföring i kapslingen.

    Färdig LoRa Gateway / Status led med 'Heartbeat' blink

    Status-LED blinkar så länge allt är OK, en snabb glimt på LED indikeringen gör det enkelt att hålla koll på utrustningen. Med det så är nu min gateway helt klar att börja användas.

    Då är det dax att börja experimentera med LoRa klienter, mera om detta --> Här!

    2020.09.19 Startar installationen av min LoRa gateway. Börja med att Starta upp en SSH consol session med din RaspberryPi, sätta igång SPI interface och utökar filsystemet till max på min RaspberryPi dator, det gör man med 'raspi-config'

    Anslut med en SSH consol med din RaspberryPi, ge kommando i SSH consolen:
    $> sudo raspi-config
    


    raspi-config igång...

    Välj [5] Interfacing options -> P4 SPI, markera 'YES' och tryck enter / enter för 'OK'
    Välj [7] Advanced options -> A1 Expand filesystem, tryck enter för 'OK'

    Gå tillbaka, välj 'Finish' och välj att starta om 'Reboot' tryck enter för 'OK'

    Se till att ditt system är uppdaterat och installera 'git' - Återanslut SSH consolen med din RaspberryPi.

    Ge kommando i SSH consolen:
    $> sudo apt-get update
    $> sudo apt-get upgrade
    $> sudo apt-get install git
    

    Lägger till en användare (Bra för säkerheten men inte nödvändigt)

    Ge kommando i SSH consolen:
    $> sudo adduser ttn 
    $> sudo adduser ttn sudo
    

    Editerar sudoer filen, lägger in raden 'ttn ALL=(ALL) NOPASSWD: ALL' längst ner i filen.

    Ge kommando i SSH consolen:
    $> sudo visudo
    ## Add this to the end of the file
    ttn ALL=(ALL) NOPASSWD: ALL
    

    Sparar och avslutar editorn.

    Nu börjar själva installationen av LoRa gatway drivare / programvaran.

    Återanslut SSH consolen med din RaspberryPi, logga in som 'ttn' användaren alt. ge kommando > sudo su ttn

    Ladda ner (Clona) installationspaketet från GitHub och starta installationen

    Ge kommando i SSH consolen:
    $> git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway 
    $> cd ~/ic880a-gateway 
    $> sudo ./install.sh spi
    

    Välj att installera manuellt, skriv in värdnamn, kontaktinfo, longitud, latitud o.s.v. När installationen är klar startar systemet om (Du blir utslängd från SSH sessionen) (Led 2 kan komma att blinka till ibland, din LoRa gateway sänder en liten data burst)

    Nu är det dax att logga in på 'TheThingsNetwork.org' för att se om din gateway har kommit igång.

    Om du inte har skapat ett konto ännu så är det nu dax att göra den, notera att du MÅSTE använda en aktiv e-post adress och validera den genom att svara på ett valideringsmail från 'TheThingsNetwork.org' (Följ instruktioner på TheThingsNetwork.org för att skapa ditt konto)

    När ditt konto är aktiverat ska du logga in och gå till din 'console' --> välj 'Gateways'


    Min 'Console' @ TheThingsNetwork.org

    Följ instruktionerna, skriv in EUI, beskrivning, klicka i 'I'm using the legacy packet forwarder' Välj 'Europe' i frekvensplan, markera din gateway position och klicka på 'Registrera'

    Om allt är OK så kommer din gateway att 'lysa grönt' som 'Connected' efter några sekunder.


    Min gateway connected @ TheThingsNetwork.org

    Om du valt att visa din gateway som 'Publik' så kommer den även att dyka upp på TheThingsNetwork.org karta över publika Gateway's


    Min gateway på kartan över TTN-LoRa gateways @ TheThingsNetwork.org

    Problem med EUI nummer?
    När du installerade programvaran skrevs ditt 'EUI' nummer på skärmen, det är lätt att missa. EUI nummret skrevs ut i början och i slutet av install script körningen. Om du inte noterade vad som skrevs så kan du använda följade procedur, anslut med en SSH console och skriv kommando:

    $> sudo ifconfig
    
    eth0: flags=4163  mtu 1500
            inet 192.168.0.25  netmask 255.255.255.0  broadcast 192.168.0.255
            inet6 fe80::729b:e6f1:bac2:36c9  prefixlen 64  scopeid 0x20
            ether b8:cc:37:82:b0:c0  txqueuelen 1000  (Ethernet)
            RX packets 1729  bytes 120031 (117.2 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 257  bytes 32800 (32.0 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    (Läs av MAC adressen för ETH0, det är i praktiken den som används som gateway EUI nummer)

    Notera ner MAC adressen (6 byte) och skriv om det lite så att det blir 8 byte långt, ditt EUI nummer ska se ut såhär:

    MAC adress på eth0 i exemplet ovan = b8:cc:37:82:b0:c0 (6 byte långt)
    Skrivs om så att EUI nummret ser ut såhär = B8 CC 37 FF FE 82 B0 C0 (8 byte långt)

    Du ska helt enkelt bara lägga in två byte (Två hexadesimala grupper) FF FE i mitten så att du får ett 8 byte lång EUI.

    2020.09.17 Bygger ett 'PiggyBack' interface kort för att kunna montera gateway-kortet direkt ovanpå en Raspberry Pi 3 B+ dator. Använder ett experimentkort (3-hål) som jag klipper till lämplig storlek (75x70mm).


    Färdigt interfacekort, ovansida / undersida

    Löder på GPIO 'Header' kontakten för Raspberry anslutningen, samt 2st Hylslist 2.54mm 1x3p och 2st Hylslist 2.54mm 1x10p, använder hylslister för 'extra höjd' för att kunna löda från samma sida som hylslisten monteras på kortet. (Se bilder)



    Inkoppling (Bygling) framgår av tabellen ovan. Använder vanlig kopplingstråd (Multistrand 18x0,1mm) Samtliga komponenter är inhandlade från ELECTROKIT.se[L4]


    Raspberry PI underst, interfacekort och gatewaykort ovanpå.

    Ansluter spänningsmatning till GPIO Pin4 (+5V DC) och Pin9 (GND). Gateway kortet spänningsmatas parallellt från GPIO Pin2 (+5V DC) och Pin6 (GND).


    Slutmontering i aluminium kapsling inkl LoRa GP antenn för 868MHz

    Monterar Raspberry Pi med interfacekort och gatewaykort i min återvunna aluminium kapsling, allt verkar att rymmas utan problem. Jag använder dom befintliga kontakterna för data/PoE anslutning och antenn anslutning.


    LoRa GP antenn för 868MHz / PoE injektor

    Använder en 'LINKSYS LACPI30' PoE injektor, den ska kunna leverera 30W på PoE porten vilket borde vara tillräckligt. Har beräknat att Raspberry Pi datorn ska dra >2A och gatewaykortet drar >700mA, det ger en total förbrukning på max 13,5W.

    2020.07.20 Nu har det kommit lite LoRa grejer, fick hem två 'Dragino LoRa Shield' för arduino och en GP antenn för min LoRa konsentrator / gateway.


    Aluminium kapsling och LoRa GP antenn för 868MHz

    Har även hittat en bra aluminium kapsling för utomhusmontering av min LoRa konsentrator / gateway, kapslingen kommer från en skrotad (Åskskadad) 'Wave SPEEDLAN Mech NODE' (Gammalt publikt WiFi-Nät) - Kapslingen är väldigt välbyggd, tillverkad av gjuten aluminium. (Made in U.S.A.)

    2020.07.16 Planerar min LoRa Gateway, har fastnat för en färdig modul: iC880A-SPI från tillverkaren IMST[L2] - Har även hittat en bra antenn för utomhusbruk hos M.nu[L3]


    868mhz LoRa GP Antenn / iC880A-SPI - LoRaWAN Concentrator 868 MHz

    Beskrivning
    2020.07.11 Har idag påbörjat förberedelser för mitt 'vinter projekt' - Tanken är att jag ska lära mig mera om 'LoRa' en teknik för kommunikation av främst telemetri-data över mycket stora avstånd. LoRa använder fria frekvenser, i Sverige är det 8kanaler inom 865--886MHz som används.


    Copyright © 2018 Alexandru Lavric and Valentin Popa

    www.PTS.se[R7] 'Allmän kortdistansradio' / Undantag från tillståndsplikt 2006/771/EG 2017/1483/EU

    LoRa använder väldigt låg effekt, för att ändå kunna övergrygga stora avstånd har tekniken starkt begränsad bandbredd, och därmed även låg data kapacitet, man talar om 250bit/s upp till 11kbit/s per kanal. Det gör att LoRa inte kan användas för kommunikation i 'realtid'. LoRa är förhållandevis säkert, 'TheThingsNetwork'[R1] använder 128bit end-to-end kryptering.

    Börjar med att läsa på lite. Har hittat en rad bra 'HowTo' filmer på YouTube, länkar ligger under '
    Referenser' längst ner på sidan.


    Enkel principskiss

    2020.07.19 Försöker att lyssna på LoRa frekvenserna inom 865--868,8MHz med hjälp av en SDR mottagara, skanna i 100KHz steg. Detta är vad jag kan hitta om LoRa frekvenser och kanal indelning ref: TheThingsNetwork.org[R1]

    EU863-870 / CEPT Rec. 70-03.

    Uplink:
    1. 868.1 - SF7BW125 to SF12BW125
    2. 868.3 - SF7BW125 to SF12BW125 and SF7BW250
    3. 868.5 - SF7BW125 to SF12BW125
    4. 867.1 - SF7BW125 to SF12BW125
    5. 867.3 - SF7BW125 to SF12BW125
    6. 867.5 - SF7BW125 to SF12BW125
    7. 867.7 - SF7BW125 to SF12BW125
    8. 867.9 - SF7BW125 to SF12BW125
    9. 868.8 - FSK
    Downlink:

  • Uplink channels 1-9 (RX1)
  • 869.525 - SF9BW125 (RX2 downlink only)


    Scannar med RTL-SDR mottagare och AirSPY programvara

    Beskrivning:
  • HOW TO BUILD YOUR OWN LORAWAN GATEWAY @ TheThingsNetwork[R1]
  • IMST IC880A-SPI – LORAWAN SETUP @ TheThingsNetwork[R1]
  • LoRa Dragino shield HowTo @ Dragino.com[R8]

    Några noteringar Plus :-)


  • Några noteringar Minus :-(


  • Budget / Transport
    Kostnader t.o.m. 2019.06.05
    =====================================================================
     ......................... 
    =====================================================================
    Totalt                                           
    

    Länkar / Leverantörer / Referenser
    Honors to the brains behind - 'Äras den som äras bör' - som talesättet säger. Som vanligt så är det inte jag som kommit på allt detta. Här hittar ni länkar till referenser och leverantörer.

    Leverantörer:
    [L1] eBay.com
    [L2] iC880A-SPI - LoRaWAN Concentrator 868 MHz
    @IMST WebShop
    [L3] RPI's, sensorer och massor med 'IoT' tillbehör @ M.nu
    [L4] ELECTROKIT.se

    Länkar / Referenser:
    [R1] TheThingsNetwork www.thethingsnetwork.org
    [R2] #112 LoRa / LoRaWAN De-Mystified / Tutorial - @YouTube
    [R3] #115 How to build a LoRa / LoraWAN Gateway - @YouTube
    [R4] #117 DIY LoRa Node with Arduino and Dragino Shield@YouTube
    [R5] #124 Cheap LoRa Gateway / Tutorial @YouTube
    [R6] #134 LoRa Gateway with ESP8266 and a RFM95 Tutorial - @YouTube
    [R7] Frekvensplan @ www.PTS.se
    [R8] LoRa Klient HowTo @ Dragino.com
    [R9] What are LoRa® and LoRaWAN®? @ semtech.com


    'Disclaimer'
    The information given on this page is given on an 'As Is' basis and aimed for NON COMMERCIAL use only. The author can not be held responsible for any use of the information. Any registered product / trademark or company name on the page is the property of their respective owners.

    Notera!
    Det är helt personliga reflektioner och upplevelser vi skriver om på den här sidan, dessa är inte några 'Expert' kommentarer / utlåtanden. Vi rekommenderar INTE att någon ska göra dom ändringar / Modifieringar som vi gjort och som beskrivs på denna sida, då dessa HELT SÄKERT gör att alla garantier som leverantören utställt OMEDELBART upphör.

    Våra tester och slutsatser kan INTE, och ska INTE tas för intäkt att samma eller motsvarande resultat eller upplevelse kan erhållas eller efterliknas någon annanstans eller av någon annan.




    Go Back!


    ©2010--2018 SM2YER Goran