2013-09-26 63 views
11

Tôi muốn gửi dữ liệu từ iPhone đến thiết bị bluetooth được phát hiện và kết nối. Tôi đang giới thiệu this hướng dẫn để kết nối.Trình quản lý trung tâm của iPhone corebluetooth gửi dữ liệu đến thiết bị ngoại vi

Tôi không thể gửi dữ liệu đến thiết bị bluetooth bên ngoài được kết nối như chúng tôi làm với khung Phụ kiện bên ngoài.

Tôi đang sử dụng iPhone5 vì có Bluetooth 4.0

Trả lời

16

Trong Bluetooth lõi, bạn cần sử dụng các đặc điểm để liên lạc. Không có API dựa trên luồng chuẩn nào như trong Khung phụ kiện bên ngoài và tôi không biết bất kỳ thư viện nguồn mở nào thực hiện một cái gì đó như thế.

hoạt động cơ bản

ngoại vi -> Trung ương:

  1. Trung ương đặt mua đặc trưng (hoặc với các thông báo hoặc chỉ dẫn)
  2. ngoại biên nhận callback đăng ký để biết rằng trung tâm đang lắng nghe
  3. Cập nhật ngoại vi đặc trưng
  4. Trung tâm nhận charac teristic thông báo cập nhật

Trung -> ngoại vi:

  1. Trung ương viết đặc trưng
  2. ngoại biên nhận viết yêu cầu cập nhật

Tốc độ thực tế mà bạn có thể đạt được phụ thuộc vào các yếu tố khác nhau. Với các chỉ dẫn, dữ liệu không bao giờ bị mất (như TCP) nhưng các thông báo không có các bảo đảm như vậy (như UDP).

Thông tin thêm

tôi đề nghị bạn kiểm tra chính thức trình cốt lõi Bluetooth Hướng dẫn và tập trung vào các

phần. Nhưng tốt hơn sẽ học toàn bộ hướng dẫn như vậy. Ví dụ làm việc, hãy xem ví dụ BTLE Transfer từ Apple.

+0

Tôi đã chọn Chuyển khoản BTLE nhưng không có mẫu để gửi dữ liệu từ trung tâm đến ngoại vi. – TechFanatic

+0

Trung tâm gửi dữ liệu bằng cách viết các đặc điểm trên thiết bị ngoại vi. – allprog

+0

@TechFanatic Cập nhật câu trả lời để mô tả sơ đồ hoạt động cơ bản theo cả hai hướng. – allprog

5

Nếu tôi hiểu chính xác bạn muốn trung tâm gửi dữ liệu đến thiết bị ngoại vi của bạn.

cho rằng bạn sử dụng phương pháp này:

[peripheral writeValue:dataPacket forCharacteristic:writeChar type:CBCharacteristicWithResponse] 
+0

Không có API nào trong lớp CBPeripheralManager – thatzprem

+0

Gilli không gọi writeValue trên CBPeripheralManager nhưng trên một CBPeripheral có API đó –

1

Đây là đoạn video khá hấp dẫn để xem và biết chính xác những gì diễn ra trong khuôn khổ bluetooth iOS. Giải thích rõ ràng những hoạt động nào có thể được thực hiện bởi các hệ thống trung tâm và ngoại vi.

https://developer.apple.com/videos/play/wwdc2012-705/