智能家居之智能监控小记

1.手机是如何连接摄像头

第一次连接的时候摄像头需要通过网线和路由器连接,会给摄像头分配一个ip地址,手机使用uid、密码通过ip地址进行连接,类似javaweb中的登陆访问操作


2.第一次怎么连接摄像头

首次连接摄像头需要通过网线去连接摄像头,然后手机通过wifi连接路由器,必须得到同一个网段下,然后通过手机去添加摄像头,因为我们已经有uid和密码了,所以不用添加,这样就会在手机中存储下摄像头的相关 信息,添加成功,就可以把网线拔了,下次连接的时候会从手机中将摄像头的信息拿出来,这样就可以实现使用手机在不同网段中连接摄像头了。


3.操作时阻塞现象

手机去连接摄像头的时候,是开了一个子线程通过jni调用.so文件中的方法去连接的,为了避免阻塞现象的发送,sdk中对所有的子线程都做了加锁操作,避免线程阻塞


4.摄像头内部如何实现

摄像头内部封装了一个微型liunx系统和一个微型的web服务器,我们发送指令是发送给web服务器,然后web服务器根据指令,通过一些算法去告诉摄像头执行什么操作,通过在返还给摄像头一些信息


5.移动操作中的指令参数:触控点、辅助设备

触控点:sdk中支持直接用手指在屏幕上滑动实现移动、放大等操作,所有会有一个触 控点的参数,辅助设备:摄像头支持外接麦克风和音响,所以会有一个辅助设备的参数存在,一般触控点和辅助设备我们都有0表示就可以了,代表使用系统默认的参数


Init ();
调用init放的时候会通过jni调用.so文件中的方法去初始化IOTC(物联云联机平台)模块,同时初始化av通道的最大数量(av就是音频audio和视频video,用于信号的输入、输出),为连接做准备


New camera()?
初始化uid和密码(初始化uid和密码为空字符串)  uid :20位的一个摄像头的唯一标示,密码 :连接摄像头的密码


registerIOTCListener()?
设置一个监听IOTC指令的回调监听,用于监听指令的返回信息


Connect(uid)?
将我们的uid赋值给camera中uid属性,然后开启一个线程去连接设备,再开启一个线程检验设备的状态


Start()
将通道号(手机和摄像头进行连接的一个通道的编号,必须保持一致,如果不一致会导致指令无法发送成功)、用户名、密码设置到av通道中,并开启一个线程启动设备


sendIOCtrl(channel,type,data[])
将指令添加到指令执行的队列当中去等待执行,类似MessageQueue


Type:AVIOCTRLDEFs.IOTYPE_USER_IPCAM_GETSUPPORTSTREAM_REQ
获取用户摄像头支持的流信息的请求指令类型
IOTYPE:IO指令的类型
user:用户
IPCAM :ip camera 
getsupportstream :获取支持的流信息
req :request请求


data[] :指令的参数


attachCamera(Camera,channel)
设置一个回调监听来获取返回的图片信息,同时开启一个渲染线程通过while循环使用Canvas videoCanvas = mSurHolder.lockCanvas();不停的进行图片渲染


startShow();
开启一个线程接收视频信息,同时在开启一个线程进行视频解码操作

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目开发环境 Linux+Arm53+C语言   项目需求    功能类别 功能名称 描述 家电控制模块 1、空调控制模块 信息显示 显示当前室内温度 自动控制 设置空调在某温度下自动开、关  2、风扇控制模块 状态显示 风扇开、关 自动控制 设置风扇的档数 3、灯光控制模块 状态控制 灯光的开/关控制 亮度 正常、节能  4、窗帘控制模块 自动开/关 根据室外的亮度自动开启/关闭窗帘 手动开/关 读取当前窗帘状态,手动开启/关闭 监控模块  1、烟感监控 自动控制 超过限量烟雾浓渡报警  2、红外监控 自动控制 有人非法闯进报警  3、报警功能 自动控制 打开、关闭  4、GPRS模块 信息收发 当有报警信息的时候,系统会自动将警报信息发送到指定的手机号码。 信息设定 设定接收信息的手机号  5、访客视频对讲 状态显示 观察访客信息、自定义门锁开、关 娱乐模块  1、收机 状态控制 开、关 自定义 更换频道 自动调节声 增大、减小  2、家庭影院 灯光控制 亮度效果调节 自动调节声 增大、减小  3、频播放 状态控制 开、关 自动调节声 增大、减小 自定义模式 选择播放、随机播放、顺序播放、列表循环  4、数码相册 状态控制 开、关 自定义模式 选择播放、随机播放、顺序播放、列表循环 场景切换  1、在家模式 状态控制 家居电器开关、灯光亮度、监控状态  2、离家模式    项目源码结构:     |--bin            脚本目录         |--tar.sh     项目打包脚本     |--data           数据目录     |--include        头文件         |--beep.h     蜂鸣器模块         |--bmp.h      BMP图模块         |--config.h   项目配置文件         |--file.h     文件操作模块         |--jpeg.h     JPG图模块         |--led.h      LED模块         |--mp3.h      频模块         |--mplayer.h  频库模块         |--res.h      资源配置文件         |--tslib.h    触摸模块         |--ui.h       UI模块         |--vedio.h    视频模块     |--lib            库文件     |--pic            资源图片         |--icon       应用图标         |--ui         UI文件     |--shortcut       项目效果图     |--ext            第三方库         |--driver     驱动         |--lib        第三方库     |--src            代码目录         |--main.c     主程序         |--Makfile    自动编译脚本 --------------------- 作者:qq_39188039 来源:CSDN 原文:https://blog.csdn.net/qq_39188039/article/details/83751526 版权声明:本文为博主原创文章,转载请附上博文链接!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值