Я пытаюсь подключить сельскохозяйственный метеорологический измеритель погоды Kestrel 5500AG к iOS через Bluetooth с помощью swift.Мне нужно отправить в приложение температуру, скорость ветра и направление ветра, но у меня возникли проблемы с подключением.Если я найду withServices: nil
в операторе switch, он распечатает все устройства Bluetooth вокруг меня, включая устройство, к которому я хочу подключиться, но когда я ищу датчик окружающей среды, я ничего не получаю.
Эточто напечатано для устройства
<CBPeripheral: 0x282a25400, identifier = 35CA57D6-71A5-975C-E7F9-EADE3447BA32, name = AGRICULTR - 2403246, state = disconnected>
let kestrelServiceCBUUID = CBUUID(string: "0x181A")
class ViewController: UIViewController {
var manager:CBCentralManager!
var kestrelPeripheral:CBPeripheral!
var windDirectionCharacteristicCBUUID = CBUUID(string: "2A73")
var windSpeedCharacteristicCBUUID = CBUUID(string: "2A72")
var temperatureCharacteristicCBUUID = CBUUID(string: "2A20")
var windSpeedCharacter = UUID(uuidString: "0000x2A72-0000-1000-8000-00805f9b34fb")
override func viewDidLoad() {
super.viewDidLoad()
manager = CBCentralManager(delegate: self, queue: nil)
}
}
extension ViewController: CBCentralManagerDelegate {
func centralManagerDidUpdateState(_ central: CBCentralManager) {
switch central.state {
case .unknown:
print("unknow")
case .resetting:
print("resetting")
case .unsupported:
print("unsupported")
case .unauthorized:
print("unauthorized")
case .poweredOff:
print("off")
case .poweredOn:
print("on")
manager.scanForPeripherals(withServices: [kestrelServiceCBUUID])
@unknown default:
break
}
}
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
if(peripheral.name != nil){
print(peripheral)
}
}
}