【问题标题】:Application on Raspberry Pi (Linux) with OpenCV that autostarts具有自动启动的 OpenCV 的 Raspberry Pi (Linux) 上的应用程序
【发布时间】:2017-10-06 22:11:31
【问题描述】:

我过去曾在我的 Windows 应用程序中使用过 OpenCv,在这种情况下,将构建一个应用程序并将其安装为 Windows 服务,以便将其设置为自动启动并开始运行。不同之处在于我在编译语言中完成了这些,而我们是在 Windows 上。

现在,我正在尝试移植应用程序以在 Linux/Raspberry Pi 上运行。该应用程序只需获取视频源,使用 OpenCv 进行一些对象检测,然后通过 HTTP Web api 发送结果。

我的问题之前的第一条评论是(我仍然熟悉这个设置)似乎 Python 是迄今为止所有这些的首选语言。然而,最终目标是让这个设备是无头的(没有显示器或输入设备,就像物联网设备一样),所以我不需要或更好,不能打开控制台和输入命令。

那么,对于这个问题,什么相当于 Raspberry Pi 上的 Windows 服务,以便我的应用程序在启动时启动并在设备开启时运行?主观的后续问题是,考虑到我上面描述的所有内容,Python 仍然是一个不错的选择,还是我最好用 c 或 c++ 编写一个完整的编译应用程序?

谢谢!

【问题讨论】:

标签: python linux raspberry-pi


【解决方案1】:

如果您使用的是 Raspbian,那么我会说最简单的工具 il systemd(守护进程)和 systemctl(shell 命令)。

为了将您的 python 脚本作为守护程序运行(守护程序是 Windows 所称的“服务”),请创建一个名为 .service 的配置文件并将其放在 /etc/systemd/system 路径中。

要了解如何配置文件,您可以使用以下示例:

[Unit]

Description=Your service name

[Service]

ExecStart=python <path to python script>

StandardOutput=null


[Install]

WantedBy=multi-user.target

Alias=this_script_name>.script

希望对你有帮助!

【讨论】:

    【解决方案2】:

    查看主管:http://supervisord.org/。它应该完成您在启动时运行程序和在崩溃时重新启动等方面需要做的事情。

    我对 OpenCV 没有任何经验,但是像 Flask (http://flask.pocoo.org/) 这样的 Web 应用程序框架可以很容易地用最少的代码公开 HTTP API。

    祝你好运!

    【讨论】:

    • 谢谢! Python 还会成为流行的选择吗?
    猜你喜欢
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多