我正在尝试创建一个iOS应用程序,其结构与最初的iOS示例应用程序相似,不同之处在于我提取的ECG数据据说存储在API中的Meas/ECG中。我可以通过镜像示例应用程序中其他观察函数中的代码(这些函数都可以完全独立工作)和查看似乎实现了类似功能的iOS MQTT应用程序来创建这个处理程序类:

class EcgHandler : BaseSubscriptionHandler {
    private var values = Array<Int16>()
    private var newValue : (Double) -> () = { (value) in }

    init(viewController: SubscriptionDetailViewController, toggle: UISwitch,
         serial: String, newValueReceiver: @escaping (Double) -> ()) {
        super.init(viewController: viewController, toggle: toggle, serial: serial, title: "ECG", filePrefix: "ecg", path: "/Meas/ECG", infoPath: "/Meas/ECG/Info")
        self.newValue = newValueReceiver
    }
    public func subscribe() {
        self.toggle.isOn = true

        self.dataFile = SubDataFile(self.filePrefix, serial: self.serial)

        self.viewController.movesense?.subscribe(self.serial, path: self.path,
                                                  parameters: [:],
                                                  onNotify: { response in
                                                    self.handleData(response)
        },
                                                  onError: { (_, path, message) in
                                                    self.showError("\(path) \(message)")
                                                    self.toggle.isOn = false
                                                    self.dataFile?.write("Error \(message)")
        })
    }
    private func handleData(_ response: MovesenseResponse) {
        let json = JSON(parseJSON: response.content)
        if json["Samples"][0].number != nil {
                        print("{\"Ecg\":\(json["Samples"])}")


        }
    }
}

但是当我运行ecgHandler.subcribe()函数时,会得到错误:
Meas/ECG NOT_FOUND

这里出什么事了?我查看了Movesense开发人员文档,没有发现类似的问题,也查看了ios mqtt代码,没有发现任何其他大的差异。在订阅控制器文件之外的项目代码中,似乎没有提到“ecg”。
编辑:在用我的设备运行mqtt之后,这个应用程序似乎遇到了同样的错误。
编辑2:找出问题所在,答案如下。

最佳答案

显然,心电图,像Magn和Acc,但不同于HR,需要在路径中包含采样率才能返回数据。我通过将API路径从Meas/ECG更改为Meas/ECG/125解决了这个问题,125是android应用程序使用的默认采样率。

关于ios - 在Movesense iOS中进行Meas/ECG NOT_FOUND,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51426472/

10-12 01:43