【阿里云】图像识别 摄像模块 语音模块

[USB 摄像头模块测试及配置](#USB 摄像头模块测试及配置)

  • [一、首先将 USB 摄像头插入到 Orange Pi 开发板的 USB 接口中](#一、首先将 USB 摄像头插入到 Orange Pi 开发板的 USB 接口中)
  • [二、然后通过 lsmod 命令可以看到内核自动加载了下面的模块](#二、然后通过 lsmod 命令可以看到内核自动加载了下面的模块)
  • [三、通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为 /dev/video0](#三、通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为 /dev/video0)
  • [四、使用 fswebcam 测试 USB 摄像头](#四、使用 fswebcam 测试 USB 摄像头)
  • [五、使用 motion 测试 USB 摄像头](#五、使用 motion 测试 USB 摄像头)
  • [六、使用 mjpg-streamer 测试 USB 摄像头](#六、使用 mjpg-streamer 测试 USB 摄像头)
  • 七、后续指令、脚本、开机自启

语音模块配置烧录及测试

USB 摄像头模块测试及配置

一、首先将 USB 摄像头插入到 Orange Pi 开发板的 USB 接口中

二、然后通过 lsmod 命令可以看到内核自动加载了下面的模块

lsmod 命令用于列出当前加载的内核模块。它会显示已加载模块的信息,包括模块的名称、大小、使用次数等。

bash 复制代码
orangepi@orangepi:~$ lsmod
Module Size Used by
uvcvideo 106496 0

如果你在终端上执行 lsmod 命令,它会输出当前加载的内核模块列表。

bash 复制代码
lsmod

示例输出可能如下:

bash 复制代码
Module                  Size  Used by
nls_utf8               12557  1
isofs                  39835  1
binfmt_misc            17213  1
snd_bcm2835            24427  0
snd_pcm                98501  1 snd_bcm2835
snd_timer              23968  1 snd_pcm
snd                    70032  3 snd_bcm2835,snd_timer,snd_pcm
uio_pdrv_genirq        12958  0
uio                    17843  1 uio_pdrv_genirq
fixed                  12556  0
i2c_dev                12848  0

每一行表示一个加载的模块,其中包括模块的名称、大小、以及使用该模块的其他模块等信息。

请注意,lsmod 命令通常需要 root 权限才能执行,你可能需要使用 sudo lsmod

三、通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为 /dev/video0

bash 复制代码
orangepi@orangepi:~$ sudo apt update
orangepi@orangepi:~$ sudo apt install -y v4l-utils
orangepi@orangepi:~$ v4l2-ctl --list-devices
USB 2.0 Camera (usb-sunxi-ehci-1):
/dev/video0

四、使用 fswebcam 测试 USB 摄像头

1. 安装 fswebcam

bash 复制代码
orangepi@orangepi:~$ sudo apt update
orangepi@orangepi:~$ sudo apt-get install -y fswebcam

2. 安装完 fswebcam 后可以使用下面的命令来拍照

a) -d 选项用于指定 USB 摄像头的设备节点

b) --no-banner 用于去除照片的水印

c) -r 选项用于指定照片的分辨率

d) -S 选项用设置于跳过前面的帧数

e) ./image.jpg 用于设置生成的照片的名字和路径

bash 复制代码
orangepi@orangepi:~$ sudo fswebcam -d /dev/video0 --no-banner -r 1280x720 -S 5 ./image.jpg

3. 在服务器版的 linux 系统中,拍完照后可以使用 scp 命令将拍好的图片传到Ubuntu PC 上镜像观看

bash 复制代码
orangepi@orangepi:~$ scp image.jpg test@192.168.1.55:/home/test(根据实际情况修改 IP 地址和路径)

4. 在桌面版的 linux 系统中,可以通过 HDMI 显示器直接查看拍摄的图片

五、使用 motion 测试 USB 摄像头

1. 安装摄像头测试软件 motion

bash 复制代码
orangepi@orangepi:~$ sudo apt update
orangepi@orangepi:~$ sudo apt install -y motion

2. 修 改 /etc/default/motion 的 配 置 , 将 start_motion_daemon=no 修 改 为start_motion_daemon=yes

注意,Ubuntu22.04 不用设置这一步。

bash 复制代码
orangepi@orangepi:~$ sudo sed -i "s/start_motion_daemon=no/start_motion_daemon=yes/" /etc/default/motion

3. 修改/etc/motion/motion.conf 的配置

bash 复制代码
orangepi@orangepi:~$ sudo sed -i "s/stream_localhost on/stream_localhost off/" /etc/motion/motion.conf

4. 另外还需确保/etc/motion/motion.conf 的 videodevice 设置为了 USB 摄像头对应的设备节点

注意,video 的序号不一定都是 video0,请以实际看到的为准。

bash 复制代码
orangepi@orangepi:~$ sudo vim /etc/motion/motion.conf
# Video device (e.g. /dev/video0) to be used for capturing. 
videodevice /dev/video0

5. 然后运行 motion

bash 复制代码
orangepi@orangepi:~$ sudo motion -b

6. 使用 motion 前请先确保 Orange Pi 开发板能正常连接网络,然后通过 ip addrshow 命令获取开发板的 IP 地址

7. 然后在和开发板同一局域网的 Ubuntu PC 或者 Windows PC 或者手机的火狐浏览器中输入【开发板的 IP 地址:8081】就能看到摄像头输出的视频了

六、使用 mjpg-streamer 测试 USB 摄像头

1. 下载 mjpg-streamer

a) Github 的下载地址:

bash 复制代码
orangepi@orangepi:~$ git clone https://github.com/jacksonliam/mjpg-streamer

b) Gitee 的镜像下载地址为:

bash 复制代码
orangepi@orangepi:~$ git clone https://gitee.com/leeboby/mjpg-streamer

2. 安装依赖的软件包

a) Ubuntu 系统

bash 复制代码
orangepi@orangepi:~$ sudo apt-get install -y cmake libjpeg8-dev

b) Debian 系统

bash 复制代码
orangepi@orangepi:~$ sudo apt-get install -y cmake libjpeg62-turbo-dev

3. 编译安装 mjpg-streamer

bash 复制代码
orangepi@orangepi:~$ cd mjpg-streamer/mjpg-streamer-experimental
orangepi@orangepi:~/mjpg-streamer/mjpg-streamer-experimental$ make -j4
orangepi@orangepi:~/mjpg-streamer/mjpg-streamer-experimental$ sudo make install

4. 然后输入下面的命令启动 mjpg_streamer

bash 复制代码
注意,video 的序号不一定都是 video0,请以实际看到的为准。
orangepi@orangepi:~/mjpg-streamer/mjpg-streamer-experimental$ export LD_LIBRARY_PATH="$(pwd)"
orangepi@orangepi:~/mjpg-streamer/mjpg-streamer-experimental$ sudo ./mjpg_streamer -i "./input_uvc.so -d /dev/video1 -u -f 30" -o "./output_http.so -w ./www"

这里可以根据里面自带shell脚本来配置

修改 start.sh脚本,将start.sh里的:

bash 复制代码
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

字段修改为:

bash 复制代码
./mjpg_streamer -i "./input_uvc.so -d /dev/video1 -u -f 30" -o "./output_http.so -w ./www" 
#注意这里的video1需要根据实际情况修改


这样就可以通过执行./start.sh运行摄像头了。

5. 然后在和开发板同一局域网的 Ubuntu PC 或者 Windows PC 或者手机的浏览器中输入【开发板的 IP 地址:8080】就能看到摄像头输出的视频了

6. 推荐使用 mjpg-streamer 来测试 USB 摄像头,比 motion 流畅很多,使用mjpg-streamer 感觉不到任何卡顿

七、后续指令、脚本、开机自启

拍照指令

bash 复制代码
sudo fswebcam -d /dev/video0 --no-banner -r 1280x720 -S 5 ./image.jpg

wget http://127.0.0.1:8080/?action=snapshot -O /tmp/garbage.jpg
wget http://192.168.1.254:8080/?action=snapshot -O /home/orangepi/Image_recognition/garbage.jpg

shell脚本garbage.sh

c 复制代码
# !/bin/bash

cd /home/orangepi/Image_recognition/mjpg-streamer/mjpg-streamer-experimental/
./start.sh

开机自启动 /etc/xdg/autostart路径.desktop文件

在 Linux 中,/etc/xdg/autostart 路径通常包含 .desktop 文件,这些文件用于配置在用户登录时自动启动的应用程序。这些文件使用桌面文件格式,以下是该目录下的 .desktop 文件的简单解析:

  1. 桌面文件格式: .desktop 文件是桌面应用程序的启动器文件,使用 FreeDesktop 标准的格式。它包含了应用程序的名称、图标、执行命令等信息。

  2. 样例 .desktop 文件: 以下是一个简单的 .desktop 文件的例子:

    ini 复制代码
    [Desktop Entry]
    Name=MyApp
    Exec=/path/to/myapp
    Icon=myapp-icon
    Type=Application
    • Name: 应用程序的显示名称。
    • Exec: 启动应用程序的命令。
    • Icon: 应用程序的图标文件名。
    • Type: 应用程序类型,可以是 ApplicationLink 等。
  3. Autostart 目录: /etc/xdg/autostart 目录中的 .desktop 文件用于配置在用户登录时自动启动的应用程序。这些文件指定了在用户登录后要运行的命令。

  4. 用户自定义 Autostart 目录: 用户的 autostart 目录通常位于 ~/.config/autostart。用户可以在这个目录中放置他们自己的 .desktop 文件,配置在他们登录时自动启动的应用程序。

  5. 启动时执行命令: .desktop 文件中的 Exec 字段指定了在启动时执行的命令。这可以是应用程序的可执行文件或者是一个脚本。

注意:在 /etc/xdg/autostart 目录中的 .desktop 文件通常是系统范围的,而用户的 autostart 目录中的文件是用户特定的。系统级别的 autostart 文件影响所有用户,而用户级别的 autostart 文件只影响特定用户。

mjgp.besktop

语音模块配置烧录及测试





相关推荐
小袁在上班19 分钟前
Python 单元测试中的 Mocking 与 Stubbing:提高测试效率的关键技术
python·单元测试·log4j
白狐欧莱雅22 分钟前
使用python中的pygame简单实现飞机大战游戏
经验分享·python·游戏·pygame
阿_旭23 分钟前
基于YOLO11/v10/v8/v5深度学习的维修工具检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·qt·ai
阿_旭27 分钟前
基于YOLO11/v10/v8/v5深度学习的煤矿传送带异物检测系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·目标检测·yolo11
写代码的学渣32 分钟前
Linux云计算个人学习总结(一)
linux·运维·云计算
测试19981 小时前
外包干了2年,快要废了。。。
自动化测试·软件测试·python·面试·职场和发展·单元测试·压力测试
NETFARMER运营坛1 小时前
如何优化 B2B 转化率?这些步骤你不可不知
大数据·安全·阿里云·ai·ai写作
豆本-豆豆奶2 小时前
用 Python 写了一个天天酷跑(附源码)
开发语言·python·游戏·pygame·零基础教程
林农2 小时前
C02S11-Linux系统的安全与控制
linux·云计算