
工业汽车嵌入式
听懂汽车的语言 – 使用Python控制CAN总线
CAN总线是在汽车和工业领域广泛应用的一种通讯方式,电脑上并没有配备相应的物理硬件,市面上有很多公司提供不同的将CAN转为USB的设备,使用这些设备电脑就能够借由USB通过CAN总线跟汽车或者其他工业设备进行交流,通常来说,这些公司都会针对其对应的硬件设备提供相应的软件,不过因为其专业性,要不软件的价格比较贵的,要不免费的软件功能有限。 虽然是一个比较冷门的应用场景,但使用Python确实也是可以使用这些设备来进行CAN总线通讯的,这都得益于丰富的Python生态,在这一篇文章中,我们将介绍一个能够支持市面上常用的CAN设备的Python库: python-can,这个库做的非常好,一方面可以支持多种不同的CAN设备(像 Vector, Kvaser, PCAN 等等),另一方面对总线的抽象也很好,同时提供了内置的log记录器,可以通过几行简单的代码将总线数据保存为常见的asc,csv,blf,甚至是数据库格式。
read more