Använd Pico W: s Bluetooth-anslutning för att överföra värden från dess temperatursensor till en Android-telefon.

Raspberry Pi Pico W, en populär IoT-utvecklingstavla från Raspberry Pi Foundation, har fått mycket dragning bland tillverkarna efter lanseringen 2022. Sedan den officiella releasen av version 1.5.1 av C SDK och den senaste MicroPython-versionen har det varit lättare att få Bluetooth-anslutning att fungera på Raspberry Pi Pico W (och WH)-kortet.

Tavlan låter dig läsa och dela data via Bluetooth, vilket öppnar upp en uppsjö av projektmöjligheter kring IoT. Och det som är bra är att det bara kräver en firmwareuppdatering. Följ bara stegen nedan för att läsa sensordata med Bluetooth på din Raspberry Pi Pico W.

Raspberry Pi Pico W/WH och Bluetooth

Raspberry Pi Pico W är ett mikrokontrollerkort som bygger på framgången med den ursprungliga Raspberry Pi Pico-modellen. Den bibehåller samma formfaktor som sin föregångare och lägger till Wi-Fi och Bluetooth-anslutning. Den har fortfarande standarden Raspberry Pi Pico pinout för sina dubbla 20-stifts GPIO-huvuden.

instagram viewer

Pico W är utrustad med Infineon CYW43439 radiochipset, som i sig stöder både 802.11n Wi-Fi och Bluetooth 5.2.

Installera den senaste Pico C/C++ SDK

Pico C/C++ SDK är ett mjukvaruutvecklingskit speciellt designat för att programmera Raspberry Pi Pico-mikrokontrollern med hjälp av programmeringsspråken C och C++. Den tillhandahåller en uppsättning bibliotek, verktyg och resurser för att förenkla utvecklingsprocessen och göra det möjligt för utvecklare att skapa applikationer för Pico-kortet.

För att arbeta med Pico C/C++ SDK behöver du några viktiga programvarukomponenter. Här är en lista över nödvändiga program att ladda ner:

  • ARM GCC-kompilator: Används för att kompilera och bygga din C/C++-kod för Pico-mikrokontrollern.
  • CMake: Ett plattformsoberoende byggsystem som hjälper till att hantera byggprocessen och generera projektfiler.
  • Bygg verktyg för Visual Studio 2019: Dessa verktyg krävs om du använder Visual Studio som din integrerade utvecklingsmiljö (IDE).
  • Pytonorm: Det här programmeringsspråket används av några av Pico SDK-verktygen, så se till att ha version 3.9 eller senare installerad.
  • Git: Detta versionskontrollsystem låter dig hantera och spåra ändringar i din kodbas.
  • Visual Studio-kod: Även om det inte är obligatoriskt, är Visual Studio Code en populär kodredigerare med utmärkt stöd för Pico SDK, med funktioner som syntaxmarkering, kodkomplettering och felsökning.

Installation av MicroPython

Alternativt kan du använda MicroPython för att programmera din Pico W, som vi kommer att använda i vårt exempel nedan. Här är stegen du måste följa för att installera och använda den.

Blinkar UF2 Firmware

Det finns ett par sätt att få Pico W-kortet i bootloader-läge. Ett sätt är att utföra kommandot machine.bootloader() på MicroPython REPL. Ett annat alternativ är att hålla nere Picos BOOTSEL-knapp medan du ansluter kortet till din dators USB-port.

När din Pico är i bootloader-läge kommer du att märka att en USB-masslagringsenhet visas på din dator.

Allt du behöver göra nu är att kopiera UF2-filen, som innehåller den nya firmware, till denna USB-masslagringsenhet.

Du kan ladda ner UF2-filen från MicroPython nedladdningssida– och om du vill gå djupare in på vad Bluetooth-supportuppdateringen innebär kan du gå igenom release notes.

När firmwareblixten pågår kommer du att se lysdioden på ditt Pico-kort blinka snabbt. Kortet återställs då automatiskt och är redo att användas.

Alternativt kan du flasha den fasta programvaran till Pico från Thonny IDE, som beskrivs nedan.

Använder Thonny IDE

Anslut först din Pico till en dator via USB. Se till att Pico är i bootloader-läge genom att hålla ned BOOTSEL-knappen när du ansluter kortet.

Starta Thonny IDE på din dator och du bör se ett gränssnitt med redigeringsfönstret, som visas nedan.

Du måste ändra tolken som används till MicroPython. Från Thonny-menyn, gå till Verktyg > alternativ.

I den alternativ fönstret klickar du på Tolk flik. Välja MicroPython (Raspberry Pi Pico) från Tolk rullgardinsmenyn.

Ställ in porten på Försök att detektera automatiskt, klicka sedan på installationslänken längst ned, vilket öppnar ett annat installationsfönster. IDE bör automatiskt fyllas i med detaljerna om ditt kort tillsammans med den senaste firmware som du behöver installera. När installationen är klar klickar du på Stänga knappen och välj sedan OK.

Spara de nödvändiga Bluetooth-modulerna

För att aktivera Bluetooth Low Energy-kommunikation på din Raspberry Pi Pico måste du spara två MicroPython-moduler. Så här kan du göra det med Thonny IDE (eller andra IDE som uPyCraft).

Gå till vår GitHub repo och ta den första hjälpkoden under namnet ble_advertising.py. Detta hjälper dig att generera nyttolaster och sända dem till anslutna noder.

När du har kopierat koden, öppna ett nytt projekt på Thonny IDE och klistra in det i editorn. Spara sedan till Pico W it as ble_advertising.py genom att klicka på Arkiv > Sparasom och sedan välja Raspberry Pi Pico.

Skapa ytterligare en fil i Thonny och kopiera koden under en fil med namnet ble_simple_peripheral.py i GitHub-repo.

Spara koden med dess ursprungliga namn på Pico W-kortet som du gjorde tidigare.

Läsa data över Bluetooth LE med Pi Pico W

Se först till att du förinstallerar Pico W-kortet med de två modulerna (enligt ovan). Skapa sedan en ny fil och kopiera koden nedan till den.

från maskin importera Pin, ADC
importera Blåtand
från ble_simple_peripheral importera BLESimplePerifer

# Skapa ett Bluetooth Low Energy-objekt (BLE).
ble = bluetooth. BLE()

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

medanSann:
om sp.is_connected(): # Kontrollera om en BLE-anslutning har upprättats
# Läs av värdet från den interna temperatursensorn
temperatur = adc.read_u16() * 3,3 / (65535 * 0,8)

# Överför temperaturvärdet över BLE
temperatur_data = str (temperatur).koda()
sp.skicka(temperatur_data)
tid.sova(1)

Denna kod kommer att läsa Picos interna temperatursensor och överföra den via Bluetooth. Spara filen som main.py på din Pico W-bräda och kör den sedan i Thonny. Du bör kunna se "Starting Advertising" i Shell-området.

Konfigurera Android-appen

På din Android-telefon installerar du appen Serial Bluetooth Terminal från Google Play Butik.

Ladda ner:Seriell Bluetooth-terminal (Gratis köp i appen finns)

Slå på telefonens Bluetooth och starta sedan appen. Navigera till Enheter.

Gå till Bluetooth LE fliken klicka sedan på SKANNA.

Efter skanning kommer du att se Pico W: s namn listat som mpy-uart. Klicka på den för att ansluta.

När de två enheterna är anslutna ser du ordet "Ansluten" i appens Terminal se.

Temperatursensorvärdena bör börja fyllas i appens terminal varje sekund, som visas på bilden ovan.

Du kan ansluta via Bluetooth till en annan Pico W-tjänst i en "central" roll genom att förinstallera hjälparmodulen med namnet ble_simple_central.py finns i MUO GitHub repo.

Förbättra din Pico W-upplevelse

Med Bluetooth-integration blir det problemfritt att samla sensorvärden, vilket låser upp nya möjligheter och förbättrar den övergripande upplevelsen av att arbeta med Raspberry Pi Pico W i IoT-projekt.