如何读取SAE J1939总线的数据



在这里,我们正在尝试从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(已列入白色,但要慢得多(。

相关内容

  • 没有找到相关文章

最新更新