NeoVi Fire和覆盆子皮配Python

2024-09-19 23:39:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个程序,可以从通过USB到串行连接连接到Raspberry Pi的can总线设备读取DTC代码。我正在用我连接的NeoVi Fire进行测试,目前我能够发送和读取串行信号到该设备,以控制汽车座椅加热和冷却装置,我已连接到它通过上述串行端口。在

现在,我需要将我所拥有的扩展到从CAN单元请求代码,这样我就可以看到Python是否可以做我需要它做的事情(因为我的程序的其余部分都是用Python编写的)。在

我还安装了PyNeoVi库,因为我正在使用NeoVi单元,在尝试使用PyNeoVi存储库中的一个测试文件时遇到了一个问题。以下是测试文件的代码:

import neovi.neodevice as neodevice
import neovi.ecu as ecu
import neovi.spec as spec
import neovi.neovi as neovi
import json


neodevice.init_api()
dev = neodevice.find_devices(neovi.NEODEVICE_FIRE)[0]
dev.open()


input_file = open('vehicle.spec', 'rt')
data = json.load(input_file, object_hook = spec.from_json)

hvac = ecu.ECU(data['ECUs']['HVAC'], dev)

wanted_values = ['Blower Speed Output', 'External Ambient Temperature', 'Left Solar Radiation Sensor', 'Cabin Temperature']

for value_name in wanted_values:
    result = hvac.read_data_by_id(value_name)['value']
    print("%s = %.1f %s" % (value_name, result[0], result[1]))

dev.close()

我得到的错误是:

^{pr2}$

听起来好像我缺少了一个依赖项,但我不确定从何处下载该依赖项。在


Tags: 代码namedevimport程序jsondatavalue