User Tools

Site Tools


lets_plaiy:lorawan:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
lets_plaiy:lorawan:start [2026/04/27 17:25] jan.sonntaglets_plaiy:lorawan:start [2026/04/28 12:20] (current) jan.sonntag
Line 29: 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/TX-Crossover-Funktionalität zu prüfen oder die Hardware-Verbindung zu verifizieren.+
  
-==== 1. Installation ==== +AT-Befehle (abgeleitet von **AT**tention) sind ein standardisierter Befehlssatz zur Steuerung von Modems und Funkmodulen über eine serielle Schnittstelle (UART). In diesem Workshop dienen sie als Brücke zwischen dem Raspberry Pi und dem LoRa-E5 Modul, um komplexe LoRaWAN-Prozesse durch einfache Textbefehle zu steuern.
-Zuerst muss Minicom auf dem Raspberry Pi installiert werden: +
-<code> +
-sudo apt install minicom +
-</code> +
- +
-==== 2. Minicom starten ==== +
-Starte die Kommunikation über die serielle Schnittstelle mit einer Baudrate von 9600: +
-<code> +
-sudo minicom -b 9600 -D /dev/serial0 +
-</code> +
-//Hinweis: Der Pfad /dev/serial0 verweist auf die primäre UART-Schnittstelle des Pi.// +
- +
-==== 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 von einer weiteren Taste: +
- +
-^ Befehl ^ Funktion ^ +
-| STRG+A => E | **Echo aktivieren**: Damit siehst du, was du tippst. | +
-| STRG+J | **Eingabe bestätigen**: Sendet den Befehl an das Modul. | +
-| STRG+A => X | **Beenden**: Minicom verlassen und zum Terminal zurückkehren. | +
-| STRG+A => C | Terminalfenster aufräumen (Clear). |+
  
-==== 4. Wichtige AT-Testbefehle ==== +==== Funktionsweise im Projekt ==== 
-Sobald die Verbindung stehtkannst du das Modul mit folgenden Befehlen direkt steuern[cite: 65]:+Die Kommunikation erfolgt nach einem einfachen Frage-Antwort-Prinzip: Der Raspberry Pi sendet eine Zeichenfolge an das Modulund das Modul führt die entsprechende Aktion aus oder gibt Informationen zurück. 
  
-AT-Befehl ^ Beschreibung ^ +  * **Syntax:** Jeder Befehl beginnt mit dem Präfix ''AT''. Parameter werden meist mit einem Gleichheitszeichen (''='') angehängt, während Abfragen oft durch ein Fragezeichen oder den reinen Befehl erfolgen. 
-AT | Testet die RX/TX Kommunikation. Das Modul sollte mit "OK" antworten[cite: 65]| +  * **Testen:** Ein einfaches ''AT'' dient als Verbindungstest; das Modul antwortet im Idealfall mit "OK"
-AT+ID | Zeigt die Geräte-IDs an (DevEui, DevAddr, JoinEui), die für TTN benötigt werden[cite: 65]| +  * **Konfiguration:** Befehle wie ''AT+ID'' werden genutzt, um Hardware-spezifische Adressen wie die DevEui oder AppEui auszulesen, die für die Registrierung im Netzwerk zwingend erforderlich sind
-| AT+MODE | Zeigt den aktuellen Modus des Moduls an[cite65]. | +  * **Aktion:** Mit Befehlen wie ''AT+JOIN'' wird der komplexe Prozess der Netzwerkanmeldung gestartet. Erst nach einer erfolgreichen Bestätigung durch das Modul ("Network joined") können weitere Befehle zum Senden von Daten (zB. ''AT+MSG'' für Text oder ''AT+MSGHEX'' für Hexadezimalwerte) genutzt werden.
-AT+JOIN | Sendet eine Beitrittsanfrage an das LoRaWAN-Netzwerk[cite: 65]+
-AT+MSG="Text" | Sendet eine einfache Textnachricht als ASCII-Zeichen[cite: 65]|+
  
-**Wichtig:** Befehle zur Kommunikation (wie das Senden von Nachrichten) funktionieren erst nach einer erfolgreichen Netzwerk-Anfrage (Join)[cite10].+{{pdfjs 75%,500px>:lets_plaiy:lorawan:lora-e5_at_command_specification_v1.0_.pdf}}
  
 ===== Tests mit Python (Beispiel Skript) ===== ===== Tests mit Python (Beispiel Skript) =====
Line 113: Line 90:
             print("6 Reset des Moduls") # Falls timeout wegen zuviel anfragen             print("6 Reset des Moduls") # Falls timeout wegen zuviel anfragen
             print("7 Nachricht im Loop senden (alle 45s)")             print("7 Nachricht im Loop senden (alle 45s)")
 +            print("c Beliebigen AT-Befehl senden")
             print("q Beenden")             print("q Beenden")
             # print("f Mit TTN verbindung Forcen (AT+JOIN=FORCE)")             # print("f Mit TTN verbindung Forcen (AT+JOIN=FORCE)")
Line 176: Line 154:
                 except KeyboardInterrupt:                 except KeyboardInterrupt:
                     print("\nLoop durch Benutzer abgebrochen. Kehre zum Menü zurück...")                     print("\nLoop durch Benutzer abgebrochen. Kehre zum Menü zurück...")
 +
 +            elif choice == 'c':
 +                msg = input("command: ")
 +                send_command(ser, msg)
  
             elif choice == 'q':             elif choice == 'q':
lets_plaiy/lorawan/start.1777303543.txt.gz · Last modified: 2026/04/27 17:25 by jan.sonntag