主要内容

使用树莓派CAN块监控引擎转速

本示例展示了如何使用Simulink®支持包用于树莓派硬件来金宝app监控汽车发金宝app动机RPM并在web浏览器上读取数据。

简介

本例中的模型使用CAN Transmit、CAN Receive、Scope和Websocket Publish块。模型中的读取引擎RPM子系统从接收到的数据中提取并验证引擎RPM细节。

先决条件

我们建议填写树莓派硬件的Simulink支持包入门金宝app金宝app的例子。

所需的硬件

要运行这个例子,你必须有以下硬件:

  • 金宝app支持树莓派单板

  • 连接电线

  • OBD(机载诊断)连接器

  • 基于MCP2515的CAN屏蔽

配置CAN硬件

1.将CAN屏蔽连接到树莓派板上。

2.将车载OBD连接器连接到基于MCP2515的CAN屏蔽。有关MCP2515的更多信息,请参见MCP2515

发动机转速监测模型

在本例中,请求首先从CAN Transmit块发送到车辆,以获取发动机RPM细节。车辆响应并将RPM细节发送到CAN接收块。在本例中,模型设置是预先配置的。有关设置或修改CAN属性的信息,请参见树莓派硬件的模型配置Simulink支持金宝app包金宝app

open_system (“raspberrypi_CAN_engine_RPM”);

该模型包含一个Constant块,该块具有预配置的Constant值[2 1 12 0 0 0 0 0]。此值用于发送接收引擎RPM详细信息的请求。

常值向量[2 1 12 0 0 0 0 0]表示一个字节。向量中的每个元素都是一个位,按照表中的描述进行解释。

配置“树莓派硬件IP地址”

1.在Simulin金宝appk模型中,单击建模TAB,然后选择模型设置打开“配置参数”对话框。

2.选择硬件实现窗格中选择树莓派硬件硬件板参数列表。请勿更改其他设置。项下的参数值硬件板设置自动填充到它们的默认值。

3.选择目标硬件资源窗格中,输入树莓派硬件的IP地址设备地址字段。

4.点击好吧

使用CAN传输块发送引擎转速请求

双击CAN Transmit块打开块掩码并设置CAN Transmit块参数,如图所示。这将向引擎发送一个请求,以发送RPM详细信息。请求在消息ID为7DFh的CAN总线上发送到车辆,使用8个数据字节。

  • 数据输入如下:发送消息时使用的数据输入类型。如果需要,您可以更改此值。

  • 标识符类型:消息标识符类型。使用标准(11位标识符)类型。

  • 消息ID:消息标识符的值。将值指定为hex2dec (7 df)

  • 消息长度:消息长度,以字节为单位。将值指定为8

在CAN接收块中接收引擎转速信息

车辆响应CAN总线上的请求,消息ID为7E8h。CAN Receive块接收引擎的RPM细节。

hex2dec (7 df)接收到的消息及其用法如表所示。

Scope块显示从目标硬件接收到的数据。读取引擎RPM子系统从接收到的数据中提取并验证引擎RPM细节。

部署Simul金宝appink模型

硬件选项卡中的Simuli金宝appnk模型模式部分中,选择在船上跑然后点击构建、部署和启动在树莓派板上部署和运行Simulink模型。金宝app

在Web页面上发布引擎RPM详情

Websocket Publish块用于在web页面上发布引擎RPM的详细信息。您可以通过计算机或移动设备上的web页面查看引擎转速的详细信息。当需要在web界面上发布引擎的RPM详情时,可以根据实际情况设置相应的块参数。IP地址需要与“配置参数”对话框中设置的树莓派硬件IP地址保持一致。有关更多信息,请参见中“将数据从树莓派Sense HAT发布到Websocket服务器”将树莓派Sense HAT中的数据发布到WebSocket服务器

其他可以尝试的事情