#image #connect #camera #daemon #upload #capture #periodically

app prusacam

这是一个简单的守护程序,会定期从本地网络摄像头抓取图像并将其上传到Prusa Connect。

1 个稳定版本

1.0.0 2024年5月30日

#504硬件支持

自定义许可

15KB
199

Prusacam

这是一个简单的守护程序,会定期从本地网络摄像头抓取图像并将其上传到Prusa Connect。

如果在Raspberry PI上运行,它支持连接开关/切换和LED,可以通过开关(LED在上传图像时点亮,关闭时熄灭)启用摄像头上传。

功能

支持从多个网络摄像头定期抓取图像并上传到Prusa Connect。

支持将开关或切换连接到Raspberry Pi GPIO以控制摄像头上传的启用/禁用。

支持将LED连接到Raspberry Pi GPIO作为图像上传状态的指示器。

支持通过信号开关摄像头。

目前仅支持Linux。

入门

构建

安装rust并运行

cargo build --bin prusacam

要为旧款Raspberry Pi构建二进制文件,使用以下命令安装"cross":

cargo install cross

然后使用以下命令构建:

cross build --target arm-unknown-linux-gnueabihf -r --bin prusacam

GPIO设置

GPIO引脚是可配置的,但对我来说GPIO17和GPIO18是有效的。

警告:乱搞GPIO引脚可能会损坏您的pi,对此我不负责。

开关

将一个开关或切换连接到GPIO17,另一个连接到地。

GPIO17将被设置为上拉,所以当它与地短路时,prusacam将抓取并上传图像。

LED

将LED的正极连接到GPIO18,将负极连接到330欧姆电阻,然后将电阻连接到地。

配置

必须在当前工作目录中存在config.yml文件,prusacam才能启动。此配置文件控制所有摄像头和密钥。

config.yml应该看起来像这样

interval: 30         # Number of seconds between uploading.
gpio_switch: 17      # GPIO input pin for the switch/toggle.
gpio_led: 18         # GPIO output pin for the LED.
cameras:             # An array of all the cameras, any number are supported and they'll be processed one at a time.
  -
    name: "My camera 0"           # Camera name (what will appear in Prusa Connect)
    device: /dev/video0           # Camera device
    token: Camera 0's token       # Camera's prusa connect token
    fingerprint: Fingerprint - between 16 and 64 characters  # Camera's fingerprint, just set it to some random characters (but at least 16 of them)
    resolutionx: 1920             # The width of the image you want to capture (must be supported by the camera)
    resolutiony: 1080             # The height of the image you want to capture (must be supported by the camera)

安装

prusacam二进制文件可以直接执行。

执行程序

nohup ./prusacam &

从命令行切换摄像头开关

prusacam会监听信号USR1作为摄像头切换。

只需运行:killall prusacam -USR1kill $PID -USR1

当物理开关连接并设置后,两个开关都像三刀开关一样工作。

作者

David Pascoe-Deslauriers @spotzero

许可

本软件根据Apache License 2.0许可,请参阅LICENSE.txt

依赖项

~11MB
~201K SLoC