主要内容

在Rapsberry Pi硬件上运行Linux Shell命令

此示例显示了如何在RaspberryPI®硬件上运行Linux®shell命令。

介绍

树莓派硬件运行Linux发行版作为操作系统。使用Simulink支持包中的实用工具,您可以直接从MATLA金宝appB®命令金宝app行远程执行树莓派硬件上的Linux shell命令。例如,你可以运行和停止一个Simulink®模型,列出一个目录的内容,查金宝app找运行在Raspberry Pi硬件上的进程的CPU负载,等等。您还可以直接从MATLAB中启动一个交互式SSH会话。

先决条件

创建通信对象

金宝app用于覆盆金宝app子PI硬件的Simulink支持包使用TCP / IP上的SSH连接,以远程执行Linux shell命令,同时构建并在Raspberry PI硬件上运行Simulink模型。您可以使用为此目的开发的基础架构与Raspberry PI硬件通信。

在MATLAB命令行中执行以下命令,创建一个raspberrypi对象:

r = raspbertypi.

Raspbertypi.函数返回树莓派硬件的连接对象r硬件设置屏幕上。用于构造raspberrypi对象的主机名、用户名和密码是这些参数的默认MATLAB会话值。金宝appSimu金宝applink Support Package for Raspberry Pi Hardware为树莓派硬件保存了一组通信参数,即主机名、用户名和密码,作为MATLAB默认会话值。注意,通信参数的默认MATLAB会话值首先在固件更新过程中确定。通信参数随后可以使用Tools > Run on Target Hardware > Options…Simulink金宝app模型中的UI并粘稠,这意味着一旦更改通信参数值,它们被保存为默认Matlab会话值,并且用于所有Simulink模型。

当创建raspberrypi对象时,可以显式指定主机名或IP地址、用户名和密码:

r = raspberrypi('<主机名或IP地址>','<用户名>','<密码>');

上面的命令显示了如何指定主机名,用户名和密码。如果您在网络中有多个Raspberry PI硬件,您可能希望在您想要同时连接的多个Raspberry PI硬件。

笔记:在连接失败的情况下,在MATLAB命令行上报告了诊断错误消息。如果连接失败,则最可能的原因是IP地址或主机名不正确。

在raspberry pi上执行系统命令

您可以使用RaspBerryPI对象的系统方法从Matlab执行raspberry PI硬件上的各种Linux shell命令。尝试拍摄目录列表。

系统(r, ls过程~)

该语句执行一个目录列表shell命令,并在MATLAB命令提示符处返回结果文本输出。您可以将结果存储在MATLAB变量中以执行进一步处理。确定谁是/home/pi下的.profile文件的所有者。

输出=系统(r,'ls -al / home / pi');RET = REGEXP(输出,'\ s + [\ w  - ] + \ s + \ d \ s +(\ w +)\ s +。+ \。配置文件\ s +','令牌');ret {1}

您也可以使用单个shell命令实现相同的结果。

系统(r,'stat -format =“%u”/ home/pi/.profile')

使用System命令闪烁用户LED。

系统(R,'回声“无”| SUDO TEE / SYS / Class / LED / LED0 /触发器);系统(R,'回声0 | SUDO TEE / SYS / Class / LED / LED0 /亮度');系统(R,'回声1 | SUDO TEE / SYS / Class / LED / LED0 /亮度');

默认情况下,用户LED是有线触发SD卡活动的触发。LED重新连接到没有触发器,可以手动启用设置LED状态。您可以将LED返回到原始状态。

系统(r,'echo "mmc0" | sudo tee /sys/class/leds/led0/trigger');

不能使用system()方法执行交互式系统命令。要在树莓派硬件上执行交互命令,必须打开终端会话。

OpenShell(r)

此命令将打开一个腻子终端,可以执行“顶部”的交互式shell命令。

运行并停止Simulink金宝app模型

金宝app用于覆盆金宝app子PI硬件的Simulink支持包为您在Raspberry PI硬件上运行的每个Simulink模型生成Linux可执行文件。生成的可执行文件与Simulink模型具有相同的名称,并保存在Raspberry PI硬件上。金宝app要运行/停止Simulink金宝app模型,可以使用RaspBerryPI对象的runmodel和stopModel方法。

1.要运行先前在Rasp金宝appberry PI硬件上运行的Simulink模型,请在MATLAB命令行上执行以下命令:

runModel (r,“<模型名称>”)

字符串'<型号名称>'是您要在Raspberry PI硬件上运行的Simulink模型的名称。金宝apprunmodel方法启动与您指定的Simulink模型对应的可执行文件。金宝app

2.要停止在Raspber金宝appry PI硬件上运行的Simulink模型,请在MATLAB命令行上执行以下命令:

stopmodel(r,'')

此命令用raspberry pi硬件上的名称' .elf'杀死Linux进程。或者,您可以执行以下命令来停止模型:

系统(r,'sudokarlall  .elf')

操纵文件

RaspberryPI对象提供基本文件操作功能。要将文件转移到Raspberry PI硬件到主计算机中,您可以使用GetFile()方法。

getFile (r,“/ usr / share /象素映射/ debian-logo.png”);

然后,您可以在MATLAB中读取PNG文件:

img = imread('debian-logo.png');图像(IMG);

getFile()方法接受第二个可选参数,允许您定义文件目标。要将主机上的文件传输到树莓派硬件,可以使用putFile()方法。

putFile (r,“debian-logo.png”、“/ home /π/ debian-logo.png.copy”);

确保那个文件被复制了。

系统(r,'ls -l / home/pi/debian-logo.png.copy')

您可以使用deletefile()命令删除Raspberry PI硬件上的文件。

deletefile(r,'/ home / pi / debian-logo.png.copy');

确保该文件已被删除。

系统(r,'ls -l / home/pi/debian-logo.png.copy')

前面的命令应导致错误指示找不到文件。