Benytt Pico Ws Bluetooth-tilkobling for å overføre verdier fra temperatursensoren til en Android-telefon.

Raspberry Pi Pico W, et populært IoT-utviklingsbrett fra Raspberry Pi Foundation, har fått mye oppmerksomhet blant produsentene etter lanseringen i 2022. Siden den offisielle utgivelsen av versjon 1.5.1 av C SDK og den nyeste MicroPython-bygget, har det vært enklere å få Bluetooth-tilkobling til å fungere på Raspberry Pi Pico W (og WH)-kortet.

Brettet lar deg lese og dele data via Bluetooth, noe som åpner for en mengde prosjektmuligheter rundt IoT. Og det gode er at det bare krever en fastvareoppdatering. Bare følg trinnene nedenfor for å lese sensordata ved hjelp av Bluetooth på din Raspberry Pi Pico W.

Raspberry Pi Pico W/WH og Bluetooth

Raspberry Pi Pico W er et mikrokontrollerkort som bygger på suksessen til den originale Raspberry Pi Pico-modellen. Den opprettholder samme formfaktor som forgjengeren, og legger til Wi-Fi og Bluetooth-tilkobling. Den har fortsatt standarden Raspberry Pi Pico pinout for de to 20-pinners GPIO-hodene.

instagram viewer

Pico W er utstyrt med Infineon CYW43439 radiobrikkesett, som iboende støtter både 802.11n Wi-Fi og Bluetooth 5.2.

Installere den nyeste Pico C/C++ SDK

Pico C/C++ SDK er et programvareutviklingssett spesielt utviklet for programmering av Raspberry Pi Pico-mikrokontrolleren ved å bruke programmeringsspråkene C og C++. Det gir et sett med biblioteker, verktøy og ressurser for å forenkle utviklingsprosessen og gjøre det mulig for utviklere å lage applikasjoner for Pico-tavlen.

For å jobbe med Pico C/C++ SDK, trenger du noen få viktige programvarekomponenter. Her er en liste over nødvendige programmer for å laste ned:

  • ARM GCC kompilator: Brukes til å kompilere og bygge C/C++-koden for Pico-mikrokontrolleren.
  • CMake: Et byggesystem på tvers av plattformer som hjelper til med å administrere byggeprosessen og generere prosjektfiler.
  • Bygg verktøy for Visual Studio 2019: Disse verktøyene kreves hvis du bruker Visual Studio som integrert utviklingsmiljø (IDE).
  • Python: Dette programmeringsspråket brukes av noen av Pico SDK-verktøyene, så sørg for å ha versjon 3.9 eller nyere installert.
  • Git: Dette versjonskontrollsystemet lar deg administrere og spore endringer i kodebasen din.
  • Visual Studio-kode: Selv om det ikke er obligatorisk, er Visual Studio Code en populær koderedigerer med utmerket støtte for Pico SDK, og tilbyr funksjoner som syntaksutheving, kodefullføring og feilsøking.

Installasjon av MicroPython

Alternativt kan du bruke MicroPython til å programmere din Pico W, som vi vil bruke i vårt eksempel nedenfor. Her er trinnene du må følge for å installere og bruke den.

Blinker UF2-fastvaren

Det er et par måter å få Pico W-kortet i oppstartslastermodus. En måte er å utføre kommandoen machine.bootloader() på MicroPython REPL. Et annet alternativ er å holde nede Picos BOOTSEL-knapp mens du kobler brettet til datamaskinens USB-port.

Når din Pico er i bootloader-modus, vil du legge merke til at en USB-masselagringsenhet vises på datamaskinen din.

Nå er alt du trenger å gjøre å kopiere UF2-filen, som inneholder den nye fastvaren, til denne USB-masselagringsenheten.

Du kan laste ned UF2-filen fra MicroPython nedlastingsside– og hvis du vil gå dypere inn i hva Bluetooth-støtteoppdateringen innebærer, kan du gå gjennom utgivelsesnotater.

Når fastvareblitsen er i gang, vil du se LED-en på Pico-kortet blinke raskt. Brettet vil da automatisk tilbakestille seg selv og være klart til bruk.

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

Bruker Thonny IDE

Først kobler du Pico til en datamaskin via USB. Sørg for at Pico er i bootloader-modus ved å holde nede BOOTSEL-knappen når du kobler til brettet.

Start Thonny IDE på datamaskinen din, og du bør se et grensesnitt med redigeringsvinduet, som vist nedenfor.

Du må endre tolken som brukes til MicroPython. Fra Thonny-menyen, gå til Verktøy > Alternativer.

I Alternativer vindu, klikk på Tolk fanen. Velge MicroPython (Raspberry Pi Pico) fra Tolk nedtrekksmenyen.

Sett porten til Prøv å oppdage automatisk, og klikk deretter på installasjonskoblingen nederst, som åpner et annet installasjonsvindu. IDE-en skal automatisk fylles ut med detaljene om kortet ditt sammen med den nyeste fastvaren du må installere. Etter at installasjonen er fullført, klikker du på Lukk og velg deretter OK.

Lagre de nødvendige Bluetooth-modulene

For å aktivere Bluetooth Low Energy-kommunikasjon på din Raspberry Pi Pico, må du lagre to MicroPython-moduler. Her er hvordan du kan gjøre det ved å bruke Thonny IDE (eller andre IDE-er som uPyCraft).

Gå til vår GitHub repo og ta tak i den første hjelpekoden under navnet ble_advertising.py. Dette vil hjelpe deg med å generere nyttelast og kringkaste dem til tilkoblede noder.

Når du har kopiert koden, åpner du et nytt prosjekt på Thonny IDE og limer det inn i redigeringsprogrammet. Lagre deretter til Pico W it as ble_advertising.py ved å klikke på Fil > Lagresom og deretter velge Raspberry Pi Pico.

Opprett en annen fil i Thonny og kopier koden under en fil som heter ble_simple_peripheral.py i GitHub-repoen.

Lagre koden med det opprinnelige navnet på Pico W-tavlen som du gjorde før.

Lese data over Bluetooth LE ved å bruke Pi Pico W

Først må du sørge for at du forhåndsinstallerer Pico W-kortet med de to modulene (som beskrevet ovenfor). Deretter oppretter du en ny fil og kopierer koden nedenfor inn i den.

fra maskin import Pin, ADC
import blåtann
fra ble_simple_peripheral import BLESimplePerifer

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

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

samtidig somekte:
hvis sp.is_connected(): # Sjekk om en BLE-tilkobling er etablert
# Les verdien fra den interne temperatursensoren
temperatur = adc.read_u16() * 3,3 / (65535 * 0,8)

# Send temperaturverdien over BLE
temperatur_data = str (temperatur).encode()
sp.sende(temperatur_data)
tid.sove(1)

Denne koden vil lese Picos interne temperatursensor og overføre den via Bluetooth. Lagre filen som main.py på Pico W-brettet ditt og kjør det i Thonny. Du skal kunne se "Starting Advertising" i Shell-området.

Konfigurering av Android-appen

Installer Serial Bluetooth Terminal-appen fra Google Play Store på Android-telefonen din.

Nedlasting:Seriell Bluetooth-terminal (Gratis kjøp i appen tilgjengelig)

Slå på telefonens Bluetooth, og start deretter appen. Navigere til Enheter.

Gå til Bluetooth LE fanen og klikk deretter på SKANNING.

Etter skanning vil du se Pico Ws navn oppført som mpy-uart. Klikk på den for å koble til.

Når de to enhetene er koblet til, vil du se ordet "Tilkoblet" i appens Terminal utsikt.

Temperatursensorverdiene skal begynne å fylle ut i appens terminal hvert sekund, som vist på bildet ovenfor.

Du kan koble til via Bluetooth til en annen Pico W-tjeneste i en "sentral" rolle ved å forhåndslaste hjelpemodulen med navnet ble_simple_central.py funnet i MUO GitHub repo.

Forbedre Pico W-opplevelsen din

Med Bluetooth-integrasjon blir innsamling av sensorverdier problemfri, og låser opp nye muligheter og forbedrer den generelle opplevelsen av å jobbe med Raspberry Pi Pico W i IoT-prosjekter.