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?
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. –
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
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. –