2015-03-04 15 views
11

Tôi đang cố gắng kết nối với Bộ cảm biến Năng lượng Thấp Bluetooth (BLE) bằng Java. Cho đến nay tôi đã tìm kiếm một thư viện có giao diện với ngăn xếp BlueZ trên Linux của tôi.Java (J2SE) Bluetooth Năng lượng Thấp (BLE)

Thư viện miễn phí duy nhất tôi tìm thấy cho Java là Bluecove nhưng có vẻ như là chúng không triển khai BLE. Tôi đã kiểm tra nếu BT dongle của tôi đã được làm việc và nhận ra cảm biến sử dụng Linux công cụ dòng lệnh

sudo hcitool lescan 

gatttool -i hci0 -b XX:XX:XX:XX:XX:XX -I 

và nó làm việc không có vấn đề.

Sau đó tôi đã thử ví dụ Bluecove cho DeviceDiscovery nhưng cảm biến của tôi không hiển thị thay vì nó được quét cho các thiết bị BT bình thường. Tôi không thể tìm cách quét các thiết bị BLE.

Làm nghiên cứu sâu hơn tôi đi đến kết luận rằng Bluecove chỉ thực hiện JSR-82. Nếu tôi không nhầm tiêu chuẩn này lớn hơn BLE và do đó không thực hiện nó.

Có bất kỳ lựa chọn thay thế nào cho Bluecove hỗ trợ BLE trong Java không? Tôi có nghĩa là phải có bởi vì Android không có vấn đề (trong các phiên bản mới hơn) để giao tiếp với các thiết bị BLE.

Cảm ơn trước!

+1

có thể trùng lặp của [API năng lượng thấp Bluetooth trong java] (http://stackoverflow.com/questions/17825138/bluetooth-low-energy-apis-in-java) –

+3

Chủ đề được liên kết là về Windows đang sử dụng ngăn xếp Bluetooth khác nhau. Tôi đồng ý rằng các chủ đề tương tự như vậy vì ngay khi có kết nối cấp thấp SmartGATTLib có thể được sử dụng – sgiessmann

+0

@sgiessmann bạn đã tìm ra, nếu có thể sử dụng SmartGATTLib, để giao tiếp với BLE, ví dụ: một dongle BLE? Theo như tôi biết SmartGATTLib được phát triển cho điện thoại thông minh, phải không? – Steckdoserich

Trả lời

8

Sau khi xem xét một lúc sau, tôi tìm thấy một câu trả lời có tên TinyB.

https://software.intel.com/en-us/java-for-bluetooth-le-apps

TinyB là một thực hiện BluetoothLE bởi Intel và nó có SDK Java. Cho đến nay tôi đã có thể đạt được mọi thứ tôi đã thử.

Hy vọng điều này sẽ giúp người khác tình cờ gặp phải chủ đề này.

+0

là bạn có thể nghe các quảng cáo bằng TinyB lib hay làm cách nào để bạn thực hiện điều này? –

Các vấn đề liên quan