Nutzen Sie die Bluetooth-Konnektivität des Pico W, um Werte vom Temperatursensor an ein Android-Telefon zu übertragen.

Der Raspberry Pi Pico W, ein beliebtes IoT-Entwicklungsboard der Raspberry Pi Foundation, hat nach seiner Einführung im Jahr 2022 bei Herstellern große Anklang gefunden. Seit der offiziellen Veröffentlichung von Version 1.5.1 des C SDK und dem neuesten MicroPython-Build ist es einfacher, Bluetooth-Konnektivität auf dem Raspberry Pi Pico W (und WH) Board zum Laufen zu bringen.

Das Board ermöglicht das Auslesen und Teilen von Daten über Bluetooth und eröffnet so eine Vielzahl von Projektmöglichkeiten rund um das IoT. Und das Gute daran ist, dass dafür lediglich ein Firmware-Update erforderlich ist. Befolgen Sie einfach die folgenden Schritte, um Sensordaten über Bluetooth auf Ihrem Raspberry Pi Pico W auszulesen.

Raspberry Pi Pico mit Weiß und Bluetooth

Der Raspberry Pi Pico W ist ein Mikrocontroller-Board, das auf dem Erfolg des ursprünglichen Raspberry Pi Pico-Modells aufbaut. Es behält den gleichen Formfaktor wie sein Vorgänger bei und bietet zusätzlich Wi-Fi- und Bluetooth-Konnektivität. Es verfügt immer noch über den Standard

instagram viewer
Pinbelegung des Raspberry Pi Pico für seine zwei 20-poligen GPIO-Header.

Der Pico W ist mit dem Infineon CYW43439-Funkchipsatz ausgestattet, der von Natur aus sowohl 802.11n Wi-Fi als auch Bluetooth 5.2 unterstützt.

Installieren des neuesten Pico C/C++ SDK

Das Pico C/C++ SDK ist ein Software-Entwicklungskit, das speziell für die Programmierung des Raspberry Pi Pico-Mikrocontrollers mit den Programmiersprachen C und C++ entwickelt wurde. Es bietet eine Reihe von Bibliotheken, Tools und Ressourcen, um den Entwicklungsprozess zu vereinfachen und Entwicklern die Erstellung von Anwendungen für das Pico-Board zu ermöglichen.

Um mit dem Pico C/C++ SDK arbeiten zu können, benötigen Sie einige wesentliche Softwarekomponenten. Hier ist eine Liste der erforderlichen Programme zum Herunterladen:

  • ARM GCC-Compiler: Wird zum Kompilieren und Erstellen Ihres C/C++-Codes für den Pico-Mikrocontroller verwendet.
  • CMake: Ein plattformübergreifendes Build-System, das bei der Verwaltung des Build-Prozesses und der Generierung von Projektdateien hilft.
  • Build-Tools für Visual Studio 2019: Diese Tools sind erforderlich, wenn Sie Visual Studio als integrierte Entwicklungsumgebung (IDE) verwenden.
  • Python: Diese Programmiersprache wird von einigen Pico SDK-Tools verwendet. Stellen Sie daher sicher, dass Version 3.9 oder höher installiert ist.
  • Git: Mit diesem Versionskontrollsystem können Sie Änderungen in Ihrer Codebasis verwalten und verfolgen.
  • Visual Studio-Code: Visual Studio Code ist zwar nicht zwingend erforderlich, aber ein beliebter Code-Editor mit hervorragender Unterstützung für das Pico SDK und bietet Funktionen wie Syntaxhervorhebung, Codevervollständigung und Debugging.

MicroPython-Installation

Alternativ können Sie MicroPython zum Programmieren Ihres Pico W verwenden, wie wir es in unserem Beispiel unten verwenden werden. Hier sind die Schritte, die Sie befolgen müssen, um es zu installieren und zu verwenden.

Flashen der UF2-Firmware

Es gibt mehrere Möglichkeiten, das Pico W-Board in den Bootloader-Modus zu versetzen. Eine Möglichkeit besteht darin, den Befehl auszuführen machine.bootloader() auf der MicroPython REPL. Eine andere Möglichkeit besteht darin, die BOOTSEL-Taste des Pico gedrückt zu halten, während Sie das Board an den USB-Anschluss Ihres Computers anschließen.

Sobald sich Ihr Pico im Bootloader-Modus befindet, werden Sie feststellen, dass ein USB-Massenspeichergerät auf Ihrem Computer angezeigt wird.

Jetzt müssen Sie nur noch die UF2-Datei, die die neue Firmware enthält, auf diesen USB-Massenspeicher kopieren.

Sie können die UF2-Datei von herunterladen MicroPython-Downloadseite– und wenn Sie tiefer in die Auswirkungen des Bluetooth-Unterstützungs-Updates eintauchen möchten, können Sie dies durchgehen Versionshinweise.

Sobald der Firmware-Flash ausgeführt wird, blinkt die LED auf Ihrem Pico-Board schnell. Das Board wird sich dann automatisch zurücksetzen und ist betriebsbereit.

Alternativ können Sie die Firmware von der Thonny-IDE auf den Pico flashen, wie unten beschrieben.

Verwendung der Thonny-IDE

Verbinden Sie zunächst Ihren Pico über USB mit einem Computer. Stellen Sie sicher, dass sich der Pico im Bootloader-Modus befindet, indem Sie beim Anschließen der Platine die BOOTSEL-Taste gedrückt halten.

Starten Sie die Thonny-IDE auf Ihrem Computer und Sie sollten eine Schnittstelle mit dem Editorfenster sehen, wie unten gezeigt.

Sie müssen den verwendeten Interpreter auf MicroPython ändern. Gehen Sie im Thonny-Menü zu Werkzeug > Optionen.

Im Optionen Klicken Sie im Fenster auf Dolmetscher Tab. Wählen MicroPython (Raspberry Pi Pico) von dem Dolmetscher Dropdown-Menü.

Stellen Sie den Port auf ein Versuchen Sie, automatisch zu erkennen, und klicken Sie dann unten auf den Installationslink, wodurch ein weiteres Installationsfenster geöffnet wird. Die IDE sollte automatisch mit den Details Ihres Boards sowie der neuesten Firmware, die Sie installieren müssen, gefüllt werden. Klicken Sie nach Abschluss der Installation auf Schließen drücken und dann auswählen OK.

Speichern der notwendigen Bluetooth-Module

Um die Bluetooth Low Energy-Kommunikation auf Ihrem Raspberry Pi Pico zu aktivieren, müssen Sie zwei MicroPython-Module speichern. Hier erfahren Sie, wie Sie dies mit der Thonny-IDE (oder anderen IDEs wie uPyCraft) tun können.

Gehen Sie zu unserem GitHub-Repo und schnappen Sie sich den ersten Hilfscode unter dem Namen ble_advertising.py. Dies wird Ihnen helfen, Nutzlasten zu generieren und diese an verbundene Knoten zu senden.

Sobald Sie den Code kopiert haben, öffnen Sie ein neues Projekt in der Thonny IDE und fügen Sie es in den Editor ein. Speichern Sie es dann auf dem Pico W unter ble_advertising.py indem Sie auf klicken Datei > Speichernals und dann auswählen Raspberry Pi Pico.

Erstellen Sie eine weitere Datei in Thonny und kopieren Sie den Code unter eine Datei mit dem Namen ble_simple_peripheral.py im GitHub-Repo.

Speichern Sie den Code wie zuvor unter seinem Originalnamen auf der Pico W-Platine.

Lesen von Daten über Bluetooth LE mit Pi Pico W

Stellen Sie zunächst sicher, dass Sie die Pico W-Platine mit den beiden Modulen vorinstallieren (wie oben beschrieben). Erstellen Sie dann eine neue Datei und kopieren Sie den folgenden Code hinein.

aus Maschine importieren Pin, ADC
importieren Bluetooth
aus ble_simple_peripheral importieren BLESimplePeripheral

# Erstellen Sie ein Bluetooth Low Energy (BLE)-Objekt
ble = Bluetooth. BLE()

# Erstellen Sie eine Instanz der BLESimplePeripheral-Klasse mit dem BLE-Objekt
sp = BLESimplePeripheral (ble)
adc = ADC(4)

währendWAHR:
Wenn sp.is_connected(): # Überprüfen Sie, ob eine BLE-Verbindung besteht
# Lesen Sie den Wert vom internen Temperatursensor ab
Temperatur = adc.read_u16() * 3,3 / (65535 * 0,8)

# Übertragen Sie den Temperaturwert über BLE
temperature_data = str (temperatur).encode()
sp.schicken(Temperaturdaten)
Zeit.schlafen(1)

Dieser Code liest den internen Temperatursensor des Pico und überträgt ihn über Bluetooth. Speichern Sie die Datei unter main.py auf Ihrem Pico W-Board und führen Sie es dann in Thonny aus. Im Shell-Bereich sollte „Werbung wird gestartet“ angezeigt werden.

Konfigurieren der Android-App

Installieren Sie auf Ihrem Android-Telefon die Serial Bluetooth Terminal-App aus dem Google Play Store.

Herunterladen:Serielles Bluetooth-Terminal (Kostenlose In-App-Käufe verfügbar)

Schalten Sie Bluetooth auf Ihrem Telefon ein und starten Sie dann die App. Navigieren Sie zu Geräte.

Gehe zum Bluetooth LE Klicken Sie auf die Registerkarte und dann auf SCAN.

Nach dem Scannen wird der Name des Pico W als aufgeführt angezeigt mpy-uart. Klicken Sie darauf, um eine Verbindung herzustellen.

Sobald die beiden Geräte verbunden sind, wird in der App das Wort „Verbunden“ angezeigt Terminal Sicht.

Die Temperatursensorwerte sollten jede Sekunde im Terminal der App angezeigt werden, wie im Bild oben gezeigt.

Sie können über Bluetooth eine Verbindung zu einem anderen Pico W herstellen, der eine „zentrale“ Rolle übernimmt, indem Sie das Hilfsmodul mit dem Namen vorladen ble_simple_central.py gefunden in der MUO GitHub-Repo.

Verbessern Sie Ihr Pico W-Erlebnis

Mit der Bluetooth-Integration wird das Erfassen von Sensorwerten zum Kinderspiel, eröffnet neue Möglichkeiten und verbessert das Gesamterlebnis bei der Arbeit mit dem Raspberry Pi Pico W in IoT-Projekten.