- Inštalácia požadovaných balíkov pre komunikáciu Bluetooth:
- Párovanie zariadení s Raspberry Pi cez Bluetooth:
- Schéma zapojenia:
- Ovládanie sieťového zariadenia pomocou aplikácie pre Android BlueTerm:
- Vysvetlenie programovania:
Raspberry Pi je pre projekty IoT veľmi obľúbený pre svoju bezproblémovú schopnosť bezdrôtovej komunikácie cez internet. Raspberry Pi 3 má zabudované Wi-Fi a Bluetooth a Bluetooth je veľmi populárny bezdrôtový komunikačný protokol. Takže dnes ideme ovládať domáce spotrebiče pomocou inteligentného telefónu pomocou Raspberry Pi 3 a Bluetooth.
Tu používame Raspberry Pi 3, ktoré majú zabudované Bluetooth, takže nemusíme používať žiadny externý USB Bluetooth kľúč. Okrem toho pre tento projekt bezdrôtovej domácej automatizácie potrebujeme iba reléové moduly. Tu používame pre bezdrôtovú komunikáciu protokol RFCOMM Bluetooth.
Programovanie pre Bluetooth v Pythone sa riadi programovacím modelom soketu a komunikácia medzi zariadeniami Bluetooth sa vykonáva prostredníctvom soketu RFCOMM. RFCOMM (Radio Frequency Communication) je protokol Bluetooth, ktorý poskytuje emulované sériové porty RS-232 a tiež sa nazýva emulácia sériového portu. Profil sériového portu Bluetooth je založený na tomto protokole. RFCOMM je v aplikáciách Bluetooth veľmi populárny kvôli svojej širokej podpore a verejne dostupnému API. Je viazaný na protokol L2CAP.
Ak máte Raspberry Pi 2, musíte buď použiť externý Bluetooth kľúč alebo Bluetooth modul HC-06. Skontrolujte naše predchádzajúce projekty týkajúce sa používania týchto externých zariadení Bluetooth: Ovládanie GPIO Raspberry Pi pomocou aplikácie Android cez Bluetooth a LED ovládané hlasom pomocou Raspberry Pi. Skontrolujte tiež naše predchádzajúce projekty Raspberry Pi a niekoľko dobrých projektov IoT.
Inštalácia požadovaných balíkov pre komunikáciu Bluetooth:
Pred začatím musíme nainštalovať softvér na nastavenie komunikácie Bluetooth v Raspberry Pi. Mali by ste mať nainštalovanú pamäťovú kartu Raspbian Jessie pripravenú s Raspberry Pi. V tomto článku nájdete informácie o inštalácii operačného systému Raspbian a začiatku práce s programom Raspberry Pi. Takže teraz musíme najskôr aktualizovať Raspbian pomocou nasledujúcich príkazov:
sudo apt-get aktualizácia sudo apt-get aktualizácia
Potom musíme nainštalovať niekoľko balíkov súvisiacich s Bluetooth:
sudo apt-get nainštalovať bluetooth blueman bluez
Potom reštartujte Raspberry Pi:
sudo reštart
BlueZ je projekt s otvoreným zdrojovým kódom a oficiálny zásobník protokolu Bluetooth pre systém Linux. Podporuje všetky základné protokoly Bluetooth a teraz sa stáva súčasťou oficiálneho jadra systému Linux.
Spoločnosť Blueman poskytuje rozhranie pracovnej plochy na správu a kontrolu zariadení Bluetooth.
Nakoniec potrebujeme knižnicu python pre komunikáciu Bluetooth, aby sme mohli odosielať a prijímať dáta cez RFCOMM pomocou jazyka Python:
sudo apt-get nainštalovať python-bluetooth
Nainštalujte si tiež podporné knižnice GPIO pre Raspberry Pi:
sudo apt-get nainštalovať python-rpi.gpio
Teraz sme hotoví s inštaláciou požadovaných balíkov pre komunikáciu Bluetooth v Raspberry Pi.
Párovanie zariadení s Raspberry Pi cez Bluetooth:
Spárovanie zariadení Bluetooth, ako je napríklad mobilný telefón, s Raspberry Pi je veľmi jednoduché. Tu sme spárovali náš inteligentný telefón s Androidom s Raspberry Pi. Predtým sme nainštalovali BlueZ do Pi, ktorý poskytuje nástroj príkazového riadku s názvom „bluetoothctl“ na správu našich zariadení Bluetooth.
Teraz otvorte nástroj bluetoothctl pomocou príkazu dole:
sudo bluetoothctl
Všetky príkazy obslužného programu bluetoothctl môžete skontrolovať zadaním príkazu „help“ . Zatiaľ musíme zadať nižšie príkazy v danom poradí:
# zapnutie # agent zapnutý # objaviteľné pri # opraviteľné pri # skenovanie zapnuté
Po poslednom príkaze „skenovať“ sa v zozname zobrazí vaše zariadenie Bluetooth (mobilný telefón). Uistite sa, že váš mobil má zapnuté Bluetooth a viditeľné pre zariadenia v okolí. Potom skopírujte MAC adresu vášho zariadenia a spárujte ju pomocou daného príkazu:
pár
Potom sa v terminálovej konzole zobrazí výzva na zadanie hesla alebo PIN, potom zadajte prístupový kód a stlačte kláves Enter. Potom po výzve zadajte do mobilného telefónu rovnaký prístupový kód a teraz ste úspešne spárovaní s Raspberry Pi. Celý tento proces sme tiež vysvetlili vo videu uvedenom v predchádzajúcom výučbe ovládania GPIO. Tu je priamy odkaz na YouTube.
Ako už bolo povedané, na spárovanie mobilného telefónu môžete použiť aj rozhranie pracovnej plochy. Po inštalácii programu Blueman sa na pravej strane pracovnej plochy Raspberry Pi zobrazí ikona Bluetooth, ako je to znázornené nižšie, pomocou ktorej môžete párovanie jednoducho vykonať.
Schéma zapojenia:
Schéma zapojenia pre túto automatizovanú domácu automatizáciu založenú na technológii Raspberry Pi je veľmi jednoduchá, iba sme pripojili vstupný signál reléového modulu Pin na PIN 40 (GPIO 21) Raspberry Pi a ďalšie dva Pin (Vcc a GND reléového modulu) na Pin 2 a 6 Raspberry Pi 3. Potom sme k relé pripojili žiarovku AC CFL, ako je to znázornené na schéme zapojenia:
Ak ste v Relé nováčikom a chcete sa dozvedieť viac o Relé a jeho pripojeniach k AC zariadeniu, pozrite si tento článok.
Ovládanie sieťového zariadenia pomocou aplikácie pre Android BlueTerm:
Teraz po spárovaní mobilného telefónu potrebujeme nainštalovať aplikáciu pre Android pre komunikáciu s Raspberry Pi pomocou sériového adaptéra Bluetooth, aby sme mohli ovládať GPIO piny Raspberry Pi. Ako už bolo povedané, protokol RFCOMM / SPP emuluje sériovú komunikáciu cez Bluetooth, preto sme si tu nainštalovali aplikáciu BlueTerm, ktorá tento protokol podporuje.
Môžete tiež použiť ľubovoľnú inú aplikáciu Bluetooth Terminal, ktorá podporuje komunikáciu cez zásuvku RFCOMM.
Teraz po stiahnutí a nainštalovaní aplikácie BlueTerm spustite z terminálu nižšie uvedený program Python a súčasne pripojte spárované zariadenie raspberrypi z aplikácie BlueTerm.
Po úspešnom pripojení uvidíte pripojené: raspberrypi v pravom hornom rohu aplikácie, ako je uvedené nižšie:
Teraz stačí zadať '1' alebo '0' z aplikácie BlueTerm, aby bol pin GPIO VYSOKÝ a NÍZKY, čo následne spustí reléový modul pripojený k tomuto kolíku, ktorý ďalej ovláda žiarovku AC pripojenú k relé. Stlačením klávesu „q“ program opustíte. Pomocou klávesnice Google Voice Typing Keyboard môžete ovládať GPIO pomocou svojho hlasu. Kompletné ukážky nájdete vo videu na konci.
Takto môžete bezdrôtovo ovládať AC zariadenie pomocou aplikácie pre Android cez Bluetooth. Skontrolujte tiež Ako používať Bluetooth s Arduino.
Vysvetlenie programovania:
Program Python na ovládanie Raspberry Pi GPIO s Android App je veľmi jednoduchý a zrozumiteľný. Len sa musíme trochu dozvedieť o kóde súvisiacom s komunikáciou Bluetooth RFCOMM. Najskôr musíme importovať knižnicu zásuviek Bluetooth, ktorá nám umožňuje ovládať Bluetooth v jazyku Python; knižnicu sme pre to isté nainštalovali v predchádzajúcej časti.
importovať Bluetooth
Nižšie je uvedený kód zodpovedný za komunikáciu Bluetooth:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM) port = 1 server_socket.bind (("", port)) server_socket.listen (1) client_socket, address = server_socket.accept () print "Akceptované pripojenie z", adresa do 1: data = client_socket.recv (1024)
Tu ich môžeme chápať riadok po riadku:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM): Vytvára sa soket pre komunikáciu Bluetooth RFCOMM.
server_socket.bind (("", port): - Server naviaže skript na hostiteľovi na port.
server_socket.listen (1) : Server počúva prijať jedno pripojenie naraz.
client_socket, address = server_socket.accept () : Server prijme požiadavku na pripojenie klienta a priradí adresu MAC premennej adrese, client_socket je soket klienta
data = client_socket.recv (1024): Prijímajte údaje prostredníctvom klientskeho soketu client_socket a priraďte ich k premennej data . Naraz je možné prijať maximálne 1024 znakov.
Nakoniec po ukončení celého programovania ukončite spojenie klienta a servera pomocou nižšie uvedeného kódu:
client_socket.close () server_socket.close ()
Všetky ostatné kódy sú ľahké a zrozumiteľné. Skontrolujte celý kód uvedený nižšie. Skúste tento projekt upraviť a môžete ho použiť na bezdrôtové ovládanie mnohých ďalších vecí, robotické auto pomocou telefónu s Androidom alebo na ovládanie svetiel váš hlas.
Skontrolujte tiež naše množstvo typov projektov domácej automatizácie pomocou rôznych technológií a mikrokontrolérov, ako sú: