Wie funktioniert es?
Das wichtigste aktive Element des LoRa klicken Sie das RN2483, Low-Power Long-Range LoRa® Technologie Transceiver-Modul, von Microchip. Es verfügt über einen LoRaWAN®-kompatiblen Stack der Klasse A, das für eine robuste LoRaWAN®-Vernetzung optimiert ist, immun gegen Störungen ist und sich für den drahtlosen Betrieb mit großer Reichweite eignet. Es bietet eine Langstrecken-Spread-Spectrum-Kommunikation mit hoher Störsicherheit. Ein Empfänger mit einer Empfindlichkeit von -148dBm in Kombination mit dem integrierten 14dBm-Verstärker ermöglicht Verbindungen mit großer Reichweite, die im freien Gelände bis zu 15km erreichen können (nach Angabe des Modulherstellers). LoRa click bietet Datenraten von 300 kbps mit FSK-Modulation und 5468 bps mit LoRa® Technology-Modulation.
Das LoRaWAN® -Netzwerk wird in drei verschiedene Klassen eingeteilt. Klasse A konformes Gerätenetzwerk ist ein Netzwerk, bei dem die Endknoten batteriebetrieben sind, die Kommunikationsnutzlast klein ist mit längeren Intervallen, und die Kommunikation vom Endknoten initiiert wird (Uplink). Die Kommunikation ist bidirektional, und der Server antwortet in vorgegebenen Antwortfenstern.
Die Kommunikation erfolgt über die UART-Schnittstelle. Es gibt drei Gruppen von Befehlen, die zur Konfiguration und zum Betrieb der einzelnen Schichten des RN2483 verwendet werden. Diese Schichten sind die SYSTEM-Schicht, die MAC-Schicht und die RADIO-Schicht. Jede dieser Schichten steuert einen bestimmten Bereich des Moduls, und jeder UART-Befehl beginnt mit einem der drei Schlüsselwörter, die eine Abkürzung für den Namen der Schicht darstellen, die sie steuern. Einige Befehle erfordern auch Parameter, je nach ihrer Art.
Zum Beispiel:
sys sleep <length>
Dies ist ein Systembefehl, der das Modul für eine durch den Parameter <Länge> vorgegebene Zeitspanne (in Millisekunden) in einen Ruhezustand versetzt. Das Modul ist auch mit einem nichtflüchtigen Speicher (EEPROM) ausgestattet, in dem die Konfigurationseinstellungen sowie einige zusätzliche Daten gespeichert werden. Die Standard-UART-Kommunikationsgeschwindigkeit beträgt 57600 bps, 8N1 ohne aktivierte Hardware-Flusskontrolle.
Die Break-Bedingung kann an das Modul übertragen werden, wenn dessen UART_RX-Pin länger als für die Übertragung eines einzelnen Zeichens erforderlich auf Low gehalten wird. Dies unterbricht den Sleep-Modus, bevor der Timer abläuft, und kann auch dazu verwendet werden, die Kommunikationsgeschwindigkeit zu messen. Nachdem die Unterbrechungsbedingung dem Modul signalisiert wurde, wird durch das Senden des Zeichens 0x55 die Kommunikationsgeschwindigkeit des Moduls an die Geschwindigkeit angepasst, mit der das Zeichen 0x55 gesendet wurde.
Um einem LoRaWAN® -Netzwerk beizutreten, benötigt das Gerät einen LoRaWAN® -Konzentrator/Gateway. Das Endpunktgerät muss eine eindeutige Endpunktadresse, einen Anwendungssitzungsschlüssel und einen Netzwerksitzungsschlüssel verwenden. Die erste Methode ist die sogenannte Over-the-Air-Aktivierung (OTAA), bei der diese Schlüssel nach einer bestimmten Join-Prozedur ausgegeben werden (weitere Informationen finden Sie in der LoRaWAN® -Spezifikation). Die zweite Methode ist die manuelle Zuweisung dieser Schlüssel über UART-Befehle. Diese Methode wird Aktivierung durch Personalisierung (ABP) genannt und kann anfällig für einige Sicherheitsprobleme sein. Bevor ein Endgerät im LoRaWAN® -Netzwerk kommunizieren kann, muss es in jedem Fall aktiviert werden.
Die LoRaWAN® MAC-Schicht kann auch durch einen Befehl außer Kraft gesetzt werden, was eine einfache p2p-Kommunikation (Peer-to-Peer) ermöglicht, bei der zwei Knoten direkt miteinander kommunizieren. Obwohl die Erklärung aller Konfigurationsparameter sowie die ausführliche Erläuterung der einzelnen Funktionen des RN2483-Moduls im Command Reference User’s Guide zu finden sind, ist zu beachten, dass eine falsche Einstellung einiger Parameter dazu führen kann, dass das Gerät nicht mehr reagiert. Daher sollten Sie die Erklärungen sorgfältig lesen und verstehen, bevor Sie diese Einstellungen vornehmen. Um das Design zu vereinfachen und Fehler zu vermeiden, enthält MikroElektronika eine Click board™-Bibliothek, die einfache Funktionen enthält, die zum Einrichten und Betreiben des LoRa-Click verwendet werden. Die mitgelieferte Demo-Applikation veranschaulicht, wie diese in einer realen Anwendung genutzt werden können. Sie kann als Referenz für das eigene Design verwendet werden.
Um die Anbindung sowohl an 3,3V- als auch an 5V-MCUs zu ermöglichen, verwendet dieses Click-Board™ den TXB0106, einen bidirektionalen Level-Shifter und Spannungsübersetzer von Texas Instruments, der von einem 3,3V-LDO unterstützt wird. Dieser übersetzt die externen Spannungspegel auf akzeptable Pegel, die auf dem LoRa® -Modul verwendet werden können. Alle verwendeten I/O-Pins des Moduls sind über dieses IC auf die mikroBUS™-Pins geführt.
Die UART RX- und TX-Pins werden über den Level-Shifter auf die entsprechenden mikroBUS™ UART-Pins geroutet. Der CTS-Pin wird auf den INT-Pin des mikroBUS™ geroutet, während der RTS-Pin auf den CS-Pin des mikroBUS™ geroutet wird – ebenfalls über den Level-Shifter. Diese Pins können verwendet werden, wenn eine Hardware-Flusskontrolle erforderlich ist. Der #RESET-Pin ist auf den RST-Pin des mikroBUS™ geführt und dient dem Reset des Gerätes. Er ist intern mit einem Widerstand hochgezogen.
Das LoRa-Click-Board ist mit zwei SMA-Anschlüssen ausgestattet, so dass es mit den entsprechenden 868MHz- und 433MHz-Antennen bestückt werden kann – damit stehen zwei Kommunikationsfrequenzen zur Auswahl, die genutzt werden können. Der als VCC SEL bezeichnete SMD-Jumper auf der Platine dient zur Auswahl des Spannungseingangs für den Level-Shifter für die Kopplung mit 3,3V- oder 5V-MCUs.
Spezifikationen
Typ | LoRa |
Anwendungen | Automatisierte Zählerablesung, Haus- und Gebäudeautomation, M2M, IoT, industrielle Überwachung und Steuerung |
On-board Module | Microchip’s RN2483 Radio Modem |
Radio Region | Europa |
Key Features | Integriert LoRaWAN™ Class A Protokollstack. Sub-GHz, 433/868 MHz Europäische R&TTE-Richtlinie |
Schnittstelle | UART |
Kompatibilität | mikroBUS |
Steckkartengröße | L (57.15 x 25.4 mm) |
Eingangsspannung | 3.3V oder 5V |
Pinout Diagramm
Diese Tabelle zeigt, wie die Pinbelegung am LoRa-Klick mit der Pinbelegung an der mikroBUS™-Buchse übereinstimmt (letztere in den beiden mittleren Spalten dargestellt).
LoRa click elektrische Spezifikationen
Beschrieb | Min | Typ | Max | Unit |
---|---|---|---|---|
Betriebsfrequenzbereich 1 | 433.050 | 434.790 | Mhz | |
Betriebsfrequenzbereich 2 | 863.000 | 870.000 | MHz | |
Baudrate der UART-Schnittstelle | – | 57600 | – | bps |
Onboard-Einstellungen und Anzeigen
Label | Name | Default | Beschrieb |
---|---|---|---|
JP1 | PWR SEL | Left | Auswahl der Logikpegelspannung: Linke Position 3V3, rechte Position 5V |
LD1 | PWR | – | Power-LED-Anzeige |
Software support
Es gibt eine Bibliothek für LoRa-Click auf der LibStock-Seite, sowie eine Demo-Applikation (Beispiel), entwickelt mit MikroElektronika-Compilern und mikroSDK. Die bereitgestellte Klick-Bibliothek ist mikroSDK-Standard-konform. Die Demo-Anwendung kann auf allen wichtigen MikroElektronika-Entwicklungsboards laufen.
Bibliothek Beschreibung
Die Bibliothek deckt alle Funktionalitäten des Click-Boards durch vereinfachte API-Aufrufe ab.
Wichtige Funktionen:
uint8_t lora_tx( char *buffer )
– Transmit-Funktion, sendet die bereitgestellte Nachricht unter Verwendung des Puffers.uint8_t lora_rx(char* window_size, char *response)
– Empfangsfunktion, liefert eine Nachricht unter Verwendung des Antwortpuffers.void lora_process()
– Der Zustandsautomat der Bibliothek muss innerhalb einer Endlosschleife platziert werden.
Beispiele Beschreibung
Die Anwendung besteht aus drei Abschnitten:
- Systeminitialisierung – Initialisiert das UART-Modul und den CS-Pin, den RST-Pin als Ausgang und den INT-Pin als Eingang.
- Anwendungsinitialisierung – Initialisiert den Treiber und das LoRa® -Modul, das sich auf dem Click-Board befindet.
- Application Task – (Codeschnipsel) – Kann als Empfänger oder als Sender verwendet werden. Es ist notwendig, den entsprechenden Teil des Codes zu entkommentieren. Der Sender sendet ein Byte nach dem anderen, jede Sekunde, während der Empfänger die Nachricht im kontinuierlichen Modus empfängt und die empfangenen Daten auf UART protokolliert.
void applicationTask() { lora_process(); // RECEIVER rxState = lora_rx( 0, &tmp_txt[0]); if (rxState == 0) { _data = xtoi(&tmp_txt[11]); mikrobus_logWrite( &_data,_LOG_BYTE); mikrobus_logWrite( " ",_LOG_LINE); } // TRANSMITER for (cnt = 0; cnt < 7; cnt++) { send_data = sendMessage[cnt]; IntToHex(send_data,sendHex); txState = lora_tx( &sendHex[0] ); if (txState == 0) { mikrobus_logWrite( " Response : ",_LOG_TEXT ); mikrobus_logWrite( tmp_txt,_LOG_LINE ); } Delay_1sec(); } }
Den vollständigen Anwendungscode und fertige Bibliotheken finden Sie auf der Libstock Seite.
Weitere im Beispiel verwendete mikroE-Bibliotheken:
- UART
- Conversions
Zusätzliche Hinweise und Informationen
Je nach verwendetem Entwicklungsboard benötigen Sie USB-UART-Klick, USB-UART-2-Klick oder RS232-Klick zur Verbindung mit Ihrem PC, bei Entwicklungssystemen, die keine UART-zu-USB-Schnittstelle auf dem Board haben. Das in allen MikroElektronika-Compilern verfügbare Terminal oder eine andere Terminalanwendung Ihrer Wahl kann zum Lesen der Nachricht verwendet werden.
mikroSDK
Dieses Click-Board wird von mikroSDK – MikroElektronika Software Development Kit – unterstützt. Um den ordnungsgemäßen Betrieb von mikroSDK-konformen Click-Board-Demo-Applikationen zu gewährleisten, sollte mikroSDK aus dem LibStock heruntergeladen und für den von Ihnen verwendeten Compiler installiert werden.
Für weitere Informationen über mikroSDK, besuchen Sie die offizielle Seite.
Bewertungen
Es gibt noch keine Bewertungen.