2013-10-28 17 views
8

Định nghĩa sự cố: Tôi đã cố gắng sử dụng BLE proximity profile cho Bluetooth LE trên Android. Một số thiết bị như máy tính bảng Google Nexus thế hệ mới với BLE hỗ trợ Android 4.3 và có thể hoạt động như một thiết bị central. Tôi đọc tài liệu chính thức của Android về số Bluetooth LE nhưng không có bất kỳ hỗ trợ nào cho điều đó. Có cách giải quyết nào của họ để thực hiện hồ sơ lân cận của chúng ta không?Phát hiện khoảng cách bằng cách sử dụng Bluetooth LE "Gần" hồ sơ Android

câu hỏi mà nói về hồ sơ cá nhân gần gũi trên Android nhưng không có sự giúp đỡ

Any help is appreciated. Cảm ơn.

+5

Cấu hình lân cận xác định hai vai trò: Proximity Monitor và Proximity Reporter. Proximity Reporter sẽ là một máy chủ GATT. Màn hình lân cận sẽ là máy khách GATT. Thiết bị Android, chỉ có thể hoạt động trong vai trò trung tâm, do đó có thể là Proximity Monitor, nhưng không phải là Proximity Reporter. –

Trả lời

1

Thật không may, Android chỉ có thể hoạt động như trung tâm không ngoại vi. Vì vậy, không thể lập hồ sơ tùy chỉnh tại thời điểm này. Thay vào đó bạn có thể sử dụng hồ sơ đang được cung cấp bởi gatt.

Ví dụ: Hồ sơ theo dõi nhiệt độ. Thay vào đó bạn có thể làm cho dịch vụ tùy chỉnh và các đặc tính trên iPhone và làm cho nó hoạt động như ngọn hải đăng.

Ngoài ra, nếu bạn đang sử dụng thiết bị phần cứng của Estimote và các công ty khác, bạn có thể trả lời dữ liệu từ thiết bị Android tức là Dịch vụ và đặc điểm có các thuộc tính như Đọc, Viết và Thông báo. Nhưng khi bạn đang làm cho iPhone như Beacon, sau đó bạn sẽ không thể nhận được giá trị từ thiết bị Android.

1

Để xây dựng trên shubhams's answer:

Đáng tiếc là không có cách nào cho các thiết bị Android để hoạt động như một thiết bị ngoại vi. Anh ta có thể tạo ra các máy chủ, dịch vụ và charachteristics của GATT nhưng không có cách nào để tạo quảng cáo. (https://stackoverflow.com/a/18020153/3061383)

Vì Android chưa hỗ trợ quảng cáo, không có thiết bị BLE nào khác có thể bắt đầu kết nối với thiết bị Android. Hiện tại thiết bị Android phải khởi tạo kết nối.

6

tháng 6 năm 2014:

Cảm ơn tất cả mọi người cho câu trả lời. Chỉ cần cập nhật, tính đến tháng 6 năm 2014, chế độ BLE Peripheral được cung cấp trong bản xem trước dành cho nhà phát triển Android L. Vì vậy, bây giờ các thiết bị Android có thể hoạt động cả trong vai trò ngoại vi và trung tâm. Hy vọng sẽ thấy nó trong phiên bản chính thức Android L. Trích dẫn từ blog của họ New in Android: L Developer Preview and Google Play Services 5.0:

Các L Developer Preview, cho phép bạn khám phá nhiều tính năng mới và khả năng của các phiên bản tiếp theo của Android, và cung cấp mọi thứ bạn cần để bắt đầu phát triển và thử nghiệm trên nền tảng mới. Dưới đây là một vài trong số những điểm nổi bật cho các nhà phát triển:

BLE ngoại vi Chế độ - bây giờ các thiết bị Android có thể hoạt động trong Bluetooth Low Energy (BLE) ngoại vi chế độ.Các ứng dụng có thể sử dụng khả năng này để phát sóng sự hiện diện của chúng cho các thiết bị lân cận - ví dụ: giờ đây bạn có thể tạo ứng dụng cho phép thiết bị hoạt động như máy đếm bước hoặc màn hình sức khỏe và truyền dữ liệu sang thiết bị BLE khác.

Cập nhật ngày 16 tháng 10 2014:

của nó ra ngay bây giờ! Thanh toán Android 5.0 wireless changes trang.

Cập nhật ngày 08 Tháng 12 năm 2014:

mới xấu là chế độ ngoại vi BLE sẽ chỉ làm việc trên các thiết bị Android mới hơn (theo ngày), tức là Nexus 6 và Nexus 9. Nó sẽ không làm việc trên Nexus 4/Nexus 5/nexus 7/nexus 10 ngay cả khi bạn cập nhật lên Android 5.0. Bạn có thể đọc comment bởi một trong những người quản lý dự án Android trên BLE advertise mode not working vé. Anh ấy nói:

Chúng tôi đã giới thiệu chế độ ngoại vi BLE trong Android 5.0 Lollipop. Nexus 6 và Nexus 9 là hai thiết bị Nexus sản xuất đầu tiên hỗ trợ chế độ ngoại vi BLE. Do phụ thuộc vào chipset phần cứng, các thiết bị Nexus cũ hơn (4/5/7) sẽ không có quyền truy cập vào tính năng trên Lollipop.

Nhờ Rob Anderson để thông báo.

+0

Nhưng tôi biết nó chỉ hoạt động trên Nexus 6 và Nexus 9. Tôi đã thử trên Nexus 4 (Android 5.0) và nó không hoạt động. –

+0

AFAIK Nexus 4 hỗ trợ nó. Xem danh sách các thiết bị ở đây: http://www.bluetooth.com/Pages/Bluetooth-Smart-Devices-List.aspx –

+0

Xin lỗi nhưng tôi đang nói về chế độ ngoại vi! Nexus 4 không hỗ trợ nó! Tôi đã viết đoạn mã sau để kiểm tra nó: https://github.com/hennroja/AndroidBLEPeripheralTest –

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