通过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矩阵的颜色。