- 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 sa AC Appliance 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 Mga Home Appliances sa pamamagitan ng Smart Phone gamit ang Raspberry Pi 3 at Bluetooth.
Narito ginagamit namin ang Raspberry Pi 3 na may nakapaloob na Bluetooth, kaya hindi namin kailangang gumamit ng anumang panlabas na USB Bluetooth dongle. Bukod sa kailangan lamang namin ng Mga Relay na Module para sa Wireless Home Automation Project na ito. Narito ginagamit namin ang RFCOMM Bluetooth protocol para sa wireless na komunikasyon.
Ang pagprograma para sa Bluetooth sa Python ay sumusunod sa modelo ng socket ng programa 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.
Kung mayroon kang Raspberry Pi 2, maaari mo ring gamitin ang panlabas na dongle ng Bluetooth o Bluetooth module na HC-06. Suriin ang aming mga nakaraang proyekto para sa paggamit ng mga panlabas na aparatong Bluetooth: Pagkontrol sa Raspberry Pi GPIO gamit ang Android App sa mga Bluetooth at kinokontrol na 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.
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 Video na ibinigay sa nakaraang Tutorial sa pagkontrol ng GPIO. Narito ang direktang link sa YouTube.
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:
Ang diagram ng circuit para sa Raspberry Pi based Bluetooth Controlled Home Automation na ito ay napakasimple, ikinonekta lamang namin ang input signal ng Relay Module na Pin sa PIN 40 (GPIO 21) ng Raspberry Pi at iba pang dalawang Pin (Vcc at GND ng relay module) sa Pin 2 at 6 ng Raspberry Pi 3. Pagkatapos ay nakakonekta kami ng isang bombilya ng AC CFL sa Relay tulad ng ipinakita sa circuit diagram:
Kung bago ka sa Relay at nais na matuto nang higit pa tungkol sa Relay at mga koneksyon nito sa AC appliance, suriin ang Artikulo na ito.
Pagkontrol sa AC Appliance sa Android App BlueTerm:
Ngayon matapos 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, upang makontrol namin ang mga GPIO na pin ng Raspberry Pi. 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 LOW ayon sa pagkakabanggit, na nagpapalitaw sa module ng Relay na konektado sa pin na ito, na kinokontrol ang AC bombilya na konektado sa Relay. 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 AC Appliance 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 gamitin upang makontrol ang maraming iba pang mga bagay nang wireless, Robot car sa pamamagitan ng Android phone o maaaring gamitin ang iyong boses upang makontrol ang mga ilaw.
Suriin din ang aming maraming uri ng Mga Proyekto sa Home Automation na gumagamit ng iba't ibang mga teknolohiya at Microcontroller tulad ng: