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

USB 摄像头模块测试及配置

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

语音模块配置烧录及测试

USB 摄像头模块测试及配置

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

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

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

orangepi@orangepi:~$ lsmod
Module Size Used by
uvcvideo 106496 0

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

lsmod

示例输出可能如下:

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

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

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 用于设置生成的照片的名字和路径

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

在这里插入图片描述

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

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

在这里插入图片描述

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

五、使用 motion 测试 USB 摄像头

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

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 不用设置这一步。

orangepi@orangepi:~$ sudo sed -i "s/start_motion_daemon=no/start_motion_daemon=yes/" /etc/default/motion

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

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,请以实际看到的为准。

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

5. 然后运行 motion

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 的下载地址:

orangepi@orangepi:~$ git clone https://github.com/jacksonliam/mjpg-streamer

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

orangepi@orangepi:~$ git clone https://gitee.com/leeboby/mjpg-streamer

2. 安装依赖的软件包

a) Ubuntu 系统

orangepi@orangepi:~$ sudo apt-get install -y cmake libjpeg8-dev

b) Debian 系统

orangepi@orangepi:~$ sudo apt-get install -y cmake libjpeg62-turbo-dev

3. 编译安装 mjpg-streamer

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

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

这里可以根据里面自带shell脚本来配置
在这里插入图片描述

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

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

字段修改为:

./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 感觉不到任何卡顿

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

拍照指令

sudo fswebcam -d /dev/video0 --no-banner -r 1280x720 -S 5 ./image.jpg
wget http://192.168.1.254:8080/?action=snapshot -O /tmp/garbage.jpg

shell脚本garbage.sh

# !/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 文件的例子:

    [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

在这里插入图片描述

语音模块配置烧录及测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/172955.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#期末速成推荐看的知识和免费视频

【拯救者】C#期末速成 (基础讲解整套题讲解文档下载) 4K ​ 这里讲的是【 🌷速成🌷 速成🌷 速成】版本,按课本章节来, 抽取重点,翻译为人话!!!💝 文末附上 免…

Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

这篇文章主要介绍了PythonSelenium定位不到元素常见原因及解决办法(报:NoSuchElementException),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 在做web应用的自动…

两种Deformable Attention的区别

先分别写一下流程 Deformable DETR(2020)的Deformable Attention 解释: Deformable Attention如下图所示K3, M3K是指每个zq会和K个offset算attention,M是指M个head, z q z_q zq​有NHW个: 参考点:reference points&am…

基于Apache部署虚拟主机网站

文章目录 Apache释义Apache配置关闭防火墙和selinux 更改默认页内容更改默认页存放位置个人用户主页功能基于口令登录网站虚拟主机功能基于ip地址相同ip不同域名相同ip不同端口 学习本章完成目标 1.httpd服务程序的基本部署。 2.个人用户主页功能和口令加密认证方式的实现。 3.…

gitlab安装以及创建用户创建组,修改密码 邮箱配置 数据备份与恢复--保姆级教学!

GitLab是一种基于Web的Git仓库管理工具,它允许您在组织或个人级别上创建和管理Git仓库,以便在一个中心位置上执行代码管理和协作工作。GitLab提供了强大的功能,如代码审查、问题跟踪、CI/CD、容器注册表、Wiki和持续集成等。 以下是GitLab的…

【高级网络程序设计】Week2-3 HTML

一、The Basics 1. HTML&HTML file HTMLMarkup languageHyper Text Markup LanguageHTML fileText file with markup tags.htm/.html extension Create an html file Open an editor Type: <html><head><titile><body> Save it as .html Open i…

了解:iperf网络性能测试工具

当进行网络性能测试时&#xff0c;可以使用iperf这个开源工具。iperf是一款网络测试工具&#xff0c;它能够测试TCP或UDP带宽质量&#xff0c;以及单向和双向吞吐量。使用iperf进行网络性能测试首先需要在被测试的两台计算机上安装iperf。 如何安装iperf&#xff1f; 在Debia…

日志技术logback

一&#xff0c;日志概括 二&#xff0c;日志技术的特点 三&#xff0c;日志技术的体系 三&#xff0c;入门 四&#xff0c;案例 package XinZheng;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class Main58 {//1,创建一个Logger日志对象public static fi…

泵类设备常见的5种故障及监测方法

在各种工业领域中&#xff0c;泵是一种关键设备&#xff0c;用于输送液体或气体。然而&#xff0c;泵类设备常常会面临各种故障&#xff0c;这可能导致生产停顿和生产效率下降。为了及时监测并解决这些故障&#xff0c;设备状态监测系统成为一种重要的工具。本文将介绍泵类设备…

细节决定成败——我的日志去哪了?

概述 编写本文档的目的有两点。 本周遇到了一个日志丢失的问题&#xff0c;经过分析&#xff0c;觉得挺有意思的。向大家分享一下我的分析及解决思路。应该在很多项目中都会有该问题。领导和我私下讨论过多次&#xff0c;当前的autodomain代码对文件读取的频率太高了,如何去避…

01-制作人和迈克尔杰克逊-《人月神话》中译本纠错及联想

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 2001年&#xff0c;我们翻译《人月神话》的时候&#xff0c;由于水平有限&#xff0c;译文中存在不少错误。 这些年&#xff0c;随着阅历的增长&#xff0c;在重读的时候偶尔也会有“…

msvcp120.dll缺失的解决方法与作用介绍

大家好&#xff01;我是小编。今天&#xff0c;我想和大家分享一下关于“找不到msvcp120.dll无法继续执行代码的5个解决方法”的话题。 首先&#xff0c;让我们来了解一下msvcp120.dll的作用。msvcp120.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;它…

JMM并发三大特性

并发和并行 目标都是最大化CPU的使用率 并行(parallel)&#xff1a;指在同一时刻&#xff0c;有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看&#xff0c;二者都是一起执行的。 并发(concurrency)&#xff1a;指在同一时刻只能有一条指令执行&#xff0c;…

媲美有线操作,支持4KHz响应和无线充电的游戏鼠标,雷柏VT3S上手

对于无线鼠标来说&#xff0c;操作延迟和精度对游戏操作影响很大&#xff0c;常见的游戏鼠标至少都有1KHz的回报率&#xff0c;而雷柏今年已经出了很多支持4KHz回报的鼠标了&#xff0c;像是我现在用的这款VT3S游戏鼠标&#xff0c;就搭载了旗舰级的原相3395引擎&#xff0c;支…

SpringBean的配置详解

Bean的基础配置 例如&#xff1a;配置UserDaoImpl由Spring容器负责管理 <beanid"userDao"class"com.xfy.dao.Impl.UserDaoImpl"></bean> 此时存储到Spring容器中的Bean的beanName是userDao&#xff0c;值是UserDaoImpl&#xff0c;可以根据bea…

pytorch中gather函数的理解

pytorch函数gather理解 torch.gather(input, dim, index, outNone) → Tensor Parameters: input (Tensor) – 源张量dim (int) – 索引的轴index (LongTensor) – 聚合元素的下标(index需要是torch.longTensor类型)out (Tensor, optional) – 目标张量 公式含义 这个函数的…

股票自选(四)

4-自选 自选表功能&#xff0c;均需要使用 Token 令牌进行操作&#xff0c;目的是为了将数据隔离。 添加自选表的作用是进行推送&#xff0c; 将 自选表中的近十天的涨跌幅情况通过邮箱的方式推送给对应的用户。 一. 添加到自选表 接口描述: 接口地址:/StockApi/stockSele…

转录组学习第四弹-数据质控

数据质控 将SRR转为fastq之后&#xff0c;我们需要对fastq进行质量检查&#xff0c;排除质量不好的数据 1.质量检查&#xff0c;生成报告文件 ls *fastq.gz|while read id;do fastqc $id;done并行处理 ls *fastq.gz|xargs fastqc -t 102.生成 html 报告文件和对应的 zip 压缩…

阿里巴巴对裁员谣言报警

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 前两天王自如言论事件&#xff0c;格力选择了报警&#xff0c;称高管遭到姊妹集体侮辱诽谤。 而这两天&#xff0c;阿里巴巴也报警了&#xff0c;原因是网传阿里巴巴要裁员25000人。 咱不公关了…

见证历史!合资车企「最后一搏」

从上海车展&#xff0c;到广州车展&#xff0c;最大的变化莫过于传统合资品牌在新能源及智能电动市场的持续发力。或许&#xff0c;2024年将是最后一搏的拐点。 在本届广州车展上&#xff0c;广汽丰田发布了全新新能源品牌铂智&#xff0c;铂智品牌旗下首款产品铂智4X正式亮相。…