Saya menjalankan Raspberry PI 3 tanpa kepala, dan saya ingin itu menerima pasangan secara otomatis dari perangkat apa pun.
Saya melihat jawaban ini dalam pertanyaan yang identik:
Secara otomatis menerima koneksi Bluetooth pada Pi 3
Tetapi tampaknya agak ketinggalan jaman dan beberapa perintah yang digunakan tampaknya tidak ada.
Saya menjalankan 2016-05-27-raspbian-jessie.img
gambar OS.
bluetooth-agent
,, tapi saya tidak yakin.Jawaban:
Karena
bluetooth-agent
perintah tidak ada pada Jessie, cara modern adalah menyalurkan perintah yang relevanbluetoothctl
. Berdasarkan pada pertanyaan SO ini , skrip berikut harus memungkinkan pemasangan otomatis tanpa entri pin manual:sumber
No agent is registered
, sepertinyadefault-agent
perintah berjalan dengan cepat. Ketika saya memasukkan perintah secara manual, itu tidak memberikan kesalahan ini, tetapi begitu saya berhentibluetoothctl
itu membatalkan registrasi agen dan mencoba untuk menghubungkan gagal. Jika saya berhentibluetoothctl
berlari, saya mendapatkan prompt yang menanyakan apakah akan mempercayai koneksi, yang tidakNoInputNoOutput
sesuai harapan Anda ...NoInputNoOutput
ini bukan kebijakan otorisasi, tetapi bagian dari protokol bluetooth untuk mengetahui jenis mekanisme otorisasi apa (misalnya, apakah pin dapat digunakan?) Tersedia.Saya baru saja menggunakan instal baru
2016-09-23-raspbian-jessie-lite.img
untuk mencobanya tanpa pembaruan tambahan. Tidak,apt-get update
tidak,apt-get install bluez-utils
atau apa pun. Perintah tunggal ini membuat Pi dapat ditemukan dan dipasangkan. Tanpa agen untuk mengontrol siapa yang dapat terhubung, itu hanya memungkinkan siapa saja:sumber
Raspbian - Jessie
xxxxx.sh
sumber
Saya menghadapi masalah yang sama dan menemukan metode ini berfungsi (RasPi 3, Model B, Raspbian 9 Stretch)
Saya menggunakan Raspberry Pi sebagai Perangkat IoT EDGE dan membutuhkannya untuk menerima Permintaan Pasangan Bluetooth tanpa intervensi. Saya memiliki Aplikasi Android yang mengkomunikasikan informasi teks ke Pi melalui Bluetooth dan pernyataan masalah saya memerlukan perangkat Android apa pun untuk terhubung.
Pertama, saya tidak menjalankan Agen Bluetooth yang terpisah (No Blueman, infact saya harus menghapusnya)
Mengedit file .bashrc di
Menambahkan dua perintah untuk ini di akhir
piscan membuat Raspberry Pi Bluetooth dapat ditemukan
sspmode 1 mengaktifkan 'Secure Simple Pairing' yang merupakan metode yang sama dengan yang digunakan oleh Bluetooth atau Speaker Bluetooth Anda (pada dasarnya perangkat yang tidak memiliki tampilan tempat Anda dapat mengonfirmasi PIN). Dan karena perintah-perintah ini dalam .bashrc mereka dijalankan saat boot.
Jalankan Skrip Bluetooth. Pasangan. Meskipun ada pop-up yang meminta saya untuk mengonfirmasi, saya dapat mengkomunikasikan pesan ke dan dari Pi dengan aplikasi saya
Catatan: hci0 mungkin tidak sama, bisa hci1, hci2 silakan periksa dengan menjalankan hciconfig pada CLI Anda
Ini hampir seperti alat, dan saya tidak yakin apakah ada dampak yang tidak diketahui, tetapi berhasil. Setiap perbaikan dihargai
sumber
Anda dapat mengambil mengintip di kode sumber dari EcoDroidLink . Ini menerima koneksi Bluetooth tanpa perlu login.
EDIT: Dengan permintaan populer, berikut adalah cuplikan kode dari
edl_agent
modul yang membuat ini terjadi.sumber