在Movesense iOS中进行测量/ ECG NOT_FOUND

时间:2018-07-19 15:24:22

标签: ios swift movesense

我正在尝试创建一个结构类似于初始ios-sample应用程序的iOS应用程序,不同之处在于,我使用了据说存储在API的Meas / ECG中的ECG数据。通过镜像示例应用程序中的其他观察函数中的代码(所有这些函数本身都能正常工作)并查看似乎实现了类似功能的iOS MQTT应用程序,我能够创建此处理程序类。 / p>

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后,似乎该应用程序遇到了相同的错误。

edit 2:找出问题所在,答案如下。

1 个答案:

答案 0 :(得分:1)

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