【工具推荐】手机上直接查看 CAN Log!iOS App「CANviewer」—— 汽车工程师的随身 CAN 分析工具
> **关键词**:CAN Log 查看器、CAN 总线分析、DBC 解析、ASC 文件、汽车工程师工具、iOS CAN 工具、CANoe 替代、PCAN、CAN 信号解码、手机查看 CAN 数据
---
一、 前言 :你是否也遇到过这些场景?
做汽车电子开发的朋友,下面这些场景一定不陌生:
- 💻 **电脑上装了 CANoe / CANalyzer**,但开一次就为了看几帧报文,启动慢、操作重
- 📱 **微信收到 DBC + Log 文件**,想直接在手机上打开,结果只能看到乱码
- 📊 **开会讨论问题时**,想快速拉一条信号的趋势图给大家看,还得回工位开电脑
**如果你也有这些困扰,那这个 App 就是为你做的。**
---
二、 CANviewer 是什么?
**CANviewer** 是一款 **iOS 平台的 CAN Log 查看器**,专为汽车电子/嵌入式工程师设计。
核心能力一句话概括:**手机上导入 DBC + CAN Log → 自动解码 → 查看信号物理值 + 趋势图。**
不需要联网,不需要电脑,不需要 License。
---
三、 核心功能
3.1. DBC 文件解析
- 支持标准 `.dbc` 格式(Vector 工具链导出)
- 完整解析 `BO_`(Message)和 `SG_`(Signal)定义
- 支持 **Intel / Motorola** 字节序
- 支持 **有符号 / 无符号** 信号
- 正确处理 `factor`、`offset`、`min`、`max`、`unit`
3.2. CAN Log 解析
- ✅ **ASC 格式**(Vector CANoe / CANalyzer 标准导出格式)
- ✅ **CSV 格式**(PCAN-View、BusMaster 等工具导出)
- 自动提取 `timestamp` + `CAN ID` + `data bytes`
3.3. 信号解码与显示
- DBC + Log 自动关联
- 按 **Message ID** 过滤报文
- 每帧解码所有信号,显示 **物理值 + 单位**
- 列表清晰展示,一目了然
3.4. 信号趋势图
- 选择任意信号,绘制 **时间-值曲线**
- 支持 **缩放、拖动**,精确定位信号变化点
- 开会时直接亮出手机,比开电脑快 10 倍
3.5. 微信直接导入
- 微信/钉钉/邮件收到的 `.dbc`、`.asc`、`.csv` 文件
- 点击 **"用其他应用打开"** → 直接进入 CANviewer
- 无需数据线,无需云盘中转
---
四、 使用场景
| 场景 | 传统方式 | 用 CANviewer |
|------|---------|-------------|
| 现场查看 CAN log | 带笔记本 + CANoe License | 手机直接打开 |
| 微信收到 DBC/Log | 转发到电脑再打开 | 微信里直接导入 |
| 会议中展示信号趋势 | 回工位截图再发 | 当场打开趋势图 |
| 出差途中审查数据 | 等回酒店开电脑 | 高铁上就能看 |
| 快速确认信号解码对不对 | 开 CANoe 加载工程 | 10 秒内出结果 |
---
五、 技术实现
5.1 DBC 解析引擎
```
纯 Swift 实现的 DBC parser,基于状态机 + 正则:
- 逐行解析 BO_ / SG_ / CM_ / BA_ / VAL_ 等关键字
- 信号的 bit_position 和 byte_order 处理是最容易出 bug 的地方
(Motorola 字节序的 start_bit 定义在不同工具间并不统一)
- 经过多个实际项目 DBC 验证
```
5.2 CAN 信号解码算法
```
核心公式:physical_value = raw_value * factor + offset
关键处理:
1. 从 8 bytes data 中按 start_bit + length 提取 raw bits
2. 根据 byte_order (Intel=Little-Endian / Motorola=Big-Endian) 组装
3. 如果 signed=true,做符号扩展
4. 乘以 factor 加 offset 得到物理值
```
5.3 性能
- 10 万帧+ 的 log 文件解析流畅
- 趋势图渲染基于 Swift Charts,原生性能
- 全程离线,数据不出手机
---
5.4 隐私与安全
这一点我特别想强调——**CANviewer 没有任何网络权限**。
- ❌ 不联网
- ❌ 不上传数据
- ❌ 不追踪用户
- ✅ 所有数据纯本地存储
- ✅ DBC 文件(通常含公司机密信号定义)绝不外泄
做汽车电子的都知道,DBC 文件是公司机密。用 CANviewer 你可以完全放心。
---
六、 下载方式
**App Store 搜索「CANviewer」** 即可下载。
> 💡 搜索小技巧:如果直接搜"CANviewer"没找到,试试搜 **"CAN viewer"**(中间加空格)或 **"CAN Log"**
定价:¥28(一杯咖啡的价格)
---
## 适用人群
- 🔧 汽车电子开发工程师(ECU 开发、整车集成、标定)
- 🔍 汽车测试工程师(HIL/SIL/车辆测试)
- 🏭 售后/现场支持工程师(需要快速查看 CAN 数据)
- 🎓 车辆工程/自动化专业学生(学习 CAN 总线)
- 🚜 商用车/工程机械行业从业者
---
七、 后续规划
- [ ] J1939 PGN/SPN 内置解码(商用车工程师福音)
- [ ] 信号搜索与书签
- [ ] iPad 适配(大屏看趋势图更爽)
**欢迎在评论区留下你的需求,优先开发大家最需要的功能!**
---
## 写在最后
做这个 App 的初衷很简单:**自己需要**。
作为一个每天和 CAN 总线打交道的工程师,我受够了"收到一个 log 文件,还得回到电脑前才能看"的体验。CANoe 是强大,但杀鸡不用牛刀——**80% 的场景,你只是想快速看看某个信号的值而已**。
如果你也有同感,试试 CANviewer。如果好用,帮忙分享给同事。如果有 bug 或建议,评论区或私信告诉我。
**独立开发,用爱发电,感谢支持。** 🙏
---
作者:从业5年的汽车电子工程师 兼职 iOS 独立开发者
如有技术交流需求,欢迎评论区留言或私信
