此示例显示了如何在RaspberryPI®硬件上运行Linux®shell命令。
树莓派硬件运行Linux发行版作为操作系统。使用Simulink支持包中的实用工具,您可以直接从MATLA金宝appB®命令金宝app行远程执行树莓派硬件上的Linux shell命令。例如,你可以运行和停止一个Simulink®模型,列出一个目录的内容,查金宝app找运行在Raspberry Pi硬件上的进程的CPU负载,等等。您还可以直接从MATLAB中启动一个交互式SSH会话。
我们建议完成入门Simulink支持包的树莓派硬件金宝app金宝app的例子。
金宝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地址或主机名不正确。
您可以使用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命令。
金宝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硬件上的名称'
系统(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')
前面的命令应导致错误指示找不到文件。