如何创建与帧缓冲区对话的Ruby应用程序?

Dav*_*d C 8 ruby pygame raspberry-pi

我有一个Raspberry PiTFT 7"触摸屏显示器,我想创建一个简单的应用程序来显示和输出系统数据(即CPU使用率,温度等).

我注意到当前实现这个的常用方法是使用pygame库输出到显示连接到的framebuffer/dev/fb1.

我想执行相同的操作,但使用Ruby,因为我更熟悉该语言.

有人能指出我正确的方向,我该如何开始?

我看过rubygame和gosu库,他们似乎能够做我想做的事情,就是绘制一个屏幕,但是我无法找到任何关于如何将输出定向到帧缓冲本身的信息.

Chr*_*ele 1

ruby corelib 有一个IO类,您应该能够使用它来将输出直接输出到帧缓冲区,例如:

device = IO.sysopen '/dev/fb1'
buffer = IO.new device, 'a'
buffer.puts "Your usecase."
Run Code Online (Sandbox Code Playgroud)

您可以使用相同的模式与许多特殊/dev文件进行交互,例如写入/dev/null或读取/dev/random(尽管这两种模式已经通过File::NULL和进行了更好的抽象Random)。