python - 能通过CAN控制一部普通的家用轿车吗?
问题描述
对汽车原理不了解,想请大神给科普一下,现在比较新的汽车是不是有一大部分是用方向盘或者刹车这些部件将指令通过CAN总线发到对应的执行部件,然后完成汽车的行走和驻车?
有没有低成本且安全(不会把车搞坏)的方式控制汽车,实现行走和驻车?比如CAN收发芯片连个单片机,通过OBD发送指令?
看到网上George Hotz的开源硬件代码,用了一个CAN的收发芯片,而且不贵,代码中有个dbc文件,这个是对应指令?
是否汽车内部有两套CAN总线,一套是ODB连着的,另一套是车的执行部件连接的?
问题解答
回答1:OBD全称:On Board Diagnostics。为使汽车排放和驱动性相关故障的诊断标准化,从1996年开始,凡在美国销售的全部新车,其诊断仪器、故障编码和检修步骤必须相似,即符合OBD Ⅱ程序规定,所以OBD Ⅱ系统越来越广泛应用。OBD的常见作用主要有一下几点:
1.随时检测零部件和系统的故障,保证汽车在使用寿命中的排放不超过OBD法规的要求
2.检测到相关排放故障时,OBD系统可以用仪表板上的MIL灯进行报警。
3.故障车辆能够得到及时修理,减少车辆排放。
4.OBD系统有助于技师迅速诊断,对症修理,降低维修成本。
但是对于国标OBD需要注意的是:国三国四标准的实现一定要有OBDⅡ加以保证,但是OBDⅡ并不等于这些排放标准,OBD有两种标准:SAE的美国版的OBD、ISO欧洲版的EOBD。各国实行OBD的时间不一样。同时OBD还有不同的版本,版本不同其功能性上也有所差异。
除却各种电源和地线之外,关键的有CAN线、ISO 0141-2 K线、J1850总线,接口也有很多。
相关文章:
1. css - 如何使用 vue transition 实现 ios 按钮一样的平滑切换效果2. angular.js - 关于$apply()3. angular.js - angular内容过长展开收起效果4. docker安装后出现Cannot connect to the Docker daemon.5. 关于python切片的问题6. javascript - 前端怎样实现图片剪切一部分上传呢?像微信或者QQ上传那样呢?用的啥技术7. 网络传输协议 - 以下三种下载方式有什么不同?如何用python模拟下载器下载?8. 多维数组如何在视图中渲染9. linux - 升级到Python3.6后GDB无法正常运行?10. mysql - 把一个表中的数据count更新到另一个表里?
