从汽车 CAN/OBD 接口读取数据,并上传到云端

2024-07-11 09:04:24 +08:00
 usb7

大家好,

我想用 python 编写程序,从汽车或其它带 OBD 接口的设备读取 CAN 数据(例如:引擎转速、氧气传感器、等),并通过无线网络上传到云端。该程序运行在 ARM Linux 板子上。汽车 OBD2 是标准协议,理论上可以支持任意车型,甚至摩托车,卡车,等等。

从汽车 OBD 接口读取数据并不困难,相对困难的是与云端的交互(例如:Kuksa ),不知道是不是还要考虑安全性。

为什么选择 ARM Linux 板子,而不是单片机呢?主要考虑的是:用 python 编程,和云端交互容易些,安全性也容易得到保障。

大家觉得怎么样?有公司会要吗?

为此目的,我专门做了硬件: https://gitee.com/usb7/can-board

国外也有基于树莓派的板子 Kuksa hardware: https://github.com/eclipse-kuksa/kuksa-hardware

4734 次点击
所在节点    Linux
68 条回复
NessajCN
2024-07-11 09:07:43 +08:00
这个没啥难度,车厂一般早都在车机上实现了.....
cpstar
2024-07-11 09:08:01 +08:00
多年前玩过的一个事情,蓝牙 OBD ,然后写 APK 读取数据,至于回传云端,那就是轻轻松松了。而为什么是 APK ,因为那边蓝牙好像不开放,无法读取数据。
ltyj2003
2024-07-11 09:12:27 +08:00
我先提个问题,数据上传云端然后怎么用,谁来用?
然后
电车上 OBD 的数据就没几个,上月新能源车销量占比已超 50%,没必要弄一个需求持续萎缩的东西。
而且,1 楼也说了,带云服务的车,车厂直接就集成在车上了。
cat9life
2024-07-11 09:14:51 +08:00
怎么感觉你这个需求不上不下呢?上游(厂家等)看不上,下游(车主)一头雾水不知道干什么
usb7
2024-07-11 09:39:31 +08:00
@NessajCN 可以用于摩托车,卡车,或工程车吗?而不是家用电车。
usb7
2024-07-11 09:40:54 +08:00
@cpstar 你很牛
NessajCN
2024-07-11 09:44:42 +08:00
@usb7 看你的意思是问车厂感不感兴趣对吧?车厂,包括你说的摩托车卡车工程车车厂,如果人家感兴趣或者确实有这方面的需求,装一个成熟的车机是非常方便的。这不是个技术问题而是个成本控制和产品设计问题。
usb7
2024-07-11 09:45:46 +08:00
@ltyj2003 谢谢你的回复:

=> 数据上传云端然后怎么用,谁来用?

可以用于,例如:调试卡车发动机的问题。国外有类似的产品 CAN logger ,就用于采集发动机的故障数据,用于改进发动机:
https://www.csselectronics.com/pages/j1939-data-logger-heavy-duty

国外的这个东西很贵,带无线功能,至少要 400 多欧。
usb7
2024-07-11 09:48:34 +08:00
@NessajCN 谢谢你的回复,国外有类似的东西:

可以用于,例如:调试卡车发动机的问题。国外有类似的产品 CAN logger ,采集发动机的故障数据,用于改进发动机:
https://www.csselectronics.com/pages/j1939-data-logger-heavy-duty

国外的这个东西很贵,带无线功能,至少要 400 多欧。
unco020511
2024-07-11 09:52:22 +08:00
我用过,之前我的车子要刷隐藏功能,淘宝的卖家会寄来一个 obd 设备,插在车子上,然后自己电脑连接,通过 obd 可以读取和写入,达到一些改参数的目的.事实上,通过 obd 去调试/诊断汽车,这在汽车行业已经非常成熟了,厂家都给 4s 店配置的有,甚至很多修理厂自己也有相关的设备
kenshinhu
2024-07-11 09:52:27 +08:00
我觉得也可以考虑一下二手车,毕竟最近几年的 OBD 外设也蛮成熟,上周我加装原厂胎压就用到了 ODB 外设通过蓝牙来连接小程序来修改车机程序,如果有这个给二手车用户做个日常状态监视也不错。
ltyj2003
2024-07-11 09:56:04 +08:00
如果用于修车,国内 元征 汽车检测仪已经很成熟了,硬件是其次,各个车型的私有协议才是重点,包括不限于向车企买、逆向工程。
如果只用 OBD 标准上的数据,几十块的 elm327 也能把活干了。
424778940
2024-07-11 09:56:14 +08:00
需求我了解确实有一定市场, 但这样实现不知道这有什么意义
iot 设备一般都是低成本为重, 因为要用 python, 非要用 arm+linux 就是脱裤子放屁了
正常实现这个需求, 应该是 can-phy+支持 can 的单片机+rtos+蜂窝数据模块
再不济你一句 c/cpp 不会, 朋友听说过 micropython 吗?
wxw752
2024-07-11 09:58:29 +08:00
调试故障已经有很成熟的设备了。我觉得加个 4G/5G 模块,走智能家居的路子还行,没准有人猎奇想把自己的老车接进来。(近些年的新车直接能接入)
usb7
2024-07-11 09:58:57 +08:00
@424778940 虽然你说得很对,可是为什么国外有基于 ARM Linux 树莓派的 CAN 硬件?
https://github.com/eclipse-kuksa/kuksa-hardware
usb7
2024-07-11 10:01:24 +08:00
@424778940 我不懂,在 rtos 上和云端交互(例如:Kuksa ),应该不容易?云端肯定自己做不了,要借用现在开源的。
ltyj2003
2024-07-11 10:02:38 +08:00
给 op 个建议,如果有相关技术,不妨想想如何为车企倒了的汽车品牌的车主提供维修服务或维修设备,比如威马汽车,以及超过质保期的大量新能源车,这块一般汽修厂还修不了,目前是蓝海市场。
usb7
2024-07-11 10:03:34 +08:00
@kenshinhu
=> 如果有这个给二手车用户做个日常状态监视也不错。

这个硬件成本不低,二手车用户估计不会买。只有公司可能会买(公司有钱)。
usb7
2024-07-11 10:05:26 +08:00
@ltyj2003
=> 给 op 个建议,如果有相关技术,不妨想想如何为车企倒了的汽车品牌的车主提供维修服务或维修设备,比如威马汽车,以及超过质保期的大量新能源车,这块一般汽修厂还修不了,目前是蓝海市场。

你很牛,谢谢。
nulIptr
2024-07-11 10:13:44 +08:00
https://shop188861647.taobao.com/
是这个吗,朋友推荐过,当时是免费送。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1056434

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX