主要内容

开始使用MATLAB为覆盆子π硬件支持包万博1manbetx

这个例子展示了如何使用MATLAB®支持包树莓π™硬件上执行基本操作硬件如执行shell命令万博1manbetx,打开或关闭车载领导和操作文件。

介绍

MATLAB支持包树莓万博1manbetxπ远程硬件使您与覆盆子π通信硬件从计算机MATLAB运行。支持包包万博1manbetx括一个MATLAB命令行接口来访问覆盆子π硬件I / O设备和通讯接口。使用此命令行接口,您可以收集数据从传感器连接到覆盆子连接覆盆子ππ硬件和驱动设备硬件。

在本例中您将了解如何创建一个raspi对象连接到覆盆子π硬件在MATLAB。你检查这个对象的属性和方法,了解基本的外围设备,如数字I / O状态针(也称为GPIO), SPI, I2C串行。使用这个对象,你执行shell命令覆盆子莓ππ硬件和操作文件的硬件。

先决条件

  • 你必须完成固件更新覆盆子π硬件能够使用MATLAB接口覆盆子π硬件。MATLAB与覆盆子π通信硬件通过连接到一个服务器上运行覆盆子π。这个服务器是附带的固件支持包。万博1manbetx更新的覆盆子π固件,遵循所描述的步骤硬件设置

所需的硬件

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

  • 覆盆子π硬件

  • 电源至少1输出

创建一个raspi对象

创建一个raspi对象。

零售物价指数= raspi ();

零售物价指数是一个raspi对象的句柄。在创建零售价格指数(rpi)对象,MATLAB连接到一个服务器上运行的覆盆子π硬件通过TCP / IP。

请注意:如果你遇到错误运行上面的命令后,尝试使用附加参数(如中列出raspi)或指排除覆盆子π硬件连接问题

raspi对象的属性显示信息树莓π硬件和可用的一些硬件外围设备的状态。数字IP地址或主机名的覆盆子π硬件和用于TCP / IP通信的端口显示在DeviceAddress和端口属性。raspi对象检测模型和版本号BoardName董事会并显示它的属性。的线图和可用的外围设备改变模型和版本的覆盆子π硬件。

的AvailableLEDs属性raspi对象列表用户可控发光二极管。您可以打开或关闭一个用户使用writeLED方法。

AvailableDigitalPins、AvailableI2CBuses AvailableSPIChannels raspi对象的属性指示针,您可以使用数字I / O, I2C总线和SPI频道,可以用来与传感器和致动器支持I2C和SPI通信协议。万博1manbetx这不是一个问题如果没有AvailableSPIChannels上市。Raspbian Linux映像附带MATLAB不启用SPI外围为您提供更多的通用数字I / O管脚。你可以启用和禁用I2C和SPI外围设备来满足您的需求由Linux®内核模块负责装卸这些外围设备。

打开和关闭一个LED

覆盆子π硬件上有领导的一个用户,您可以打开或关闭,执行以下命令在MATLAB提示关掉了,然后再打开它。

领导= rpi.AvailableLEDs {1};writeLED(零售物价指数,领导,0);writeLED(零售物价指数,1);

虽然执行前面的命令,遵守“行动”(或“OK”)领导的覆盆子π硬件和视觉确认操作。如果你不确定用户领导的位置,执行下面的命令。

showLEDs (rpi);

你可以使LED闪烁在一个循环一段时间的1秒。

i = 1:10 writeLED(零售物价指数,领导,0);暂停(0.5);writeLED(零售物价指数,1);暂停(0.5);结束

执行系统命令

raspi对象有很多方法,允许您执行系统命令覆盆子π硬件在MATLAB。你能完成很多通过执行系统命令在你的树莓π硬件。系统功能有限的MATLAB®在线™。

试着采取一个目录列表。

系统(零售物价指数,“ls的推拿/home/pi”)

这条语句执行一个Linux目录清单命令并返回产生的文本输出在MATLAB命令提示符。你可以将结果存储在一个MATLAB变量进行进一步的处理。建立. profile文件的所有者是谁/home/pi.之下

输出=系统(零售物价指数,“ls的推拿/home/pi”);ret = regexp(输出,' \ s + (\ w -) + \ s + \ d \ s + (\ w +) \ s + + \ . profile \ s + '。,“令牌”);ret {1}

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

系统(零售物价指数,“统计——格式=“% U”/home/pi/.profile ')

使用系统命令执行了这次运动。用户了,默认情况下,配置为基于SD卡活动改变其状态。然而,你可以重新配置导致改变其状态根据应用程序的要求。手动控制LED,设置系统命令没有一个:

系统(零售物价指数,“回声”没有“| sudo三通/ sys /类/ led / led0 /触发的);

0和1的系统命令相当于writeLED领导的方法与参数0和1的状态。

系统(零售物价指数,'回声0 | sudo三通/ sys /类/ led / led0 /亮度的);系统(零售物价指数,“回声1 | sudo三通/ sys /类/ led / led0 /亮度的);

你可以设置LED回到原来的状态跟踪SD卡活动通过执行这个命令:

系统(零售物价指数,的回声“mmc0”| sudo三通/ sys /类/ led / led0 /触发的);

你不能执行交互系统命令使用系统()方法。覆盆子π硬件上执行交互式命令,你必须打开终端会话。

openShell (rpi)

该命令打开一个腻子终端。你的用户名和密码登录。默认的用户名是“π”,默认密码是“树莓”。在登录之后,您可以执行交互式shell命令像“顶级”。

openShell函数不支持在网上MATLAB。万博1manbetx通过SSH访问远程命令shell腻子,所述远程访问

操作文件

raspi对象提供了基本的文件操作功能。覆盆子π硬件上传输一个文件到你的主机使用getFile()方法。

getFile(零售物价指数,“/ usr / share /象素映射/ debian-logo.png”);

你可以阅读MATLAB的PNG文件:

img = imread (“debian-logo.png”);图像(img);

getFile()方法接受一个可选的第二个参数允许您定义文件的目的地。传输一个文件在你的主机覆盆子π硬件,您使用putFile()方法。这个方法不支持在网上MATLAB。万博1manbetx

putFile(零售物价指数,“debian-logo.png”,“/ home /π/ debian-logo.png.copy”);

确保文件复制。

系统(零售物价指数,“ls - l /home/pi/debian-logo.png.copy”)

你可以删除文件树莓π硬件使用deleteFile()命令。

deleteFile(零售物价指数,“/ home /π/ debian-logo.png.copy”);

确保文件删除。

系统(零售物价指数,“ls - l /home/pi/debian-logo.png.copy”)

前面的命令会导致一个错误表明文件无法找到。

总结

这个示例介绍了使用MATLAB的工作流支持包树莓π硬件。万博1manbetx使用的覆盆子π支持包,您将用户领导,执行系统命万博1manbetx令和操作文件树莓π硬件。

另请参阅

视频系列:覆盆子π对MATLAB的支万博1manbetx持