今天我们将讨论如何使用基于Web的Sense HAT模拟器!我们首先了解一下Sense HAT模拟器的Web版本和桌面版本。
浏览器版 Sense HAT 模拟器
首发版本是模拟器的浏览器版。Raspberry Pi官方网站表示,该模拟器适用于拥有Raspberry Pi但是没有Sense HAT的人。因此,即使您没有物理Sense HAT,也可以使用模拟器进行测试和运行。
图1显示了仿真器的初始界面。该界面同样出现在了Raspberry Pi 官方网站博客中。
代码示例
from sense_hat import SenseHat
sense = SenseHat()
red = (255, 0, 0)
sense.show_message("How cool is this, text_colour = red)
上面的5行代码将以红色显示“How cool is this?”(这有多酷?)的消息,如下面的视频所示。LED显示屏详情请参考文章用于Raspberry Pi的Sense HAT扩展板——操作LED显示屏,包括show_message函数。
此界面是一个编辑器,因此您还可以编辑其他程序。
在视频中,默认文本颜色为红色。第二次,我在编辑器中编辑源代码,将颜色更改为蓝色,现在文本显示为蓝色。
要运行程序,请单击上面菜单栏中的执行(“查看结果”)按钮。然后,系统会生成一个连至Sense HAT的虚拟Raspberry Pi屏幕,并显示该程序的内容。
要返回代码编辑器屏幕,请单击执行(play)按钮左侧的笔图标。
您还可以调整上方的滑块以更改模拟温度、压力和湿度传感器的数值。
还有一个按钮可以调整主体的方向。您可以用键盘上的箭头键和输入键操作操纵杆。
操纵杆输入仅在程序执行期间可用。否则,您只会看到浏览器页面上下滚动…
模拟器的浏览器版本似乎与Firefox不太兼容;处理速度很慢,还经常卡死。推荐您使用Google Chrome浏览器!
桌面版Sense HAT模拟器
“桌面版Sense HAT模拟器”是在Raspbian中使用的模拟器。除了桌面版Sense HAT模拟器,官方Raspberry Pi博客还发布了一个专门的文档页面:
用 “apt-get” 命令执行安装很简单。执行通常的 “update” 命令后,请安装以下软件包。
sudo apt-get update
sudo apt-get install python-sense-emu python3-sense-emu python-sense-emu-doc sense-emu-tools -y
安装完成后,您可以立即使用模拟器,无需重新启动电脑。
当我查看桌面菜单时……
“Sense HAT Emulator” 已添加到了 “Programing”(编程)中!
请注意,该模拟器与远程桌面连接等外部操作不兼容。
这是初始界面(图4)。与Web版仿真器的最大区别在于,在桌面版中您可以手动设置 “Yaw”、“Pitch” 和 “Roll”。
桌面版模拟器还提供了操纵杆按钮。
单击底部的箭头按钮以翻转Raspberry Pi。屏幕上会显示 “Yaw”、“Pitch” 和 “Roll” 的方向,便于观察。
现在,我们来测试一些示例程序!
从右上角的菜单中点击 [File] → [Open example] → [Simple] → [humidity.py] 。
IDLE 3 启动并显示了示例代码!
运行程序的方法如下:点击菜单栏上的 [Run] → [Run Module] ,或者按键盘上的 [F5] 。
如果上下移动“湿度”条,LED矩阵的绿色区域会相应地增大或减小。
在实际环境中,很难将传感器获取的值(比如温度、湿度和大气压力)设置为任意值,因此该仿真器非常方便。
不仅适用于编程,也适用于调试。
桌面版Sense HAT模拟器的源代码
为了在Sense HAT自身上运行该程序,我们需要修改一些源代码。
像往常一样在IDLE中编写代码;您还可以从模拟器的内置菜单中打开多个示例程序。如果您想将代码移植到物理Sense HAT中,那么只需在程序顶部将
sense_emu
改为
sense_hat
即可。如果您想将物理Sense HAT程序——我们的教育资源之一——移植到模拟器中,请反转该修改;Web版模拟器中不需要此步骤。
最基本地,我们需要将 “sense_emu” 改为 “sense_hat“。
考虑到这一点,让我们仔细看看之前的程序。
代码示例
from sense_emu import SenseHat
sense = SenseHat()
green = (0, 255, 0)
white = (255, 255, 255)
while True:
humidity = sense.humidity
humidity_value = 64 * humidity / 100
pixels = [green if i < humidity_value else white for i in range(64)]
sense.set_pixels(pixels)
“sense_emu” 出现在程序的调用部分(第1行)。移动Sense HAT主单元时,浏览器版本使用 “sense_hat”,桌面版本使用 “sense_emu”。由于桌面版模拟器使用IDLE运行程序,因此您需要选择是移动Sense HAT本身还是启动模拟器。
带有编辑器的基于Web的模拟器对于那些想立即开始使用Sense HAT的人来说是一个完美的工具。该模拟器非常适合程序检查和编程练习。此外,浏览器版模拟器的最大优点就是您可以在没有物理Raspberry Pi设备的情况下进行测试和运行。如果您连接了互联网,那么您可以随时随地使用Sense HAT!
对于那些使用实际Raspberry Pi设备的用户,建议使用具有更多功能的桌面模拟器。您可以通过更改源代码轻松地使用桌面模拟器测试您的程序(即把 sense_emu 改为 sense_hat)。