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

[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

语音模块配置烧录及测试





相关推荐
2601_958352906 小时前
研发成本骤降95%:AP-0316 语音模组如何重塑硬件产品的商业逻辑
人工智能·语音识别·降噪处理·音频处理模块·硬件开发模块
简~7686 小时前
python for in循环不能遍历整数怎么解决
python·大学生
aiqianji6 小时前
垂直专业的AI短篇小说写作软件有哪些特点?
人工智能·python
aqi007 小时前
15天学会AI应用开发(十三)上下文与RAG的阶段性总结
人工智能·python·大模型·ai编程·ai应用
程序员杰哥7 小时前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
大海变好AI7 小时前
专业的智能体算力架构高性价比品牌公司
python
江华森7 小时前
深入理解 Flask 实现原理
后端·python·flask
FriendshipT7 小时前
Ultralytics:解读SPPF模块
人工智能·pytorch·python·深度学习·目标检测
AOwhisky8 小时前
Python 基础语法(上篇 + 下篇)——综合自测题
linux·windows·python