2013-04-17 17 views
8

Próbuję połączyć się z Raspberry Pi przez iPhone przy użyciu CoreBluetooth (bluetooth 4.0). I odkryli, urządzenia i wysyła żądanie połączenia za pomocą tego kodu:Raspberry Pi Bluetooth 4.0 Połączenie

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

} 

Ani didConnectPeripheral lub didFailedToConnectPeripheral są nazywane. Ja również zadbał, aby ustawić RPI reklamować bluetooth niską energię za pomocą

sudo hciconfig hci0 leadv 

ale kiedy sprawdzić aktywne połączenia z

hcitool con 

istnieją żadne aktywne połączenia. Czy brakuje mi niektórych ustawień dla RPi? Również nazwa zmiennej na urządzeniu peryferyjnym jest pusta, czy to dlatego, że jeszcze się nie połączyłem?

+1

Czy masz jakiś serwer GATT działający w odpowiedzi na żądania? Myślę, że hciconfig może po prostu przełączyć przełącznik, aby włączyć reklamy, ale w rzeczywistości nic nie reaguje na żądania połączenia. –

+0

Nie mam obecnie działającego serwera GATT, ale ma sens, że coś musi działać, aby wszystko przetworzyć. Zajrzę do tego i ponownie opowiem o tym później. Dziękuję Ci! – Jacobcr

+0

Myślałem, że istnieje testowy serwer GATT, który jest częścią kodu źródłowego Bluez, ale nie mogłem go znaleźć. Istnieje plik o nazwie 'attrib_server.c', który wydaje się przyczyniać do tego rodzaju roli. –

Odpowiedz

3

Wypróbuj bleno, jest to biblioteka node.js, której można użyć do utworzenia urządzenia peryferyjnego BLE zarówno w systemie OS X, jak i Linux. Działa dobrze na moim Raspberry Pi z systemem Raspbian.

Powiązane problemy