- A Bluetooth kommunikációhoz szükséges csomagok telepítése:
- Eszközök párosítása Raspberry Pi-vel Bluetooth-on:
- Kördiagramm:
- A LED vezérlése az Android App BlueTerm alkalmazással:
- Programozási magyarázat:
A Raspberry Pi nagyon népszerű az IoT projekteknél, mivel zökkenőmentesen képes vezeték nélküli kommunikációt folytatni az interneten keresztül. A Raspberry Pi 3 beépített Wi-Fi-t és Bluetooth-ot tartalmaz, és a Bluetooth egy nagyon népszerű vezeték nélküli kommunikációs protokoll. Tehát ma egy Raspberry Pi GPIO Pin vezérlést fogunk végezni egy Android alkalmazáson keresztül Bluetooth használatával.
Itt Raspberry 2 Pi Model B-t használunk, amelynek nincs beépített Bluetooth-ja, ezért egy egyszerű USB Bluetooth-kulcsot használunk. Ettől eltekintve csak egy ellenállásra (220R) és egy LED-re van szükségünk a GPIO vezérlés bemutatásához. Itt RFCOMM Bluetooth protokollt használunk a vezeték nélküli kommunikációhoz.
A Pythonban a Bluetooth programozása a socket programozási modellt követi, és a Bluetooth eszközök közötti kommunikáció az RFCOMM socketen keresztül történik. Az RFCOMM (rádiófrekvenciás kommunikáció) egy Bluetooth protokoll, amely emulált RS-232 soros portokat biztosított, és soros port emulációnak is hívták. A Bluetooth soros port profil ezen a protokollon alapul. Az RFCOMM széles körű támogatása és nyilvánosan elérhető API miatt nagyon népszerű a Bluetooth-alkalmazásokban. Az L2CAP protokollhoz van kötve.
Korábbi projektünkben használtuk a HC-06 Bluetooth modult is: Hangvezérelt LED-ek a Raspberry Pi segítségével. Ellenőrizze a korábbi Raspberry Pi projektjeinket, valamint néhány jó IoT projektet.
A Bluetooth kommunikációhoz szükséges csomagok telepítése:
Indulás előtt telepítenünk kell néhány szoftvert a Bluetooth kommunikáció beállításához a Raspberry Pi programban. Rendelkeznie kell egy Raspbian Jessie telepített memóriakártyával a Raspberry Pi-vel. A Raspbian operációs rendszer telepítéséhez és a Raspberry Pi használatának megkezdéséhez olvassa el ezt a cikket. Tehát most először az alábbi parancsok használatával kell frissítenünk a Raspbian-t:
sudo apt-get update sudo apt-get upgrade
Ezután telepítenünk kell néhány Bluetooth-hoz kapcsolódó csomagot:
sudo apt-get install bluetooth blueman bluez
Ezután indítsa újra a Raspberry Pi-t:
sudo újraindítás
A BlueZ egy nyílt forráskódú projekt és hivatalos Linux Bluetooth protokoll verem. Támogatja az összes alapvető Bluetooth protokollt, és most a hivatalos Linux Kernel részévé válik.
A Blueman biztosítja az Asztal felületet a Bluetooth-eszközök kezeléséhez és vezérléséhez.
Végül szükségünk van python könyvtárra a Bluetooth kommunikációhoz, hogy adatokat küldhessünk és fogadhassunk az RFCOMM-en keresztül Python nyelv használatával:
sudo apt-get install python-bluetooth
Telepítse a Raspberry Pi GPIO támogatási könyvtárait is:
sudo apt-get install python-rpi.gpio
Most befejeztük a Bluetooth kommunikációhoz szükséges csomagok telepítését a Raspberry Pi-ben.
Eszközök párosítása Raspberry Pi-vel Bluetooth-on:
A Bluetooth-eszközök, például a mobiltelefon, és a Raspberry Pi párosítása nagyon egyszerű. Itt párosítottuk Android okostelefonunkat a Raspberry Pi-vel. Korábban telepítettük a BlueZ-et a Pi-be, amely a „bluetoothctl” nevű parancssori segédprogramot biztosítja Bluetooth-eszközeink kezeléséhez. De előtte csatlakoztassa az USB Bluetooth kulcsot a Raspberry Pi-hez, és ellenőrizze, hogy észlelhető-e vagy sem, az alábbi paranccsal:
lsusb
Most nyissa meg a bluetoothctl segédprogramot az alábbi paranccsal:
sudo bluetoothctl
A „help” beírásával ellenőrizheti a bluetoothctl segédprogram összes parancsát. Jelenleg az alábbi parancsokat kell beírnunk a megadott sorrendben:
# bekapcsol # ügynök be # felfedezhető # párosítható # beolvasás
Az utolsó „scan on” parancs után megjelenik a Bluetooth eszköz (mobiltelefon) a listán. Győződjön meg arról, hogy a mobilján be van kapcsolva a Bluetooth, és a közeli eszközök láthatják. Ezután másolja az eszköz MAC-címét, és párosítsa a megadott paranccsal:
pár
Ezután a terminálkonzolon meg kell adnia a kódot vagy a PIN kódot, majd írja be oda a kódot, és nyomja meg az Enter billentyűt Ezután írja be ugyanazt a jelszót a mobiltelefonjára, amikor a rendszer kéri, és most sikeresen párosítva van a Raspberry Pi-vel. Ezt a teljes folyamatot a végén adott Videónkban is elmagyaráztuk.
Mint korábban elmondtuk, az Asztal felületen is használhatja a mobiltelefon párosítását. A Blueman telepítése után egy Bluetooth ikont lát a Raspberry Pi asztal jobb oldalán, az alábbiak szerint, amellyel egyszerűen elvégezheti a párosítást.
Kördiagramm:
A kapcsolási rajz nagyon egyszerű, csak csatlakoztattunk egy LED-et a Raspberry Pi 40-es PIN-jéhez (GPIO 21), 220 Ohmos ellenállással:
A LED vezérlése az Android App BlueTerm alkalmazással:
A mobiltelefon párosítása után telepítenünk kell egy Android alkalmazást a Raspberry Pi kommunikációjához Bluetooth soros adapter segítségével. Mint korábban elmondtuk, az RFCOMM / SPP protokoll emulálja a soros kommunikációt Bluetooth-on keresztül, ezért ide telepítettük a BlueTerm alkalmazást, amely támogatja ezt a protokollt.
Használhat bármely más Bluetooth Terminal alkalmazást is, amely támogatja az RFCOMM aljzaton keresztüli kommunikációt.
Miután letöltötte és telepítette a BlueTerm alkalmazást, futtassa az alább megadott Python programot a terminálról, és egyidejűleg csatlakoztassa a párosított raspberrypi eszközt a BlueTerm alkalmazásból.
A sikeres kapcsolódás után a csatlakoztatott: raspberrypi jelenik meg az alkalmazás jobb felső sarkában, az alábbiak szerint:
Most csak beírhatja az „1” vagy a „0” értéket a BlueTerm alkalmazásból, hogy a GPIO tű HIGH és LOW legyen, ami viszont be- és kikapcsolja az ehhez a csaphoz csatlakoztatott LED-et. A programból való kilépéshez nyomja meg a 'q' gombot. A Google Voice gépelési billentyűzet segítségével vezérelheti a GPIO-t a Voice segítségével. Ellenőrizze a teljes bemutatót a videó végén.
Tehát így vezérelheti vezeték nélkül a GPIO Pin-t egy Android alkalmazás segítségével Bluetooth-on keresztül. Ellenőrizze azt is, hogyan kell használni a Bluetooth-t az Arduinóval.
Programozási magyarázat:
A Python program a Raspberry Pi GPIO vezérléséhez az Android App alkalmazással nagyon egyszerű és magától értetődő. Csak nekünk kell kicsit tanulnunk a Bluetooth RFCOMM kommunikációval kapcsolatos kódról. Először be kell importálnunk a Bluetooth socket könyvtárat, amely lehetővé teszi a Bluetooth Python nyelvű vezérlését; ugyanarra az előző szakaszban telepítettük a könyvtárat.
importálja a Bluetooth-t
Az alábbiakban található a Bluetooth kommunikációért felelős kód:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM) port = 1 server_socket.bind (("", port)) server_socket.listen (1) client_socket, address = server_socket.accept () print "Elfogadott kapcsolat innen", cím míg 1: data = ügyfél_socket.recv (1024)
Itt soronként érthetjük meg őket:
server_socket = bluetooth. BluetoothSocket (bluetooth.RFCOMM): Socket létrehozása a Bluetooth RFCOMM kommunikációhoz.
server_socket.bind (("", port): - A kiszolgáló a "" gazdagépen lévő szkriptet a porthoz köti.
server_socket.listen (1) : A szerver egyszerre csak egy kapcsolatot fogad el.
client_socket, address = server_socket.accept () : A szerver elfogadja az ügyfél csatlakozási kérelmét, és a változó címhez rendeli a mac címet, a client_socket az ügyfél foglalata
data = client_socket.recv (1024): Adatokat fogad a client_socket ügyfél socketen keresztül, és rendelje hozzá a változó adatokhoz . Egyszerre legfeljebb 1024 karaktert lehet fogadni.
Végül a programozás után zárja be az ügyfél és szerver kapcsolatot az alábbi kód használatával:
client_socket.close () server_socket.close ()
Az összes többi kód egyszerű és magától értetődő. Ellenőrizze az alábbi teljes kódot. Próbálja meg módosítani ezt a projektet, és sok más dolog vezeték nélküli vezérlésére is használható, például a Relék használatával vezérelheti a háztartási készülékeket, vagy pedig egy robotkocsit is irányíthat Android telefonon keresztül.