Nhận Bluetooth / Bluetooth.h cho Raspberry Pi ở đâu?
Đây là một câu hỏi ngu ngốc. Nhưng tôi không thể tìm ra giải pháp cho nó. Tôi đang cố gắng xây dựng một ứng dụng BLE có tham chiếu đến hướng dẫn nàyhttps://people.csail.mit.edu/albert/bluez-intro/c404.html. Tôi đang biên dịch chéo cho Raspberry Pi3 từ wsl máy tính Windows của mình. Tôi đã tải xuống chuỗi công cụ từhttps://github.com/raspberrypi/tools. Và tôi đã xác minh chuỗi công cụ bằng cách biên dịch một ứng dụng HelloWorld đơn giản và chạy nó từ RaspberryPi. Bây giờ khi tôi cố gắng biên dịch mã trên, tôi gặp lỗi
/mnt/c/Study/RaspberryPi/main.c:5:33: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>
Tôi hiểu rằng Bluetooth.h không phải là hệ thống của tôi. Câu hỏi của tôi là tôi có thể lấy nó ở đâu? Để tôi có thể biên dịch chéo từ các cửa sổ. Tôi có phải tải xuống sdk cho nó? nếu cần tôi có thể lấy nó ở đâu?
Trả lời
Bạn có thể sử dụng công cụ tìm kiếm của Debian (là hệ điều hành Raspberry Pi dựa trên bản phân phối) để định vị bất kỳ tệp nào:
Khi bạn tìm thấy gói chứa các tệp cần thiết, bạn có thể cài đặt gói đó trên Pi với apt-gethoặc tải xuống theo cách thủ công từ đó http://archive.raspbian.org/. Bạn cũng có thể lấy gói Debian trực tiếp từ kết quả tìm kiếm, nhưng hãy lưu ý rằng một số gói trong Hệ điều hành Pi có những khác biệt nhỏ với các gói Debian.
Nếu bạn cần lấy tệp từ một gói mà không cần cài đặt, hãy tải xuống và giải nén tệp bạn cần bằng arlệnh hoặc 7zip.
Không phải là một câu hỏi ngu ngốc chút nào. Tôi không thể tìm thấy lời giải thích ngay lập tức về cách cài đặt các gói từ nguồn. Tuy nhiên, một số thử nghiệm và sai sót mang lại giải pháp này:
$ apt-cache search bluez
Đưa ra một danh sách các nghi phạm , một trong số đó là:
libbl Bluetooth-dev - Tệp phát triển để sử dụng thư viện Bluetooth BlueZ Linux
Đó trông giống như một sự lựa chọn hợp lý.
$ sudo apt-get install libbluetooth-dev
...
The following additional packages will be installed:
libbluetooth3
The following NEW packages will be installed:
libbluetooth-dev libbluetooth3
Sau đó, mã trong hướng dẫn biên dịch và chạy:
$ gcc -o simplescan simplescan.c -lbluetooth $ ./simplescan
CC:6D:A0:64:36:32 Roku Player.
Đó là một câu trả lời đúng ở đây trong căn hộ của tôi. Tuy nhiên, đó không phải là câu trả lời đầy đủ vì các thiết bị được trang bị BT khác (ví dụ như iPhone của tôi ) đang được đề cập.
LƯU Ý:
- Đảm bảo cập nhật và nâng cấp hệ thống của bạn trước khi cài đặt các gói mới!
- Câu trả lời của Dmitry - sử dụng công cụ tìm kiếm của Debian - là câu trả lời tốt hơn cho câu hỏi của OP . Đối với tôi, có vẻ như vẫn còn một số phỏng đoán liên quan, nhưng nó chắc chắn giúp thu hẹp phạm vi.
- Đối với những người muốn xây dựng và cài đặt các gói từ nguồn nguyên bản , có vẻ như có các tùy chọn phù hợp để hỗ trợ điều đó.