- Pag-install ng Mga Kinakailangan na Pakete para sa Komunikasyon sa Bluetooth:
- Mga Pares ng Pares na may Raspberry Pi sa Bluetooth:
- Diagram ng Circuit:
- Pagkontrol ng LED sa Android App BlueTerm:
- Paliwanag sa Programming:
Ang Raspberry Pi ay napakapopular sa mga proyekto ng IoT dahil sa seamless na kakayahan ng wireless na komunikasyon sa internet. Ang Raspberry Pi 3 ay nakabuo ng Wi-Fi at Bluetooth, at ang Bluetooth ay isang tanyag na wireless na komunikasyon Protocol. Kaya't ngayon ay makokontrol namin ang Raspberry Pi GPIO Pin sa pamamagitan ng isang Android app gamit ang Bluetooth.
Narito ginagamit namin ang Raspberry 2 Pi Model B na walang built in Bluetooth, kaya gumagamit kami ng isang simpleng dongle ng USB Bluetooth. Bukod sa na kailangan lamang namin ng isang risistor (220R) at isang LED upang ipakita ang pagkontrol ng GPIO. Narito ginagamit namin ang RFCOMM Bluetooth protocol para sa wireless na komunikasyon.
Sinusundan ng Programming para sa Bluetooth sa Python ang modelo ng socket programming at mga komunikasyon sa pagitan ng mga aparatong Bluetooth ay ginagawa sa pamamagitan ng RFCOMM socket. Ang RFCOMM (Radio Frequency Communication) ay isang Bluetooth Protocol na naglaan ng tinulad na mga serial port ng RS-232 at tinawag din bilang Serial Port Emulation. Ang profile ng serial serial ng Bluetooth ay batay sa protokol na ito. Ang RFCOMM ay napakapopular sa mga application ng Bluetooth dahil sa malawak na suporta at magagamit na API sa publiko. Ito ay nakasalalay sa L2CAP na protokol.
Gumamit din kami ng Bluetooth module na HC-06 sa aming nakaraang proyekto: Mga kontroladong Voice LED gamit ang Raspberry Pi. Suriin din ang aming nakaraang Mga Proyekto ng Raspberry Pi kasama ang ilang magagandang Proyekto ng IoT.
Pag-install ng Mga Kinakailangan na Pakete para sa Komunikasyon sa Bluetooth:
Bago magsimula, kailangan naming mag-install ng ilang mga softwares para sa pag- set up ng komunikasyon sa Bluetooth sa Raspberry Pi. Dapat ay mayroon kang isang naka-install na memory card na Raspbian Jessie kasama ang Raspberry Pi. Suriin ang artikulong ito upang mai-install ang Raspbian OS at magsimula sa Raspberry Pi. Kaya ngayon kailangan muna naming i-update ang Raspbian gamit ang mga utos sa ibaba:
sudo apt-get update sudo apt-get upgrade
Pagkatapos kailangan naming mag-install ng ilang mga package na nauugnay sa Bluetooth:
sudo apt-get install ng bluetooth blueman bluez
Pagkatapos ay i-reboot ang Raspberry Pi:
sudo reboot
Ang BlueZ ay isang bukas na proyekto ng mapagkukunan at opisyal na stack ng Linux Bluetooth protocol. Sinusuportahan nito ang lahat ng mga pangunahing mga protocol ng Bluetooth at ngayon ay naging bahagi ng opisyal na Linux Kernel.
Nagbibigay ang Blueman ng interface ng Desktop upang pamahalaan at makontrol ang mga aparatong Bluetooth.
Panghuli kailangan namin ng python Library para sa komunikasyon ng Bluetooth upang makapagpadala at makatanggap kami ng data sa pamamagitan ng RFCOMM gamit ang wika ng Python:
sudo apt-get install python-bluetooth
I-install din ang mga library ng suporta ng GPIO para sa Raspberry Pi:
sudo apt-get install python-rpi.gpio
Tapos na kami sa pag-install ng kinakailangang mga pakete para sa komunikasyon ng Bluetooth sa Raspberry Pi.
Mga Pares ng Pares na may Raspberry Pi sa Bluetooth:
Ang pagpapares ng Mga Bluetooth Device, tulad ng mobile phone, na may Raspberry Pi ay napakadali. Dito ipinares namin ang aming Android Smart phone sa Raspberry Pi. Na-install namin dati ang BlueZ sa Pi, na nagbibigay ng isang linya ng utos ng utos na tinatawag na " blu Bluetoothctl" upang pamahalaan ang aming mga aparatong Bluetooth. Ngunit bago ito, ikonekta ang iyong USB Bluetooth dongle sa Raspberry Pi at suriin kung nakita ito o hindi, sa pamamagitan ng paggamit sa ibaba ng utos:
lsusb
Ngayon buksan ang utility ng bluetoothctl sa pamamagitan ng utos sa ibaba:
sudo bluetoothctl
Maaari mong suriin ang lahat ng mga utos ng bluetoothctl utility sa pamamagitan ng pag-type ng 'tulong' . Sa ngayon kailangan naming maglagay ng mga utos sa ibaba sa ibinigay na pagkakasunud-sunod:
# kapangyarihan sa # ahente sa # madidiskubre sa # pares sa # pag-scan sa
Matapos ang huling utos na "mag-scan sa", makikita mo ang iyong Bluetooth aparato (Mobile phone) sa listahan. Tiyaking naka-on ang Bluetooth ng iyong mobile at nakikita ng mga kalapit na aparato. Pagkatapos kopyahin ang MAC address ng iyong aparato at ipares ito sa pamamagitan ng paggamit ng ibinigay na utos:
pares
Pagkatapos ay sasabihan ka para sa Passcode o I-pin sa iyong Terminal console pagkatapos i-type ang passcode doon at pindutin ang enter. Pagkatapos i-type ang parehong passcode sa iyong mobile phone kapag na-prompt at matagumpay kang ipinares sa Raspberry Pi. Ipinaliwanag din namin ang buong prosesong ito sa aming Video na ibinigay sa katapusan.
Tulad ng sinabi kanina, maaari mo ring gamitin ang interface ng Desktop upang ipares ang Mobile phone. Matapos i-install ang Blueman, makikita mo ang isang icon ng Bluetooth sa kanang bahagi ng iyong desktop ng Raspberry Pi tulad ng ipinakita sa ibaba, gamit kung saan maaari mong madaling gawin ang pagpapares.
Diagram ng Circuit:
Napakadali ng diagram ng circuit, nakakonekta lamang namin ang isang LED sa PIN 40 (GPIO 21) ng Raspberry Pi na may resistor na 220 Ohm:
Pagkontrol ng LED sa Android App BlueTerm:
Ngayon pagkatapos masabihan ang Mobile Phone, kailangan naming mag-install ng isang Android App para sa pakikipag-usap sa Raspberry Pi gamit ang isang Bluetooth Serial Adapter. Tulad ng sinabi sa naunang RFCOMM / SPP na protokol ay tumutulad sa serial na komunikasyon sa Bluetooth, kaya't na-install namin dito ang BlueTerm App na sumusuporta sa protocol na ito.
Maaari mo ring gamitin ang anumang iba pang Bluetooth Terminal App na sumusuporta sa komunikasyon sa pamamagitan ng RFCOMM socket.
Ngayon pagkatapos i-download at mai-install ang BlueTerm App, patakbuhin ang nasa ibaba na ibinigay na Python Program mula sa terminal at ikonekta ang ipinares na raspberrypi device mula sa BlueTerm App nang sabay.
Pagkatapos ng matagumpay na koneksyon makikita mo ang konektado: raspberrypi sa kanang tuktok na sulok ng App tulad ng ipinakita sa ibaba:
Ngayon ay maaari mo lamang ipasok ang '1' o '0' mula sa BlueTerm app upang gawin ang GPIO pin na TAAS at mababa, ayon sa turn ON at OFF ang LED na konektado sa pin na ito. Pindutin ang 'q' upang lumabas sa programa. Maaari mong gamitin ang Google Voice Typing Keyboard upang makontrol ang GPIO gamit ang iyong Voice. Suriin ang kumpletong demo sa Video na ibinigay sa dulo.
Kaya ito kung paano mo makokontrol nang wireless ang GPIO Pin gamit ang isang Android App sa Bluetooth. Suriin din kung Paano gagamitin ang Bluetooth sa Arduino.
Paliwanag sa Programming:
Ang Python Program para sa Pagkontrol ng Raspberry Pi GPIO sa Android App ay napaka-simple at nagpapaliwanag sa sarili. Tanging kailangan namin upang malaman ang kaunti tungkol sa code na nauugnay sa komunikasyon sa Bluetooth RFCOMM. Una kailangan naming i-import ang Bluetooth socket library na nagbibigay-daan sa amin upang makontrol ang Bluetooth gamit ang wika ng Python; na-install namin ang library para sa pareho sa nakaraang seksyon.
i-import ang Bluetooth
Nasa ibaba ang responsableng code para sa komunikasyon ng Bluetooth:
server_socket = bluetooth.Blu BluetoothSocket (bluetooth.RFCOMM) port = 1 server_socket.bind (("", port)) server_socket.listen (1) client_socket, address = server_socket.accept () i-print ang "Tinanggap na koneksyon mula sa", address habang 1: data = client_socket.recv (1024)
Dito maaari nating maunawaan ang mga ito sa pamamagitan ng linya:
server_socket = bluetooth.Blu BluetoothSocket (bluetooth.RFCOMM): Lumilikha ng socket para sa komunikasyon ng Bluetooth RFCOMM.
server_socket.bind (("", port): - Tinatali ng server ang script sa host '' sa port.
server_socket.listen (1) : Ang server ay nakikinig upang tanggapin ang isang koneksyon nang paisa-isa.
client_socket, address = server_socket.accept () : Tumatanggap ang server ng kahilingan sa koneksyon ng kliyente at italaga ang mac address sa variable address, client_socket ang socket ng client
data = client_socket.recv (1024): Tumanggap ng data sa pamamagitan ng client socket client_socket at italaga ito sa variable na data . Ang maximum na 1024 na mga character ay maaaring matanggap nang paisa-isa.
Panghuli pagkatapos ng lahat ng programa, isara ang koneksyon ng client at server gamit ang code sa ibaba:
client_socket.close () server_socket.close ()
Ang lahat ng iba pang mga code ay madali at nagpapaliwanag sa sarili. Suriin ang buong code sa ibaba. Subukang baguhin ang proyektong ito at maaari mo itong magamit upang makontrol ang maraming iba pang mga bagay nang wireless, tulad ng paggamit ng Relay maaari mong kontrolin ang mga gamit sa bahay o maaari mo ring kontrolin ang isang Robot car sa pamamagitan ng android phone.