ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

路由器硬改+刷OpenWrt+挂载摄像头+U盘

2019-02-25 22:44:25  阅读:499  来源: 互联网

标签:kmod U盘 mjpg 摄像头 streamer 固件 设备 OpenWrt 硬改


目录

路由器硬改+刷OpenWrt+挂载摄像头+U盘

标签:路由器 OpenWrt 摄像头

时间:2019-2-25 作者:梦幻之心星 347369787@QQ.com https://www.cnblogs.com/Sky-seeker/


第一步,硬件改造

  1. 根据型号查找推荐的DDR内存和闪存(https://oldwiki.archive.openwrt.org/toh/tp-link/tl-wr703n
  2. 用拖焊法换Flash和Ram以及外置天线(注意检查有无短路和断路)
  3. 完善USB外围电路
  4. 引出串口接线端子
    路由器硬件

第二步,刷入引导加载器和固件

  1. 用编程器备份原厂固件
  2. 用编程器刷入对应主控型号的breed(https://breed.hackpascal.net/) [][breed目录]
  3. 通过breed控制台编程器固件更新刷入原厂固件,固件更新时勾选保留现有 Bootloader,取消勾选保留现有 ART,固件更新成功后即可恢复原厂ART(无线校准信息)
  4. 通过breed控制台常规固件更新刷入openwrt固件(https://downloads.openwrt.org/),备份ART
    [][系统信息] [][固件更新]

第三步,安装相关驱动和软件

  1. 连接USB转串口与路由器串口之间的导线
  2. 使用SecureCRTPortable连接对应串口,取消流控下的勾选
    [][串行选项设置]
  3. 连接成功后执行以下命令

     opkg update
     opkg install luci-base luci luci-i18n-base-zh-cn    
     opkg install kmod-usb-core kmod-usb-ohci kmod-scsi-core kmod-usb2        
     opkg install kmod-usb-video kmod-video-core
     opkg install kmod-video-uvc kmod-video-gspca-core kmod-video-gspca-zc3xx     
     opkg install kmod-i2c-core kmod-input-core
     opkg install mjpg-streamer luci-app-mjpg-streamer luci-i18n-mjpg-streamer-zh-cn
     opkg install blkid usbutils libusb
     opkg install openssh-sftp-serve     
     opkg install kmod-usb-storage kmod-usb-storage-extras block-mount kmod-fs-ntfs
     opkg install ntfs-3g kmod-fuse

    luci-base 用于提供图形界面
    openssh-sftp-serve 用于传输文件,可通过此方式访问设备文件系统,直接修改配置

  4. 启用系统->管理权下的SSH访问

第四步,配置设备

  1. lsusb命令显示连接到系统的USB总线信息,执行lsusb命令获取设备的生产商和设备名以及设备ID,查找对应驱动

     root@LEDE:~# lsusb
     Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
     Bus 001 Device 002: ID 046d:08af Logitech, Inc. QuickCam Easy/Cool

    Bus 001 : 设备连接到第1条总线;
    Device 002 : 第2台连接到总线上的设备;
    ID 046d:08af : 设备的ID为046d:08af;
    Logitech, Inc. QuickCam Easy/Cool :生产商名为罗技,设备名为快看畅想

  2. 如果设备不支持UVC免驱,安装对应驱动(gspca系列) [][gspca devices]
  3. 通过串口执行dmesg命令dmesg | grep video,检查驱动安装是否成功

     root@LEDE:~# dmesg | grep video
     [   10.392647] Linux video capture interface: v2.00
     [   10.724687] usbcore: registered new interface driver uvcvideo
  4. 执行ls /dev/,如果存在video0或者video1、video2设备名称,说明已经正确识别

第五步,启动设备

  1. 进入luci界面->服务serivices->mjpg-streamer
  2. 勾选Enable MJPG-streamerInput plugin选择UVCOutput plugin选择HTTP
  3. UVC input下的设备选择识别到的设备名video0,设置分辨率和fps,是否支持YUYV格式取决于设备
  4. HTTP output下的端口WWW folder保持默认值,也可自定义
  5. 点击保存应用,看到后台有mjpg-streamer进程说明启动成功

第六步,优化设备配置

  1. 获取设备具体型号
    1.1 通过外观获取型号
    1.2 通过网络获取型号(官网、中关村在线、淘宝拍立淘、以图识图等)
    1.3 通过命令获取型号
  2. 获取设备具体型号和参数
    2.1 将摄像头连接到电脑,进入ubuntu系统
    2.2 安装视频和摄像头软件v4l-utils(luvcview,spcaview,webcam,xawtv)
    2.3 执行以下命令可获得设备分辨率、帧率等信息

     sudo apt-get install v4l-utils 
     v4l2-ctl -d /dev/video0 --all
    [][摄像头参数]
  3. 根据相关参数设置相关配置
    [][mjpg-streamer设置]
  4. 点击应用并保存,设置界面出现图片,打开http://网关ip:8080,画面出现

    [][摄像头画面]
  5. 修改相关配置,设置openwrt摄像头自启动
    /etc/init.d/mjpg-streamer enable //设置开机自动启动 /etc/init.d/mjpg-streamer disable //禁止开机自动启动 /etc/init.d/mjpg-streamer start //现在启动 /etc/init.d/mjpg-streamer restart //重启 /etc/init.d/mjpg-streamer stop //停止
    ---

    注意事项

  6. 资源占用高,CPU长期100%以上,内存占用20%左右,发热量较大,长期运行可能会导致硬件性损坏,必须注意散热
  7. 如果摄像头支持mjpg格式输出,mjpg-streamer只需要将得到jpeg格式的图片转发到HTTP服务器。但如果摄像头不支持mjpg格式输出,仅支持YUV格式,那mjpg-streamer需要将原始图片压缩成jpeg格式,因此需要消耗大量CPU资源
  8. luvcview命令可获得摄像头设备分辨率、帧率等信息
  9. blkid命令查询设备上所采用文件系统类型。blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。要使用这个命令必须安装e2fsprogs软件包。
  10. dmesg命令用于检测和控制内核环缓冲,用来帮助用户了解系统的启动信息
    • 列出加载到内核中的所有驱动;
    • 列出所有被检测到的硬件;
    • 只输出dmesg命令的前20行日志;
    • 只输出dmesg命令最后20行日志;
    • 搜索包含特定字符串的被检测到的硬件;
    • 清空dmesg缓冲区日志;
    • 实时监控dmesg日志输出
  11. 高级定制可通过下载源码后进行自定义配置再编译固件文件
  12. 固件文件的解包和打包可使用firmware-mod-kit和binwalk工具

    参考资料

    TP-Link TL-WR703N硬件参数:http://wiki.openwrt.org/toh/tp-link/tl-wr703n.
    openwrt下使用blkid获取U盘文件系统格式 https://www.openwrtdl.com/wordpress/openwrt-blkid-gets-u-file-system-format
    openwrt摄像头选购指南 https://www.openwrtdl.com/wordpress/openwrt%E6%91%84%E5%83%8F%E5%A4%B4%E9%80%89%E8%B4%AD%E6%8C%87%E5%8D%97
    openwrt挂载摄像头MJPG-streamer完全教程 https://www.openwrtdl.com/wordpress/openwrt%E6%8C%82%E8%BD%BD%E6%91%84%E5%83%8F%E5%A4%B4mjpg-streamer%E5%AE%8C%E5%85%A8%E6%95%99%E7%A8%8B
    USB Video Support https://oldwiki.archive.openwrt.org/doc/howto/usb.video
    Linux UVC driver and tools http://www.ideasonboard.org/uvc/
    gspca devices https://linuxtv.org/wiki/index.php/Gspca_devices
    USB挂载&U盘启动&Samba共享 https://www.cnblogs.com/sean-yao/p/8224174.html
    OpenWrt编译 – 说明 https://openwrt.org/zh-cn/doc/howto/build
    OpenWrt 固件的结构分析、如何逆向解包 https://blog.csdn.net/caofengtao1314/article/details/81252047
    ---
    [breed目录]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/4lwMq0JdiCuRu9wBiBsOzroHiJ2YVHjg.N00EMzbYcg!/b/dIABAAAAAAAA&bo=WgO8A1oDvAMRCT4!&rf=viewer_4
    [系统信息]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/MHzjBZMAm5TRM39qhvJbC4klfSAh4JrDQDjavR04f2A!/b/dN8AAAAAAAAA&bo=VQTEAlUExAIRGS4!&rf=viewer_4
    [固件更新]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/.wPCJ1m3yUi4HEG08RDHqxVMGNtaJCmno4cEH3KMC0!/b/dA0BAAAAAAAA&bo=ZwThAmcE4QIRGS4!&rf=viewer_4
    [串行选项设置]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/LvCzV01jY0qm8OgI0FySgVwnF4JPxdv1Fb.sV2H2VPU!/b/dG0BAAAAAAAA&bo=ngKaAp4CmgIRGS4!&rf=viewer_4
    [gspca devices]: http://r.photo.store.qq.com/psb?/V10Ogl4t4NCm21/KtQIeaKpaWI1MmXpg1vKCrk
    VoTDdVBSyZG5Vb7JqY0!/r/dA0BAAAAAAAA
    [摄像头参数]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/DP5jepQSrZxclXkdT.XaBSOOfM6HSfvKxC8WtFWLpu8!/b/dIUBAAAAAAAA&bo=hAS1A4QEtQMRGS4!&rf=viewer_4
    [mjpg-streamer设置]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/gotFpOPmz8mC4lJEzGqcJXDuuxPAEHnnBmqwRukYE7I!/b/dOAAAAAAAAAA&bo=ngNqA54DagMRGS4!&rf=viewer_4
    [摄像头画面]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/thoH6f7Ur9AqxRkDcFTvCCUkDpZwWwOIJ.iY0bhFKKQ!/b/dH4BAAAAAAAA&bo=SAN3AkgDdwIRGS4!&rf=viewer_4
    [路由器硬件]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/hQueQnf*AQajUXYeVgkCMoPJ2FCnwkAi6L2D7scfYQ0!/b/dN8AAAAAAAAA&bo=WQOAA1kDgAMRGS4!&rf=viewer_4

标签:kmod,U盘,mjpg,摄像头,streamer,固件,设备,OpenWrt,硬改
来源: https://www.cnblogs.com/Sky-seeker/p/10434346.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有