İşte benim arduino takılı bir HC-05 bluetooth cihazına bağlanmak için benim yol. Brian'ın cevabında olduğu gibi bir dosya yazmasına gerek yok, ancak fikir benzer. Ben HC-05 cihazında bir baud 9600 hızı kurulumu ile test ettim.
İlk adım: cihazı eşleştirin ve PIN kodunu girin
GUI'den eşleştirmeyi ayarlamaya çalıştım, ama işe yaramadı. İşte benim için çalışan komut satırı yolu. İlk olarak, cihazı komut satırından eşleştirelim. Çalıştırmak :
sudo bluetoothctl
Bluetooth cihazının başlatıldığından emin olun:
# power on
Şimdi "pimi hatırlayacak" ajanı başlatıyoruz rfcomm
:
# agent on
Şimdi tarama modunu cihazımızı bulmak ve eşleştirmek için etkinleştiriyoruz:
# scan on
Birkaç saniye sonra cihazınızın MAC'si görünmelidir. Sonrası olarak göstereceğiz. Ardından, cihazı şu şekilde eşleştirmeniz yeterlidir:
# pair <MAC>
Bir PIN girmeniz istenir, varsayılan olarak 1234
HC-05 aygıtımda bulunur. Cihazınızın şu şekilde bir mesajla bağlanıp bağlantısının kesilebileceğini unutmayın:
[CHG] Device 20:16:10:24:29:77 UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 20:16:10:24:29:77 ServicesResolved: yes
[CHG] Device 20:16:10:24:29:77 Paired: yes
Pairing successful
[CHG] Device 20:16:10:24:29:77 ServicesResolved: no
[CHG] Device 20:16:10:24:29:77 Connected: no
ama bu bir sorun değil. Bağlanmanıza gerek yok, böylece şimdi bluetoothctl
yazarak çıkabilirsiniz Ctrl + D
.
Kullanılabilir bir dosya sağlayın /dev/rfcomm0
Öncelikle, daha önce herhangi bir rfcomm komutu çalıştırmadığınızdan emin olun. Gerçekten de, Ctrl+C
programı kapatsanız bile arka planda çalışır.
sudo killall rfcomm
Şimdi koşabilirsin
sudo rfcomm connect /dev/rfcomm0 20:16:10:24:29:77 1 &
Eğer rfcom girdisi üzerine yazmaya çalışırsanız, hiçbir şey olmadı. Başka bir program kullanmanız gerekiyor.
Üçüncü ve son adım: /dev/rfcomm0
Dosyaya yazmanın birkaç yolu vardır, ancak devam etmenin tüm yollarının kök içerdiğini unutmayın. Burada bunu yapabilen birkaç program açıklıyorum (böylece ihtiyacınıza veya örneğin sisteminizde yüklü olana bağlı olarak seçim yapabilirsiniz). Programı root olarak çalıştırmayı unutursanız, bir hatayla karşılaşabilirsiniz:
stty: /dev/rfcomm0: Device or resource busy
İlk seçenek: kullanarak bağlan screen
Ekran çok güçlü bir araçtır. Şunları kullanarak yükleyebilirsiniz (artık her zaman kullanışlıdır):
sudo apt-get install screen
ve sonra koş
sudo screen /dev/rfcomm0
Kök olarak çalıştırmayı unutursanız, Aleksander'ın aldığı gibi bir hata alırsınız:
[screen is terminating]
Çıkmak için "(CTRL + A) +: quit" yazın.
İkinci seçenek: kullanarak bağlan minicom
Yükle
sudo apt-get install minicom
ve sonra koş
sudo minicom -D /dev/rfcomm0
Kök olarak çalıştırmayı unutursanız, aşağıdaki gibi bir hata alırsınız
minicom: cannot open /dev/rfcomm0: Device or resource busy
Çıkmak için "Ctrl + A X" yazın.
Üçüncü seçenek: python script miniterm
Bu komut dosyasını indirin ve çalıştırın:
chmod +x miniterm.py
sudo ./miniterm.py /dev/rfcomm0
Doğrudan dosyaya yazın
Öncelikle aşağıdaki komutu çalıştırın (9600 baud hızıdır):
sudo stty -F /dev/rfcomm0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
Şimdi bu dosyaya klasik bir dosya gibi yazabilirsiniz:
sudo su -c "echo 'message' > /dev/rfcomm0"
ve teorik olarak kullanarak
sudo tail -f /dev/rfcomm0
Ama bilmiyorum, eğer bir fikriniz varsa okuma işe yaramaz ...