我正在尝试创建一个程序,可以从通过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}$听起来好像我缺少了一个依赖项,但我不确定从何处下载该依赖项。在
确保安装了无畏的产品驱动程序。
请参阅https://python-can.readthedocs.io/en/latest/interfaces/neovi.html并告诉我您是否仍然遇到任何问题。
相关问题 更多 >
编程相关推荐