Skąd wziąć Bluetooth / Bluetooth.h dla Raspberry Pi?
To głupie pytanie. Ale nie mogę znaleźć na to rozwiązania. Próbuję zbudować aplikację BLE w odniesieniu do tego samouczkahttps://people.csail.mit.edu/albert/bluez-intro/c404.html. Kompiluję krzyżowo dla Raspberry Pi3 z mojego komputera z systemem Windows. Pobrałem toolchain zhttps://github.com/raspberrypi/tools. Sprawdziłem łańcuch narzędzi, kompilując prostą aplikację HelloWorld i uruchamiając ją z RaspberryPi. Teraz, kiedy próbuję skompilować powyższy kod, pojawia się błąd
/mnt/c/Study/RaspberryPi/main.c:5:33: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>
Rozumiem, że Bluetooth.h nie jest moim systemem. Moje pytanie brzmi, gdzie mogę to zdobyć? Tak, żebym mógł skompilować krzyżowo z Windows. Czy muszę w tym celu pobrać pakiet SDK? w razie potrzeby, gdzie mogę to dostać?
Odpowiedzi
Możesz użyć wyszukiwarki Debiana (która jest dystrybucją opartą na Raspberry Pi OS) , aby zlokalizować dowolny plik:

Po znalezieniu pakietu zawierającego niezbędne pliki możesz zainstalować ten sam pakiet na Pi za pomocą apt-get
lub pobrać go ręcznie z http://archive.raspbian.org/
. Możesz także pobrać pakiet Debiana bezpośrednio z wyników wyszukiwania, ale pamiętaj, że niektóre pakiety w systemie operacyjnym Pi mają subtelne różnice w stosunku do swoich odpowiedników w Debianie.
Jeśli chcesz pobrać pliki z pakietu bez instalowania go, pobierz go i rozpakuj potrzebne pliki za pomocą ar
polecenia lub 7zip.
To wcale nie jest głupie pytanie. Nie mogłem od razu znaleźć dobrego wyjaśnienia, jak zainstalować pakiety ze źródła. Jednak metoda prób i błędów przyniosła takie rozwiązanie:
$ apt-cache search bluez
Dał listę podejrzanych , z których jeden był:
libbluetooth-dev - pliki programistyczne do korzystania z biblioteki Bluetooth BlueZ Linux
Co wyglądało na rozsądny wybór.
$ sudo apt-get install libbluetooth-dev
...
The following additional packages will be installed:
libbluetooth3
The following NEW packages will be installed:
libbluetooth-dev libbluetooth3
Następnie kod w samouczku kompiluje się i uruchamia:
$ gcc -o simplescan simplescan.c -lbluetooth $ ./simplescan
CC:6D:A0:64:36:32 Roku Player.
Co jest poprawną odpowiedzią w moim mieszkaniu. Jednak nie jest to pełna odpowiedź, ponieważ inne urządzenia wyposażone w BT (np. Mój iPhone ) są dostępne.
UWAGI:
- Pamiętaj, aby zaktualizować i zaktualizować system przed zainstalowaniem nowych pakietów!
- Odpowiedź Dmitry'ego - używając wyszukiwarki Debiana - jest lepszą odpowiedzią na pytanie OP . Wydaje mi się, że nadal można się domyślać , ale zdecydowanie pomaga to zawęzić pole.
- Dla tych, którzy chcą budować i instalować pakiety ze źródeł natywnie , wydaje się, że istnieją opcje apt, które to obsługują.