lets_plaiy:lorawan:start
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| lets_plaiy:lorawan:start [2026/04/27 17:20] – jan.sonntag | lets_plaiy:lorawan:start [2026/04/28 12:20] (current) – jan.sonntag | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== Was ist LoRaWAN? ===== | ===== Was ist LoRaWAN? ===== | ||
| + | {{pdfjs 75%, | ||
| ===== The Things Network ===== | ===== The Things Network ===== | ||
| Line 28: | Line 29: | ||
| Das Terminal werden wir auch im weiteren Teil des Workshops verwenden. | Das Terminal werden wir auch im weiteren Teil des Workshops verwenden. | ||
| - | ===== Erste manuelle Tests ===== | + | ===== Was sind AT-Befehle und wie funktionieren sie? ===== |
| - | Falls du das LoRa-Modul ohne Python-Skript direkt über die vom Modul verwendenten AT-Befehle testen möchtest, kannst du das Terminalprogramm **Minicom** verwenden. Dies ist besonders nützlich, um die RX/ | + | |
| - | ==== 1. Installation ==== | + | AT-Befehle (abgeleitet |
| - | Zuerst muss Minicom auf dem Raspberry Pi installiert werden: | + | |
| - | < | + | |
| - | sudo apt install minicom | + | |
| - | </ | + | |
| - | + | ||
| - | ==== 2. Minicom starten ==== | + | |
| - | Starte die Kommunikation über die serielle Schnittstelle mit einer Baudrate | + | |
| - | < | + | |
| - | sudo minicom -b 9600 -D / | + | |
| - | </ | + | |
| - | //Hinweis: Der Pfad / | + | |
| - | + | ||
| - | ==== 3. Konfiguration im Terminal ==== | + | |
| - | Da Minicom standardmäßig deine Eingaben nicht anzeigt, musst du das lokale Echo aktivieren. Die Steuerung erfolgt über **STRG+A**, gefolgt | + | |
| - | + | ||
| - | ^ Befehl ^ Funktion ^ | + | |
| - | | STRG+A => E | **Echo aktivieren**: | + | |
| - | | STRG+J | **Eingabe bestätigen**: | + | |
| - | | STRG+A => X | **Beenden**: | + | |
| - | | STRG+A => C | Terminalfenster aufräumen | + | |
| - | ==== 4. Wichtige AT-Testbefehle | + | ==== Funktionsweise im Projekt |
| - | Sobald die Verbindung steht, kannst du das Modul mit folgenden Befehlen direkt steuern[cite: | + | Die Kommunikation erfolgt nach einem einfachen Frage-Antwort-Prinzip: |
| - | ^ AT-Befehl | + | * **Syntax:** Jeder Befehl beginnt mit dem Präfix '' |
| - | | AT | Testet die RX/TX Kommunikation. Das Modul sollte | + | * **Testen:** Ein einfaches '' |
| - | | AT+ID | Zeigt die Geräte-IDs an (DevEui, DevAddr, JoinEui), die für TTN benötigt werden[cite: | + | * **Konfiguration: |
| - | | AT+MODE | Zeigt den aktuellen Modus des Moduls an[cite: 65]. | | + | * **Aktion:** Mit Befehlen wie '' |
| - | | AT+JOIN | + | |
| - | | AT+MSG="Text" | Sendet eine einfache Textnachricht als ASCII-Zeichen[cite: | + | |
| - | > **Wichtig:** Befehle zur Kommunikation (wie das Senden von Nachrichten) funktionieren erst nach einer erfolgreichen Netzwerk-Anfrage (Join)[cite: 10]. | + | {{pdfjs 75%,500px>:lets_plaiy:lorawan: |
| ===== Tests mit Python (Beispiel Skript) ===== | ===== Tests mit Python (Beispiel Skript) ===== | ||
| Line 112: | Line 90: | ||
| print(" | print(" | ||
| print(" | print(" | ||
| + | print(" | ||
| print(" | print(" | ||
| # print(" | # print(" | ||
| Line 175: | Line 154: | ||
| except KeyboardInterrupt: | except KeyboardInterrupt: | ||
| print(" | print(" | ||
| + | |||
| + | elif choice == ' | ||
| + | msg = input(" | ||
| + | send_command(ser, | ||
| elif choice == ' | elif choice == ' | ||
| Line 213: | Line 196: | ||
| > **Hinweis: | > **Hinweis: | ||
| + | |||
| + | ==== Payload Decoder ==== | ||
| + | Um die Daten, welche in TTN über LoRaWAN ankommen, zu decodieren kann ein sogenannter Payload Decoder hinterlegt werden. Da die Daten in diesem Fall über die ASCII Tabelle (Gerne mal googeln) codiert wurden in Hexadezimal, | ||
| + | <file javascript decoder.js> | ||
| + | function decodeUplink(input) { | ||
| + | var bytes = input.bytes; | ||
| + | | ||
| + | // Konvertierung der Bytes in einen String (ASCII) | ||
| + | var text = ""; | ||
| + | for (var i = 0; i < bytes.length; | ||
| + | text += String.fromCharCode(bytes[i]); | ||
| + | } | ||
| + | |||
| + | return { | ||
| + | data: { | ||
| + | type: " | ||
| + | message: text, | ||
| + | length: bytes.length | ||
| + | } | ||
| + | }; | ||
| + | } | ||
| + | </ | ||
| ===== Credits ===== | ===== Credits ===== | ||
lets_plaiy/lorawan/start.1777303242.txt.gz · Last modified: 2026/04/27 17:20 by jan.sonntag