Iskoristite Bluetooth vezu Pico W za prijenos vrijednosti s temperaturnog senzora na Android telefon.

Raspberry Pi Pico W, popularna IoT razvojna ploča Zaklade Raspberry Pi, stekla je veliku popularnost među proizvođačima nakon lansiranja 2022. godine. Od službenog izdanja verzije 1.5.1 C SDK-a i najnovije verzije MicroPythona, bilo je lakše natjerati Bluetooth povezivanje da radi na Raspberry Pi Pico W (i WH) ploči.

Ploča vam omogućuje čitanje i dijeljenje podataka putem Bluetootha, otvarajući mnoštvo projektnih mogućnosti oko IoT-a. A dobra stvar je što samo zahtijeva ažuriranje firmvera. Samo slijedite korake u nastavku za čitanje podataka senzora pomoću Bluetootha na vašem Raspberry Pi Pico W.

Raspberry Pi Pico W/WH i Bluetooth

Raspberry Pi Pico W je mikrokontrolerska ploča koja se oslanja na uspjeh originalnog modela Raspberry Pi Pico. Zadržavajući isti faktor oblika kao i njegov prethodnik, dodaje Wi-Fi i Bluetooth povezivost. Još uvijek ima standard Raspberry Pi Pico pinout za svoje dvostruke 20-pinske GPIO zaglavlja.

instagram viewer

Pico W opremljen je Infineon CYW43439 radijskim čipsetom, koji inherentno podržava i 802.11n Wi-Fi i Bluetooth 5.2.

Instalacija najnovijeg Pico C/C++ SDK-a

Pico C/C++ SDK je komplet za razvoj softvera posebno dizajniran za programiranje mikrokontrolera Raspberry Pi Pico pomoću programskih jezika C i C++. Omogućuje skup biblioteka, alata i resursa za pojednostavljenje procesa razvoja i omogućavanje programerima da kreiraju aplikacije za Pico ploču.

Za rad s Pico C/C++ SDK-om trebat će vam nekoliko bitnih softverskih komponenti. Evo popisa potrebnih programa za preuzimanje:

  • ARM GCC prevodilac: Koristi se za kompajliranje i izradu vašeg C/C++ koda za Pico mikrokontroler.
  • CMake: Sustav izrade na više platformi koji pomaže u upravljanju procesom izrade i generiranju projektnih datoteka.
  • Alati za izradu za Visual Studio 2019: Ovi alati su potrebni ako koristite Visual Studio kao integrirano razvojno okruženje (IDE).
  • Piton: Ovaj programski jezik koriste neki Pico SDK alati, pa provjerite je li instalirana verzija 3.9 ili novija.
  • Git: Ovaj sustav kontrole verzija omogućuje vam upravljanje i praćenje promjena u vašoj bazi koda.
  • Visual Studio Code: Iako nije obavezan, Visual Studio Code popularan je uređivač koda s izvrsnom podrškom za Pico SDK, pružajući značajke poput isticanja sintakse, dovršavanja koda i uklanjanja pogrešaka.

Instalacija MicroPythona

Alternativno, možete koristiti MicroPython za programiranje Pico W, kao što ćemo koristiti u našem primjeru u nastavku. Evo koraka koje ćete morati slijediti da biste ga instalirali i koristili.

Flashiranje UF2 firmware-a

Postoji nekoliko načina da se Pico W ploča prebaci u bootloader mod. Jedan od načina je izvršiti naredbu machine.bootloader() na MicroPython REPL. Druga je mogućnost da držite pritisnutu Picovu tipku BOOTSEL dok priključujete ploču u USB priključak vašeg računala.

Nakon što vaš Pico bude u načinu pokretanja sustava, primijetit ćete da se USB uređaj za masovnu pohranu pojavljuje na vašem računalu.

Sada sve što trebate učiniti je kopirati UF2 datoteku, koja sadrži novi firmware, na ovaj USB uređaj za masovnu pohranu.

Datoteku UF2 možete preuzeti s Stranica za preuzimanje MicroPythona—a ako želite ići dublje u ono što podrazumijeva ažuriranje Bluetooth podrške, možete proći kroz bilješke o izdanju.

Nakon što je u tijeku bljesak firmvera, vidjet ćete kako LED na vašoj Pico ploči brzo treperi. Ploča će se tada automatski resetirati i biti spremna za korištenje.

Alternativno, možete flash programirati na Pico iz Thonny IDE, kao što je opisano u nastavku.

Korištenje Thonny IDE

Prvo povežite svoj Pico s računalom putem USB-a. Provjerite je li Pico u načinu pokretanja tako da držite pritisnutu tipku BOOTSEL kada spajate ploču.

Pokrenite Thonny IDE na vašem računalu i trebali biste vidjeti sučelje s prozorom uređivača, kao što je prikazano u nastavku.

Morat ćete promijeniti tumač koji se koristi za MicroPython. Iz izbornika Thonny idite na Alati > Mogućnosti.

u Mogućnosti prozor, kliknite na Tumač tab. Odaberite MicroPython (Raspberry Pi Pico) od Tumač padajući izbornik.

Postavite priključak na Pokušajte otkriti automatski, zatim kliknite vezu za instalaciju na dnu, što će otvoriti drugi prozor za instalaciju. IDE bi se trebao automatski popuniti detaljima o vašoj ploči uz najnoviji firmware koji trebate instalirati. Nakon dovršetka instalacije kliknite na Zatvoriti gumb, a zatim odaberite u redu.

Spremanje potrebnih Bluetooth modula

Kako biste omogućili Bluetooth Low Energy komunikaciju na vašem Raspberry Pi Pico, morat ćete spremiti dva MicroPython modula. Evo kako to možete učiniti pomoću Thonny IDE-a (ili drugih IDE-a poput uPyCrafta).

Idi na naš GitHub repo i zgrabite prvi pomoćni kod ispod imena ble_advertising.py. To će vam pomoći u generiranju korisnih podataka i njihovom emitiranju povezanim čvorovima.

Nakon što kopirate kod, otvorite novi projekt na Thonny IDE i zalijepite ga u editor. Zatim spremite u Pico W it as ble_advertising.py klikom na Datoteka > Spremikao a zatim odabiranje Raspberry Pi Pico.

Stvorite drugu datoteku u Thonnyju i kopirajte kod pod datoteku pod nazivom ble_simple_peripheral.py u GitHub spremištu.

Spremite kod s izvornim imenom na Pico W ploču kao što ste to učinili prije.

Čitanje podataka preko Bluetooth LE pomoću Pi Pico W

Najprije provjerite jeste li u Pico W ploču unaprijed umetnuli dva modula (kao što je gore navedeno). Zatim izradite novu datoteku i u nju kopirajte donji kod.

iz mašina uvoz Pin, ADC
uvoz bluetooth
iz ble_jednostavan_periferni uvoz BLESimplePeripheral

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

# Napravite instancu klase BLESimplePeripheral s BLE objektom
sp = BLESimplePeripheral (ble)
adc = ADC(4)

dokPravi:
ako sp.is_connected(): # Provjerite je li uspostavljena BLE veza
# Očitajte vrijednost s unutarnjeg senzora temperature
temperatura = adc.read_u16() * 3,3 / (65535 * 0,8)

# Prijenos vrijednosti temperature preko BLE
temperature_data = str (temperatura).encode()
sp.poslati(temperaturni_podaci)
vrijeme.spavati(1)

Ovaj kod će očitati Picoov unutarnji temperaturni senzor i prenijeti ga putem Bluetootha. Spremi datoteku kao glavni.py na vašoj Pico W ploči, a zatim je pokrenite u Thonnyju. Trebali biste moći vidjeti "Početak oglašavanja" u području Shell.

Konfiguriranje Android aplikacije

Na svom Android telefonu instalirajte aplikaciju Serial Bluetooth Terminal iz trgovine Google Play.

Preuzimanje datoteka:Serijski Bluetooth terminal (Dostupne su besplatne kupnje putem aplikacije)

Uključite Bluetooth na telefonu, a zatim pokrenite aplikaciju. Idite do Uređaji.

Idi na Bluetooth LE zatim kliknite na SKENIRATI.

Nakon skeniranja, vidjet ćete ime Pico W navedeno kao mpy-uart. Kliknite na njega za povezivanje.

Nakon što se dva uređaja povežu, vidjet ćete riječ "Povezano" u aplikaciji Terminal pogled.

Vrijednosti senzora temperature trebale bi se početi popunjavati na terminalu aplikacije svake sekunde, kao što je prikazano na gornjoj slici.

Možete se povezati putem Bluetootha s drugim Pico W koji služi u "središnjoj" ulozi tako da prethodno učitate pomoćni modul s nazivom ble_simple_central.py pronađeno u MUO GitHub repo.

Unaprijedite svoje Pico W iskustvo

Uz Bluetooth integraciju, prikupljanje vrijednosti senzora postaje jednostavno, otključavajući nove mogućnosti i poboljšavajući cjelokupno iskustvo rada s Raspberry Pi Pico W u IoT projektima.