【阿里云】图像识别 摄像模块 语音模块
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/bashcd /home/orangepi/Image_recognition/mjpg-streamer/mjpg-streamer-experimental/
./start.sh

开机自启动 /etc/xdg/autostart路径.desktop文件
在 Linux 中,/etc/xdg/autostart 路径通常包含 .desktop 文件,这些文件用于配置在用户登录时自动启动的应用程序。这些文件使用桌面文件格式,以下是该目录下的 .desktop 文件的简单解析:
-
桌面文件格式:
.desktop文件是桌面应用程序的启动器文件,使用 FreeDesktop 标准的格式。它包含了应用程序的名称、图标、执行命令等信息。 -
样例
.desktop文件: 以下是一个简单的.desktop文件的例子:[Desktop Entry] Name=MyApp Exec=/path/to/myapp Icon=myapp-icon Type=ApplicationName: 应用程序的显示名称。Exec: 启动应用程序的命令。Icon: 应用程序的图标文件名。Type: 应用程序类型,可以是Application、Link等。
-
Autostart 目录:
/etc/xdg/autostart目录中的.desktop文件用于配置在用户登录时自动启动的应用程序。这些文件指定了在用户登录后要运行的命令。 -
用户自定义 Autostart 目录: 用户的 autostart 目录通常位于
~/.config/autostart。用户可以在这个目录中放置他们自己的.desktop文件,配置在他们登录时自动启动的应用程序。 -
启动时执行命令:
.desktop文件中的Exec字段指定了在启动时执行的命令。这可以是应用程序的可执行文件或者是一个脚本。
注意:在 /etc/xdg/autostart 目录中的 .desktop 文件通常是系统范围的,而用户的 autostart 目录中的文件是用户特定的。系统级别的 autostart 文件影响所有用户,而用户级别的 autostart 文件只影响特定用户。
mjgp.besktop

语音模块配置烧录及测试





相关文章:
【阿里云】图像识别 摄像模块 语音模块
USB 摄像头模块测试及配置 一、首先将 USB 摄像头插入到 Orange Pi 开发板的 USB 接口中二、然后通过 lsmod 命令可以看到内核自动加载了下面的模块三、通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为 /dev/video0四、使用 fswebcam 测试 USB 摄像头五、使用 motion …...
一文读懂 Linux 网络 IO 模型
文章目录 1.从一个问题说起2.多进程模型3.多线程模型4.I/O 多路复用5.select、poll、epoll 的区别?5.1 select5.2 poll5.3 epoll5.4 两种事件触发模式 参考文献 1.从一个问题说起 互联网发展历史上,曾经有一个著名的问题:C10K 问题。 C 是 …...
Arduino库之U8g2lib
某些图片、表格在手机竖屏状态下会显示不全,横屏显示即可。最好是用平板或电脑看。大部分内容摘自官网。 简介 U8g2 U8glib是用于单色显示屏的图形库,它可以用于51、Arduino、ARM控制显示屏,目前作者olikraus已经更新到version2了࿰…...
fiddler 手机抓包
前置步骤参考:手把手教你如何配置fiddler、并开启手机代理抓包、最详细_fiddler抓socks5_赴梦、的博客-CSDN博客 后续: 问:fiddler 证书已安装 在 iphone, 访问网站,报错, 此链接非私人链接 gpt: 如果你在使用 Fiddl…...
基于知识问答的上下文学习中的代码风格11.20
基于知识问答的上下文学习中的代码风格 摘要1 引言2 相关工作3 方法3.1 概述3.2 元函数设计3.3 推理 4 实验4.1 实验设置4.2 实施细节4.3 主要结果 摘要 现有的基于知识的问题分类方法通常依赖于复杂的训练技术和模型框架,在实际应用中存在诸多局限性。最近&#x…...
opencv-形态学处理
通过阈值化分割可以得到二值图,但往往会出现图像中物体形态不完整,变的残缺,可以通过形态学处理,使其变得丰满,或者去除掉多余的像素。常用的形态学处理算法包括:腐蚀,膨胀,开运算&a…...
手把手设计C语言版循环队列(力扣622:设计循环队列)
文章目录 前言描述分析力扣AC代码 力扣: 622.设计循环队列 前言 队列会出现“假溢出”现象,即队列的空间有限,队列是在头和尾进行操作的,当元素个数已经达到最大个数时,队尾已经在空间的最后面了,但是对头…...
数据仓库及ETL的理论基础
数据仓库(Data Warehouse)是一个用于存储和管理大量结构化数据的系统,旨在支持企业的决策制定过程。它是一个集成的、主题导向的、时间变化的、非易失性的数据集合,用于支持企业的决策制定过程。数据仓库的设计目标是提供高性能的…...
5-4计算一串字符的空格数字字符其他
#include<stdio.h> int main(){char c;int space0;//空格int letters0;//英文字母int numbers0;//数字int others0;//其他字符printf("请输入一行字符:");while((cgetchar())!\n)//获取字符的内容,到\n停止{if(c>a&&c<z|…...
leetcode面试经典150题——30 长度最小的子数组
题目:长度最小的子数组 描述: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组&a…...
学习计划计划执行记录
11.21--写下学习目标 游戏行业通识学习: 求知鱼游戏学院的个人空间-求知鱼游戏学院个人主页-哔哩哔哩视频 (bilibili.com) (28 封私信 / 80 条消息) 游鲨游戏圈 - 知乎 (zhihu.com) 书籍学习: 软技能2:软件开发者职业生涯指南 面经学习…...
【紫光同创PCIE教程】——使用WinDriver驱动紫光PCIE
本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注www.meyesemi.com) 紫光的logos系列的PGL50H/PGL100H、logos-2全系列都集成gen24的PCIE硬核,且官方也提供了例程。 紫光的PCIE用起来还是挺方便的…...
MT8735/MTK8735安卓核心板规格参数介绍
MT8735核心板是一款高性能的64位Cortex-A53四核处理器,设计用于在4G智能设备上运行安卓操作系统。这款多功能核心板支持LTE-FDD/LTE-TDD/WCDMA/TD-SCDMA/EVDO/CDMA/GSM等多种网络标准,同时还具备WiFi 802.11a/b/g/n和BT4.0LE等无线通信功能。此外&#x…...
NSSCTF web刷题记录6
文章目录 [HZNUCTF 2023 final]eznode[MoeCTF 2021]地狱通讯-改[红明谷CTF 2022] Smarty Calculator方法一 CVE-2021-26120方法二 CVE-2021-29454方法三 写马蚁剑连接 [HZNUCTF 2023 final]eznode 考点:vm2沙箱逃逸、原型链污染 打开题目,提示找找源码 …...
米哈游大数据云原生实践
云布道师 近年来,容器、微服务、Kubernetes 等各项云原生技术的日渐成熟,越来越多的公司开始选择拥抱云原生,并将企业应用部署运行在云原生之上。随着米哈游业务的高速发展,大数据离线数据存储量和计算任务量增长迅速,…...
移动端适配-(postcss-pxtorem)
基于vuevant的移动端适配(rem) 1.下载lib-flexible --save npm i lib-flexible --save2.在main.js中引入lib-flexible main.js import lib-flexible/flexible3.设置meta标签 <meta name"viewport" content"widthdevice-width, initial-scale1, maximum-s…...
【PostgreSQL】解决PostgreSQL时区(TimeZone)问题
问题描述 最近在使用PostgreSQL中,对行记录进行设置创建时间(created_time)时,出现了设置了now()时间而数据库中写入的数据是不一致的数据。 eg: insert into dept ( created_at, updated_at) VALUES (now(),now())…...
Vue Router的使用
Vue.js是一个流行的JavaScript框架,用于开发单页面应用程序。Vue提供了一个强大的路由系统,可以帮助我们管理应用程序中的不同页面。在本文中,我们将详细讲解Vue路由的使用方法。 目录 1. 安装Vue Router2. 创建路由实例3. 配置路由4. 在模板…...
海外IP代理科普——API代理
随着互联网的不断发展,越来越多的企业开始使用API(应用程序接口)来实现数据的共享和交流。而在API使用中,海外代理IP也逐渐普及。那么,什么是API代理IP呢?它有什么作用?API接口有何用处…...
详解Python安装requests库的实例代码
文章目录 前言基本用法基本的get请求带参数的GET请求解析json关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前…...
基于WebView2的ChatGPT桌面客户端开发:从原理到实践
1. 项目概述与核心价值最近在折腾一个需要集成AI对话能力的桌面应用,发现了一个挺有意思的开源项目——Akuma1tko/ChatGPT-WebView。简单来说,它就是一个用C#写的、把ChatGPT的Web版界面(也就是我们平时在浏览器里用的那个chat.openai.com&am…...
CANN/cannbot-skills MoE-Only Scope模板
MoE-Only Scope 模板 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills 本模板提供仅将 MoE 模块纳入 SuperKernel scope…...
CANN/driver设备故障码查询API
dcmi_get_device_errorcode_v2 【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。 项目地址: https://gitcode.com/cann/driver 函数原型 int dcmi_get_device_errorcode_v2(int card_id, …...
MCP服务器安全开发实战:从威胁建模到AI工具调用防护
1. 项目概述与核心价值最近在折腾AI应用开发,特别是围绕OpenAI的Assistant API和各类MCP(Model Context Protocol)服务器时,我遇到了一个非常具体且棘手的问题:如何系统地评估和管理这些外部工具的安全性?无…...
巧妙运用访问者模式:解决复杂对象结构遍历与操作难题
在复杂的软件系统中,我们经常会遇到这样的场景:一个对象结构包含多种类型的元素,而我们需要对这些元素进行不同的操作。传统的做法是将这些操作添加到元素类中,但这会导致类过于臃肿,违反单一职责原则。例如࿰…...
Python WebSocket 实战:从零构建轻量级实时聊天应用
1. 项目概述:一个轻量级聊天应用的诞生最近在GitHub上看到一个挺有意思的项目,叫pymike00/tinychat。光看名字就能猜个大概——这应该是一个用Python实现的、主打轻量化的聊天应用。作为一个在后台开发和网络编程领域摸爬滚打了十多年的老码农࿰…...
XNBCLI:3步搞定星露谷物语XNB文件解包打包的完整指南
XNBCLI:3步搞定星露谷物语XNB文件解包打包的完整指南 【免费下载链接】xnbcli A CLI tool for XNB packing/unpacking purpose built for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/xn/xnbcli 想要修改星露谷物语中的游戏资源吗?…...
全球化时代工程师职业路径选择:从硅谷神话到多元生态
1. 项目概述:一个老问题的新思考“如果重来一次,你还会选择同样的路吗?” 这个问题,对于许多在职业生涯早期就跨越国界、投身于全球科技浪潮的工程师们来说,绝不是一个轻松的假设。它触及了个人选择、行业变迁、地缘机…...
从 0 到 1 玩转 Claude Code (CC):零基础小白保姆级全攻略,解锁能自主干活的 AI Agent 黑科技
本文适配 2026 年最新 Claude Code 版本,全程无废话、全实操,不用会员,免费额度就能上手,告别只会聊天的 AI,让它成为你编程 / 文案 / 数据分析 / 自动化办公的专属数字打工人。前言:别再把 AI 用成聊天框了…...
Box64深度解析:如何在非x86平台上高效运行x86_64应用程序
Box64深度解析:如何在非x86平台上高效运行x86_64应用程序 【免费下载链接】box64 Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices 项目地址: https://gitcode.com/gh_mirrors/bo/box64 Box64是…...

