在这里,我们正在尝试从J1939 SAE总线设备读取数据,但似乎没有使用iOS读取我们正在使用Android和Android中的Core bluetooth
连接性,但在Android中工作良好,但同一设备不使用与iOS一起阅读可以帮助我。
在这里,我正在附上我的代码片段
将Bluetooth
设备连接为SEA J1939
var manager:CBCentralManager!
manager.connect(connectPeripheral, options: nil)
connectPeripheral.delegate = self
蓝牙连接成功
func centralManager(_ central: CBCentralManager, didConnect peripheral: CBPeripheral) {
print("Connected!")
self.showAlertOneButton(withTitle: "", with: key.KBluetoothConnect, firstButton: key.KOk) { (UIAlertAction) in
self.navigationItem.rightBarButtonItem?.tintColor = UIColor.blue
self.vwBLTSub.removeFromSuperview()
//all services
self.connectPeripheral.discoverServices(nil)
}
}
从设备读取数据
func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService,
error: Error?) {
guard let characteristics = service.characteristics else { return }
for characteristic in characteristics {
print(characteristic)
if characteristic.properties.contains(.read) {
print("(characteristic.uuid): properties contains .read")
peripheral.readValue(for: characteristic)
}
if characteristic.properties.contains(.notify) {
print("(characteristic.uuid): properties contains .notify")
}
}
}
iOS设备上的库存OS块限制了对USB和蓝牙服务的访问,除了清楚地记录为白名为Apple或苹果MFI计划(根据NDA下(的设备的股票OS。/p>
我使用它的解决方案将其连接到带有Raspberry Pi的非应用程序的USB和蓝牙配置文件设备,然后通过网络插座将数据从PI提供到iOS设备(通过WiFi或有线以太网,它们苹果通过各种加密狗支持iOS(,或使用Core蓝牙BLE(已列入白色,但要慢得多(。