2017-07-14 246 views
1

我试图创建一个程序,可以通过USB到串行连接从连接到树莓派的CAN总线设备读取DTC代码。我正在使用已连接的NeoVi Fire进行测试,目前我能够向设备发送和读取串行信号,以通过所述串行端口控制汽车座椅加热和制冷单元。NeoVi火与树莓派与Python

现在我需要扩展我从CAN单元请求代码的内容,以便看到如果Python-CAN可以做我所需要的(因为我的程序的其余部分全部用Python编写)。

因为我使用NeoVi单元,所以我也去安装了PyNeoVi库,并且在尝试使用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 

这听起来像我缺少的依赖,但我不知道在哪里下载说依赖性不从。

回答