在 Intel NUC 上,我已加载 Ubuntu 16.04。我已通过更改禁用桌面模块/etc/default/grub
。机器以文本模式启动。我有一个使用 Opencv ( Opencv4.0.0 is currently installed
) 和imutils
库以及网络摄像头的 Python 程序。我创建了名为的 bash 脚本runBot.sh
来运行 Python 程序。bash 脚本包含以下内容:
#!/bin/bash
python3 /home/mycomp/rfd/liveCamObject.py
当我在终端窗口中运行它时
sh runBot.sh
它运行没有问题。但是我试图在重启时运行该程序,因此我设置了一个 cron 作业,如下所示:
@reboot /home/mycomp/runBot.sh
sh文件和.py文件都具有sudorwx
权限。
当我重新启动机器时,启动时出现以下错误:
error: no video mode activated
几秒钟后,它正常启动并等待登录名和密码。重启时触发了 bash 脚本,但抛出了错误:
VIDEOIO ERROR:V4L: can't open camera by index 0.
由于 runBot.sh 从终端运行,而不是通过 crontab 运行,我尝试将所有权从 更改mycomp:mycomp
为root:mycomp
,但没有帮助。我读到提供
sudo modprobe bcm2835-v4l2
我尝试了各种组合v4_l_2, V4_L_2
等等...我总是收到错误
FATAL: Module `bcm2835-v4l2` not found in directory `/lib/modules/4.15.0-43-generic`
如何在启动时启用摄像头?
答案1
这可能会有所帮助:(见https://forums.zoneminder.com/viewtopic.php?t=23361)
执行下一步:
sudo v4l2-ctl --list-devices
sudo chmod 777 /dev/video0
对于每个设备
你似乎chmod
在重启后重复了