Benyt Pico W's Bluetooth-forbindelse til at overføre værdier fra dens temperatursensor til en Android-telefon.

Raspberry Pi Pico W, et populært IoT-udviklingskort fra Raspberry Pi Foundation, har vundet meget indpas blandt producenter efter lanceringen i 2022. Siden den officielle udgivelse af version 1.5.1 af C SDK og den seneste MicroPython-build, har det været nemmere at få Bluetooth-forbindelse til at fungere på Raspberry Pi Pico W (og WH)-kortet.

Boardet giver dig mulighed for at læse og dele data via Bluetooth, hvilket åbner op for et væld af projektmuligheder omkring IoT. Og det gode er, at det bare kræver en firmwareopdatering. Bare følg nedenstående trin for at læse sensordata ved hjælp af Bluetooth på din Raspberry Pi Pico W.

Raspberry Pi Pico W/WH og Bluetooth

Raspberry Pi Pico W er et mikrocontrollerkort, der bygger på succesen med den originale Raspberry Pi Pico-model. Ved at bevare den samme formfaktor som sin forgænger tilføjer den Wi-Fi og Bluetooth-forbindelse. Den har stadig standarden Raspberry Pi Pico pinout for dets to 20-bens GPIO headers.

instagram viewer

Pico W er udstyret med Infineon CYW43439 radiochipsættet, som i sagens natur understøtter både 802.11n Wi-Fi og Bluetooth 5.2.

Installation af den nyeste Pico C/C++ SDK

Pico C/C++ SDK er et softwareudviklingssæt specielt designet til programmering af Raspberry Pi Pico-mikrocontrolleren ved hjælp af programmeringssprogene C og C++. Det giver et sæt biblioteker, værktøjer og ressourcer til at forenkle udviklingsprocessen og gøre det muligt for udviklere at oprette applikationer til Pico-kortet.

For at arbejde med Pico C/C++ SDK skal du bruge et par vigtige softwarekomponenter. Her er en liste over de nødvendige programmer til download:

  • ARM GCC-kompiler: Bruges til at kompilere og bygge din C/C++-kode til Pico-mikrocontrolleren.
  • CMake: Et byggesystem på tværs af platforme, der hjælper med at styre byggeprocessen og generere projektfiler.
  • Byg værktøjer til Visual Studio 2019: Disse værktøjer er nødvendige, hvis du bruger Visual Studio som dit integrerede udviklingsmiljø (IDE).
  • Python: Dette programmeringssprog bruges af nogle af Pico SDK-værktøjerne, så sørg for at have version 3.9 eller nyere installeret.
  • Git: Dette versionskontrolsystem giver dig mulighed for at administrere og spore ændringer i din kodebase.
  • Visual Studio kode: Selvom det ikke er obligatorisk, er Visual Studio Code en populær kodeeditor med fremragende understøttelse af Pico SDK, der giver funktioner som syntaksfremhævning, kodefuldførelse og fejlretning.

Installation af MicroPython

Alternativt kan du bruge MicroPython til at programmere din Pico W, som vi vil bruge i vores eksempel nedenfor. Her er de trin, du skal følge for at installere og bruge det.

Blinker UF2-firmwaren

Der er et par måder at få Pico W-kortet i bootloader-tilstand. En måde er at udføre kommandoen machine.bootloader() på MicroPython REPL. En anden mulighed er at holde Pico's BOOTSEL-knap nede, mens du tilslutter kortet til din computers USB-port.

Når din Pico er i bootloader-tilstand, vil du bemærke, at en USB-masselagerenhed vises på din computer.

Nu skal du blot kopiere UF2-filen, som indeholder den nye firmware, til denne USB-masselagerenhed.

Du kan downloade UF2-filen fra MicroPython download side- og hvis du gerne vil gå dybere ind i, hvad Bluetooth-supportopdateringen indebærer, kan du gå gennem udgivelses noter.

Når firmware-flashen er i gang, vil du se LED'en på dit Pico-kort blinke hurtigt. Tavlen vil så automatisk nulstille sig selv og være klar til brug.

Alternativt kan du flashe firmwaren til Pico fra Thonny IDE, som beskrevet nedenfor.

Brug af Thonny IDE

Tilslut først din Pico til en computer via USB. Sørg for, at Pico er i bootloader-tilstand ved at holde BOOTSEL-knappen nede, når du tilslutter kortet.

Start Thonny IDE på din computer, og du skulle se en grænseflade med editorvinduet, som vist nedenfor.

Du skal ændre den anvendte tolk til MicroPython. Gå til Thonny-menuen Værktøjer > Muligheder.

I Muligheder vindue, skal du klikke på Tolk fanen. Vælge MicroPython (Raspberry Pi Pico) fra Tolk Drop down menu.

Indstil porten til Prøv at registrere automatisk, og klik derefter på installationslinket nederst, som åbner et andet installationsvindue. IDE'en skal automatisk udfyldes med detaljerne om dit board sammen med den nyeste firmware, som du skal installere. Når installationen er færdig, skal du klikke på Tæt knappen og vælg derefter Okay.

Gem de nødvendige Bluetooth-moduler

For at aktivere Bluetooth Low Energy-kommunikation på din Raspberry Pi Pico skal du gemme to MicroPython-moduler. Her er hvordan du kan gøre det ved at bruge Thonny IDE (eller andre IDE'er som uPyCraft).

Gå til vores GitHub repo og snup den første hjælperkode under navnet ble_advertising.py. Dette vil hjælpe dig med at generere nyttelast og udsende dem til tilsluttede noder.

Når du har kopieret koden, skal du åbne et nyt projekt på Thonny IDE og indsætte det i editoren. Gem derefter til Pico W it as ble_advertising.py ved at klikke på Filer > Gemsom og derefter vælge Raspberry Pi Pico.

Opret endnu en fil i Thonny og kopier koden under en fil med navnet ble_simple_peripheral.py i GitHub-repoen.

Gem koden med dets originale navn på Pico W-brættet, som du gjorde før.

Læsning af data over Bluetooth LE ved hjælp af Pi Pico W

Først skal du sikre dig, at du forudindlæser Pico W-kortet med de to moduler (som beskrevet ovenfor). Opret derefter en ny fil og kopier koden nedenfor ind i den.

fra maskine importere Pin, ADC
importere bluetooth
fra ble_simple_peripheral importere BLESimplePerifer

# Opret et Bluetooth Low Energy (BLE) objekt
ble = bluetooth. BLE()

# Opret en forekomst af BLESimplePeripheral-klassen med BLE-objektet
sp = BLESimplePeripheral (ble)
adc = ADC(4)

mensRigtigt:
hvis sp.is_connected(): # Kontroller, om en BLE-forbindelse er etableret
# Aflæs værdien fra den interne temperaturføler
temperatur = adc.read_u16() * 3,3 / (65535 * 0,8)

# Send temperaturværdien over BLE
temperatur_data = str (temperatur).encode()
sp.sende(temperatur_data)
tid.søvn(1)

Denne kode læser Picos interne temperatursensor og sender den via Bluetooth. Gem filen som main.py på dit Pico W-bræt, så kør det i Thonny. Du burde være i stand til at se "Starting Advertising" i Shell-området.

Konfiguration af Android-appen

På din Android-telefon skal du installere appen Serial Bluetooth Terminal fra Google Play Butik.

Hent:Seriel Bluetooth-terminal (Gratis køb i appen tilgængelig)

Tænd for din telefons Bluetooth, og start derefter appen. Naviger til Enheder.

Gå til Bluetooth LE fanen og klik derefter på SCAN.

Efter scanning vil du se Pico W's navn angivet som mpy-uart. Klik på den for at oprette forbindelse.

Når de to enheder er forbundet, vil du se ordet "Forbundet" i appens Terminal udsigt.

Temperatursensorværdierne bør begynde at fylde i appens terminal hvert sekund, som vist på billedet ovenfor.

Du kan oprette forbindelse via Bluetooth til en anden Pico W-tjeneste i en "central" rolle ved at forudindlæse hjælpemodulet med navnet ble_simple_central.py findes i MUO GitHub repo.

Forbedre din Pico W-oplevelse

Med Bluetooth-integration bliver indsamling af sensorværdier problemfri, hvilket åbner op for nye muligheder og forbedrer den samlede oplevelse af at arbejde med Raspberry Pi Pico W i IoT-projekter.