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

69 天前
 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

3664 次点击
所在节点    Linux
64 条回复
usb7
69 天前
@ltyj2003
=> 给 op 个建议,如果有相关技术,不妨想想如何为车企倒了的汽车品牌的车主提供维修服务或维修设备,比如威马汽车,以及超过质保期的大量新能源车,这块一般汽修厂还修不了,目前是蓝海市场。

你有意愿,我们一起做这个维修设备吗?(维修威马汽车,以及超过质保期的大量新能源车)
nulIptr
69 天前
@nulIptr 再补充一下,好几年前的,那时候说面向用户都是老油车车主,能监控位置油耗里程啥的,然后他们公司还做一些企业服务,比如公司的公车管理,跟定会议室一样订车。感觉是个方向,不知道后面公司咋样了
usb7
69 天前
@nulIptr 多谢你的回复。
shijingshijing
69 天前
这玩意儿贵不是因为技术难,车辆上用的东西都要做 certification ,然后配合厂商做 PVE ,要做各种测试出各种报告,都通过了才能上市。
elboble
69 天前
我理解 OP 的意思是给老的油车 OBD 接口加个上行的链路。但是国内新能源车这个功能出厂就有了,应该是国标要求。

所以国内基本不需要,国外还可以 DIY 一下。

类似这样的需求其实在老油车上挺多的,比方 gps 轨迹,前几年 taobao 上还有专门的 gps+gprs 的小设备,几十块钱年费,后台记录你的轨迹,轨迹非常准,可惜后来断网行动,gprs 的卡没有实名给停了,现在换新能源没必要了。不过这个小玩意还有个很大市场是给两轮电动车用,低端的基本还没有智能化,可以查轨迹防盗,还是有用的。
424778940
69 天前
@usb7 "可是为什么国外有基于 ARM Linux 树莓派的 CAN 硬件?"

国外有的东西多了去了 还有人拿 fpga 做键盘呢 但这不代表他就是一个合理的商业化项目 你要说自己 diy 玩 那肯定无所谓你开心就好

这类设备本身就是一个很成熟的市场 别说国外 国内大货车的轨迹记录仪听说过吗 新一点的基本都能在线看到轨迹和行车状况 你猜他们是用树莓派吗?

连仔细调研都没做好就盲目搞产品是初创团队失败的众多坑之一
424778940
69 天前
@usb7 "我不懂,在 rtos 上和云端交互(例如:Kuksa ),应该不容易?云端肯定自己做不了,要借用现在开源的。"

在 rtos 上和云端交互不容易? 别说 rtos, 你猜米家台灯里用的什么? 树莓派吗?
usb7
69 天前
@424778940
=> 连仔细调研都没做好就盲目搞产品是初创团队失败的众多坑之一

你说的太对了,谢谢。
424778940
69 天前
还有一个题外话, 就是 ODB-II 是一个获取信息很有限的协议, 本身拿到的信息并不多, 而且不是所有车企都完全支持协议全部参数, 有的车连当前是什么档都拿不到的

很多记录仪/诊断器, 甚至是淘宝那种自动关窗器, 都是要拿到车厂给的的资料或者逆向出厂家专有协议, 才能实现相关功能, 因为 ODB 接口里不一定只跑 ODB 协议, 还有厂家自己专有的 CAN 协议, 甚至可能还有第二组 CAN 接口

很多车是有多组 can 总线的, 分为动力/娱乐/其他之类的, ODB 口里很可能是没有动力 CAN 总线的, 要单独找线刺破监控
动力 CAN 上很多信息是直接广播出去的, 比如时速转速油门刹车, 不是 ODB 这种轮询, 因为轮询效率太差了

如果对上述信息都不清楚, 指望 ODB-II 能给你很多功能并且做出这个东西还希望推广, 我只能说祝你商业兴隆
usb7
69 天前
@424778940

谢谢你。
tallest
69 天前
我之前想搞个这个读我摩托车的数据来着,可惜不会硬件,就放弃了
usb7
69 天前
@tallest
=> 我之前想搞个这个读我摩托车的数据来着,可惜不会硬件,就放弃了

可以语音沟通吗?
opengps
69 天前
obd 读取不是难点,市面上也有很多 obd 健康监测的设备,几十块的支持蓝牙通信,最大难点是各主机厂的数据参差不齐,没有太通用的更深的分析
usb7
69 天前
@424778940
=> 如果对上述信息都不清楚, 指望 ODB-II 能给你很多功能并且做出这个东西还希望推广

这个项目,包括 OBD-II ,是某汽车厂的一个研发小领导叫我做的。
424778940
69 天前
@usb7

有车场支持, 那也得能拿到协议和动力 can 总线访问, 另外你应该更熟悉 can 本身而不是 odb, 因为动力 can 很多都是自定义帧, 跟 odb 没关系

我很久之前有做过一个这个东西, 就是 odb 实现的, 实时性是很差的, 没有继续做也是因为实时性问题
界面元素/上位机/下位机/硬件均为自制
<amp-youtube data-videoid="MfvGJcwQHoQ" layout="responsive" width="480" height="270"></amp-youtube>
kenshinhu
69 天前
@usb7 我看闲鱼有类似的产品大概在 80 左右估计还是在外部做运算吧
dreampet
69 天前
@usb7 #34
"这个项目,包括 OBD-II ,是某汽车厂的一个研发小领导叫我做的。"

这是啥车厂? 2024 年了还能提出这个需求,只能说太不靠谱了,这种功能早已集成在 TBox 中, 我们 18 年量产的 TBox 就已经集成了整车 CAN 总线数据采集,集成 OBD 、WWH-OBD 等在线诊断、数据流采集等功能。
usb7
69 天前
@dreampet
=> 这种功能早已集成在 TBox 中, 我们 18 年量产的 TBox 就已经集成了整车 CAN 总线数据采集,集成 OBD 、WWH-OBD 等在线诊断、数据流采集等功能。

是的。你们的 TBox 有链接吗?现在的 TBox 还支持 CAN 吗,还是现在的 TBox 主要支持 DDS Data Distribution Service 之类的?
usb7
69 天前
@424778940 你好牛啊
usb7
69 天前
@424778940 因为你做了这多的 CAN/OBD 相关的工作,不知道你是不是愿意语音交流?

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

https://www.v2ex.com/t/1056434

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

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

© 2021 V2EX