为 raspbery pi 4 创建 RESTful 服务器以显示图像



我有一个任务,目前完全不知道该怎么做。

我看了几个关于 REST API 的教程,但没有一个适用于我的应用程序。我不打算使用本地主机,但如果需要,那么肯定。

这个任务是什么?

所以有两个部分。

  1. 电脑(客户端)
  2. 树莓派 4 (服务器)

顺序如下:

PC是客户端,并向服务器(即Raspberry Pi 4)发送请求以显示图像,例如image1.jpg。rpi4 通过 HDMI 连接到外部显示器。

服务器/树莓派 4 收到请求并打开image1.jpg然后全屏显示在屏幕上,通过 HDMI 显示在屏幕上。

也许有一个比使用 RESTful API 更好的解决方案来解决这个问题。如果有,请给我建议。

这有 3 个部分:

  • 捕获图像
  • 显示图像
  • 告诉拉斯皮做以上两件事

为了捕获图像,您可以在较新版本的Raspberry Pi OS中使用raspistill或libcamera实用程序。

如果您不使用相机拍摄照片,则可能必须从PC提供它们。因此,您可以使用scp从PC对面复制一个:

scp SOMEIMAGE.JPG raspberrypi:image.jpg

或者,您可以使用Windows SHARE在PC和RasPi之间共享目录。在Windows中,您可以使用"共享文件夹"选项,在RasPi上,您可以使用smbclientcifs-utils来挂载它。这里的例子。


要显示图像,请使用raspistill内置选项,或者使用fbifimfeh,具体取决于事物的连接方式以及您是否正在运行 X11 服务器。


为了告诉RasPi执行上述操作,只需像这样使用ssh(或Windows上的Putty):

ssh user@raspberrypi 'raspistill ... -o /tmp/image.jpg; fim /tmp/image.jpg'

请注意,RasPi 实现了avahi,因此如果您的 Raspberry Pi 的主机名设置为simon,您应该能够以网络上的名称simon.local与它通信,因此上面的命令将变为:

ssh user@simon.local '...'

其中user是您登录RasPi时使用的用户名。

您可以使用以下命令设置您的 RasPi 主机名:

sudo raspi-config

最新更新