Raspberry Pi Pico: RAK4200 Breakout Board verbinden und testen

LoRa (Long Range) in ist ein offener Funkstandard für ein Low Power Wide Area Network (LPWAN) zur Übertragung kleiner Datenmengen und mit hoher Reichweite. Ein Funknetzwerk mit LoRA nennt man dann LoRaWAN.
Um ein LoRaWAN nutzen zu können benötigt man ein LoRa-Modul zum Senden und Empfangen, das zum Beispiel mit dem Raspberry Pi Pico gesteuert wird.
Das RAK4200 Breakout Board von RAK Wireless ist ein LoRa-Modul, das mit dem Raspberry Pi Pico mit nur 4 Verbindungskabeln verbunden werden kann.

Hier geht es darum, das RAK4200 Breakout Board mit dem Raspberry Pi Pico zu verbinden und über die UART-Schnittstelle mit dem Modul zu kommunizieren.
Wenn das funktioniert, dann kannst Du den nächsten Schritt gehen und mit einem LoRaWAN kommunizieren oder Daten an ein anderes LoRa-Endgerät senden.

Aufbau und Bauteile

Raspberry Pi Pico: RAK4200 Breakout Board verbinden und testen

Für die Verbindung vom Raspberry Pi Pico zum RAK4200 Breakout Board werden nur 4 Leitungen benötigt. Zwei Leitungen für die Stromversorgung und zwei weitere für die UART-Schnittstelle.

Raspberry Pi Pico RAK4200
3V3 Pin 36 3V3
GND Pin 38 GND
GPIO0 UART0 TX Pin 1 RX2 (UART)
GPIO1 UART0 RX Pin 2 TX2 (UART)

Hinweis: In der Dokumentation des RAK4200 Breakout Boards wird empfohlen die RX2/TX2-Pins für die Verbindung zu einem Mikrocontroller zu verwenden.

Programmcode

Der folgende Programmcode dient dazu, die UART-Verbindung zum RAK4200 Breakout Board zu testen. Dazu werden ein paar AT-Kommandos gesendet. Dafür ist eine Funktion zuständig, die nicht nur das AT-Kommando sendet, sondern auch die Rückmeldung vom RAK4200 empfängt und auf der Kommandozeile ausgibt.

  • Firmware-Version des RAK4200 Breakout Boards
  • Informationen zum Gerät
  • LoRa-Konfiguration
# Bibliotheken laden
from machine import UART
import time

# Initialisierung: UART
# UART 0, TX=GPIO0 (Pin 1), RX=GPIO1 (Pin 2)
# UART 1, TX=GPIO4 (Pin 6), RX=GPIO5 (Pin 7)
uart = UART(0, 115200, rxbuf=2048)

# Funktion: AT-Kommando senden und Rückmeldung empfangen
def sendCmdAT (at_cmd, wait=1):
    char = ''
    dataString = ''
    uart.write(at_cmd + '\r\n')
    time.sleep(wait) # Warten nach dem Senden des AT-Kommandos
    while char is not None:
        char = uart.read(1)
        try: dataString += char.decode()
        except: pass
    if dataString == '': return 'Keine Rückmeldung. Bitte TX/RX prüfen.'
    return dataString

# AT-Kommandos senden
print('Version der Firmware')
print(sendCmdAT('at+version'))

#print('Verfügbare AT-Kommandos')
#print(sendCmdAT('at+help'))

print('Informationen zum Gerät')
print(sendCmdAT('at+get_config=device:status'))

print('LoRa-Konfiguration')
print(sendCmdAT('at+get_config=lora:status'))

Lust auf mehr?

Mit dem Raspberry Pi Pico wollen wir das LoRa-Modul RAK4200 steuern, um Daten an das TTN-LoRaWAN zu senden.

Oder das LoRa-Modul RAK4200 im P2P-Modus betreiben.

Weitere verwandte Themen:

Elektronik-Sets für das Hardware-nahe Programmieren

Elektronik-Sets für das Hardware-nahe Programmieren

Programmieren mit dem Raspberry Pi Pico
Online-Meeting

Programmieren mit dem Raspberry Pi Pico

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

Frag Elektronik-Kompendium.de