路由器硬改+刷OpenWrt+掛載攝像頭+U盤



標題: 路由器硬改+刷OpenWrt+掛載攝像頭+U盤
作者: 夢幻之心星	347369787@QQ.com 
標簽: [路由器, OpenWrt, 攝像頭, 固件]
目錄: 路由器
日期: 2019-2-25

第一步,硬件改造

  1. 根據型號查找推薦的DDR內存和閃存(https://oldwiki.archive.openwrt.org/toh/tp-link/tl-wr703n
  2. 用拖焊法換Flash和Ram以及外置天線(注意檢查有無短路和斷路)
  3. 完善USB外圍電路
  4. 引出串口接線端子
    路由器WR703N硬件

第二步,刷入引導加載器和固件

  1. 用編程器備份原廠固件
  2. 用編程器刷入對應主控型號的breed(https://breed.hackpascal.net/
    Breed下載目錄
  3. 通過breed控制台編程器固件更新刷入原廠固件,固件更新時勾選保留現有 Bootloader,取消勾選保留現有 ART,固件更新成功后即可恢復原廠ART(無線校准信息)
  4. 通過breed控制台常規固件更新刷入openwrt固件(https://downloads.openwrt.org/),備份ART
    Breed_Web_恢復控制台-系統信息
    Breed_Web_恢復控制台-固件更新

第三步,安裝相關驅動和軟件

  1. 連接USB轉串口與路由器串口之間的導線

  2. 使用SecureCRTPortable連接對應串口,取消流控下的勾選
    SecureCRT軟件-會話選項-串行選項

  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系列)

  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. 通過外觀獲取型號
    2. 通過網絡獲取型號(官網、中關村在線、淘寶拍立淘、以圖識圖等)
    3. 通過命令獲取型號
  2. 獲取設備具體型號和參數

    1. 將攝像頭連接到電腦,進入ubuntu系統

    2. 安裝視頻和攝像頭軟件v4l-utils(luvcview,spcaview,webcam,xawtv)

    3. 執行以下命令可獲得設備分辨率、幀率等信息

       sudo apt-get install v4l-utils
       v4l2-ctl -d /dev/video0 --all
      

      Ubuntu系統-v4l-utils軟件 攝像頭參數

  3. 根據相關參數設置相關配置
    路由器WR703N硬件+OpenWrt-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 //停止

注意事項

  1. 資源占用高,CPU長期100%以上,內存占用20%左右,發熱量較大,長期運行可能會導致硬件性損壞,必須注意散熱
  2. 如果攝像頭支持mjpg格式輸出,mjpg-streamer只需要將得到jpeg格式的圖片轉發到HTTP服務器。但如果攝像頭不支持mjpg格式輸出,僅支持YUV格式,那mjpg-streamer需要將原始圖片壓縮成jpeg格式,因此需要消耗大量CPU資源
  3. luvcview命令可獲得攝像頭設備分辨率、幀率等信息
  4. blkid命令查詢設備上所采用文件系統類型。blkid主要用來對系統的塊設備(包括交換分區)所使用的文件系統類型、LABEL、UUID等信息進行查詢。要使用這個命令必須安裝e2fsprogs軟件包。
  5. dmesg命令用於檢測和控制內核環緩沖,用來幫助用戶了解系統的啟動信息
    • 列出加載到內核中的所有驅動;
    • 列出所有被檢測到的硬件;
    • 只輸出dmesg命令的前20行日志;
    • 只輸出dmesg命令最后20行日志;
    • 搜索包含特定字符串的被檢測到的硬件;
    • 清空dmesg緩沖區日志;
    • 實時監控dmesg日志輸出
  6. 高級定制可通過下載源碼后進行自定義配置再編譯固件文件
  7. 固件文件的解包和打包可使用firmware-mod-kit和binwalk工具

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM