- Instaliranje potrebnih paketa za Bluetooth komunikaciju:
- Uparivanje uređaja s Raspberry Pi putem Bluetootha:
- Kružni dijagram:
- Upravljanje uređajem za izmjeničnu struju pomoću Android App BlueTerm:
- Objašnjenje programiranja:
Raspberry Pi vrlo je popularan za IoT projekte zbog svoje besprijekorne mogućnosti bežične komunikacije putem interneta. Raspberry Pi 3 ima ugrađeni Wi-Fi i Bluetooth, a Bluetooth je vrlo popularan protokol bežične komunikacije. Dakle, danas ćemo upravljati kućanskim aparatima putem pametnog telefona pomoću Raspberry Pi 3 i Bluetootha.
Ovdje koristimo Raspberry Pi 3 koji ima ugrađeni Bluetooth, tako da ne trebamo koristiti nijedan vanjski USB Bluetooth dongle. Osim toga, za ovaj projekt bežične automatizacije kuće trebaju nam samo moduli releja. Ovdje koristimo RFCOMM Bluetooth protokol za bežičnu komunikaciju.
Programiranje za Bluetooth u Pythonu slijedi model programiranja soketa, a komunikacija između Bluetooth uređaja vrši se putem RFCOMM utičnice. RFCOMM (Radio Frequency Communication) je Bluetooth protokol koji pruža emulirane RS-232 serijske portove i naziva se i emulacija serijskog porta. Profil serijskog porta Bluetooth zasnovan je na ovom protokolu. RFCOMM je vrlo popularan u Bluetooth aplikacijama zbog svoje široke podrške i javno dostupnog API-ja. Vezana je za L2CAP protokol.
Ako imate Raspberry Pi 2, tada morate koristiti vanjski Bluetooth ključ ili Bluetooth modul HC-06. Provjerite naše prethodne projekte za upotrebu ovih vanjskih Bluetooth uređaja: Upravljanje Raspberry Pi GPIO pomoću Android aplikacije preko Bluetootha i LED upravljanih glasom pomoću Raspberry Pi. Također provjerite naše prethodne Raspberry Pi projekte, zajedno s nekim dobrim IoT projektima.
Instaliranje potrebnih paketa za Bluetooth komunikaciju:
Prije početka moramo instalirati neke softvere za postavljanje Bluetooth komunikacije u Raspberry Pi. Trebali biste imati Raspbian Jessie instaliranu memorijsku karticu spremnu s Raspberry Pi. Pogledajte ovaj članak da biste instalirali OS Raspbian i započeli s radom s Raspberry Pi. Dakle, sada prvo moramo ažurirati Raspbian pomoću naredbi u nastavku:
sudo apt-get ažuriranje sudo apt-get nadogradnja
Zatim moramo instalirati nekoliko povezanih paketa s Bluetoothom:
sudo apt-get instaliraj bluetooth blueman bluez
Zatim ponovno pokrenite Raspberry Pi:
sudo ponovno pokretanje
BlueZ je projekt otvorenog koda i službeni Linux Bluetooth protokol. Podržava sve temeljne Bluetooth protokole i sada je postao dio službenog Linux kernela.
Blueman nudi stolno sučelje za upravljanje i kontrolu Bluetooth uređaja.
Napokon nam je potrebna Python knjižnica za Bluetooth komunikaciju kako bismo mogli slati i primati podatke putem RFCOMM-a koristeći jezik Python:
sudo apt-get instalirati python-bluetooth
Također instalirajte GPIO knjižnice podrške za Raspberry Pi:
sudo apt-get instalirati python-rpi.gpio
Sada smo završili s instaliranjem potrebnih paketa za Bluetooth komunikaciju u Raspberry Pi.
Uparivanje uređaja s Raspberry Pi putem Bluetootha:
Uparivanje Bluetooth uređaja, poput mobilnog telefona, s Raspberry Pi vrlo je jednostavno. Ovdje smo uparili naš Android Smart telefon s Raspberry Pi. Prethodno smo instalirali BlueZ u Pi, koji nudi uslužni program naredbenog retka nazvan "bluetoothctl" za upravljanje našim Bluetooth uređajima.
Sada otvorite uslužni program bluetoothctl pomoću naredbe ispod:
sudo bluetoothctl
Sve naredbe uslužnog programa bluetoothctl možete provjeriti upisivanjem "pomoć" . Za sada moramo unijeti naredbe ispod navedenim redoslijedom:
# napajanje # agent uključen # otkriven # vidljivo # skeniranje uključeno
Nakon posljednje naredbe "scan on", na popisu ćete vidjeti svoj Bluetooth uređaj (mobitel). Provjerite je li vaš mobitel uključen Bluetooth i vidljiv je u blizini uređaja. Zatim kopirajte MAC adresu svog uređaja i uparite je pomoću zadane naredbe:
par
Tada će se na konzoli terminala zatražiti lozinka ili pribadača, zatim tamo upišite lozinku i pritisnite enter. Zatim unesite istu lozinku u svoj mobilni telefon kada se to zatraži i sada ste uspješno upareni s Raspberry Pi. Čitav taj postupak također smo objasnili u videu navedenom u prethodnom vodiču za GPIO upravljanje. Evo izravne YouTube veze.

Kao što je ranije rečeno, za spajanje mobitela možete koristiti i sučelje radne površine. Nakon instalacije Bluemana, vidjet ćete ikonu Bluetooth na desnoj strani radne površine Raspberry Pi, kao što je prikazano u nastavku, pomoću koje možete lako obaviti uparivanje.

Kružni dijagram:
Dijagram sklopova za ovu automatiziranu kućnu automatizaciju zasnovanu na Raspberry Piu vrlo je jednostavan, upravo smo spojili ulazni signal modula releja Pin na PIN 40 (GPIO 21) Raspberry Pi i druga dva pina (Vcc i GND relejnog modula) na Pin 2 i 6 Raspberry Pi 3. Zatim smo na relej priključili AC CFL žarulju kao što je prikazano na shemi sklopa:

Ako ste novi u Releju i želite saznati više o Releju i njegovim vezama s AC uređajem, pogledajte ovaj članak.

Upravljanje uređajem za izmjeničnu struju pomoću Android App BlueTerm:
Sada nakon raščlanjivanja mobitela, moramo instalirati Android aplikaciju za komunikaciju s Raspberry Pi pomoću Bluetooth serijskog adaptera, kako bismo mogli kontrolirati GPIO pinove Raspberry Pi. Kao što je ranije rečeno, RFCOMM / SPP protokol oponaša serijsku komunikaciju putem Bluetootha, pa smo ovdje instalirali aplikaciju BlueTerm koja podržava ovaj protokol.

Također možete koristiti bilo koju drugu aplikaciju Bluetooth Terminal koja podržava komunikaciju putem RFCOMM utičnice.
Nakon preuzimanja i instaliranja aplikacije BlueTerm, pokrenite donji zadani program Python s terminala i istovremeno povežite upareni raspberrypi uređaj s aplikacije BlueTerm.

Nakon uspješne veze vidjet ćete povezano: raspberrypi u gornjem desnom kutu aplikacije kao što je prikazano dolje:


Sada iz aplikacije BlueTerm možete samo unijeti '1' ili '0' kako biste GPIO pin postavili VISOKO i NISKO, što zauzvrat aktivira relejni modul spojen na ovaj pin, koji nadalje kontrolira AC žarulju povezanu na Relej. Pritisnite 'q' za izlaz iz programa. Pomoću tipkovnice Google Voice Typing možete upravljati GPIO-om pomoću glasa. Potpuni demo pogledajte u videozapisu navedenom na kraju.

Dakle, ovo je način na koji možete bežično upravljati AC uređajem pomoću Android aplikacije putem Bluetootha. Također provjerite Kako koristiti Bluetooth s Arduinom.
Objašnjenje programiranja:
Python program za upravljanje Raspberry Pi GPIO s Android aplikacijom vrlo je jednostavan i samorazumljiv. Samo mi moramo naučiti malo o kodu koji se odnosi na Bluetooth RFCOMM komunikaciju. Prvo moramo uvesti knjižnicu Bluetooth utičnice koja nam omogućuje kontrolu Bluetootha na jeziku Python; u prethodnom smo odjeljku instalirali knjižnicu za istu.
uvezite Bluetooth
Ispod je kod odgovoran za Bluetooth komunikaciju:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM) port = 1 server_socket.bind (("", port)) server_socket.listen (1) client_socket, address = server_socket.accept () print "Prihvaćena veza sa", adresa dok 1: podaci = client_socket.recv (1024)
Ovdje ih možemo razumjeti redak po redak:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM): Stvaranje utičnice za Bluetooth RFCOMM komunikaciju.
server_socket.bind (("", port): - Poslužitelj veže skriptu na hostu '' na port.
server_socket.listen (1) : Poslužitelj sluša prihvaćajući jednu po jednu vezu.
client_socket, address = server_socket.accept () : Poslužitelj prihvaća zahtjev za povezivanje klijenta i dodjeljuje mac adresu promjenjivoj adresi, client_socket je klijentova utičnica
data = client_socket.recv (1024): Primite podatke putem klijentske utičnice client_socket i dodijelite ih varijabli podataka . Istodobno se može primiti najviše 1024 znaka.
Napokon, nakon cijelog programiranja, zatvorite vezu klijenta i poslužitelja koristeći donji kod:
client_socket.close () server_socket.close ()
Svi ostali kodovi su jednostavni i samorazumljivi. Potpuni kod provjerite u nastavku. Pokušajte izmijeniti ovaj projekt i možete ga koristiti za bežično upravljanje mnogim drugim stvarima, robotskim automobilom putem android telefona ili možete koristiti svoj glas za upravljanje svjetlima.
Također provjerite naše brojne tipove projekata kućne automatizacije koji koriste različite tehnologije i mikrokontrolere poput:
