Tôi lập trình trong Bluez trên Raspberry Pi của tôi với một dongle USB Bluetooth. tôi cần để có thể lập trình kết nối với một Arduino BT, vấn đề là các mô-đun Bluetooth của Arduino vẫn sử dụng di sản để ghép nối bất cứ khi nào tôi cố gắng mở một ổ cắm với thiết bị tôi nhận được một Permission Denied
. Làm cách nào để gửi cùng một mã PIN để hoàn thành yêu cầu ghép nối thông qua BlueZ?Bluez Lập trình
Trả lời
Bạn có thể muốn xem tệp main.c
trong thư mục client của mã nguồn Bluez gần đây nhất. Đó là mã nguồn cho công cụ bluetoothctl. Chạy nó quá. Mã nguồn cho thấy chính xác cách họ sử dụng GDBus, bao gồm proxy, đại lý, các phương thức gọi như được mô tả trong API (/doc folder) và tất cả điều đó. Đó là trong C và sử dụng API cấp cao.
Tôi đề nghị bạn bước qua mã vì tôi mất 2 tuần không ngừng cố gắng hiểu Bluez trong C và thực tế là không có tài liệu, nhưng khi tôi đọc tập tin main.c tôi đã sẵn sàng trong một ngày. Tìm hiểu về tài liệu Dbus API thích hợp và quan trọng hơn là các khái niệm. Một số tài liệu đó đã giúp tôi:
Công cụ gdbus: https://developer.gnome.org/gio/stable/gdbus.html
này chứa tất cả các cuộc gọi đến gdbus và các đối tượng trong file main.c
và giải thích cho họ rất tốt. https://developer.gnome.org/gio/stable/gdbus-convenience.html
D-Feet, một công cụ vô giá để kiểm tra và tìm hiểu về Dbus trên hệ thống của bạn. Hãy thử kiểm tra bus/bluez. https://wiki.gnome.org/action/show/Apps/DFeet?action=show&redirect=DFeet
hoặc
sudo apt-get install d-feet
Không có nhiều của một hướng dẫn, nhưng đáng đọc để hiểu một số khái niệm, như công cụ bluetoothctl phù hợp với những gì họ đang cố gắng để nói ở đây. http://dbus.freedesktop.org/doc/dbus-tutorial.html
Bluetoothctl tạo vỏ tương tác, do đó, có thể không tốn thời gian để cố gắng vừa với mã của bạn, nhưng chỉ cần chọn những gì bạn cần từ mã đó.
- 1. linux Lập trình Bluetooth trong c
- 2. Bluetooth: Phát hiện sự kiện bằng Bluez
- 3. Ghép nối Bluetooth trong C blueZ trên Linux
- 4. Nhiều kết nối BLE bằng Linux và Bluez 5.0
- 5. Cách gửi Thông báo GATT Bluetooth Low Energy với Bluez?
- 6. Ví dụ đọc/ghi C/C++ BLE với Bluez
- 7. Bluez tự động kết nối lại các thiết bị
- 8. Tôi có thể tìm tài liệu cho BlueZ ở đâu?
- 9. Làm thế nào để thực hiện quét năng lượng thấp bluetooth qua thư viện BlueZ C
- 10. IDE hoặc plugin lập trình đa lập trình
- 11. Lập trình tổng hợp âm nhạc lập trình?
- 12. Ngôn ngữ lập trình PHP hoặc ngôn ngữ lập trình?
- 13. Tạo lập trình UINavigationController theo cách lập trình trong iOS
- 14. Lập trình ngắt raw_input theo cách có lập trình
- 15. Lập trình Java và lập trình sự kiện
- 16. Lập trình lề văn bản có lập trình
- 17. Lập trình tạo tệp requirements.txt theo cách có lập trình
- 18. Lập trình song song == lập trình đa luồng?
- 19. Lập trình logarit được lập trình như thế nào?
- 20. Lập trình nhãn nhiều dòng theo cách lập trình
- 21. R và hướng đối tượng lập trình lập trình hướng
- 22. Thiết lập lại Android Factory Lập trình
- 23. Cách thiết lập windowDrawsSystemBarBackgrounds theo lập trình?
- 24. Android AnalogClock: thiết lập drawables lập trình
- 25. Lập trình từ xa
- 26. Lập trình Winsock
- 27. Thuật ngữ lập trình
- 28. Lập trình phòng thủ
- 29. Lập trình USB Linux
- 30. Tạo ListView lập trình
Bạn đã thử nghiệm với 'tác nhân đơn giản' chưa? –
Tôi muốn làm điều đó mà không cần phần mềm của bên thứ ba, chỉ thông qua API bluez C. –
Có thử điều này: http://stackoverflow.com/questions/14820004/bluetooth-pairing-in-c-bluez-on-linux –