<output id="yn1pw"></output>
    <wbr id="yn1pw"></wbr>

    <form id="yn1pw"><legend id="yn1pw"></legend></form>

  1. 更多課程 選擇中心

    嵌入式培訓
    達內IT學院

    400-111-8989

    嵌入式er日常系列!終于搞定android驅動USB攝像頭了!

    • 發布:嵌入式ARM
    • 來源:嵌入式ARM
    • 時間:2017-11-30 15:51

    感謝網上的大神分享經驗,終于解決了讓我頭疼好久的USB攝像頭問題,討論的前提是你的USB攝像頭是UVC兼容的(如今大部分攝像頭兼容)。

    默認Android不提供訪問外部攝像頭的API,所以你要考慮寫一個內核到Android應用層通信的中間件。

    當你給設備接入了USB攝像頭,首先要檢查一下幾點:

    1)你的設備是否支持USB-OTG?

    2)是否在/dev目錄創建了設備?如果創建了就那么一切就很簡單了。shell 執行 ls -l /dev/v*,你將會看到video0或者video1。

    3)如果/dev沒有創建設備,你需要寫一個固件(UVC)跟硬件通信!

    看到這里,再次給我的MK802接上USB攝像頭,然后打開adb shell,執行ls -l /dev/v*,看到了 /dev/video0設備!

    拔掉攝像頭,再執行,video0消失,再連接,video0出現,這說明mk802支持我的攝像頭!

    到此,已經明確,下一步我需要寫一個android應用層到內核通信的中間件,我對這個也不了解,于是在google狂搜“android usb camera”

    終于功夫不負有心,找到了一個android usb攝像頭的應用例子

    http://brain.cc.kogakuin.ac.jp/research/usb-e.html

    從中找了一個SimpleWebCamra.apk,下載了趕緊裝上,發現不能運行,logcat報一個錯,提示沒有權限訪問video0設備。

    這是為什么?我的系統已經root了呀!難道我的apk也要獲得root權限?又在網上查資料,試了半天,還是不行。

    后來忽然靈機一動,android也是linux呀,我能不能把video0設備設置成沒權限?問了問朋友,執行了一個命令:

    chmod 777 /dev/video0

    再次運行apk終于跑起來了!(后來經測試,設置成 chmod 0666 /dev/vidoe0 也可以,但是我也不懂0666的含義。。)

    但是問題又來了,程序進去以后,報錯

    VIDIOC_DQBUF error 22, Invalid argument

    于是想,必須要活的SimpleWebCamea的源碼了!經過苦苦搜索,很幸運的找到一個simplewebcam的源碼:

    https://bitbucket.org/neuralassembly/simplewebcam/src

    下載一看,里邊包含ndk的c源碼和android源碼,于是按照ndk教程,安裝了cygwin

    苦于c代碼看不太懂,錯誤提示VIDIOC_DQBUF 調用參數錯誤,卻無從下手。

    于是看了n篇教程,偶然發現說打開攝像頭設備的open方法的一些參數,然后試著把c代碼中的一些參數去掉:

    fd = open (dev_name, O_RDWR | O_NONBLOCK, 0);

    改為

    fd = open (dev_name, O_RDWR);

    再次build,運行,天啊終于出來了,高興死了!

    本文內容轉載自網絡,本著分享與傳播的原則,版權歸原作者所有,如有侵權請聯系我們進行刪除!

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:【嵌入式】Ubuntu的安裝 教程
    下一篇:嵌入式開發:NFC就在你身邊

    裸編程怎么做?裸編程具體做法

    嵌入式編程中你必須知道的小知識

    嵌入式C語言編程小知識總結

    有哪些工具可以讓嵌入式開發事半功倍?

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    高清在线不卡一区二区_2019最新国产高清不卡a_亚洲欧洲日本aⅴ 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>