- Memasang Pakej Yang Diperlukan untuk Komunikasi Bluetooth:
- Memasangkan Peranti dengan Raspberry Pi melalui Bluetooth:
- Rajah Litar:
- Mengendalikan Alat AC 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 Peralatan Rumah Tangga melalui Telefon Pintar menggunakan Raspberry Pi 3 dan Bluetooth.
Di sini kita menggunakan Raspberry Pi 3 yang mempunyai Bluetooth bawaan, jadi kita tidak perlu menggunakan dongle Bluetooth USB luaran. Selain itu kami hanya memerlukan Modul Relay untuk Projek Automasi Rumah Tanpa Wayar ini. 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 pada protokol L2CAP.
Sekiranya anda mempunyai Raspberry Pi 2, anda perlu menggunakan dongle Bluetooth luaran atau modul Bluetooth HC-06. Periksa projek kami sebelumnya untuk menggunakan peranti Bluetooth luaran ini: Mengendalikan Raspberry Pi GPIO menggunakan Aplikasi Android melalui Bluetooth dan LED yang dikendalikan dengan 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.
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 yang diberikan dalam Tutorial pengendalian GPIO sebelumnya. Berikut adalah pautan YouTube langsung.
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 untuk Automasi Rumah Terkawal Bluetooth berasaskan Raspberry Pi ini sangat mudah, kami baru menghubungkan Pin isyarat Modul Relay ke PIN 40 (GPIO 21) Raspberry Pi dan dua Pin lain (modul relay Vcc dan GND) ke Pin 2 dan 6 Raspberry Pi 3. Kemudian kami telah menyambungkan mentol AC CFL ke Relay seperti yang ditunjukkan dalam rajah litar:
Sekiranya anda baru menggunakan Relay dan ingin mengetahui lebih lanjut mengenai Relay dan hubungannya dengan alat AC, baca Artikel ini.
Mengendalikan Alat AC dengan Aplikasi Android BlueTerm:
Sekarang setelah mengasingkan Telefon bimbit, kita perlu memasang Aplikasi Android untuk berkomunikasi dengan Raspberry Pi menggunakan Bluetooth Serial Adapter, sehingga kita dapat mengendalikan pin GPIO Raspberry Pi. 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 membuat pin GPIO TINGGI dan RENDAH, yang seterusnya memicu modul Relay yang disambungkan ke pin ini, yang seterusnya mengawal mentol AC yang disambungkan ke Relay. 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 Alat AC 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, Robot car melalui telefon android atau boleh menggunakan suara anda untuk mengawal lampu.
Lihat juga banyak jenis Projek Automasi Rumah kami menggunakan teknologi dan Mikrokontroler yang berbeza seperti: