微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

KeyError: <EChannelType.INTERNAL_ADC_13: 19> Shimmer3 EXG

如何解决KeyError: <EChannelType.INTERNAL_ADC_13: 19> Shimmer3 EXG

我尝试将 Shimmer3 (http://www.shimmersensing.com/products/shimmer3-imu-sensor) 与我的 Linux Mint 计算机连接,并尝试使用蓝牙传输数据。为此,我使用 git hub 代码https://github.com/seemoo-lab/pyshimmer。 我做了所有如何在自述中解释的事情,但我仍然遇到这个错误并且无法修复它。 这是我的简短程序:

import time

from serial import Serial

from pyshimmer import ShimmerBluetooth,DEFAULT_BAUdratE,DataPacket,EChannelType


def handler(pkt: DataPacket) -> None:
    cur_value = pkt[EChannelType.INTERNAL_ADC_13]
    print(f'Received new data point: {cur_value}')


if __name__ == '__main__':

    serial = Serial('/dev/rfcomm0',DEFAULT_BAUdratE)
    shim_dev = ShimmerBluetooth(serial)

    shim_dev.initialize()

    dev_name = shim_dev.get_device_name()
    print(f'My name is: {dev_name}')

    shim_dev.add_stream_callback(handler)

    shim_dev.start_streaming()
    time.sleep(5.0)
    shim_dev.stop_streaming()

    shim_dev.shutdown()

这是我的错误/终端输出

    My name is: Shimmer_86A5
    Exception in thread Thread-1:
    Traceback (most recent call last):
      File "/usr/lib/python3.7/threading.py",line 926,in _bootstrap_inner
        self.run()
      File "/usr/lib/python3.7/threading.py",line 870,in run
        self._target(*self._args,**self._kwargs)
      File "/home/zfcc/Dokumente/pyshimmer/pyshimmer/bluetooth/bt_api.py",line 294,in _run_readloop
        self._bluetooth.process_single_input_event()
      File "/home/zfcc/Dokumente/pyshimmer/pyshimmer/bluetooth/bt_api.py",line 206,in process_single_input_event
        self._process_data_packet()
      File "/home/zfcc/Dokumente/pyshimmer/pyshimmer/bluetooth/bt_api.py",line 148,in _process_data_packet
        cb(packet)
      File "/home/zfcc/Dokumente/pyshimmer/Untitled-3.py",line 14,in handler
        cur_value = pkt[EChannelType.INTERNAL_ADC_13]
      File "/home/zfcc/Dokumente/pyshimmer/pyshimmer/bluetooth/bt_commands.py",line 60,in __getitem__
        return self._values[item]
KeyError: <EChannelType.INTERNAL_ADC_13: 19>


the value of pkt before the error is:
<pyshimmer.bluetooth.bt_commands.DataPacket object at 0x7f58b43a6e50>


value of pkt.channel:
[<EChannelType.TIMESTAMP: 42>,<EChannelType.ACCEL_LN_X: 1>,<EChannelType.ACCEL_LN_Y: 2>,<EChannelType.ACCEL_LN_Z: 3>,<EChannelType.VBATT: 4>,<EChannelType.GYRO_mpu9150_X: 11>,<EChannelType.GYRO_mpu9150_Y: 12>,<EChannelType.GYRO_mpu9150_Z: 13>,<EChannelType.MAG_LSM303DLHC_X: 8>,<EChannelType.MAG_LSM303DLHC_Y: 9>,<EChannelType.MAG_LSM303DLHC_Z: 10>]

value of channel_types:
[<pyshimmer.device.ChannelDataType object at 0x7ff4620ba5d0>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6810>,<pyshimmer.device.ChannelDataType object at 0x7ff46212b6d0>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6d50>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6d90>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6f50>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6f90>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6fd0>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6e90>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6ed0>,<pyshimmer.device.ChannelDataType object at 0x7ff4620b6f10>]


value of channels:
[<EChannelType.TIMESTAMP: 42>,<EChannelType.MAG_LSM303DLHC_Z: 10>]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。