【发布时间】:2017-07-14 13:28:39
【问题描述】:
我正在尝试创建一个程序,该程序可以从通过 USB 到串行连接连接到 Raspberry Pi 的 CAN-Bus 设备读取 DTC 代码。我正在使用已连接的 NeoVi Fire 进行测试,目前我能够向设备发送和读取串行信号,以控制通过所述串行端口连接到它的汽车座椅加热和冷却装置。
现在我需要将我所拥有的内容扩展为从 CAN 单元请求代码,以便查看 Python-CAN 是否可以完成我需要的工作(因为我的程序的其余部分都是用 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()
我得到的错误是:
OSError: libicsneoAPI.so.0.1.3: cannot open shared object file: No such file or directory
听起来我缺少一个依赖项,但我不确定从哪里下载该依赖项。
【问题讨论】:
标签: python raspberry-pi can-bus