Raspberry Pi Pico: Gerät mit AT-Kommandos über UART steuern

UART ist eine serielle Schnittstelle, die eine Vielzahl von Geräten haben, um Daten mit anderen Geräten austauschen zu können. Die bidirektionale Verbindung erfolgt jeweils über eine TX- und RX-Leitung zum getrennten Senden und Empfangen. Außerdem muss die Kommunikation mit dem jeweiligen Gerät, also Senden und Empfangen, programmiert werden.

Die Steuerung erfolgt oft mit AT-Kommandos. Das sind Steuer-Codes, mit denen sich externe Geräte über eine serielle Schnittstelle steuern lassen. In der Regel verwendet man dafür einen Computer, der eine serielle Schnittstelle (COM-Port oder RS232) hat, die mit dem externen Gerät verbunden ist. Dafür benötigt man an einem Computer eine serielle Schnittstelle. Moderne Computer haben heute in der Regel nur noch USB-Ports und keine serielle Schnittstelle mehr. In so einem Fall verwendet man einen USB-Adapter, der eine serielle Schnittstelle herausführt.

Raspberry Pi Pico: Gerät mit AT-Kommandos über UART steuern

Man kann aber auch einen Raspberry Pi Pico oder einen anderen Mikrocontroller nehmen, die mit UART eine serielle Schnittstelle haben. Wenn man den Mikrocontroller dann mit einem Host-Computer verbindet, kann man die REPL in der Thonny Python IDE als interaktive Konsole für eine UART-Schnittstelle missbrauchen und AT-Kommandos an das entfernte Gerät senden.

Programmcode

Im folgenden Programmcode wird die Schnittstelle UART 0 auf GPIO0/TX und GPIO1/RX mit einer Geschwindigkeit von 115200 Baud initialisiert. In einer Endlos-Schleife können AT-Kommandos eingegeben werden, die von einer Funktion über die UART-Schnittstelle gesendet werden. Diese Funktion kann auch die Rückmeldung auf dieses Kommando empfangen und zurückgeben. Auf diese Weise ist es möglich, mehrere AT-Kommandos hintereinander an das Gerät zu senden und es auf diese Weise manuell steuern.

# Bibliotheken laden
from machine import UART
import utime as 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)
#print(uart)

# Funktion: AT-Kommando senden und Rückmeldung empfangen
def sendCmdAT (at_cmd):
    char = ''
    dataString = ''
    uart.write(at_cmd + '\r\n')
    time.sleep(2)
    while (char is not None):
        char = uart.read(1)
        try:
            dataString += char.decode('utf-8')
        except: pass
    if at_cmd + '\r\n' == dataString: return 'TX und RX sind vertauscht.'
    return dataString

# Hauptprogramm
# AT-Kommando eingeben und senden
while (True):
    cmd = input('AT-Kommando: ')
    print(sendCmdAT(cmd))

Weitere verwandte Themen:

Teilen:

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Hardware-nahes Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk

 

Elektronik-Set Pico Edition
Elektronik-Set Pico Edition

Raspberry Pi Pico: Hardware-nahes Programmieren mit MicroPython

Leichter Einstieg mit All-in-one-Set zum sofort Loslegen, um eigene Steuerungen programmieren.

Elektronik-Set jetzt bestellen

 

Elektronik-Set Pico WLAN Edition
Elektronik-Set Pico WLAN Edition

Raspberry Pi Pico W: IoT und Smart Home mit WLAN und MQTT

Betreibe Deinen Raspberry Pi Pico W als drahtloser Sensor in Deinem WLAN, versende E-Mails mit Daten und kommuniziere per MQTT im Internet of Things oder Smart Home.

Elektronik-Set jetzt bestellen

 

Elektronik-Set Sensor Edition
Elektronik-Set Sensor Edition

Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition

Elektronik-Set mit den beliebtesten Sensoren zum Messen von Temperatur, Helligkeit, Bewegung, Lautstärke und Entfernung.

Elektronik-Set jetzt bestellen

 

Elektronik-Set Eingabe Ausgabe Edition
Elektronik-Set Eingabe Ausgabe Edition

Erweiterung zu den Elektronik-Sets Pico Edition und Pico WLAN Edition

Damit kannst Du MP3-Dateien abspielen, eine Stoppuhr bauen, einen Servo-Motor mit Drehschalter oder Joystick steuern, Lichteffekte mit einem WS2812-LED-Lichtstreifen erzeugen, Schalten mit einem Relais und Signalisieren mit einem Vibrationsmotor.

Elektronik-Set jetzt bestellen