我有一个任务,目前完全不知道该怎么做。
我看了几个关于 REST API 的教程,但没有一个适用于我的应用程序。我不打算使用本地主机,但如果需要,那么肯定。
这个任务是什么?
所以有两个部分。
- 电脑(客户端)
- 树莓派 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上,您可以使用smbclient
或cifs-utils
来挂载它。这里的例子。
要显示图像,请使用raspistill
内置选项,或者使用fbi
或fim
或feh
,具体取决于事物的连接方式以及您是否正在运行 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