- Memasang Pakej Yang Diperlukan untuk Komunikasi Bluetooth:
- Memasangkan Peranti dengan Raspberry Pi melalui Bluetooth:
- Rajah Litar:
- Mengawal LED dengan Aplikasi Android BlueTerm:
- Penjelasan Pengaturcaraan:
Raspberry Pi sangat popular untuk projek IoT kerana kemampuan komunikasi tanpa wayar melalui internet yang lancar. Raspberry Pi 3 mempunyai Wi-Fi dan Bluetooth terbina dalam, dan Bluetooth adalah Protokol komunikasi tanpa wayar yang sangat popular. Jadi hari ini kita akan Mengendalikan Pin Raspberry Pi GPIO melalui aplikasi Android menggunakan Bluetooth.
Di sini kami menggunakan Raspberry 2 Pi Model B yang tidak mempunyai Bluetooth bawaan, jadi kami menggunakan dongle Bluetooth USB sederhana. Selain itu kita hanya memerlukan perintang (220R) dan LED untuk menunjukkan kawalan GPIO. Di sini kita menggunakan protokol Bluetooth RFCOMM untuk komunikasi tanpa wayar.
Pengaturcaraan untuk Bluetooth di Python mengikuti model pengaturcaraan soket dan komunikasi antara peranti Bluetooth dilakukan melalui soket RFCOMM. RFCOMM (Radio Frequency Communication) adalah Protokol Bluetooth yang menyediakan port bersiri RS-232 yang ditiru dan juga disebut sebagai Serial Port Emulation. Profil port bersiri Bluetooth berdasarkan protokol ini. RFCOMM sangat popular dalam aplikasi Bluetooth kerana sokongannya yang luas dan API yang tersedia untuk umum. Ia terikat dengan protokol L2CAP.
Kami juga telah menggunakan modul Bluetooth HC-06 dalam projek kami sebelumnya: LED yang dikawal suara menggunakan Raspberry Pi. Lihat juga Projek Raspberry Pi kami yang lalu bersama dengan beberapa Projek IoT yang bagus.
Memasang Pakej Yang Diperlukan untuk Komunikasi Bluetooth:
Sebelum memulakan, kita perlu memasang beberapa perisian untuk menyiapkan komunikasi Bluetooth di Raspberry Pi. Anda harus mempunyai kad memori Raspbian Jessie yang dipasang dengan Raspberry Pi. Lihat artikel ini untuk memasang OS Raspbian dan memulakan Raspberry Pi. Jadi sekarang kita perlu mengemas kini Raspbian menggunakan arahan di bawah:
sudo apt-get update sudo apt-get upgrade
Maka kita perlu memasang beberapa pakej yang berkaitan dengan Bluetooth:
sudo apt-get install bluetooth blueeman bluez
Kemudian reboot Pi Raspberry:
rebo sudo
BlueZ adalah projek sumber terbuka dan timbunan protokol Bluetooth Linux rasmi. Ia menyokong semua protokol Bluetooth teras dan kini menjadi sebahagian daripada Kernel Linux rasmi.
Blueman menyediakan antara muka Desktop untuk mengurus dan mengawal peranti Bluetooth.
Akhirnya kita memerlukan Perpustakaan python untuk komunikasi Bluetooth supaya kita dapat mengirim dan menerima data melalui RFCOMM menggunakan bahasa Python:
sudo apt-get install python-bluetooth
Pasang juga perpustakaan sokongan GPIO untuk Raspberry Pi:
sudo apt-get install python-rpi.gpio
Sekarang kita sudah selesai dengan memasang pakej yang diperlukan untuk komunikasi Bluetooth di Raspberry Pi.
Memasangkan Peranti dengan Raspberry Pi melalui Bluetooth:
Memasangkan Peranti Bluetooth, seperti telefon bimbit, dengan Raspberry Pi sangat mudah. Di sini kami telah memasangkan telefon pintar Android kami dengan Raspberry Pi. Kami sebelumnya telah memasang BlueZ di Pi, yang menyediakan utiliti baris perintah yang disebut "bluetoothctl" untuk menguruskan peranti Bluetooth kami. Tetapi sebelum itu, sambungkan dongle Bluetooth USB anda dengan Raspberry Pi dan periksa sama ada ia dikesan atau tidak, dengan menggunakan arahan di bawah:
lsusb
Sekarang buka utiliti bluetoothctl dengan arahan di bawah:
sudo bluetoothctl
Anda boleh menyemak semua arahan utiliti bluetoothctl dengan mengetik 'help' . Buat masa ini kita perlu memasukkan perintah di bawah dalam urutan tertentu:
# power on # agent on # ditemui pada # pairable on # scan on
Selepas arahan terakhir "scan on", anda akan melihat peranti Bluetooth anda (telefon bimbit) dalam senarai. Pastikan bahawa telefon bimbit anda telah menghidupkan Bluetooth dan dapat dilihat oleh peranti berdekatan. Kemudian salin alamat MAC peranti anda dan pasangkan dengan menggunakan arahan yang diberikan:
berpasangan
Kemudian anda akan diminta untuk Kod Laluan atau Pin di konsol Terminal anda kemudian taipkan kod laluan di sana dan tekan enter. Kemudian taipkan kod laluan yang sama di telefon bimbit anda apabila diminta dan anda kini berjaya dipasangkan dengan Raspberry Pi. Kami juga telah menjelaskan keseluruhan proses ini dalam Video kami yang diberikan pada akhir.
Seperti diberitahu sebelumnya, anda juga dapat menggunakan antara muka Desktop untuk memasangkan telefon bimbit. Setelah memasang Blueman, anda akan melihat ikon Bluetooth di sebelah kanan desktop Raspberry Pi anda seperti gambar di bawah, dengan mana anda boleh melakukan pemasangan secara mudah.
Rajah Litar:
Gambarajah litar sangat mudah, kami hanya menyambungkan LED ke PIN 40 (GPIO 21) Raspberry Pi dengan perintang 220 Ohm:
Mengawal LED dengan Aplikasi Android BlueTerm:
Sekarang setelah mengasingkan Telefon bimbit, kita perlu memasang Aplikasi Android untuk berkomunikasi dengan Raspberry Pi menggunakan Bluetooth Serial Adapter. Seperti yang diberitahu sebelumnya, protokol RFCOMM / SPP meniru komunikasi bersiri melalui Bluetooth, jadi kami memasang di sini Aplikasi BlueTerm yang menyokong protokol ini.
Anda juga dapat menggunakan Aplikasi Terminal Bluetooth lain yang menyokong komunikasi melalui soket RFCOMM.
Sekarang setelah memuat turun dan memasang Aplikasi BlueTerm, jalankan Program Python yang diberikan di bawah dari terminal dan sambungkan peranti raspberrypi berpasangan dari Aplikasi BlueTerm pada masa yang sama.
Setelah berjaya disambungkan, anda akan melihat sambungan: raspberrypi di sudut kanan atas Aplikasi seperti gambar di bawah:
Sekarang anda hanya boleh memasukkan '1' atau '0' dari aplikasi BlueTerm untuk menjadikan pin GPIO TINGGI dan RENDAH, yang pada gilirannya menghidupkan dan mematikan LED yang disambungkan ke pin ini. Tekan 'q' untuk keluar dari program. Anda boleh menggunakan Papan Kekunci Penaipan Suara Google untuk mengawal GPIO menggunakan Suara anda. Lihat demo lengkap dalam Video yang diberikan di akhir.
Jadi ini adalah bagaimana anda dapat mengawal Pin GPIO secara tanpa wayar menggunakan Aplikasi Android melalui Bluetooth. Periksa juga Cara menggunakan Bluetooth dengan Arduino.
Penjelasan Pengaturcaraan:
Program Python untuk Mengendalikan Raspberry Pi GPIO dengan Aplikasi Android sangat mudah dan cukup jelas. Cuma kita perlu belajar sedikit tentang kod yang berkaitan dengan komunikasi Bluetooth RFCOMM. Mula-mula kita perlu mengimport pustaka soket Bluetooth yang membolehkan kita mengawal Bluetooth dengan bahasa Python; kami telah memasang perpustakaan untuk perkara yang sama di bahagian sebelumnya.
import Bluetooth
Berikut adalah kod yang bertanggungjawab untuk komunikasi Bluetooth:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM) port = 1 server_socket.bind (("", port)) server_socket.listen (1) client_socket, address = server_socket.accept () cetak "Diterima sambungan dari", alamat sementara 1: data = client_socket.recv (1024)
Di sini kita dapat memahaminya mengikut baris:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM): Membuat soket untuk komunikasi Bluetooth RFCOMM.
server_socket.bind (("", port): - Server mengikat skrip pada host '' ke port.
server_socket.listen (1) : Pelayan mendengar untuk menerima satu sambungan pada satu masa.
client_socket, address = server_socket.accept () : Server menerima permintaan sambungan klien dan memberikan alamat mac ke alamat pemboleh ubah , client_socket adalah soket pelanggan
data = client_socket.recv (1024): Menerima data melalui soket klien_socket dan menetapkannya ke data pemboleh ubah. Maksimum 1024 aksara dapat diterima dalam satu masa.
Akhirnya setelah semua pengaturcaraan, tutup sambungan pelanggan dan pelayan menggunakan kod di bawah:
client_socket.close () server_socket.close ()
Semua kod lain mudah dan jelas. Lihat kod lengkap di bawah. Cuba ubah projek ini dan anda boleh menggunakannya untuk mengawal banyak perkara lain tanpa wayar, seperti menggunakan Relay, anda boleh mengawal perkakas rumah atau juga mengendalikan kereta Robot melalui telefon android.