Raspberry Pi için Bluetooth / Bluetooth.h nereden alınır?

Dec 13 2020

Bu aptalca bir soru. Ama buna bir çözüm bulamıyorum. Bu öğreticiye referansla bir BLE uygulaması oluşturmaya çalışıyorumhttps://people.csail.mit.edu/albert/bluez-intro/c404.html. Raspberry Pi3 için Windows pc wsl'den çapraz derliyorum. Araç zincirini şuradan indirdim:https://github.com/raspberrypi/tools. Ve basit bir HelloWorld uygulaması derleyerek ve bunu RaspberryPi'den çalıştırarak araç zincirini doğruladım. Şimdi yukarıdaki kodu derlemeye çalıştığımda hata alıyorum

/mnt/c/Study/RaspberryPi/main.c:5:33: fatal error: bluetooth/bluetooth.h: No such file or directory
 #include <bluetooth/bluetooth.h>

Bluetooth.h'nin benim sistemim olmadığını anlıyorum. Sorum şu ki onu nereden alabilirim? Böylece pencerelerden çapraz derleme yapabilirim. Bunun için sdk indirmem gerekiyor mu? gerekirse nereden alabilirim?

Yanıtlar

5 DmitryGrigoryev Dec 14 2020 at 18:56

Herhangi bir dosyayı bulmak için Debian'ın (Raspberry Pi işletim sisteminin temel aldığı dağıtımdır) arama motorunu kullanabilirsiniz:

Gerekli dosyaları içeren paketi bulduğunuzda, aynı paketi bir Pi'ye yükleyebilir apt-getveya manuel olarak indirebilirsiniz http://archive.raspbian.org/. Debian paketini doğrudan arama sonuçlarından da alabilirsiniz, ancak Pi işletim sistemindeki bazı paketlerin Debian muadilleriyle küçük farklılıkları olduğunu unutmayın.

Dosyaları bir paketten yüklemeden almanız gerekiyorsa, indirin ve ihtiyacınız olan dosyaları arkomut veya 7zip ile çıkartın .

5 Seamus Dec 14 2020 at 07:36

Aptalca bir soru değil. Paketlerin kaynaktan nasıl kurulacağına dair hemen iyi bir açıklama bulamadım. Bununla birlikte, bazı deneme yanılma şu çözümü verdi:

$ apt-cache search bluez

Bir listesi vermiştir şüpheliler biriydi olan,:

libbluetooth-dev - BlueZ Linux Bluetooth kitaplığını kullanmak için geliştirme dosyaları

Makul bir seçim gibi görünüyordu.

$ sudo apt-get install libbluetooth-dev
...
The following additional packages will be installed:
  libbluetooth3
The following NEW packages will be installed:
  libbluetooth-dev libbluetooth3  

Daha sonra, öğreticideki kod derlenir ve çalıştırılır:

$ gcc -o simplescan simplescan.c -lbluetooth $ ./simplescan
CC:6D:A0:64:36:32  Roku Player. 

Bu da benim dairemde doğru cevap. Ancak o değil komple diğer BT donanımlı cihazlar gibi cevap (örneğin benim iPhone hakkında atıyoruz).

NOTLAR:

  1. Yeni paketleri kurmadan önce sisteminizi güncellediğinizden ve yükselttiğinizden emin olun !
  2. Dmitry'ın cevabı - Debian'ın arama motorunu kullanarak - OP'nin sorusu için daha iyi bir cevap . Bana öyle geliyor ki hala bazı tahminler işin içinde olabilir, ama kesinlikle alanı daraltmaya yardımcı oluyor.
  3. Paketleri yerel olarak kaynaktan derleyip kurmak isteyenler için , bunu desteklemek için uygun seçenekler var gibi görünüyor .