- Reikiamų „Bluetooth“ ryšio paketų diegimas:
- Prietaisų susiejimas su „Raspberry Pi“ per „Bluetooth“:
- Grandinės schema:
- Šviesos diodų valdymas naudojant „Android App BlueTerm“:
- Programavimo paaiškinimas:
„Raspberry Pi“ yra labai populiari daiktų interneto projektams dėl savo vientisos belaidžio ryšio internetu galimybės. „Raspberry Pi 3“ įmontuotas „Wi-Fi“ ir „Bluetooth“ ryšys, o „Bluetooth“ yra labai populiarus belaidžio ryšio protokolas. Taigi šiandien mes ketiname valdyti „Raspberry Pi GPIO Pin“ per „Android“ programą naudodami „Bluetooth“.
Čia mes naudojame „Raspberry 2 Pi“ modelį B, kuriame nėra integruoto „Bluetooth“, todėl naudojame paprastą USB „Bluetooth“ raktą. Be to, mums reikia tik rezistoriaus (220R) ir šviesos diodo, kad parodytume GPIO valdymą. Čia belaidžiui ryšiui naudojame „RFCOMM Bluetooth“ protokolą.
„Bluetooth“ programavimas „Python“ programoje atitinka lizdo programavimo modelį, o ryšiai tarp „Bluetooth“ įrenginių atliekami per RFCOMM lizdą. RFCOMM (radijo dažnio ryšys) yra „Bluetooth“ protokolas, teikiantis emuliuojamas RS-232 nuosekliąsias prievadus ir dar vadinamas serijinio prievado emuliacija. „Bluetooth“ nuoseklaus prievado profilis pagrįstas šiuo protokolu. RFCOMM yra labai populiarus „Bluetooth“ programose dėl plataus palaikymo ir viešai prieinamos API. Jis susietas su L2CAP protokolu.
Savo ankstesniame projekte taip pat naudojome „Bluetooth“ modulį HC-06: Balso valdomi šviesos diodai, naudojant „Raspberry Pi“. Taip pat patikrinkite mūsų ankstesnius „Raspberry Pi“ projektus kartu su keletu gerų DI projektų.
Reikiamų „Bluetooth“ ryšio paketų diegimas:
Prieš pradedant, turime įdiegti keletą programinės įrangos, skirtos „ Bluetooth“ ryšiui nustatyti „Raspberry Pi“. Turėtumėte turėti paruoštą „Raspbian Jessie“ atminties kortelę su „Raspberry Pi“. Peržiūrėkite šį straipsnį, jei norite įdiegti „Raspbian“ OS ir pradėti naudoti „Raspberry Pi“. Taigi dabar pirmiausia turime atnaujinti „Raspbian“ naudodami toliau nurodytas komandas:
sudo apt-get update sudo apt-get atnaujinimas
Tada turime įdiegti keletą „Bluetooth“ susijusių paketų:
sudo apt-get install bluetooth blueman bluez
Tada perkraukite „Raspberry Pi“:
sudo perkraukite
„BlueZ“ yra atviro kodo projektas ir oficialus „Linux“ „Bluetooth“ protokolo kaminas. Jis palaiko visus pagrindinius „Bluetooth“ protokolus ir dabar tampa oficialaus „Linux“ branduolio dalimi.
„Blueman“ suteikia darbalaukio sąsają „Bluetooth“ įrenginiams valdyti ir valdyti.
Galiausiai mums reikalinga „ Python“ biblioteka „Bluetooth“ ryšiui, kad galėtume siųsti ir gauti duomenis per RFCOMM naudojant „Python“ kalbą:
sudo apt-get įdiekite python-bluetooth
Taip pat įdiekite „Raspberry Pi“ GPIO palaikymo bibliotekas:
sudo apt-get install python-rpi.gpio
Dabar mes baigėme įdiegti reikiamus „Bluetooth“ ryšio paketus „Raspberry Pi“.
Prietaisų susiejimas su „Raspberry Pi“ per „Bluetooth“:
Labai lengva susieti „Bluetooth“ įrenginius, pvz., Mobiliuosius telefonus, su „Raspberry Pi“. Čia mes susiejome „Android“ išmanųjį telefoną su „Raspberry Pi“. Anksčiau mes įdiegėme „BlueZ“ sistemoje Pi, kuri teikia „Bluetooth“ įrenginiams valdyti skirtą komandų eilutės priemonę „bluetoothctl“ . Bet prieš tai prijunkite USB „Bluetooth“ raktą su „Raspberry Pi“ ir patikrinkite, ar jis aptiktas, ar ne, naudodamiesi žemiau esančia komanda:
lsusb
Dabar atidarykite „ bluetoothctl“ naudingumo komandą žemiau:
sudo bluetoothctl
Galite patikrinti visas „ bluetoothctl“ naudingumo komandas įvesdami „help“ . Dabar turime įvesti žemiau esančias komandas nustatyta tvarka:
# maitinimas įjungtas # agentas įjungtas # aptinkamas # susietas su # nuskaitymu
Po paskutinės komandos „scan on“ sąraše pamatysite savo „Bluetooth“ įrenginį (mobilųjį telefoną). Įsitikinkite, kad jūsų mobiliajame telefone yra įjungtas „Bluetooth“ ryšys ir kad jį mato netoliese esantys įrenginiai. Tada nukopijuokite savo įrenginio MAC adresą ir suporuokite jį naudodami nurodytą komandą:
pora
Tada jūsų bus paprašyta įvesti kodą arba PIN kodą jūsų terminalo konsolėje, tada įveskite kodą ir paspauskite enter. Tada paprašykite savo mobiliajame telefone įveskite tą patį kodą ir dabar esate sėkmingai suporuotas su „Raspberry Pi“. Mes taip pat paaiškinome visą šį procesą savo vaizdo įraše, pateiktame pabaigoje.
Kaip sakyta anksčiau, taip pat galite naudoti darbalaukio sąsają susieti mobilųjį telefoną. Įdiegę „Blueman“, dešinėje „Raspberry Pi“ darbalaukio pusėje pamatysite „Bluetooth“ piktogramą, kaip parodyta žemiau, kurią naudodami galite lengvai atlikti poravimą.
Grandinės schema:
Grandinės schema yra labai paprasta, mes tiesiog prijungėme šviesos diodą prie „Raspberry Pi“ PIN 40 (GPIO 21) su 220 omų rezistoriumi:
Šviesos diodų valdymas naudojant „Android App BlueTerm“:
Išlyginę mobilųjį telefoną, turime įdiegti „ Android“ programą, skirtą bendrauti su „Raspberry Pi“ naudojant „Bluetooth“ nuoseklųjį adapterį. Kaip sakyta anksčiau, RFCOMM / SPP protokolas imituoja nuoseklųjį ryšį per „Bluetooth“, todėl čia įdiegėme „BlueTerm“ programą, palaikančią šį protokolą.
Taip pat galite naudoti bet kurią kitą „Bluetooth“ terminalo programą, palaikančią ryšį per RFCOMM lizdą.
Dabar, atsisiųsdami ir įdiegę „BlueTerm“ programą, paleiskite žemiau pateiktą „Python“ programą iš terminalo ir tuo pačiu metu prijunkite suporuotą „ raspberrypi“ įrenginį iš „BlueTerm“ programos.
Po sėkmingo ryšio pamatysite prijungtą: avietę viršutiniame dešiniajame programos kampe, kaip parodyta žemiau:
Dabar galite tiesiog įvesti „1“ arba „0“ iš „BlueTerm“, kad GPIO kaištis būtų atitinkamai HIGH ir LOW, o tai savo ruožtu įjungia ir išjungia prie šio kaiščio prijungtą šviesos diodą. Norėdami išeiti iš programos, paspauskite „q“. Norėdami valdyti GPIO naudodami „Voice“, galite naudoti „Google Voice “ rašymo klaviatūrą. Pabaigoje pateiktame vaizdo įraše patikrinkite visą demonstracinę versiją.
Taigi taip galite belaidžiu būdu valdyti „GPIO Pin“ naudodami „Android“ programą per „Bluetooth“. Taip pat patikrinkite, kaip naudoti „Bluetooth“ su „Arduino“.
Programavimo paaiškinimas:
„Python“ programa, skirta valdyti „Raspberry Pi GPIO“ naudojant „Android“ programą, yra labai paprasta ir savaime suprantama. Tik mes turime šiek tiek sužinoti apie kodą, susijusį su „Bluetooth RFCOMM“ ryšiu. Pirmiausia turime importuoti „Bluetooth“ lizdo biblioteką, kuri leidžia mums valdyti „Bluetooth“ su „Python“ kalba; toje pačioje bibliotekoje įdiegėme ankstesniame skyriuje.
importuoti „Bluetooth“
Žemiau yra kodas, atsakingas už „Bluetooth“ ryšį:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM) prievadas = 1 server_socket.bind (("", prievadas)) server_socket.listen (1) client_socket, address = server_socket.accept () spausdinti "Accepted connection from", adresas, o 1: duomenys = kliento lizdas.recv (1024)
Čia mes galime juos suprasti eilute:
server_socket = bluetooth. BluetoothSocket (bluetooth.RFCOMM): „Bluetooth RFCOMM“ ryšio lizdo kūrimas.
server_socket.bind (("", prievadas): - Serveris susieja scenarijų pagrindiniame kompiuteryje su prievadu.
server_socket.listen (1) : serveris klausosi, ar vienu metu priimti vieną ryšį.
client_socket, adresas = server_socket.accept () : Serverio priima kliento ryšio prašymą ir priskirti MAC adresą kintamojo adresą, client_socket yra kliento lizdas
duomenys = client_socket.recv (1024): Gauti duomenis per kliento lizdas client_socket ir priskirti jį prie kintamų duomenų . Vienu metu galima gauti ne daugiau kaip 1024 simbolius.
Galiausiai atlikę visą programavimą, uždarykite kliento ir serverio ryšį naudodami žemiau esantį kodą:
client_socket.close () server_socket.close ()
Visas kitas kodas yra lengvas ir savaime suprantamas. Patikrinkite visą kodą žemiau. Pabandykite modifikuoti šį projektą ir galite jį naudoti norėdami valdyti daugelį kitų dalykų belaidžiu būdu, pvz., Naudodami „Relės“ galite valdyti buitinę techniką arba valdyti robotą automobilį per „Android“ telefoną.