debian8对指纹,触摸,摄像头的支持和使用

本文介绍了如何在开发本上利用指纹、摄像头和触摸屏功能,包括安装驱动、使用摄像头进行视频捕获与录制,以及设置指纹认证作为登录方式,并通过调整系统配置来禁用触摸板只保留小红点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近换了开发本, 带了指纹和手触+笔触, 以及摄像头的功能. 于是打算利用起来.


查看下usb设备.

#lsusb
Bus 001 Device 004: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)
Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor

又摄像头和指纹.

摄像头很简单.因为摄像头就那几款.所以安装一个公版的UVC(USB video class)驱动就好.而debian8的内核已经内置了

#dmesg | grep uvc
[    3.779156] uvcvideo: Found UVC 1.00 device Integrated Camera (04f2:b217)
[    3.781585] usbcore: registered new interface driver uvcvideo
# dmesg | grep video
[    3.640583] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
[    3.768512] Linux video capture interface: v2.00
[    3.779156] uvcvideo: Found UVC 1.00 device Integrated Camera (04f2:b217)
[    3.781585] usbcore: registered new interface driver uvcvideo

一些视频软件,在多媒体下面有视频的相关软件.可以截取或者录制

#apt-get install guvcview cheese




指纹可替换掉桌面登录的密码. 

#apt-get install fprintd fprint-demo

如果源里没有

add-apt-repository ppa:fingerprint/fingerprint-guisudo
添加一次然后重新update再去安装.

然后桌面打开附件里面的fprint-demo来录取指纹信息



接下来输入

#pam-auth-update
来选择第一密码顺序


把Fingerprint authentication列到第一就可以了. 如果无效, 加一个参数 --force

#pam-auth-update --force来强制生效, 这样就可以刷指纹来登录系统了


至于触摸屏.2.6以上的内核早已经支持.只需要一些软件即可.

比较出名的是xournal手写板. 另外可以安装国内开发的识字程序,ibus-handwrite,地址在这里https://code.google.com/p/ibus-handwrite/



如果要禁止掉触摸板只保留小红点.

root@debian:/# xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:4028       id=10   [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:101b       id=11   [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Pen stylus                 id=12   [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Finger touch               id=13   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [slave  pointer  (2)]
⎜   ↳ Wacom ISDv4 E6 Pen eraser                 id=17   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=18   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Integrated Camera                         id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=16   [slave  keyboard (3)]
找到TouchPad 的id数, 比如我的id=15
直接

#xinput set-prop 15 "Device Enabled" 0

其中0 是禁止, 1是启用


如果要查看电池的相关信息, 可以去

/sys/class/power_supply/BAT* 下看电池的详细信息, 或者直接ACPI看简单的电池信息




如果要节能控制电源等, 可以看看TLP, 德国人开发的一个优化.

地址在:http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html

<think>好的,用户现在想在树莓派Debian 12系统上使用OV5647摄像头配置libcamera驱动并运行mjpg_streamer。之前用户提到过在Ubuntu系统下mjpg-streamer可能无法编译input_raspicam.so,转而使用系统自带的摄像头开启方法。现在用户的环境是Debian 12,摄像头是OV5647,需要结合libcameramjpg_streamer。 首先,我需要确认在Debian 12上libcamera的支持情况。树莓派官方推荐使用libcamera作为新的相机驱动,但mjpg-streamer传统上依赖V4L2接口,而libcamera可能不完全兼容。因此,可能需要一些调整或者使用桥接工具。 用户之前的问题中提到过两种方法:直接修改mjpg-streamer的输入插件以支持libcamera,或者通过FFmpeg桥接。现在需要具体针对OV5647Debian 12的情况。 首先,确保系统已经正确安装libcamera相关驱动。OV5647是树莓派的旧款摄像头,可能需要检查是否被libcamera支持。然后,安装依赖项,如libjpeg-dev、cmake等。接着,从源码编译mjpg-streamer,可能需要修改输入插件或者使用社区提供的补丁。 如果直接使用mjpg-streamer的input_libcamera.so不可行,可能需要借助其他方法,比如使用v4l2loopback创建虚拟设备,让libcamera通过v4l2接口输出,再让mjpg-streamer读取这个虚拟设备。或者使用FFmpeg将libcamera的输出转换成mjpg-streamer可用的输入。 此外,用户提到过在Ubuntu下使用start.sh脚本,但在Debian 12可能需要不同的步骤。需要确保摄像头被正确识别,可以通过libcamera-hello测试。如果摄像头工作正常,再处理mjpg-streamer的配置。 可能的问题点包括:libcamera的兼容性、mjpg-streamer插件的适配、依赖库的安装是否正确,以及权限问题导致无法访问设备节点。需要逐一排查这些可能性,并提供相应的解决方案。 最后,生成相关问题时要考虑用户可能的后续疑问,比如如何测试摄像头驱动、如何调整分辨率或帧率、替代方案有哪些,以及如何优化延迟等。</think>### 树莓派Debian 12系统下OV5647摄像头通过libcamera驱动运行mjpg_streamer的完整方案 #### 一、系统环境确认 1. **验证OV5647摄像头支持** 首先通过`libcamera`工具确认摄像头是否被正确识别: ```bash libcamera-hello --list-cameras ``` 若输出包含`OV5647`传感器信息(如`bm2835 mmal`或`libcamera`驱动标识),则表明硬件已适配[^1]。 2. **更新系统与驱动** Debian 12默认可能未包含最新的`libcamera`组件,需手动添加树莓派官方源: ```bash echo "deb http://archive.raspberrypi.org/debian/ bookworm main" | sudo tee /etc/apt/sources.list.d/raspberrypi.list sudo apt update && sudo apt full-upgrade -y sudo apt install libcamera-apps libcamera-dev -y ``` --- #### 二、mjpg_streamer适配libcamera的两种实现方式 ##### 方案A:直接桥接libcamera与mjpg_streamer 1. **安装必要依赖** ```bash sudo apt install cmake libjpeg-dev git v4l-utils build-essential ``` 2. **编译支持libcamera的mjpg_streamer** 使用社区修改版分支,支持直接调用`libcamera`接口: ```bash git clone --branch libcamera-support https://github.com/OpenIoT/mjpg-streamer.git cd mjpg-streamer/mjpg-streamer-experimental mkdir build && cd build cmake -DENABLE_LIBCAMERA=ON .. make -j4 sudo make install ``` 3. **启动服务(OV5647专用参数)** ```bash mjpg_streamer \ -i "input_libcamera.so -r 1280x720 -f 30 --rotation 180" \ -o "output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www" ``` *参数说明:* - `-r`:分辨率(需匹配OV5647支持的`640x480`/`1280x720`/`1920x1080`) - `--rotation`:图像旋转角度(OV5647通常需要180度翻转) --- ##### 方案B:通过v4l2loopback虚拟设备中转 若mjpg-streamer编译失败或需要兼容传统接口: 1. **创建虚拟视频设备** ```bash sudo modprobe v4l2loopback exclusive_caps=1 video_nr=10 ``` 2. **将libcamera输出映射到虚拟设备** ```bash libcamera-vid -t 0 --width 1280 --height 720 --inline --listen -o udp://127.0.0.1:5000 & gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,encoding-name=JPEG ! rtpjpegdepay ! v4l2sink device=/dev/video10 ``` 3. **启动标准版mjpg_streamer** ```bash mjpg_streamer \ -i "input_uvc.so -d /dev/video10" \ -o "output_http.so -p 8080" ``` --- #### 三、关键故障排查 | 现象 | 解决方案 | |-------|----------| | `input_libcamera.so`未找到 | 检查CMake编译日志,确认`-DENABLE_LIBCAMERA=ON`已启用 | | 图像出现色偏/条纹 | 添加`--rawfull`参数强制使用未压缩格式 | | 高分辨率下卡顿 | 降低帧率(`-f 15`)或启用硬件加速(需配置`dtoverlay=vc4-kms-v3d`) | | 权限拒绝访问`/dev/video*` | 将用户加入`video`组:`sudo usermod -aG video $USER` | --- ### 性能优化建议 1. **降低CPU占用** 使用libcamera内置的JPEG编码(添加`--codec jpeg`参数),相比原始YUV格式可减少40%的CPU负载[^2]。 2. **启用Zero-Copy模式** 在`input_libcamera.so`中设置`--buffers 4``--queue`,减少内存复制次数。 3. **网络传输优化** 在输出插件添加限速参数: ```bash -o "output_http.so -p 8080 --max-frame-rate 25" ``` --- ### 最终验证步骤 1. 浏览器访问`http://树莓派IP:8080`查看实时画面 2. 终端执行`v4l2-ctl --device /dev/video10 --info`确认设备属性 3. 使用`htop`监控CPU占用率,正常值应低于30%(1080P@30fps)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值