The Things Network (home) oftewel TTN is een LoRaWan provider. Lorawan TTN Om robots op afstand te kunnen uitlezen en te kunnen sturen moet je met die robots kunnen communiceren. Daar zijn vele mogelijkheden voor in kabelverbindingen of radioverbindingen. Voor de IoT lijkt LoRawan (introductie) zich te ontwikkelen tot een soort standaard. LoRawan is net zoiets als een mobiele SMS verbinding. Maar dan anders:) In plaats van een mobiele telefoon gebruikt LoRawan een zogenaamde Node. Een Node bestaat gewoonlijk uit een aantal sensors en schakelaars zoals in bijvoorbeeld domotica. Enkele overeenkomsten met een mobiele telefoon zijn een landelijke dekking en dat je een provider nodig hebt. Wij gebruiken als provider The Things Network oftewel TTN. Wat heb je nodig? LoRawan bestaat uit meerdere elementen. Hardware Om je aan te kunnen sluiten op TTN heb je minimaal nodig: Cliënten oftewel Nodes Allereerst moet je uitzoeken of je hardware compatibel is met LoraWan. Lang niet alle Lora hardware kan worden gebruikt voor LoraWan. Zo zijn deze NRF24L01+ modules niet compatibel maar bijvoorbeeld de TTGO T-Beam wel en ook de Antratek schildjes voor Arduino zijn wel compatibel. TTN Gateway Vervolgens moet je uitzoeken of je binnen het bereik van een bestaande TTN-gateway valt. Indien niet dan moet je zelf een gateway installeren. Eigenlijk is het de bedoeling dat iedereen die meedoet ook een TTN gateway installeert. Zo ontstaan er vanzelf dekkende netwerken. Je kan op de zogenaamde TTN-Heatmap zien of er een gateway voldoende dicht in de buurt zit. In Nederland is dat bijna altijd het geval. Hoe weet ik zeker of ik hier bereik heb op het TTN netwerk? Kan ik meeliften op de router van iemand anders of zal ik er toch zelf 1 moeten aanschaffen? Je kunt op de kaart kijken en je kunt meten. Tips & Tricks OTAA vs ABP Gebruik OTAA in verband met een betere veiligheid. Veiligheid blijkt maar een beperkt voordeel. Zendvermogen en energie Bjoern adviseert zijn lmic in vervand met een verbeterde energie huishouding. TTN Tracker software In de FlorigsT-Beam.zip zijn de programma`s ttn-tracker en ttn-tracker2 te vinden. Zij sluiten ieder op een eigen device binnen TTN aan. Update bios Onze T-Beams werden geleverd met firmware versie RC7. Dan werkt dit programma helaas niet maar na updaten van de bios naar RC8 loopt alles als een zonnetje. Tracker software Tracker software geeft aan waar jij je bevind en hoe sterk het TTN veld daar is. Er zijn 2 programma`s die geschikt lijken voor de T-Beam. ttgo-tbeam-ttn-tracker Een elegantere manier om een device van The Things Network te kunnen zijn maakt gebruik van de oled. Het programma ttgo-tbeam-ttn-tracker van kizniche is een alternatief voor Lora-TTNMapper-T-Beam van DeuxVis. De download is bedoeld voor PlatformIO, dus eerst omzetten naar Arduino IDE. Volg het document en pruts wat. Na uploaden verschijnt er een tekst op het OLED scherm en lijkt het op de monitor alsof hij contact heeft met TTN. De seriele monitor zegt om de 30 seconden dat hij de GPS gegevens heeft TRANSMITTED, maar niets te zien in TTN. De syntax van LMIC pinmapping is daar te vinden. https://www.thethingsnetwork.org/forum/t/overview-of-lorawan-libraries-howto/24692 Lora-TTNMapper-T-Beam Het programma van Lora-TTNMapper-T-Beam van DeuxVis lijkt leidend. Een summiere installatiegids en een algemene beschrijving en nog een beschrijving. Dit is duidelijk een Arduino programma ondanks het misleidende _master want de *.ini mist bij de bestanden zegt PlatformIO als het daar probeert te laden. Voor gebruik in de Arduino IDE echter dien je de naam van de ino en de directory gelijk te maken. Verder moet in device_config.h de gegevens van TTN worden ingevuld. De bijbehorende instellingen die in het TTN netwerk moeten worden gemaakt worden beschreven. Verder moet in gps.h de pennen van de GPS worden gewisseld omdat dit programma nog niet omgezet is naar versie 1.0 van de T-Beam. Verder moet in het *.ino bestand de powerchip worden toegevoegd omdat dit programma nog niet omgezet is naar versie 1.0 van de T-Beam. Installeer de bibliotheken zoals aangegeven door DeuxVis: ArduinoIDE ESP32 extension, LoRa lmic, Tiny gps plus, axp202x. In LoRa lmic config.h dhet zendertype veranderd van 1276 naar 1272. Meen ik ergens gelezen te hebben: checken. Niet doen: het lijkt er op dat sx1276 is gemonteerd (bron) Stel als board in de heltec wifi lora32 en het geheel compileert foutloos. Maar als ik als board instel de T-Beam dan krijg ik een fout over lmic daat geen pinmap heeft voor dit board. Op zich klopt dat ook, echter hij herkent niet dat wij deze pinmap hebben in ttn.h. Deze waarschuwing mag dus worden genegeerd. Na uploaden lijkt alles goed te gaan in de seriele monitor, maar ik zie niets gebeuren op TTN. De seriele monitor zegt: EV_JOINING" en stopt vervolgens. Met de maintained lmic zegt hij om de 30 seconden "unknown event". esp32-ttnmapper-gps Het https://github.com/ricaun/esp32-ttnmapper-gps is nog een mapper. Lijkt uitsluitend te werken met ABP ipv OTAA op TTN. Paxcounter Het cyberman54 Paxcounter project (Wifi & Bluetooth driven, LoRaWAN enabled, battery powered mini Paxcounter built on cheap ESP32 LoRa IoT boards) gebruikt ook LoRa. Doorklikken levert een uitgebreide documentatie op. Het programma is uitsluitend te bewerken met PlatformIO en niet met de Arduino IDE. Het programma telt het aantal mobiele telefoons in zijn omgeving en geeft die informatie via LoRa door. En dan krijgen we info We ontvangen data van een node Nu zien we data verschijnen in onze applicatie op TTN. Maar dat is niet genoeg voor ons. Wij willen graag dat TTN data voor ons doorstuurt in 2 richtingen met mqtt. Er lijkt een mqtt server te lopen (Quick start). Abonneer op TTN In de terminal ga je dan boodschappen ontvangen zoals onder: florigs/devices/ttgotbeam01/up {"app_id":"florigs","dev_id":"ttgotbeam01","hardware_serial":"00DB3AF9BB0D302F","port":10,"counter":31977,"payload_raw":"VC4AAAAAAAAAAA==","metadata":{"time":"2020-10-04T17:03:42.926090055Z","frequency":868.5,"modulation":"LORA","data_rate":"SF7BW125","airtime":61696000,"coding_rate":"4/5","gateways":[{"gtw_id":"eui-008000000000b8b6","timestamp":925869203,"time":"2020-10-04T17:03:42.915122Z","channel":2,"rssi":-114,"snr":-2.8,"rf_chain":0,"latitude":52.0182,"longitude":4.70844,"altitude":27}],"latitude":51.99875,"longitude":4.698528,"location_source":"registry"}} De payload_raw data zijn in deze vorm onleesbaar en ook onbruikbaar voor een programma. Wel handig als je de data toch wilt doorzenden. Data converteren TTN werkt met datablokken van 10 bytes die dan vervolgens worden versleuteld op een 64bits basis. Dit kan in Python betrekkelijk simpel worden geconverteerd: decodedbytes = base64.b64decode(payload, altchars=None, validate=False). Maar ik wil het gepubliceerd zien naar mijn mqtt server? Het moet werken als de fysiek langere weg maar verder volkomen identiek. Dat is geen probleem want nadat de data zijn gedecodeerd kunnen ze door hetzelfde Python programma worden gepubliceerd naar onze eigen mqtt broker. Algemene informatieLaatste verandering2022-06-14Soort onderdeelInterfacingStatusActiefKYcodePrijsindicatie0,00SketchvoorbeeldPinoutIcons/icons/ttn-logo.pngPubliceerNeeUp to dateNeeLaatstbewerkte onderdelen2024-09-24 Verplaatst Robots2024-04-16 Verplaatst Muziektheorie2024-03-26 Verplaatst µControllers2024-01-21 Verplaatst Just4Fun Korg Triton2024-01-21 Verplaatst Just4Fun KaTrifs