說到樹莓派,不能忽略其小小的拍照功能,在谷歌官方的Demo中,有一個項目涉及到了拍照,具體實現(xiàn)是一個門鈴的功能:
當(dāng)“門鈴”按下時,在門上方的“攝像頭”會抓拍下站在門口的的人,并通過谷歌的云平臺及其數(shù)據(jù)庫發(fā)送到與樹莓派相關(guān)聯(lián)的安卓手機(jī)。從而完成整個步驟。
申請谷歌云端平臺可以免費試用,但試用之前,需要填寫一個有效的付款方式,國內(nèi)的話需要VISA,或者其他外幣卡


有條件的小伙伴,可以嘗試一下,注意讀官方README文檔,想要使用的話,還需折騰Firebase Console和谷歌云平臺,下載相關(guān)json文檔,導(dǎo)入App Key。在這里,我就不說了。
本次,我主要按照谷歌給的實例,帶大家走一遍拍照的流程
先去GitHub上下載官方門鈴拍照的小應(yīng)用,或者用我這里給大家提供的一份
鏈接:http://pan.baidu.com/s/1dE2kjWP 密碼:y55j
解壓后,導(dǎo)入進(jìn)Android stdio里,由于不同于普通安卓應(yīng)用,需要下載相關(guān)類庫,會有個update提示,點下就好。

其中app是給樹莓派的,companionApp是安裝在安卓手機(jī)端。
直接點運行的話,會報錯誤,原因是沒有從Firebase Console中下載相關(guān)json 的文件,假如僅僅想和我一樣探究一眼樹莓派的拍照功能的話,在下方Gradle里,注釋掉外部引用。

刪除CloudVisionUtils這java文件。并在res下,新建一個布局文件activity_main,加入一個ImageView。

在DoorbellActivity中,關(guān)聯(lián)相關(guān)布局
@Override
public voidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
......
}
自己根據(jù)需求,找個合適的地方,在代碼中創(chuàng)建ImageView
private ?ImageViewimage;
image= (ImageView) findViewById(R.id.pinout_board);

原本這里是獲取拍照,上傳至谷歌云平臺的地方,在這里小小的改動一下。
同安卓應(yīng)用,在方法中,是不允許做更改界面的操作,所以,我這里使用Message,傳遞至Handler,在Handler中,將拍照的界面上傳上去。

如此,一個簡易的小拍照程序就出來了,如需更改像素,在DoorbellCamera中,有IMAGE_WIDTH,IMAGE_HEIGHT兩個參數(shù)可以修改。
想要拍照,將IO口的BCM21點接一下高電平,即可拍照一次

最后,將項目分享一下
鏈接:http://pan.baidu.com/s/1nvCZzvV 密碼:xs17