基于SnapDragonBoard410c的远程防盗系统 (二)

本次我将继续为大家讲解基于SnapDragonBoard410c的远程防盗系统的整体架构和开发过程中应注意的问题。需要的硬件如下:410c开发板一块,超声波模块一个 ,Camera模组一个 ,无线热点一个(为测试提供使用)。

远程防盗系统

超声波探距:

读取该设备节点sys/devices/soc.0/sona/value 就可获取门外障碍的距离。如发现长时间有人驻足或门外障碍的距离小于 设备所设置的距离,就会调用相机拍下照片。如有测距的次数大于5次则,发送视屏邀请屋主,查看当前房屋门外的情况。

调用相机拍照:

private void useCamera() {
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()
            + "/test/" + System.currentTimeMillis() + ".jpg");
    file.getParentFile().mkdirs();

    //改变Uri  com.xykj.customview.fileprovider注意和xml中的一致
    Uri uri = FileProvider.getUriForFile(this, "com.xykj.customview.fileprovider", file);
    //添加权限
    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

    intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
    startActivityForResult(intent, REQUEST_CAMERA);
}

保存照片:

if (requestCode == REQUEST_CAMERA && resultCode == RESULT_OK) {
        headImageView.setImageURI(Uri.fromFile(file));

        //在手机相册中显示刚拍摄的图片
        Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        Uri contentUri = Uri.fromFile(file);
        mediaScanIntent.setData(contentUri);
        sendBroadcast(mediaScanIntent);
    }

通知业主:

使用 call(String remoteUid, LocalStream localStream, String data) 来发起通话请求,该方法需要传递三个参数:

    remoteUid: 通话接收方的 uid,uid 是 WilddogAuth 为认证用户分配的唯一身份标识;
    localStream: 通话发起方的本地媒体流;
    data: 用户自定义信息,可以为空。

调用该方法返回 Conversation 实例,用于控制本次一对一视频通话。

mConversation = video.call(remoteUid,localStream,"conversationDemo");

    注:每个客户端同一时间只能存在一个通话。发起电话请求时,默人会挂断前一次通话。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013763766/article/details/78590745
个人分类: android
想对作者说点什么? 我来说一句

基于GSM的远程防火防盗报警系统

2018年02月02日 2.58MB 下载

基于单片机智能家居报警系统

2013年06月21日 6KB 下载

没有更多推荐了,返回首页

不良信息举报

基于SnapDragonBoard410c的远程防盗系统 (二)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭