一段时间后停止从 Myo 接收数据

Receiving data from Myo stops after a while

我正在使用这个 (https://github.com/dzhu/myo-raw) 项目将 Myo Armband 连接到我的电脑(运行 on Windows)并接收原始 EMG 数据。我有两个与此相关的问题:

1) 数据接收非常慢,但作者已经警告过这一点。似乎,关闭除 EMG 之外的所有功能可以加快接收数据的速度,但是有没有办法加快速度呢?顺便说一句,Linux;

一切正常

2) 一段时间后数据接收崩溃。我注意到,当我尝试做 "strong" 手势(例如握拳和将右手向右移动)时,它通常会崩溃。我对此没有任何解释,因为在 Linux.

下一切正常

我在这里问我的问题是因为 GitHub 页面似乎已经死了。

对于 #1,您可以尝试使用 official Bluetooth protocol 而不是 myo-raw,因为该库 pre-dates 是官方发布的 header。不确定这是否会给您带来更好的结果,但这是一种选择。

#2 的唯一 Myo-based 原因可能是 Myo 因缺乏运动而入睡,但鉴于您正在做手势,我认为情况并非如此。我会仔细检查 myo-raw(例如 open PRs)和您的代码,看看是否有问题。

所以,问题是如此微不足道,以至于我已经责备了自己几个小时。将 n = self.ser.inWaiting()print(n) 添加到 BT.recv_packet() 时,我注意到 n 呈指数增长,直到达到 12 KB,然后连接停止。添加这个:

        ret = self.proc_byte(ord(c))
        if ret:
            if n >= 100:
                self.ser.flushInput()

问题解决了。