Maak gebruik van de Bluetooth-connectiviteit van de Pico W om waarden van de temperatuursensor naar een Android-telefoon te verzenden.
De Raspberry Pi Pico W, een populair IoT-ontwikkelbord van de Raspberry Pi Foundation, heeft na de lancering in 2022 veel aandacht gekregen onder makers. Sinds de officiële release van versie 1.5.1 van de C SDK en de nieuwste MicroPython-build, is het gemakkelijker geweest om Bluetooth-connectiviteit te laten werken op de Raspberry Pi Pico W (en WH)-kaart.
Met het bord kunt u gegevens lezen en delen via Bluetooth, waardoor er een overvloed aan projectmogelijkheden rond IoT ontstaat. En het mooie is dat er alleen een firmware-update voor nodig is. Volg gewoon de onderstaande stappen om sensorgegevens via Bluetooth uit te lezen op uw Raspberry Pi Pico W.
Raspberry Pi Pico W/WH en Bluetooth
De Raspberry Pi Pico W is een microcontroller-board dat voortbouwt op het succes van het originele Raspberry Pi Pico-model. Met behoud van dezelfde vormfactor als zijn voorganger, voegt het Wi-Fi- en Bluetooth-connectiviteit toe. Het heeft nog steeds de standaard
Raspberry Pi Pico pinout vanwege de dubbele 20-pins GPIO-headers.De Pico W is uitgerust met de Infineon CYW43439-radiochipset, die inherent zowel 802.11n Wi-Fi als Bluetooth 5.2 ondersteunt.
De nieuwste Pico C/C++ SDK installeren
De Pico C/C++ SDK is een softwareontwikkelingskit die speciaal is ontworpen voor het programmeren van de Raspberry Pi Pico-microcontroller met behulp van de programmeertalen C en C++. Het biedt een reeks bibliotheken, tools en bronnen om het ontwikkelingsproces te vereenvoudigen en ontwikkelaars in staat te stellen applicaties voor het Pico-bord te maken.
Om met de Pico C/C++ SDK te werken, hebt u enkele essentiële softwarecomponenten nodig. Hier is een lijst met de benodigde programma's om te downloaden:
- ARM GCC-compiler: Wordt gebruikt om uw C/C++-code voor de Pico-microcontroller te compileren en te bouwen.
- CMaak: Een platformonafhankelijk bouwsysteem dat helpt bij het beheren van het bouwproces en het genereren van projectbestanden.
- Bouwtools voor Visual Studio 2019: Deze tools zijn vereist als u Visual Studio gebruikt als uw geïntegreerde ontwikkelomgeving (IDE).
- Python: Deze programmeertaal wordt gebruikt door sommige van de Pico SDK-tools, dus zorg ervoor dat versie 3.9 of hoger is geïnstalleerd.
- Git: Met dit versiebeheersysteem kunt u wijzigingen in uw codebase beheren en volgen.
- Visual Studio-code: Hoewel niet verplicht, is Visual Studio Code een populaire code-editor met uitstekende ondersteuning voor de Pico SDK, die functies biedt zoals syntaxisaccentuering, codeaanvulling en foutopsporing.
MicroPython-installatie
U kunt ook MicroPython gebruiken om uw Pico W te programmeren, zoals we in ons voorbeeld hieronder zullen gebruiken. Dit zijn de stappen die u moet volgen om het te installeren en te gebruiken.
Flashen van de UF2-firmware
Er zijn een aantal manieren om het Pico W-bord in de bootloader-modus te krijgen. Een manier is om de opdracht uit te voeren machine.bootloader() bij de MicroPython REPL. Een andere optie is om de BOOTSEL-knop van de Pico ingedrukt te houden terwijl je het bord op de USB-poort van je computer aansluit.
Zodra uw Pico in de bootloader-modus staat, zult u merken dat er een USB-apparaat voor massaopslag op uw computer verschijnt.
Nu hoeft u alleen nog maar het UF2-bestand, dat de nieuwe firmware bevat, naar dit USB-apparaat voor massaopslag te kopiëren.
U kunt het UF2-bestand downloaden van de MicroPython-downloadpagina- en als u dieper wilt ingaan op wat de Bluetooth-ondersteuningsupdate inhoudt, kunt u de release-opmerkingen.
Zodra de firmware-flash aan de gang is, ziet u de LED op uw Pico-bord snel knipperen. Het bord reset zichzelf dan automatisch en is klaar voor gebruik.
Als alternatief kunt u de firmware naar de Pico flashen vanaf de Thonny IDE, zoals hieronder beschreven.
Met behulp van de Thonny-IDE
Verbind eerst uw Pico met een computer via USB. Zorg ervoor dat de Pico in de bootloader-modus staat door de BOOTSEL-knop ingedrukt te houden bij het aansluiten van het bord.
Start de Thonny IDE op uw computer en u zou een interface met het editorvenster moeten zien, zoals hieronder weergegeven.
U moet de gebruikte tolk wijzigen in MicroPython. Ga vanuit het Thonny-menu naar Hulpmiddelen > Opties.
In de Opties venster, klik op de Tolk tabblad. Kiezen MicroPython (Raspberry Pi Pico) van de Tolk drop-down menu.
Zet de poort op Probeer automatisch te detecteren, klik vervolgens op de installatielink onderaan, waardoor een ander installatievenster wordt geopend. De IDE zou automatisch moeten worden gevuld met de details van je board naast de nieuwste firmware die je moet installeren. Nadat de installatie is voltooid, klikt u op de Dichtbij knop en selecteer vervolgens OK.
De benodigde Bluetooth-modules opslaan
Om Bluetooth Low Energy-communicatie op uw Raspberry Pi Pico mogelijk te maken, moet u twee MicroPython-modules opslaan. Hier leest u hoe u dit kunt doen met de Thonny IDE (of andere IDE's zoals uPyCraft).
Ga naar onze GitHub-opslagplaats en pak de eerste helpercode onder de naam ble_advertising.py. Dit zal u helpen bij het genereren van payloads en deze uitzenden naar verbonden knooppunten.
Nadat u de code hebt gekopieerd, opent u een nieuw project op Thonny IDE en plakt u dit in de editor. Sla het vervolgens op de Pico W op als ble_advertising.py door op te klikken Bestand > Opslaanals en dan selecteren Framboos Pi Pico.
Maak een ander bestand in Thonny en kopieer de code onder een bestand met de naam ble_simple_peripheral.py in de GitHub-opslagplaats.
Bewaar de code met de originele naam op het Pico W-bord zoals je eerder deed.
Gegevens lezen via Bluetooth LE met behulp van Pi Pico W
Zorg er eerst voor dat u het Pico W-bord vooraf laadt met de twee modules (zoals hierboven beschreven). Maak vervolgens een nieuw bestand en kopieer de onderstaande code erin.
van machine importeren Speld, ADC
importeren Bluetooth
van ble_simple_peripheral importeren BLEimplePeripheral# Maak een Bluetooth Low Energy (BLE) -object
ble = bluetooth. BLE()# Maak een instantie van de BLESimplePeripheral-klasse met het BLE-object
sp = BLESimplePeripheral (ble)
adc = ADC(4)terwijlWAAR:
als sp.is_verbonden(): # Controleer of er een BLE-verbinding tot stand is gebracht
# Lees de waarde van de interne temperatuursensor
temperatuur = adc.read_u16() * 3,3 / (65535 * 0,8)
# Verzend de temperatuurwaarde via BLE
temperature_data = str (temperatuur).encode()
sp.versturen(temperatuur_gegevens)
tijd.slaap(1)
Deze code leest de interne temperatuursensor van de Pico en verzendt deze via Bluetooth. Sla het bestand op als hoofd.py op je Pico W-bord en voer het vervolgens uit in Thonny. U zou "Beginnen met adverteren" moeten kunnen zien in het Shell-gebied.
De Android-app configureren
Installeer op uw Android-telefoon de Serial Bluetooth Terminal-app uit de Google Play Store.
Downloaden:Seriële Bluetooth-terminal (Gratis, in-app aankopen beschikbaar)
Schakel Bluetooth op je telefoon in en start de app. Navigeren naar Apparaten.
Ga naar de Bluetooth LE tabblad en klik vervolgens op SCANNEN.
Na het scannen ziet u de naam van de Pico W vermeld als mpy-uart. Klik erop om verbinding te maken.
Zodra de twee apparaten zijn verbonden, ziet u het woord 'Verbonden' in de app Terminal weergave.
De waarden van de temperatuursensor zouden elke seconde in de terminal van de app moeten verschijnen, zoals weergegeven in de bovenstaande afbeelding.
U kunt via Bluetooth verbinding maken met een andere Pico W die in een "centrale" rol dient door de helpermodule vooraf te laden met de naam ble_simple_central.py gevonden in de MUO GitHub-opslagplaats.
Verbeter uw Pico W-ervaring
Met Bluetooth-integratie wordt het verzamelen van sensorwaarden probleemloos, waardoor nieuwe mogelijkheden worden ontgrendeld en de algehele ervaring van het werken met de Raspberry Pi Pico W in IoT-projecten wordt verbeterd.