- Nepieciešamo Bluetooth sakaru pakotņu instalēšana:
- Ierīču savienošana pārī ar Raspberry Pi, izmantojot Bluetooth:
- Ķēdes shēma:
- Maiņstrāvas ierīces vadība ar Android App BlueTerm:
- Programmēšanas skaidrojums:
Aveņu Pi ir ļoti populāra IoT projektos, jo tā nodrošina bezvadu sakaru spēju caur internetu. Raspberry Pi 3 ir iebūvēts Wi-Fi un Bluetooth, un Bluetooth ir ļoti populārs bezvadu sakaru protokols. Tāpēc šodien mēs kontrolēsim sadzīves tehniku, izmantojot viedtālruni, izmantojot Raspberry Pi 3 un Bluetooth.
Šeit mēs izmantojam Raspberry Pi 3, kurā ir iebūvēts Bluetooth, tāpēc mums nav jāizmanto neviens ārējs USB Bluetooth dongle. Bez tam mums ir nepieciešami tikai releju moduļi šim bezvadu mājas automatizācijas projektam. Šeit bezvadu sakariem mēs izmantojam RFCOMM Bluetooth protokolu.
Programmēšana Bluetooth pakalpojumā Python notiek pēc ligzdas programmēšanas modeļa, un saziņa starp Bluetooth ierīcēm notiek caur RFCOMM ligzdu. RFCOMM (radiofrekvenču komunikācija) ir Bluetooth protokols, kas nodrošināja emulētus RS-232 seriālos portus un ko sauc arī par seriālo portu emulāciju. Bluetooth sērijas porta profils ir balstīts uz šo protokolu. RFCOMM ir ļoti populārs Bluetooth lietojumprogrammās, jo tam ir plašs atbalsts un publiski pieejama API. Tas ir saistīts ar L2CAP protokolu.
Ja jums ir Raspberry Pi 2, jums jāizmanto vai nu ārējais Bluetooth dongle, vai Bluetooth modulis HC-06. Pārbaudiet mūsu iepriekšējos projektus par šo ārējo Bluetooth ierīču izmantošanu: Raspberry Pi GPIO vadība, izmantojot Android App, izmantojot Bluetooth, un ar balsi vadāmas gaismas diodes, izmantojot Raspberry Pi. Pārbaudiet arī mūsu iepriekšējos Raspberry Pi projektus, kā arī dažus labus IoT projektus.
Nepieciešamo Bluetooth sakaru pakotņu instalēšana:
Pirms sākuma mums ir jāinstalē dažas programmatūras, lai izveidotu Bluetooth komunikāciju Raspberry Pi. Jums vajadzētu būt gatavai Raspbian Jessie instalētai atmiņas kartei ar Raspberry Pi. Pārbaudiet šo rakstu, lai instalētu Raspbian OS un sāktu darbu ar Raspberry Pi. Tāpēc tagad mums vispirms jāatjaunina Raspbian, izmantojot zemāk norādītās komandas:
sudo apt-get update sudo apt-get jauninājums
Tad mums jāinstalē dažas ar Bluetooth saistītas paketes:
sudo apt-get instalēt bluetooth blueman bluez
Pēc tam restartējiet Raspberry Pi:
sudo atsāknēšana
BlueZ ir atvērtā koda projekts un oficiāla Linux Linux protokola kaudze. Tas atbalsta visus galvenos Bluetooth protokolus un tagad kļūst par daļu no oficiālā Linux kodola.
Blueman nodrošina darbvirsmas saskarni, lai pārvaldītu un kontrolētu Bluetooth ierīces.
Visbeidzot, mums ir nepieciešama python bibliotēka Bluetooth saziņai, lai mēs varētu nosūtīt un saņemt datus, izmantojot RFCOMM, izmantojot Python valodu:
sudo apt-get instalēt python-bluetooth
Instalējiet arī Raspberry Pi GPIO atbalsta bibliotēkas:
sudo apt-get instalēt python-rpi.gpio
Tagad mēs esam paveikuši nepieciešamo Bluetooth sakaru paku instalēšanu Raspberry Pi.
Ierīču savienošana pārī ar Raspberry Pi, izmantojot Bluetooth:
Savienot Bluetooth ierīces, piemēram, mobilo tālruni, ar Raspberry Pi ir ļoti vienkārši. Šeit mēs esam savienojuši pārī savu Android viedtālruni ar Raspberry Pi. Mēs jau iepriekš esam instalējuši BlueZ Pi, kas nodrošina komandrindas utilītu ar nosaukumu “bluetoothctl”, lai pārvaldītu mūsu Bluetooth ierīces.
Tagad atveriet bluetoothctl utilītu, izmantojot komandu zemāk:
sudo bluetoothctl
Jūs varat pārbaudīt visas bluetoothctl utilītas komandas, ierakstot "help" . Pagaidām mums jāievada zemāk norādītās komandas noteiktā secībā:
# ieslēgts # aģents ieslēgts # atklājams # savienojams pārī ar # skenēšanu
Pēc pēdējās komandas “scan on” sarakstā redzēsiet savu Bluetooth ierīci (mobilo tālruni). Pārliecinieties, vai jūsu mobilajā tālrunī ir ieslēgts Bluetooth un vai tas ir redzams tuvumā esošajām ierīcēm. Pēc tam nokopējiet ierīces MAC adresi un savienojiet to pārī, izmantojot norādīto komandu:
pāris
Pēc tam jums tiks lūgts ievadīt piekļuves kodu vai piespraudi savā termināļa konsolē, pēc tam ierakstiet piekļuves kodu un nospiediet taustiņu Enter. Pēc tam, kad tiek prasīts, ierakstiet to pašu piekļuves kodu savā mobilajā tālrunī, un tagad esat veiksmīgi savienots pārī ar Raspberry Pi. Visu šo procesu mēs esam izskaidrojuši arī iepriekšējā GPIO vadības apmācībā sniegtajā videoklipā. Šeit ir tiešā YouTube saite.
Kā stāstīts iepriekš, mobilā tālruņa savienošanai pārī varat izmantot arī darbvirsmas saskarni. Pēc Blueman instalēšanas Raspberry Pi darbvirsmas labajā pusē redzēsiet Bluetooth ikonu, kā parādīts zemāk, izmantojot kuru jūs varat viegli veikt savienošanu pārī.
Ķēdes shēma:
Šīs Raspberry Pi bāzes Bluetooth kontrolētās mājas automatizācijas shēmas shēma ir ļoti vienkārša, mēs tikko pievienojām releja moduļa ieejas signāla tapu ar Raspberry Pi PIN 40 (GPIO 21) un pārējiem diviem tapām (releja moduļa Vcc un GND) ar 2. un 6. kontaktu. no Raspberry Pi 3. Tad mēs esam pievienojuši maiņstrāvas CFL spuldzi relejam, kā parādīts shēmas shēmā:
Ja esat jauns Relay lietotājs un vēlaties uzzināt vairāk par Relay un tā savienojumiem ar maiņstrāvas ierīci, pārbaudiet šo rakstu.
Maiņstrāvas ierīces vadība ar Android App BlueTerm:
Pēc mobilā tālruņa atdalīšanas mums jāinstalē Android lietotne saziņai ar Raspberry Pi, izmantojot Bluetooth sērijas adapteri, lai mēs varētu kontrolēt Raspberry Pi GPIO tapas. Kā stāstīts iepriekš, RFCOMM / SPP protokols atdarina sērijveida sakarus, izmantojot Bluetooth, tāpēc mēs šeit instalējām BlueTerm App, kas atbalsta šo protokolu.
Varat arī izmantot jebkuru citu Bluetooth Terminal lietotni, kas atbalsta saziņu, izmantojot RFCOMM ligzdu.
Tagad pēc lejupielādējot un instalējot BlueTerm App, palaidiet tālāk doto Python programmu no termināla un savienot pārī savienoto Raspberry Pi ierīci no BlueTerm App, tajā pašā laikā.
Pēc veiksmīga savienojuma izveidošanas jūs redzēsiet savienojumu: raspberrypi lietotnes augšējā labajā stūrī, kā parādīts zemāk:
Tagad no lietotnes BlueTerm varat vienkārši ievadīt “1” vai “0”, lai GPIO tapa būtu attiecīgi HIGH un LOW, kas savukārt iedarbina šai tapai pievienoto releja moduli, kas vēl vairāk kontrolē relejam pievienoto maiņstrāvas spuldzi. Nospiediet taustiņu q, lai izietu no programmas. Lai kontrolētu GPIO, izmantojot balsi, varat izmantot Google balss rakstīšanas tastatūru. Pārbaudiet visu demonstrāciju videoklipā, kas sniegts beigās.
Tātad šādi jūs varat bezvadu vadīt maiņstrāvas ierīci, izmantojot Android lietotni, izmantojot Bluetooth. Pārbaudiet arī to, kā izmantot Bluetooth ar Arduino.
Programmēšanas skaidrojums:
Python programma Raspberry Pi GPIO kontrolēšanai ar Android App ir ļoti vienkārša un pašsaprotama. Tikai mums ir mazliet jāapgūst kods, kas saistīts ar Bluetooth RFCOMM komunikāciju. Vispirms mums jāimportē Bluetooth kontaktligzdu bibliotēka, kas ļauj mums kontrolēt Bluetooth ar Python valodu; mēs esam instalējuši bibliotēku par to pašu iepriekšējā sadaļā.
importēt Bluetooth
Zemāk ir kods, kas atbild par Bluetooth komunikāciju:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM) ports = 1 server_socket.bind (("", ports)) server_socket.listen (1) client_socket, address = server_socket.accept () print "Pieņemts savienojums no", adrese, kamēr 1: dati = klienta ligzda.recv (1024)
Šeit mēs tos varam saprast pa rindai:
server_socket = bluetooth. BluetoothSocket (bluetooth.RFCOMM): ligzdas izveide Bluetooth RFCOMM saziņai.
server_socket.bind (("", ports): - Serveris saista skriptu resursdatorā '' ar portu.
server_socket.listen (1) : serveris klausās, vai vienlaikus tiek pieņemts viens savienojums.
client_socket, adrese = server_socket.accept () : Servera akceptē klienta savienojuma pieprasījumu un piešķirt mac adresi uz mainīgo adresi client_socket ir klienta ligzda
data = client_socket.recv (1024): saņemiet datus, izmantojot klienta ligzdu client_socket, un piešķiriet tos mainīgajiem datiem . Vienlaikus var saņemt ne vairāk kā 1024 rakstzīmes.
Visbeidzot pēc visas programmēšanas, aizveriet klienta un servera savienojumu, izmantojot zemāk esošo kodu:
client_socket.close () server_socket.close ()
Viss pārējais kods ir viegli un pats par sevi saprotams. Pārbaudiet pilnu kodu zemāk. Mēģiniet modificēt šo projektu, un jūs to varat izmantot, lai vadītu daudzas citas lietas bezvadu režīmā, robotu automašīnu, izmantojot Android tālruni, vai arī jūs varat izmantot balsi, lai kontrolētu gaismas.
Pārbaudiet arī mūsu daudzos mājas automatizācijas projektu veidus, izmantojot dažādas tehnoloģijas un mikrokontrollerus, piemēram: