Saya mencoba mengatur port serial virtual melalui adaptor USB-Bluetooth di Linux dan mengirim pesan kepadanya melalui perangkat Android. Saya menggunakan kernel 3.6. Saya dapat memasangkan ke perangkat yang berhasil menggunakan gnome-bluetooth dan juga dapat mengirim file ke sana.
Untuk mengatur port serial, saya pertama-tama menambahkan saluran dengan profil SP ke adaptor saya:
sdptool add --channel=22 SP
Lalu saya memanggil 'dengarkan' dengan rfcomm:
rfcomm listen /dev/rfcomm0 22
yang menghalangi
Waiting for connection on channel 22
Rupanya rfcomm akan membuat / dev / rfcomm0 setelah koneksi berhasil. Setelah itu terjadi, saya ingin menggunakan sesuatu seperti cutecom untuk mengirim pesan bolak-balik ke perangkat yang terhubung.
Pada perangkat Android saya, saya membuka terminal Bluetooth SPP (ada beberapa di luar sana, saya mencoba beberapa yang berbeda) dan mencoba menghubungkan. Mereka semua gagal.
Karena saya dapat memasangkan dengan sukses dan mengirim file tanpa masalah, saya tahu bahwa pemasangan Bluetooth dan komunikasi berfungsi.
Saya tidak terlalu yakin apa lagi yang bisa saya coba. Saya menggunakan 'sdptool browse' pada perangkat lokal saya dan perangkat Android untuk memastikan bahwa tidak ada konflik saluran RFCOMM.
Langkah-langkah di bawah ini bekerja untuk saya:
Pertama, Anda harus memasangkan perangkat. Memasangkan relatif mudah. Saya akan memanggil klien (yang mulai berbicara) dan server (yang membalas)
Anda harus mengatur server sebelum: Sisi server (sebagai root):
Sisi klien (sebagai root):
Sekarang untuk membuka terminal serial pada klien:
Komentar:
Ketika Anda memanggil perintah terakhir rfcomm terhubung ... di klien, perangkat
/dev/rfcomm0
akan dibuat dan dikaitkan ke server/dev/recomm0
. Ini merupakan tautan serial antara keduanyaPerintah server terakhir:
rfcomm watch
.... akan 'mendengarkan' untuk koneksi yang masuk. Jika koneksi terputus, perintah akan memulai kembali kondisi 'dengar' yang baru.sumber
--compat
opsi khusus , jika tidak menambahkan SP mungkin gagal. Lihat di sini . Jadi sesuaikan / ubah skrip startup startup systemd / initd Anda sehingga--compat
ada.Saya memecahkan masalah ini dengan sedikit variasi pada perintah Pris. Cobalah ini jika ada yang masih kesulitan mengatur koneksi rfcomm.
Ini memastikan bahwa Anda mulai dengan yang bersih setiap kali Anda mencoba mengatur koneksi.
Nomor saluran ini harus berbeda dari saluran apa pun yang saat ini ditetapkan.
(OPTIONAL) Untuk memeriksa saluran:
Saya tidak yakin mengapa perintah berikut ini diperlukan, tetapi itu berhasil untuk saya.
Kemudian untuk mendengarkan koneksi incomming:
CATATAN: alamat bt MAC di /etc/bluetooth/rfcomm.conf tetapi jadilah bt MAC ponsel Anda. Juga saluran dalam file ini harus sama dengan yang dipilih untuk a_channel_ #.
Setelah saya melakukan semua ini, saya menggunakan emulator terminal bt pada ponsel saya untuk memeriksa semuanya.
sumber
Saya telah mencoba berbagai alat bluetooth dan sulit untuk menemukan urutan perintah yang benar untuk menghubungkan dan bertukar data dengan modul bluetooth. Coba gunakan rfcomm dan minicom:
Ini adalah /etc/bluetooth/rfcomm.conf saya
Pindai perangkat bluetooth:
Bind menggunakan rfcomm
NB: bind 0 mengacu pada nomor perangkat 0 (rfcomm0) dan 1 adalah saluran.
Kemudian gunakan minicom dengan sudo dan simpan konfigurasi tempat Anda menentukan baudrate dan port. Anda dapat menemukan informasi lebih lanjut di sini .
sumber