说到树莓派,不能忽略其小小的拍照功能,在谷歌官方的Demo中,有一个项目涉及到了拍照,具体实现是一个门铃的功能:
当“门铃”按下时,在门上方的“摄像头”会抓拍下站在门口的的人,并通过谷歌的云平台及其数据库发送到与树莓派相关联的安卓手机。从而完成整个步骤。
申请谷歌云端平台可以免费试用,但试用之前,需要填写一个有效的付款方式,国内的话需要VISA,或者其他外币卡
有条件的小伙伴,可以尝试一下,注意读官方README文档,想要使用的话,还需折腾Firebase Console和谷歌云平台,下载相关json文档,导入App Key。在这里,我就不说了。
本次,我主要按照谷歌给的实例,带大家走一遍拍照的流程
先去GitHub上下载官方门铃拍照的小应用,或者用我这里给大家提供的一份
链接:http://pan.baidu.com/s/1dE2kjWP 密码:y55j
解压后,导入进Android stdio里,由于不同于普通安卓应用,需要下载相关类库,会有个update提示,点下就好。
其中app是给树莓派的,companionApp是安装在安卓手机端。
直接点运行的话,会报错误,原因是没有从Firebase Console中下载相关json 的文件,假如仅仅想和我一样探究一眼树莓派的拍照功能的话,在下方Gradle里,注释掉外部引用。
删除CloudVisionUtils这java文件。并在res下,新建一个布局文件activity_main,加入一个ImageView。
在DoorbellActivity中,关联相关布局
@Override
public voidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
......
}
自己根据需求,找个合适的地方,在代码中创建ImageView
private ImageViewimage;
image= (ImageView) findViewById(R.id.pinout_board);
原本这里是获取拍照,上传至谷歌云平台的地方,在这里小小的改动一下。
同安卓应用,在方法中,是不允许做更改界面的操作,所以,我这里使用Message,传递至Handler,在Handler中,将拍照的界面上传上去。
如此,一个简易的小拍照程序就出来了,如需更改像素,在DoorbellCamera中,有IMAGE_WIDTH,IMAGE_HEIGHT两个参数可以修改。
想要拍照,将IO口的BCM21点接一下高电平,即可拍照一次
最后,将项目分享一下
链接:http://pan.baidu.com/s/1nvCZzvV 密码:xs17