聲明:該項(xiàng)目設(shè)計(jì)來(lái)源DF創(chuàng)客社區(qū),僅供學(xué)習(xí)參考,不可用于商業(yè)用途。
前言:
寵物自動(dòng)感應(yīng)相機(jī)設(shè)計(jì)目的是為了能夠隨時(shí)隨地和家人朋友分享家中愛(ài)寵的照片信息,由于工作繁忙,沒(méi)有太多時(shí)間去關(guān)照家里的寵物,更別說(shuō)拍照片了,所以萌發(fā)了想給家中的狗狗拍照片的想法。
之前想過(guò)用山狗和樹莓派來(lái)搭建,但是都沒(méi)有去做,因?yàn)閮蓚€(gè)問(wèn)題,第一個(gè)如果用樹莓派的官方攝像頭,不太好集成到我的程序里面,只能通過(guò)shell腳本來(lái)實(shí)現(xiàn),不夠高端大氣上檔次。。。如果用arduino有覺(jué)得攝像頭不好控制。。。。后來(lái)參加blueeye做無(wú)人船的時(shí)候,大熊借給我一塊Edison,所以決定用edison去實(shí)現(xiàn)拍照的功能,是不是有作死的感覺(jué),通過(guò)查閱資料,看到edison的運(yùn)算性能非常不錯(cuò),又非常的低功耗,也有大神已經(jīng)實(shí)現(xiàn)了在edison上跑opencv的實(shí)踐。
寵物自動(dòng)感應(yīng)相機(jī)視頻演示:
用edison結(jié)合傳感器來(lái)實(shí)現(xiàn)拍照原理:
也許在大牛的眼里,就是小兒科啊。。。我只用了一個(gè)傳感器,就是人體紅外熱釋傳感器,也叫運(yùn)動(dòng)傳感器,就是如果傳感器感應(yīng)到有運(yùn)動(dòng)物體就會(huì)產(chǎn)生電平的高低變化(因?yàn)檫@是一個(gè)數(shù)字傳感器),通過(guò)程序判斷電平的高低變化就可以實(shí)現(xiàn)對(duì)運(yùn)動(dòng)物體的檢測(cè),然后通過(guò)edison結(jié)合opencv的視覺(jué)庫(kù),進(jìn)行抓圖的操作,并存入一張照片,然后利用定時(shí)腳本將拍攝的照片通過(guò)wifi傳入阿里云服務(wù)器,再通過(guò)編輯好的頁(yè)面展示出來(lái)。這樣,不管是在任何地方,任何時(shí)間,只要萌寵經(jīng)過(guò)傳感器的前方,就會(huì)被感應(yīng)到,并且被拍照上傳服務(wù)器。我和我的朋友家人就可以通過(guò)手機(jī)或者電腦,隨時(shí)隨地的訪問(wèn)這些圖片了。
當(dāng)然,后期會(huì)考慮如果涉及到安全和隱私的話,我們會(huì)加入驗(yàn)證環(huán)節(jié)。另外,通過(guò)在喂食盆附近的放置該設(shè)備,還可以通過(guò)對(duì)圖片的統(tǒng)計(jì)算出寵物被感應(yīng)到的次數(shù),就可以繪制出一個(gè)曲線,判斷萌寵饑餓的程度,然后提供的數(shù)據(jù)可以總結(jié)后設(shè)置一個(gè)自動(dòng)喂食機(jī)構(gòu),在達(dá)到閾值就投放食物,真是寵物用品界的大數(shù)據(jù)分析和應(yīng)用??!
想法誕生的時(shí)候只是簡(jiǎn)單畫了個(gè)圖:
現(xiàn)場(chǎng)制作過(guò)程中由于大家都太專注,拍攝的圖片少,大家湊合看啦,頭骨是用502粘到俞廷同學(xué)設(shè)計(jì)和打印的3D外殼上的。
制作需要的物件:
- Edison 一塊
- Edison擴(kuò)展板 一塊
- 還要一塊很重要的設(shè)備,就是DFRobot的一塊I/O extended sheild,有了它,一切變得更加簡(jiǎn)單了。
- 母對(duì)母頭杜邦線 x 3
- 270度攝像頭一個(gè)
- 人體紅外熱釋傳感器 一個(gè)
- 構(gòu)建過(guò)程極其簡(jiǎn)單,我將人體紅外熱釋傳感器通過(guò)線纜接入到i/o擴(kuò)展板的7號(hào)接口,記得看清楚pin腳的描述。
- vcc----接5v
- GND---接地
- sign----接io擴(kuò)展板的pin腳。
- 攝像頭-----接usb接口(唯一一個(gè)寬口的USB)
然后刷入yoctolinux系統(tǒng),這個(gè)過(guò)程需要用到:
具體刷系統(tǒng)的過(guò)程就不寫了。很簡(jiǎn)單,intel官方網(wǎng)站有,請(qǐng)自行搜索。
然后啟動(dòng)edison的時(shí)候通過(guò)串口連入edison。這里要簡(jiǎn)單說(shuō)明一下,edison有兩個(gè)microusb的接口。和我們用的android手機(jī)充電接口一樣,最下面的那個(gè)是調(diào)試串口,上面的一個(gè)小的microusb是和大口usb共用的,靠一個(gè)switch來(lái)控制。
這個(gè)實(shí)驗(yàn)里面我已經(jīng)把switch撥到靠近大usb口的位置了,所以大的usb將會(huì)得到應(yīng)用。小的可以做為供電。然后通過(guò)電腦連接串口進(jìn)行查看。因?yàn)槲业碾娔X是mac,所以我用的的方法和大家不一樣,如果是windows就用putty去連接設(shè)備。
更多操心講解詳見附件內(nèi)容。
opencv的源代碼,見附件內(nèi)容下載:
shell腳本記得加執(zhí)行權(quán)限:
#chmod +x upload.sh
還有一個(gè)Makefile: