Jak krok po kroku podłączyć węzeł LoRaWAN do TTN

Ostatnia aktualizacja: 25 stycznia 2026
  • Aby węzły mogły się komunikować, LoRaWAN wymaga odpowiednio skonfigurowanej bramy (częstotliwości, sieci IP, serwera) i rejestracji w TTN.
  • Urządzenia końcowe rejestruje się w aplikacjach TTN za pomocą DevEUI, JoinEUI/AppEUI i AppKey (OTAA) lub NWKSKEY/APPSKEY/DEVADDR (ABP).
  • Do przesyłania danych do TTN można wykorzystać komercyjne czujniki (SenseCAP, Decentlab, Dragino, Tabs) lub węzły DIY z ESP32/Arduino i biblioteką LMIC.
  • TTN ułatwia integrację z Node-RED i platformami zewnętrznymi w celu wizualizacji i wykorzystania danych IoT zbieranych przez sieć LoRaWAN.

Połącz węzeł LoRaWAN z TTN

Jeśli dotarłeś aż tutaj, to dlatego, że chcesz wiedzieć, jak podłączyć węzeł LoRaWAN do TTN od początku do końca , nie pomijając niczego: bram, węzłów, czujników, bibliotek, kluczy i konfiguracji sieci. Dobra wiadomość jest taka, że ​​nie musisz być ekspertem od telekomunikacji; z dobrze skonstruowanym przewodnikiem i odrobiną cierpliwości możesz skonfigurować własną, funkcjonalną sieć LoRaWAN w mgnieniu oka.

W poniższych linijkach krok po kroku pokażemy, jak skonfigurować bramę, zarejestrować ją w sieci The Things Network, dodać aplikacje i urządzenia końcowe oraz zaprogramować węzły LoRaWAN oparte na płytkach ESP32 lub Arduino, a także przykłady z czujnikami komercyjnymi (SenseCAP, Decentlab, Dragino, Tabs Browan). Omówimy również praktyczne kwestie, których nie zawsze można znaleźć w instrukcjach: typowe problemy z klawiszami, wybór częstotliwości, fizyczne połączenia pinów oraz triki weryfikujące, czy wszystko faktycznie komunikuje się z TTN.

Czym są LoRa i LoRaWAN i dlaczego warto używać TTN?

LoRa i LoRaWAN to dwa powiązane ze sobą koncepcje, ale nie to samo . LoRa to zastrzeżona przez Semtech technologia modulacji częstotliwości radiowej dalekiego zasięgu i niskiego poboru mocy. LoRaWAN to protokół sieciowy, który wykorzystuje LoRa do zarządzania komunikacją urządzeń końcowych (węzłów) z bramami i serwerem sieciowym.

W typowej sieci LoRaWAN występują dwa główne komponenty: bramy i węzły . Bramy działają jak „mosty” między światem LoRa (radio) a światem IP (internet), przekazując pakiety do serwera LoRaWAN. Węzły to czujniki lub siłowniki, które wysyłają i odbierają informacje za pomocą LoRa do i z tych bram.

Aby to wszystko połączyć, potrzebujesz serwera LoRaWAN. Możesz zapłacić za usługę prywatną (u operatorów takich jak Movistar, Vodafone lub platform takich jak Loriot, Actility, Kerlink) lub skorzystać z sieci społecznościowej The Things Network (TTN), która jest publiczną, otwartą siecią zarządzaną przez społeczność.

TTN ma tę zaletę, że szanuje zasady zarządzania danymi, jest neutralny i pozwala na dodawanie bram do sieci . W wielu miastach mieszkańcy instalują bramy z własnej inicjatywy, a każdy może korzystać z tego zasięgu bez żadnych kosztów poza sprzętem węzłów.

Częstotliwości, kanały i ograniczenia LoRaWAN

Przed zakupem jakiegokolwiek urządzenia należy upewnić się, że częstotliwość LoRa jest kompatybilna z Twoim regionem . Praca w Europie to nie to samo, co praca w Stanach Zjednoczonych czy Azji; jeśli wybierzesz niewłaściwe pasmo, urządzenie może być bezużyteczne, a nawet nielegalne.

W Europie wykorzystywane jest głównie pasmo 868 MHz (EU868) . W Stanach Zjednoczonych typowe pasmo to 915 MHz (US915). Chińscy sprzedawcy oferują szeroką gamę modułów 433 MHz, które mogą być kuszące ze względu na cenę, ale nie zawsze są kompatybilne z LoRaWAN lub systemem operacyjnym Twojego kraju.

Oprócz częstotliwości, LoRaWAN jest podzielony na kanały, współczynnik rozpraszania (SF) i plany częstotliwości . SF definiuje prędkość i zasięg: wyższy SF oznacza większy zasięg, ale także dłuższy czas transmisji, co zużywa więcej energii i zajmuje więcej miejsca w kanale.

W Europie obowiązuje znana „zasada 1%” : każde urządzenie może zajmować kanał radiowy tylko przez niewielki procent czasu, zazwyczaj około 1%. Ogranicza to częstotliwość przesyłania danych i jest jednym z powodów, dla których czujniki LoRaWAN zazwyczaj nadają co kilka minut, a nie co kilka sekund.

Przygotowanie i dobór sprzętu do bram i węzłów

Aby skonfigurować praktyczną sieć, potrzebna będzie co najmniej jedna brama LoRaWAN oraz jeden lub więcej węzłów (czujników) . Można łączyć sprzęt różnych producentów, pod warunkiem, że jest zgodny ze standardem LoRaWAN i działa w tym samym paśmie częstotliwości.

Jednym z popularnych modeli bramek wewnętrznych jest Dragino LPS8 , który integruje koncentrator SX1308 i obsługuje do 10 kanałów równoległych. Jest on fabrycznie skonfigurowany z różnymi planami częstotliwości w zależności od kraju, a w Europie działa na częstotliwości 868 MHz. Jest zasilany napięciem 5 V przez USB-C i łączy się z siecią IP przez RJ-45 lub Wi-Fi.

Inne przykłady bramek dobrze współpracujących z TTN to RAK7289 (do zastosowań zewnętrznych, wzmocnionych i z opcją LTE/4G) lub oficjalne bramki TTN-GW-868 MHz, zaprojektowane do wdrażania zasięgu w miastach lub projektach Smart City. Możliwe jest również zbudowanie bramki jednokomórkowej z płytką ESP32 i modułem LoRa SX1262 , tak jak w przypadku zestawu Wio-SX1262 i Xiaomi ESP32S3.

Jako węzły macie dwie opcje: możecie wykorzystać komercyjne czujniki już gotowe do obsługi LoRaWAN (SenseCAP S210x, Tabs Browan TBHH100, Dragino TrackerD, Decentlab itp.) lub zbudować własne węzły przy użyciu płytek deweloperskich, takich jak TTGO LoRa32 V2.0, ESP32 + RMF95, Arduino + moduł LoRa itp.

Skonfiguruj bramkę LoRaWAN i podłącz ją do TTN

Pierwszym ważnym krokiem w projekcie jest uruchomienie bramy i wyświetlenie komunikatu „Połączono” w TTN . Chociaż każdy producent ma własny panel, kroki koncepcyjne są bardzo podobne.

Na przykład, Dragino LPS8 można zarządzać przez SSH lub HTTP . Jeśli podłączysz go kablem RJ-45, musisz sprawdzić adres IP przypisany przez serwer DHCP (za pomocą skanera IP lub routera). Jeśli wolisz początkową konfigurację przez Wi-Fi, LPS8 utworzy własną sieć z identyfikatorem SSID, takim jak „dragino-xxxxx”, i domyślnym hasłem, takim jak „dragino+dragino”. Użycie adresu IP 10.130.1.1 przeniesie Cię do panelu webowego, gdzie początkowa nazwa użytkownika i hasło to zazwyczaj „admin/dragino”.

Po wejściu zobaczysz menu z kilkoma sekcjami, a niektóre opcje mogą mieć czerwony krzyżyk, oznaczający brak konfiguracji . Pierwszym krokiem jest wybranie prawidłowego planu częstotliwości dla Twojego regionu w zakładce LoRa; w Europie jest to EU868 (około 868 MHz).

  Cloud Computing: Transformacja nowoczesnej technologii

Następnie dotknij zakładki LoRaWAN lub Serwer sieciowy . Tam zdefiniujesz serwer LoRaWAN, z którym będzie łączyć się brama. W przypadku TTN wybierz „TTN” jako dostawcę i wprowadź adres serwera europejskiego (na przykład eu1.cloud.thethings.network), zachowując porty UDP (zwykle 1700 dla wysyłania i pobierania). W tej samej sekcji zobaczysz identyfikator bramy, czyli EUI, który będzie nam potrzebny później w TTN.

W sekcji „Sieć” konfigurujesz sposób, w jaki brama łączy się z internetem : LAN, WAN lub Wi-Fi WAN. Dla interfejsu WAN możesz wybrać statyczny adres IP lub DHCP; jeśli to możliwe, zaleca się korzystanie ze statycznego adresu IP w połączeniu przewodowym, aby zapewnić stabilniejsze połączenie i łatwiejszy dostęp do zarządzania. Sekcja „LAN” jest zazwyczaj używana do obsługi wewnętrznej sieci punktów dostępowych bramy; najlepiej nie zmieniać tego ustawienia bez pełnego zrozumienia wykonywanych czynności, ponieważ może to być zbawienne w razie problemów.

W sekcji Wi-Fi można dostosować zarówno punkt dostępowy generowany przez samą bramkę, jak i jej połączenie z zewnętrzną siecią Wi-Fi . Ze względów bezpieczeństwa zaleca się zmianę domyślnego identyfikatora SSID i hasła punktu dostępowego ustawionego fabrycznie.

W przypadku bram RAK7289 proces jest podobny: należy uzyskać dostęp do panelu internetowego, skonfigurować adres IP (statyczny lub DHCP) w sekcji Sieć → Interfejs WAN , a następnie w sekcji Sieć LoRa → Ustawienia sieciowe → Przekierowanie pakietów wprowadzić dane serwera TTN i zanotować identyfikator EUI bramy, aby później zarejestrować go w TTN. Jeśli znajdujesz się za routerem obsługującym DHCP, możesz zlokalizować adres IP bramy, sprawdzając tabelę dzierżaw (według nazwy hosta, na przykład „RAK7289”) lub korzystając z narzędzi takich jak nmap.

Rejestracja bramy w The Things Network

Gdy brama uzyska dostęp do internetu, musisz ją zarejestrować w TTN . Jeśli nie masz konta, najpierw zarejestruj się na stronie The Things Network, a następnie uzyskaj dostęp do konsoli w odpowiednim regionie (na przykład https://eu1.cloud.thethings.network/).

W konsoli wybierz sekcję „Bramy” i kliknij „Zarejestruj bramę” . TTN poprosi o identyfikator bramy (unikalną nazwę na Twoim koncie) oraz, w zależności od typu bramy, EUI bramy. W przypadku bram Dragino LPS8 korzystających z klasycznego przekierowywacza pakietów, należy wybrać opcję „Używam starszego przekierowywacza pakietów”.

Dodatkowo należy określić plan częstotliwości (EU868 dla Europy) , odpowiedni region lub router oraz opcjonalnie lokalizację (współrzędne, wewnątrz/na zewnątrz itp.). W bramkach, takich jak bramka jednokomórkowa z XIAO ESP32S3 i Wio-SX1262, samo oprogramowanie sprzętowe może wyświetlać identyfikator bramy przez port szeregowy podczas uruchamiania; wystarczy go skopiować i użyć w formularzu rejestracyjnym.

Po uzupełnieniu tych informacji i zarejestrowaniu bramy, TTN wyświetli pasek stanu („Połączono” lub „Rozłączono”) oraz sekcję „Ruch”, w której można śledzić przepływ pakietów w czasie rzeczywistym. Jeśli wszystko jest poprawnie skonfigurowane zarówno na bramie, jak i w TTN, w ciągu minuty lub dwóch powinno nastąpić przełączenie na „Połączono”, a ruch powinien zacząć być widoczny, gdy węzły będą transmitować.

Oznacza to, że infrastruktura (brama + serwer) jest już gotowa do działania . Teraz czas na konfigurację aplikacji i urządzeń końcowych.

Tworzenie aplikacji i rejestracja węzła w TTN

W sieci TTN urządzenia nie są rejestrowane bezpośrednio w katalogu głównym konta, lecz w aplikacjach . Aplikacja grupuje jeden lub więcej węzłów, które wysyłają powiązane dane, na przykład wszystkie czujniki środowiskowe w budynku lub kilka lokalizatorów GPS w projekcie edukacyjnym.

W konsoli TTN przejdź do sekcji Aplikacje i utwórz nową aplikację . Nadaj jej unikalny identyfikator, opcjonalnie opis i wybierz odpowiedni region. W tej aplikacji zarejestrujesz każdy węzeł LoRaWAN, podając jego dane uwierzytelniające (DevEUI, JoinEUI/AppEUI oraz AppKey lub inne klucze, w zależności od metody aktywacji).

Do czujników komercyjnych, takich jak czujniki temperatury i wilgotności Browan TBHH100-868 , zazwyczaj dołączana jest etykieta z kodami DevEUI, AppEUI i AppKey. Zazwyczaj wykorzystują one metodę OTAA (Over-The-Air Activation), która generuje sesje kluczy przy każdym połączeniu z siecią, co czyni ją bezpieczniejszą niż ABP.

W przypadku OTAA, w TTN wybierasz rejestrację nowego urządzenia końcowego, wpisujesz JoinEUI (AppEUI), DevEUI i AppKey , weryfikujesz dane i potwierdzasz. Po zapisaniu, jeśli węzeł jest poprawnie skonfigurowany i znajduje się w zasięgu bramy, zobaczy sygnały sieciowe, wykona procedurę dołączenia, a Ty zaczniesz widzieć komunikaty uplink z ich pomiarami w konsoli.

To samo dotyczy czujników, takich jak czujniki poziomu i temperatury Decentlab : producent dostarcza identyfikator, DevEUI, AppEUI i AppKey, ale nie wie z góry, z którego serwera będziesz korzystać. Odpowiedzialność za zarejestrowanie tych informacji w TTN (lub innym serwerze) spoczywa na Tobie, aby umożliwić rejestrację czujnika. Wiele urządzeń Decentlab jest wstępnie zarejestrowanych w TTN na Twoje życzenie, co dodatkowo upraszcza proces.

Konfigurowanie komercyjnych czujników LoRaWAN

Przyjrzyjmy się konkretnym przykładom przygotowania i rejestracji komercyjnych czujników LoRaWAN , które następnie będą komunikować się z TTN za pośrednictwem bramki.

W przypadku serii SenseCAP S210x (na przykład czujników środowiskowych) typowy proces polega na użyciu aplikacji SenseCraft producenta . Najpierw należy pobrać aplikację, włączyć czujnik przyciskiem (przytrzymując go przez kilka sekund, aż dioda LED będzie migać co sekundę), a następnie w aplikacji wybrać opcję „Skanuj”, aby odczytać kod QR urządzenia.

W aplikacji dostępny jest tryb „Konfiguracja zaawansowana”, w którym wybierasz platformę „The Things Network” . Musisz wybrać ten sam plan częstotliwości, co Twoja brama (na przykład EU868) i upewnić się, że tryb łączenia to OTAA. Aplikacja wyświetli identyfikator EUI urządzenia, identyfikator AppEUI (JoinEUI) oraz klucz aplikacji (AppKey); warto je zanotować, ponieważ będą musiały zostać wprowadzone do TTN podczas rejestracji urządzenia.

W przypadku czujnika Tabs Browan TBHH100-868 , klucze są fabrycznie skonfigurowane. Czujnik mierzy temperaturę i wilgotność, jest zasilany baterią 3,6 V i przesyła dane zgodnie z następującymi zasadami: co 60 minut, jeśli nie ma zmian, lub wcześniej, jeśli temperatura zmieni się o ±2°C, a wilgotność o ±5%. Aby go zarejestrować, wystarczy wprowadzić klucz APPKey, APPEUI i DevEUI dostarczone przez producenta do serwera LoRaWAN (np. TTN). Czasami może wystąpić problem z formatem lub kolejnością bajtów (msb/lsb), dlatego ważne jest, aby to sprawdzić, jeśli połączenie nie powiedzie się za pierwszym razem.

  Kompletny przewodnik po zdecentralizowanym przechowywaniu w chmurze

Urządzenia Dragino TrackerD służą jako lokalizatory GPS z przyciskiem paniki. Każde urządzenie posiada własny zestaw kluczy LoRaWAN. W sieciach TTN są one zazwyczaj rejestrowane w tej samej aplikacji (np. „tracking-course”), a urządzenie jest konfigurowane, w razie potrzeby, przez port szeregowy (USB) za pomocą poleceń AT. Dokumentacja zawiera szczegółowe polecenia dotyczące regulacji szybkości transmisji, zachowania alarmów itp. Ważne: Wiele oprogramowań Dragino wymaga wklejania poleceń AT w całości do terminala, a nie wpisywania ich znak po znaku.

W czujnikach, takich jak czujniki poziomu, ciśnienia czy czujniki środowiskowe firmy Decentlab , filozofia jest podobna: do połączenia z siecią TTN (lub inną) używa się interfejsów DevEUI, AppEUI i AppKey. Decentlab zazwyczaj ustawia interwał transmisji na 10 minut, ponieważ jest to sprawdzony kompromis między zużyciem danych a rozdzielczością, choć można go zmodyfikować na żądanie lub poprzez konfigurację. Użytkownicy mogą przeglądać dane na platformie chmurowej producenta lub zintegrować urządzenie z platformami innych firm (MyDevices, ResIoT, WMW itp.), dodając odpowiedni dekoder danych.

Zbuduj własny węzeł LoRaWAN przy użyciu sprzętu typu open-source

Jeśli lubisz majsterkować, największą frajdę sprawia Ci często budowanie i programowanie własnego węzła LoRaWAN . Bardzo popularnym połączeniem jest użycie płytki opartej na ESP32 ze zintegrowaną funkcją LoRa, takiej jak TTGO LoRa32 V2.0 868 MHz, i dodanie prostego czujnika, na przykład czujnika temperatury DS18B20.

Do tego podejścia potrzebne są cztery części: płytka sterująca (ESP32, Arduino itp.), moduł radiowy LoRa (na przykład SX1276/78 typu RFM95), czujnik, który chcesz zmierzyć , a także opcjonalnie urządzenia peryferyjne, np. wyświetlacz OLED do lokalnego wyświetlania danych.

Moduł TTGO LoRa32 V2.0 jest wyposażony w zintegrowany transceiver LoRa oraz, w zależności od wersji, mały wyświetlacz OLED. Oparty na układzie ESP32, zapewnia łączność Wi-Fi i Bluetooth, a w wielu przypadkach idealnie nadaje się również do budowy jednokanałowej mini bramki po podłączeniu do internetu. Jednak na tej i podobnych płytkach niektóre sygnały z modułu LoRa (DIO1, DIO2) nie są wstępnie podłączone do mikrokontrolera i trzeba je podłączyć samodzielnie.

Na przykład TTGO LoRa32 V2.0 zazwyczaj wykorzystuje następujący układ wyprowadzeń dla LoRa: SCK na GPIO5, MISO na GPIO19, MOSI na GPIO27, CS na GPIO18, RESET na GPIO14 i DIO0 na GPIO26 . DIO1 i DIO2 są zazwyczaj fizycznie połączone odpowiednio z GPIO33 i GPIO32, które znajdują się naprzeciwko siebie w przeciwległym rzędzie, co znacznie ułatwia użycie bezpośredniego zworki.

Istnieją trzy typowe sposoby wykonania tych połączeń: lutowanie przewodów bezpośrednio do pinów (do montażu końcowego), użycie przewodów połączeniowych, jeśli płytka znajduje się na płytce stykowej , lub poprowadzenie połączeń na dedykowanej płytce PCB, do której podłączony jest TTGO. Opcja zworki jest zazwyczaj najwygodniejsza do testowania.

Oprogramowanie węzła: biblioteka LMIC, klucze częstotliwości i TTN

Do programowania węzła LoRaWAN na Arduino/ESP32 powszechnie stosowana jest biblioteka MCCI LoRaWAN LMIC , która implementuje stos LoRaWAN i zarządza wszystkim, co dotyczy kanałów, łączenia, ponawiania prób, okien odbioru itp.

Najpierw zainstaluj bibliotekę z Menedżera Bibliotek Arduino IDE , wyszukując „LMIC” i wybierając „Biblioteka MCCI LoRaWAN LMIC”. Po zainstalowaniu należy pamiętać o jednym istotnym szczególe: domyślnie biblioteka jest skonfigurowana dla US915 (Stany Zjednoczone), więc jeśli mieszkasz w Europie, musisz zmienić ją na EU868.

Aby to zrobić, znajdź plik lmic_project_config.h w folderze biblioteki (np. /Arduino/libraries/MCCI_LoRaWAN_LMIC_library/project_config/) i edytuj definicje. Zakomentuj CFG_us915 ​​i włącz CFG_eu868, upewniając się również, że włączony jest prawidłowy typ radia (na przykład CFG_sx1276_radio dla modułów SX1276/78). Ta zmiana jest jednorazowa i dotyczy wszystkich projektów LMIC.

Następnie otwierasz jeden z dołączonych przykładów, na przykład ttn-abp , który okresowo wysyła komunikat „Hello, world!” jako ładunek. Ten przykład służy jako podstawa do dostosowania go do Twojej płytki i danych uwierzytelniających TTN.

W kodzie zobaczysz strukturę lmic_pinmap, która określa piny NSS (CS), RST i DIO . Domyślnie jest ona zazwyczaj mapowana dla Feather M0 LoRa, więc jeśli używasz TTGO LoRa32 V2.0, musisz zmienić tę strukturę, aby użyć .nss = 18, .rst = 14 i .dio = {26, 33, 32} (zakładając, że podłączyłeś DIO1 do GPIO33, a DIO2 do GPIO32). Jeśli Twój sprzęt jest inny, zapoznaj się z jego dokumentacją lub znajdź konkretny przykład.

Po poprawnym wyprowadzeniu pinów, czas skonfigurować klucze identyfikujące węzeł w TTN . W przykładzie ttn-abp zmienne NWKSKEY, APPSKEY i DEVADDR pojawiają się z napisem FILLMEIN, dzięki czemu można je wypełnić własnymi wartościami.

Dane te uzyskujesz z konsoli TTN podczas tworzenia urządzenia z aktywacją ABP. TTN udostępnia klucz sesji sieciowej (NWKSKEY), klucz sesji aplikacji (APPSKEY) oraz adres urządzenia (DEVADDR) . W interfejsie klucze są ukryte ze względów bezpieczeństwa, ale można je wyświetlić i, co bardziej praktyczne, skopiować wartość bezpośrednio jako tablicę języka C (za pomocą przycisku „<>”) z prawidłową kolejnością bajtów (MSB). Kliknięcie ikony kopiowania kopiuje tablicę do schowka, skąd można ją po prostu wkleić do kodu, w miejsce każdego FILLMEIN.

W przypadku NWKSKEY i APPSKEY należy użyć formatu tablicy bajtów udostępnianego przez TTN , natomiast w przypadku DEVADDR należy ustawić wartość szesnastkową jako pojedynczą liczbę całkowitą typu u4_t, na przykład `static const u4_t DEVADDR = 0x26011111;`. Dzięki temu węzeł będzie mógł uwierzytelniać i kierować pakiety do aplikacji TTN.

Zintegruj czujniki z kodem węzła

Gdy szkielet LoRaWAN działa, czas zastąpić typowe „Hello, world!” rzeczywistymi danymi z czujników . Kontynuując przykład TTGO LoRa32 i DS18B20, korzystamy z magistrali OneWire i biblioteki DallasTemperature.

  Czy warto płacić za VPN? Kompletny i uczciwy przewodnik

Na początku szkicu dodaj nagłówki i zdefiniuj pin magistrali: `#include <OneWire.h>`, `#include <DallasTemperature.h>` i `#define ONE_WIRE_BUS X` , gdzie X to pin GPIO, do którego podłączyłeś czujnik. Utwórz obiekt `OneWire` o nazwie `oneWire(ONE_WIRE_BUS)` oraz obiekt `DallasTemperature` o nazwie `sensor(&oneWire). Jeśli nie masz zainstalowanej biblioteki DS18B20, dodaj ją z poziomu menedżera bibliotek.

W funkcji setup() inicjujesz czujnik za pomocą sensor.begin() i, jeśli chcesz, ustawiasz rozdzielczość (na przykład sensor.setResolution(11)) . Od tego momentu czujnik jest gotowy do odczytu temperatury, gdy jej potrzebujesz.

Kluczową funkcją LMIC do wysyłania danych jest `do_send(osjob_t* j)`. Wewnątrz zobaczysz sprawdzanie trwającej transmisji (`OP_TXRXPEND`). Jeśli jej nie ma, wywołujesz `sensor.requestTemperatures()`, pobierasz wartość za pomocą `sensor.getTempCByIndex(0)` i zapisujesz ją w tablicy `mydata`. Na przykład możesz użyć `mydata[0] = (uint8_t)sensor.getTempCByIndex(0);`, aby wysłać tylko część całkowitą.

Następnie wywołujesz funkcję LMIC_setTxData2(1, mydata, sizeof(mydata), 0) , gdzie pierwszy parametr to port LoRaWAN (w tym przypadku 1), drugi to bufor, trzeci to rozmiar, a ostatni wskazuje, czy wiadomość jest potwierdzona (1), czy niepotwierdzona (0). Biblioteka planuje transmisję w kolejnym dostępnym slocie.

Istnieje wiele możliwych usprawnień: rozszerzenie ładunku o dane dziesiętne, dodanie innych czujników, pakowanie danych w wydajnym formacie binarnym itd. Jednak nawet w tej prostej wersji masz już węzeł, który okresowo wysyła pomiary w czasie rzeczywistym do TTN, widoczne na konsoli i gotowe do integracji z innymi systemami.

Aktywacja OTAA, bezpieczeństwo i doświadczenie praktyczne

Do tej pory omawialiśmy ABP głównie w przykładach kodu, ale w środowisku produkcyjnym zdecydowanie zaleca się korzystanie z OTAA (aktywacji bezprzewodowej) . OTAA to metoda wykorzystywana na przykład przez czujniki Decentlab i wiele czujników SenseCAP, ponieważ zwiększa bezpieczeństwo.

Dzięki OTAA sesja LoRaWAN jest negocjowana „w eterze” za każdym razem, gdy urządzenie dołącza do sieci . Gdy węzeł zostanie wyłączony, uruchomiony ponownie lub utraci połączenie, nowe klucze sesji są generowane przy następnym dołączeniu, co utrudnia klonowanie urządzenia poprzez samo skopiowanie kluczy statycznych.

W konsoli TTN, po wybraniu OTAA dla urządzenia, zamiast statycznych NWKSKEY i APPSKEY, pojawią się DevEUI, JoinEUI/AppEUI i AppKey . Klucze sesji są każdorazowo konstruowane na podstawie tych wartości i wymiany z serwerem, a klucze pochodne będą widoczne tylko przez czas trwania sesji.

W praktyce użytkownicy zaczynający od zera z LoRaWAN odkryli, że przy bramce zarejestrowanej w TTN i prawidłowo skonfigurowanym czujniku OTAA proces rejestracji może być bardzo prosty : wystarczy założyć konto w TTN, aktywować bramkę, zarejestrować czujnik za pomocą kluczy dostarczonych przez producenta i w ciągu kilku minut przeglądać dane na platformie internetowej (niezależnie od tego, czy jest to własna platforma Decentlab, SenseCAP czy panele stron trzecich).

Na rzeczywisty zasięg w dużym stopniu wpływają takie czynniki, jak lokalizacja modułu LoRa czujnika (najlepiej w pozycji pionowej, ponieważ sprzyja to wzorcowi promieniowania wewnętrznej anteny) , środowisko radiowe i wysokość bramy, jednak po zrozumieniu całego procesu konfiguracji staje się on dość mechaniczny.

Od TTN do Twoich aplikacji: integracje i wizualizacja

Teraz, gdy węzły przesyłają dane do TTN, kolejnym krokiem jest wprowadzenie tych informacji do własnych aplikacji, pulpitów nawigacyjnych lub zautomatyzowanych przepływów pracy . TTN zapewnia w tym celu zaawansowane integracje i API.

Bardzo powszechnym podejściem jest użycie Node-RED do odbierania danych z TTN i przetwarzania ich w razie potrzeby . Konfigurujesz połączenie MQTT lub HTTP za pomocą danych uwierzytelniających aplikacji TTN, dekodujesz dane (zgodnie z formatem czujników), a następnie możesz praktycznie wszystko: zapisywać dane w bazach danych, wyświetlać wykresy, uruchamiać alerty itp.

Inną opcją jest skorzystanie z platform zewnętrznych, które są już zintegrowane z TTN , takich jak Datacake, MyDevices, ResIoT, WMW i inne. Wiele z tych platform ma już dedykowane szablony dla urządzeń, takich jak czujniki Decentlab czy niektóre modele Dragino, więc wystarczy wybrać typ urządzenia, połączyć je z aplikacją TTN i rozpocząć przeglądanie danych na przyjaznych dla użytkownika pulpitach.

Na przykład w projektach edukacyjnych TTN był używany w połączeniu z bramkami RAK7289 i lokalizatorami Dragino TrackerD do lokalizowania osób lub pojazdów. Przebieg pracy wygląda następująco: bramka jest rejestrowana, lokalizatory są rejestrowane w TTN, dane są wyświetlane na konsoli, a następnie w czasie rzeczywistym na publicznym pulpicie Datacake z mapami i wykresami pokazującymi pozycję, poziom naładowania baterii itp.

Ważne jest, aby zrozumieć, że TTN działa jako warstwa sieciowa LoRaWAN i router danych ; Ty decydujesz o warstwie aplikacji i wizualizacji: od skryptu Pythona, który korzysta z interfejsu API, po przemysłową platformę danych IoT.

Krótko mówiąc, podłączenie węzła LoRaWAN do TTN obejmuje kilka kroków (prawidłowa częstotliwość, poprawnie skonfigurowana bramka, rejestracja TTN, klucze węzła, aktywacja OTAA lub ABP, oprogramowanie urządzenia oraz, w razie potrzeby, późniejsza integracja), ale każdy z nich jest możliwy do wykonania nawet bez wcześniejszego doświadczenia, o ile przestrzegane są odpowiednie wytyczne. Po zakończeniu wstępnej konfiguracji, wdrażanie kolejnych węzłów lub bramek staje się procesem wysoce powtarzalnym i skalowalnym, idealnym dla dużych projektów czujnikowych, inicjatyw Smart City lub po prostu do nauki i eksperymentowania z Internetem Rzeczy dalekiego zasięgu.