主要内容

通过WebSockets控制树莓派Sense HAT上LED矩阵的颜色

这个例子展示了如何使用Simulink®支持包为树莓派™硬件从web万博1manbetx万博1manbetx页面通过WebSockets控制树莓派Sense HAT上8x8 LED矩阵的颜色。

本例提供了一个可随时使用的网页,该网页旨在将像素值发送到本例中使用的Simulink模型。万博1manbetx当您在浏览器中加载网页时,您将看到三个水平滚动条来控制Sense HAT LED矩阵的颜色。浏览器中运行的JavaScript代码在网页和树莓派之间建立WebSocket连接。当鼠标拖动滚动条上的拇指时,运行在浏览器上的客户端应用程序将RGB(红、绿、蓝)像素值发送给运行在树莓派上的服务器应用程序。然后,树莓派硬件处理指令,设置Sense HAT上LED矩阵的RGB值。

所需的硬件

  • 树莓派硬件

  • 树莓派Sense HAT

  • Micro USB数据线

先决条件

配置树莓派网络硬件设置屏幕上。

步骤1:将树莓派硬件连接到Sense HAT和计算机

提示:在开始此示例之前,我们建议您完成树莓派硬件的Simulink支持包入门万博1manbetx万博1manbetx而且将树莓派Sense HAT中的数据发布到WebSocket服务器的例子。

1.将Sense HAT模块插入树莓派硬件的GPIO引脚。

2.将USB数据线的micro端连接到树莓派,USB数据线的普通USB端连接到计算机。等待硬件上的PWR指示灯开始闪烁。

步骤2:打开并配置WebSocket订阅Simulink模型万博1manbetx

打开树莓派仪表盘监视器和调优模型。

open_system (“raspberrypi_dashboard_monitorandtune”);

该模型根据每个区域中块的功能分为两个区域。

  • 发布数据到WebSocket客户端:这个模型展示了如何通过WebSockets将数据从树莓派发布到网页上。当您在浏览器中加载网页时,您将在页面上看到三个仪表板-IMU传感器温度、压力和湿度,操纵杆的反应.浏览器中运行的JavaScript代码在网页和树莓派之间建立WebSocket连接。部署此模型时,运行在树莓派上的服务器应用程序将Sense HAT传感器数据和操纵杆状态发布到运行在浏览器上的客户端应用程序。改变Sense HAT传感器的方向或按不同方向的操纵杆,可以立即在网页上看到新的数值。有关该模型的更多信息,请参见将树莓派Sense HAT中的数据发布到WebSocket服务器

  • 向Websocket客户端订阅数据:这个模型展示了如何通过WebSockets从web页面订阅数据。在这个模型中,WebSocket订阅block被配置为从web浏览器接收RGB值。Websocket订阅块的输出连接到一个子系统。在接收到有效输入时,子系统将RGB值转换为8x8矩阵,然后将值提供给颜色显示块。

步骤3:配置并运行Simulink模型万博1manbetx

1.修改服务器IP地址而且服务器端口参数说明WebSocket发布而且WebSocket订阅块。

  • 服务器IP地址:树莓派硬件的地址。本例中配置的IP地址为私网IP地址,用于在私网中访问服务器。

  • 服务器端口:运行在树莓派硬件上的服务器应用程序的端口号。客户端从服务器上的这个端口发布或订阅数据。

2.硬件选项卡中的Simuli万博1manbetxnk模型模式部分中,选择在船上跑然后点击构建、部署和启动

部署的模型开始从浏览器上运行的客户端应用程序接收像素值。

步骤4:从WebSocket客户端控制像素值

这个例子提供了一个现成的、基于javascript的web浏览器仪表板,树莓派Sense HAT仪表盘.此网页旨在向Simulink模型发送像素值。万博1manbetx当你加载浏览器时,这个仪表板会在网页和树莓派之间建立WebSocket连接。

要在默认web浏览器中打开仪表板,请在MATLAB®命令窗口中输入以下命令:

网络(“Raspi_SenseHATDashControl.html”“浏览器”

提示: web浏览器仪表板最好在谷歌Chrome®或Firefox®浏览器中查看。

仪表板使用JavaScript预配置,将JSON数据发送到运行在树莓派硬件上的服务器应用程序,使用IP地址192.168.0.100和端口9000(在步骤3中配置为WebSocket服务器IP地址和端口)。您可以修改JavaScript代码来指定树莓派硬件的IP地址和端口号。按F12查看HTML页面的源代码,该页面解释了如何使用JavaScript构建仪表板。

当模型在硬件上运行时,在页面上拖动滚动条的拇指。当你拖动滚动条时,像素值会传递给硬件上运行的服务器应用程序,从而改变树莓派Sense HAT上LED矩阵的颜色。

另请参阅

将树莓派Sense HAT中的数据发布到WebSocket服务器