主要内容

发送和接收串行数据使用PX4蒙支持包万博1manbetx

这个例子展示了如何使用无人机的工具箱支持包PX4蒙来发送和接收串行数据和一系列Pix万博1manbetxhawk飞行控制器。

这个例子使用一个简单的协议发送数据请求从主机到Pixhawk系列飞行控制器,并从飞行控制器接收请求的数据。

介绍

无人机工具箱支持包PX4蒙包含一万博1manbetx个串行接收和一个串行传输块,帮助你接收和发送通过UART串行数据或USART港口Pixhawk系列飞行控制器。

查看模块,输入px4lib在MATLAB提示。

px4lib;

在这个例子中,我们使用预先配置的PX4串行传输和接收模式(px4demo_serial),以及一个自定义脚本getAccelerometerData.m发送和接收串行数据从主机电脑。这个模型使用串行传输和串行接收块交换数据。

  • PX4串行传输和接收模式:在这个模型中,Pixhawk系列飞行控制器将加速度计数据发送到主机使用串行USB电缆。发送的数据只有在收到来自主机的请求(运行自定义脚本,getAccelerometerData.m)。

open_system (“px4demo_serial”);

  • getAccelerometerData.m: Using this script, the host computer requests the Pixhawk Series flight controller to send its accelerometer data, and it displays the accelerometer values upon receiving them. Run the following command in MATLAB to open the file:

编辑(fullfile (codertarget.pixhawk.internal.getSpPkgRootDir px4examples, getAccelerometerData.m)

在这个例子中,您将学习如何:

  • 创建和部署一个仿真软件模型,可以发送和接万博1manbetx收串行数据。

  • 创建一个简单的串行数据交换协议。

先决条件

所需的硬件

要运行这个示例,您将需要以下硬件:

  • Pixhawk系列飞行控制器

  • 微型USB b型电缆

  • 微型sd卡插槽(已经在使用最初的硬件设置)

任务1 - Pixhawk硬件配置模型

1。你的Pixhawk板连接到主机使用USB电缆。

2。打开PX4串行传输和接收模式(px4demo_serial)。该模型配置为使用PX4 Pixhawk系列。

3所示。建模选项卡上,单击模型设置

4所示。在配置参数对话框中,导航到硬件实现面板:

  • 设置硬件板期间您选择同一Pixhawk系列控制器硬件设置屏幕。

  • 目标硬件资源节中,打开构建选项面板,输入的串行端口的主机Pixhawk系列飞行控制器连接串口的固件上传字段。

5。从组列表在目标硬件资源,选择/dev/ttyACM0.

6。知道在黑板上提到的串行端口之间的映射,点击查看端口地图。

7所示。设置波特率115200年奇偶校验,没有一个和停止位1

8。点击应用,然后好吧关闭对话框。

任务2 -配置块的仿真软件模型万博1manbetx

在仿真软件模型万博1manbetx中,双击下面的块和验证指定的参数值是相同的,如下所示:

  • 串行接收块在主模型

  • 头块(常数)块发送头子系统

  • 串行传输块的发头子系统

*串行传输块发送Accel数据子系统

请注意:标题(常数块发送消息头内部子系统)必须设置5 [5]uint8数据类型。这是因为getAccelerometerData。m脚本,它接收来自PX4串行传输和接收的数据模型,预计的头5 [5]

请注意:样品时间参数中指定的标题(常数块发送消息头内部子系统)和PX4加速度计块(在发送Accel数据子系统)必须设置1

理解的协议

这个模型使用一个简单的协议的硬件和主机之间交换数据。

getAccelerometerData。米在MATLAB脚本发送一个请求到Pixhawk系列飞行控制器。请求数据从主机发送的形式HEADER_HOST + DATA_REQUEST。

PX4串行传输和接收模型运行在Pixhawk硬件接收以上数据并解析它的DATA_REQUEST剥离HEADER_HOST。在验证该请求是真诚的,Pixhawk硬件发送加速度计数据的形式HEADER_PIXHAWK + ACCEL_DATA回主机。

getAccelerometerData。米在MATLAB上执行接收数据并解析它的ACCEL_DATA剥离HEADER_PIXHAWK。

任务3 -部署模型在MATLAB中硬件和加速度计值

1。打开PX4串行传输和接收模式。

2。硬件选项卡,模式部分中,选择机上运行然后点击构建、部署和启动

模型窗口的左下角显示了模型准备状态,下载和运行模型的硬件。万博1manbetx

3所示。打开getAccelerometerData.m在MATLAB。确保第14行中定义的一致是一样的你输入的串行端口构建选项窗格(配置参数对话框),如任务1中所述,步骤4以上。

4所示。执行getAccelerometerData。在MATLAB脚本视图加速度计值。例如,加速度计值可能看起来像下面的:

加速度计数据(x y | | z)在m / s ^ 2: 0.12 | 0.03 | 9.74

5。变化的方向Pixhawk硬件板和重复步骤4看到更新后的加速度计值。

其他的事情努力

  • 增强的例子使用Header-Terminator协议Pixhawk硬件和主机之间交换数据。

  • 配置PX4串行传输和接收模型交换数据比其他Pixhawk系列控制器的串行端口。

  • 创建一个仿真软件模万博1manbetx型,使用串行接收和串行发送块从仪器控制工具箱到主机之间串行数据交换和Pixhawk系列飞行控制器。