2013-04-17 88 views
8

Tôi đang cố gắng kết nối với Raspberry Pi qua iPhone bằng cách sử dụng CoreBluetooth (bluetooth 4.0). Tôi đã phát hiện ra thiết bị và gửi yêu cầu kết nối bằng cách sử dụng mã này:Kết nối Raspberry Pi Bluetooth 4.0

if (peripheral != self.foundPeripheral) { 
    NSLog(@"Try to connect to %@", peripheral.name); 
    self.foundPeripheral = peripheral; 
    [self.centralManager stopScan]; 
    [self.centralManager connectPeripheral:peripheral options:nil]; 

} 

Cả didConnectPeripheral hoặc didFailedToConnectPeripheral đều được gọi. Tôi cũng chắc chắn để thiết lập RPi để quảng cáo năng lượng thấp bluetooth sử dụng

sudo hciconfig hci0 leadv 

nhưng khi tôi kiểm tra các kết nối hoạt động với

hcitool con 

không có kết nối hoạt động. Tôi có thiếu một số thiết lập cho RPi? Ngoài ra biến tên trên thiết bị ngoại vi là trống, là bởi vì tôi chưa kết nối?

+1

Bạn có máy chủ GATT chạy để đáp ứng yêu cầu không? Tôi nghĩ rằng hciconfig chỉ có thể lật công tắc để bật quảng cáo, nhưng thực sự không có gì đáp ứng yêu cầu kết nối. –

+0

Tôi hiện không có máy chủ GATT đang chạy, nhưng có nghĩa là một thứ gì đó phải đang chạy để xử lý mọi thứ. Tôi sẽ xem xét nó và bình luận lại sau. Cảm ơn bạn! – Jacobcr

+0

Tôi nghĩ rằng có một máy chủ GATT thử nghiệm đó là một phần của mã nguồn Bluez, nhưng tôi không thể tìm thấy nó. Có một tập tin gọi là 'attrib_server.c' dường như đóng góp cho loại vai trò đó. –

Trả lời

3

Hãy thử bleno, đó là thư viện node.js có thể được sử dụng để tạo thiết bị ngoại vi BLE trên cả OS X và Linux. Nó hoạt động tốt trên Raspberry Pi của tôi chạy Raspbian.

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