- Menginstal Paket yang Diperlukan untuk Komunikasi Bluetooth:
- Memasangkan Perangkat dengan Raspberry Pi melalui Bluetooth:
- Diagram Sirkuit:
- Mengontrol LED dengan Aplikasi Android BlueTerm:
- Penjelasan Pemrograman:
Raspberry Pi sangat populer untuk proyek IoT karena kemampuannya yang mulus untuk komunikasi nirkabel melalui internet. Raspberry Pi 3 memiliki Wi-Fi dan Bluetooth bawaan, dan Bluetooth adalah Protokol komunikasi nirkabel yang sangat populer. Jadi hari ini kita akan Mengontrol Pin Raspberry Pi GPIO melalui aplikasi Android menggunakan Bluetooth.
Di sini kami menggunakan Raspberry 2 Pi Model B yang tidak memiliki Bluetooth bawaan, jadi kami menggunakan dongle USB Bluetooth sederhana. Selain itu kita hanya membutuhkan resistor (220R) dan LED untuk mendemonstrasikan pengendalian GPIO. Di sini kami menggunakan protokol Bluetooth RFCOMM untuk komunikasi nirkabel.
Pemrograman untuk Bluetooth dengan Python mengikuti model pemrograman soket dan komunikasi antara perangkat Bluetooth dilakukan melalui soket RFCOMM. RFCOMM (Radio Frequency Communication) adalah Bluetooth Protocol yang menyediakan port serial RS-232 yang diemulasi dan disebut juga Serial Port Emulation. Profil port serial Bluetooth didasarkan pada protokol ini. RFCOMM sangat populer di aplikasi Bluetooth karena dukungannya yang luas dan API yang tersedia untuk umum. Itu terikat pada protokol L2CAP.
Kami juga telah menggunakan modul Bluetooth HC-06 di proyek kami sebelumnya: LED yang dikendalikan suara menggunakan Raspberry Pi. Juga periksa Proyek Raspberry Pi kami sebelumnya bersama dengan beberapa Proyek IoT yang bagus.
Menginstal Paket yang Diperlukan untuk Komunikasi Bluetooth:
Sebelum memulai, kita perlu menginstal beberapa software untuk mengatur komunikasi Bluetooth di Raspberry Pi. Anda harus memiliki kartu memori terpasang Raspbian Jessie yang siap dengan Raspberry Pi. Periksa artikel ini untuk menginstal Raspbian OS dan memulai Raspberry Pi. Jadi sekarang pertama-tama kita perlu memperbarui Raspbian menggunakan perintah di bawah ini:
sudo apt-get update sudo apt-get upgrade
Kemudian kita perlu menginstal beberapa paket terkait Bluetooth:
sudo apt-get install bluetooth blueman bluez
Kemudian reboot Raspberry Pi:
sudo reboot
BlueZ adalah proyek open source dan stack protokol Bluetooth Linux resmi. Ini mendukung semua protokol Bluetooth inti dan sekarang menjadi bagian dari Kernel Linux resmi.
Blueman menyediakan antarmuka Desktop untuk mengelola dan mengontrol perangkat Bluetooth.
Terakhir kita membutuhkan pustaka python untuk komunikasi Bluetooth agar kita dapat mengirim dan menerima data melalui RFCOMM menggunakan bahasa Python:
sudo apt-get install python-bluetooth
Instal juga pustaka dukungan GPIO untuk Raspberry Pi:
sudo apt-get install python-rpi.gpio
Sekarang kita selesai dengan menginstal paket yang diperlukan untuk komunikasi Bluetooth di Raspberry Pi.
Memasangkan Perangkat dengan Raspberry Pi melalui Bluetooth:
Memasangkan Perangkat Bluetooth, seperti ponsel, dengan Raspberry Pi sangatlah mudah. Di sini kami telah memasangkan ponsel pintar Android kami dengan Raspberry Pi. Kami sebelumnya telah menginstal BlueZ di Pi, yang menyediakan utilitas baris perintah yang disebut "bluetoothctl" untuk mengelola perangkat Bluetooth kami. Namun sebelum itu, hubungkan dongle USB Bluetooth Anda dengan Raspberry Pi dan periksa apakah sudah terdeteksi atau tidak, dengan menggunakan perintah di bawah ini:
lsusb
Sekarang buka utilitas bluetoothctl dengan perintah di bawah ini:
sudo bluetoothctl
Anda dapat memeriksa semua perintah utilitas bluetoothctl dengan mengetik 'bantuan' . Untuk saat ini kita perlu memasukkan perintah di bawah ini dengan urutan yang diberikan:
# hidupkan # agen pada # dapat ditemukan pada # dapat dipasangkan pada # pemindaian aktif
Setelah perintah terakhir "scan on", Anda akan melihat perangkat Bluetooth Anda (Ponsel) dalam daftar. Pastikan bahwa ponsel Anda telah mengaktifkan Bluetooth dan terlihat oleh perangkat terdekat. Kemudian salin alamat MAC perangkat Anda dan pasangkan dengan menggunakan perintah yang diberikan:
pasangan
Kemudian Anda akan diminta untuk Passcode atau Pin di konsol Terminal Anda kemudian ketik kode sandi di sana dan tekan enter. Kemudian ketikkan kode sandi yang sama di ponsel Anda ketika diminta dan Anda sekarang berhasil dipasangkan dengan Raspberry Pi. Kami juga telah menjelaskan seluruh proses ini dalam Video kami yang diberikan di bagian akhir.
Seperti yang diceritakan sebelumnya, Anda juga dapat menggunakan antarmuka Desktop untuk memasangkan ponsel. Setelah menginstal Blueman, Anda akan melihat ikon Bluetooth di sisi kanan desktop Raspberry Pi Anda seperti yang ditunjukkan di bawah ini, yang dengannya Anda dapat dengan mudah melakukan pairing.
Diagram Sirkuit:
Diagram rangkaian sangat sederhana, kita tinggal menghubungkan LED ke PIN 40 (GPIO 21) dari Raspberry Pi dengan resistor 220 Ohm:
Mengontrol LED dengan Aplikasi Android BlueTerm:
Sekarang setelah mengupas Ponsel, kita perlu menginstal Aplikasi Android untuk berkomunikasi dengan Raspberry Pi menggunakan Bluetooth Serial Adapter. Seperti yang diceritakan sebelumnya, protokol RFCOMM / SPP mengemulasi komunikasi serial melalui Bluetooth, jadi kami menginstal Aplikasi BlueTerm di sini yang mendukung protokol ini.
Anda juga dapat menggunakan Aplikasi Terminal Bluetooth lain yang mendukung komunikasi melalui soket RFCOMM.
Sekarang setelah mengunduh dan menginstal Aplikasi BlueTerm, jalankan Program Python yang diberikan di bawah ini dari terminal dan hubungkan perangkat raspberrypi yang dipasangkan dari Aplikasi BlueTerm pada saat yang sama.
Setelah koneksi berhasil, Anda akan melihat terhubung: raspberrypi di sudut kanan atas Aplikasi seperti yang ditunjukkan di bawah ini:
Sekarang Anda tinggal memasukkan '1' atau '0' dari aplikasi BlueTerm untuk membuat pin GPIO TINGGI dan RENDAH, yang secara bergantian menyalakan dan mematikan LED yang terhubung ke pin ini. Tekan 'q' untuk keluar dari program. Anda dapat menggunakan Keyboard Pengetikan Suara Google untuk mengontrol GPIO menggunakan Suara Anda. Periksa demo lengkap di Video yang diberikan di bagian akhir.
Jadi, inilah cara Anda mengontrol pin GPIO secara nirkabel menggunakan Aplikasi Android melalui Bluetooth. Periksa juga Cara menggunakan Bluetooth dengan Arduino.
Penjelasan Pemrograman:
Program Python untuk Mengontrol Raspberry Pi GPIO dengan Aplikasi Android sangat sederhana dan cukup jelas. Hanya saja kita perlu belajar sedikit tentang kode yang berhubungan dengan komunikasi Bluetooth RFCOMM. Pertama kita perlu mengimpor pustaka soket Bluetooth yang memungkinkan kita mengontrol Bluetooth dengan bahasa Python; kami telah menginstal perpustakaan yang sama di bagian sebelumnya.
impor Bluetooth
Di bawah ini adalah kode yang bertanggung jawab 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 () print "Koneksi diterima dari", alamatkan sementara 1: data = client_socket.recv (1024)
Di sini kita bisa memahaminya baris demi 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) : Server mendengarkan untuk menerima satu koneksi dalam satu waktu.
client_socket, address = server_socket.accept () : Server menerima permintaan koneksi klien dan menetapkan alamat mac ke alamat variabel , client_socket adalah soket klien
data = client_socket.recv (1024): Menerima data melalui soket klien client_socket dan menetapkannya ke data variabel. Maksimum 1024 karakter dapat diterima dalam satu waktu.
Akhirnya setelah semua pemrograman, tutup klien dan koneksi server menggunakan kode di bawah ini:
client_socket.close () server_socket.close ()
Semua kode lainnya mudah dan cukup jelas. Cek kode lengkapnya di bawah ini. Cobalah untuk memodifikasi proyek ini dan Anda dapat menggunakannya untuk mengontrol banyak hal lain secara nirkabel, seperti menggunakan Relay Anda dapat mengontrol peralatan rumah tangga atau dapat juga mengontrol mobil Robot melalui ponsel android.