汽车行业正在迅速演进。20年前,一辆普通汽车大约包含100万行代码——如今,这一数字约为1亿。如今,“车内体验”这一术语,与其说仅指车辆实际驾驶感受,不如说同样关乎汽车的信息娱乐系统。
事实上,研究甚至表明,驾驶员希望汽车提供与其智能手机相同的娱乐和通信功能。对UX设计师而言,结论很明确:优化车内体验如今既是数字化工作,也是实体设计工作。
因此,汽车设计师在设计车内体验时需要将真实的实时车辆数据作为输入。这不是“有更好”,而是必需。这就是我们创建汽车解决方案的原因。
ProtoPie 如何帮助汽车公司使用车内实时数据
我们的汽车解决方案让汽车公司能够在多个显示屏上构建并测试其原型,同时可与任何硬件和 API 集成。
潜在用例非常广泛,客户使用我们的汽车解决方案所创造的成果也持续让我们惊喜。我们一位德国客户最近向我们展示了他们如何使用 ProtoPie 测试全新的交互设计概念,这些概念与真实汽车集成,并使用来自这些车辆的实时数据。
遗憾的是,出于保密原因,我们无法公开分享这个具体用例——但我们做了次优选择。我决定亲自接受这一挑战,创建一个通用示例,展示如何像下方视频那样利用汽车的实时数据来测试交互设计概念。
此演示展示了数字仪表盘原型如何接收并使用来自汽车的真实数据,以测试其提供的车内体验。不过,这只是我们汽车解决方案能力的冰山一角。汽车的每一个组件都在持续发送和接收信号——而作为一个并非汽车行业从业者的人,我一开始几乎不知道该从何入手。
但在我进一步研究后,我发现了一种叫做 OBD 的东西。
什么是 OBD?它如何被用于设计和测试这一车内体验?
OBD,即车载诊断(On-Board Diagnostics),是一种基于计算机的系统,用于跟踪汽车各个车辆子系统的状态。它可用于排查汽车性能方面的任何问题,因此它本质上就是车辆内置的自诊断系统。
我利用自己车上的 OBD 来接收来自汽车的实时数据/信号。虽然还有其他 OBD 系统,但对于几乎所有新车(包括我的车)来说,OBD2 是最常见的一种。
你可以从 OBD2 获取哪些类型的数据?
你只需查看 OBD2 PID(车载诊断参数 ID)即可了解——这些基本上是用于向车辆请求数据的代码。下面是一些示例,或者如果你想查看更全面的列表,也可以访问这个链接。

如何访问这些数据?
要接入 OBD 数据,你首先需要一个OBD 扫描仪。我购买了一款名为OBDLink MX+的蓝牙 OBD 扫描仪,用于接收来自汽车本身的实时信号。安装非常简单——你只需将扫描仪插入 OBD2 端口。随后它会通过蓝牙连接将信号广播到你的笔记本电脑。

OBDLink MX+ 来源:
我如何使用 OBD2 和 OBD2 扫描仪数据测试我的设计
要在你自己的设计中测试这些数据,你首先需要ProtoPie Connect和一个Bridge 应用,以便将设计或原型与 OBD2 扫描仪连接起来。ProtoPie Connect 将你的原型(本例中是 iPad 上的仪表盘)与 OBD2 扫描仪连接起来。但要与 ProtoPie Connect 通信,你需要支持 Socket.IO——这就是 Bridge 应用发挥作用的地方。
点击此链接查看我专门为 OBD2 扫描仪创建的 Bridge 应用。你也可以自行修改 Bridge 应用代码,使其适配你想连接的任何硬件。下图展示了该过程如何工作。

因此,包含汽车和 OBD 扫描仪在内的整体四步流程如下:

汽车通过 OBD2 端口向 OBD 扫描仪发送各种信号。

OBD 扫描仪将这些信号传送到运行ProtoPie Connect的笔记本电脑。

随后你需要一个 Bridge 应用来解析 OBD 信号,并确保 ProtoPie Connect 能理解它们。
ProtoPie Player 通过无线连接与笔记本电脑配对。在此演示中,我通过 iPhone 共享网络,将 MacBook(ProtoPie Connect)连接到 iPad(ProtoPie Player)。
这个原型是如何创建的?
现在我们已经介绍了整体设置的一些基础内容,接下来让我们深入原型本身的细节。
简单来说,我想创建一个会根据车速旋转的仪表指针。
当汽车行驶时,它会通过 OBD2 端口发送一系列持续变化的数字,从 0 到 255(不过超级跑车可能会有更高数值)。随后 Bridge 应用会解析这些信号,让 ProtoPie Connect 能够理解,再将其广播到 ProtoPie Player。

ProtoPie Connect 正在接收车辆速度的数值。
如上所示,ProtoPie Connect 正在接收一个名为“OD”的消息,其数值范围为 0 到 255。Bridge 应用能够解析从 OBD 表中提取的 XX 信号,如有需要,你也可以编辑该应用以获取更多信号。很好!现在,让我们确保 Pie 文件(原型)能够理解这些信号,以便在交互中加以利用。

在 Receive Trigger 上将数值赋给变量
添加 Receive Trigger 后,你需要在 Message 字段中输入“OD”,并勾选“Assign to Variable(赋值给变量)”选项。选择你先前创建的一个变量来接收这些数值。

在 Rotate Response 上使用该变量
最后,在 Rotate Response 部分的“Rotate To”选项中使用该变量来旋转仪表指针。现在你已经全部设置完成!在这个原型中,信号以单向方式从真实汽车流向 ProtoPie Player。
访问 Tony 的原型并亲自试一试。
为连续或反向动态环境制作原型
不确定如何发送动态数值?别担心——让我们深入看看如何使用Bridge 功能创建涉及多设备的交互。
其实非常简单。Send response 和 Receive trigger 可以通过发送和接收消息彼此通信。因此,如果你想发送动态数值,可以勾选“Send Value Together”选项。
就是这样!

用于发送动态数值的“Send Value Together”选项
汽车原型设计的未来
汽车设计师能够使用真实车辆数据来测试其设计至关重要。借助 ProtoPie,这一过程已被简化并变得易于访问。它使你能够通过与真实车辆集成来测试设计——这意味着可直接使用来自 CAN/LIN 总线或 OBD 的车内数据进行原型设计。现在,你可以利用仪表盘、车灯、扬声器、显示屏等实现更全面的汽车原型设计能力。
如果你对我们的汽车解决方案感兴趣,或希望预约演示,请随时联系我们。




