智能家居328569332

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

智能家居之家电控制木笙智能家居•智能化的居住环境。利用的计算机技术、网络通信技术、自动控制等技术,将与家庭生活有关的各种设备结合在一起,通过综合管理,让家庭生活更舒适、更加安全,高效和节能的一种新技术。与普通家居相比,智能家居不仅具有传统的居住功能,还能给我们打造一个人性化的生活空间;将一批原来被动静止的家居设备转变为具有“智慧”的工具,帮助家庭与外部保持信息交流,优化人们的生活方式发展背景•智能家居的概念起源很早,但一直未有具体的建筑案例出现,直到1984年美国联合科技公司(UnitedTechnologiesBuildingSystem)将建筑设备信息化、整合化概念应用于美国康涅狄格州(Connecticut)哈特佛市(Hartford)的CityPlaceBuilding时,才出现了首栋的“智能型建筑”,从此揭开了全世界争相建造智能家居的序幕。国内现在与发展•智能家居作为一个新生产业,市场消费观念还未形成,但随着移动互联网的崛起,国家对信息产业的大力支持,宽带提速,激发了智能家居的市场潜能,一批企业开始看好智能家居的发展前景。智能家居至今在中国已经历了近12年的发展,从人们最初的梦想,到今天真实的走进我们的生活,经历了一个艰难的过程•萌芽期/智能小区期(1994年-1999年)•开创期(2000年-2005年)•徘徊期(2006-2010年)•融合演变期(2011-2020年)•爆发期应用领域•家庭自动化(HomeAutomation)•家庭网络(Homenetworking)•网络家电(WebTV)•信息家电(3C或者说IA)•比尔盖茨的家智能家电•智能灯泡•智能摄像头•智能空调课程内容•智能电灯泡通过蓝牙将手机和智能灯泡连接起来,实现电灯的打开、关闭、点动等操作•智能监控通过wifi或者2G、3G、4G网络将手机和智能摄像接起来,实现实时的监控,上下左右移动摄像头等操作。蓝牙灯泡•什么是蓝牙灯泡智能家居的一部分,将蓝牙模块和灯泡相结合,通过手机和蓝牙模块进行通讯,控制电灯中的电压板,从而控制灯泡的打开、关闭、点动等操作。•应用场景住家、卧室、客厅、厨房、浴厕,办公室、会议室、地下室、汗蒸房、美容院、医院、疗养院等等地方。•优缺点优点:方便、快捷、能耗低、寿命长、扩展性好缺点:受距离限制(5-10米),不稳定imagic蓝牙灯泡revogi蓝牙灯泡基本组件•灯泡•蓝牙模块•手机目标:通过手机控制灯泡的打开、关闭、点动操作效果图基本流程关键步骤•获取本地蓝牙适配器BluetoothAdaptermBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();•打开/关闭手机蓝牙打开手机蓝牙mBluetoothAdapter.enable();关闭手机蓝牙mBluetoothAdapter.disable();•扫描/取消蓝牙设备扫描蓝牙设备mBluetoothAdapter.startDiscovery();取消扫描蓝牙设备,减少资源的消耗mBluetoothAdapter.cancelDiscovery();关键步骤•注册蓝牙广播接受者IntentFilterfilter=newIntentFilter();//开始扫描的广播filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED);//扫描完成的广播filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);//发现一个可用的设备的广播filter.addAction(BluetoothDevice.ACTION_FOUND);mBluetoothReceiver=newBluetoothReceiver();//注册监听registerReceiver(mBluetoothReceiver,filter);关键步骤•蓝牙广播接受者classBluetoothReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){//获取蓝牙设备}}•连接设备publicvoidconnectServer(finalBluetoothDevicedevice){newThread(newRunnable(){@Overridepublicvoidrun(){try{System.out.println(randomUUID.toString());BluetoothSocketclientSocket=device.createRfcommSocketToServiceRecord(UUID.fromString(00001101-0000-1000-8000-00805f9b34fb));clientSocket.connect();out=clientSocket.getOutputStream();System.out.println(连接成功);Looper.prepare();Toast.makeText(BluetoothDemoActivity.this,连接成功,0).show();Looper.loop();}catch(IOExceptione){e.printStackTrace();}}}).start();}关键步骤•打开灯泡privatevoidopenLight(){if(out==null)return;try{//向服务端写数据byte[]b=newbyte[5];b[0]=(byte)0x01;b[1]=(byte)0x99;b[2]=(byte)0x10;b[3]=(byte)0x10;b[4]=(byte)0x99;out.write(b);out.flush();}catch(IOExceptione){Toast.makeText(this,打开失败,0).show();e.printStackTrace();}}关键步骤•注销广播接受者@OverrideprotectedvoidonDestroy(){super.onDestroy();unregisterReceiver(mBluetoothReceiver);}功能扩展加入语音控制灯泡的开灯,关灯利用讯飞语音的语音读写功能,判断字符串是打开,关闭,或者点动,再通过蓝牙控制灯泡智能监控•什么是智能监控智能家居的一部分,主要是通过网络摄像头实现实时监控,主要包含移动侦测报警、防盗拍照、移动录像等功能和手段。•应用场景主要应用于企业办公室、大型超市、大型工厂机房、老人儿童看场所、交通监管、家庭防盗等各方面领域。•优缺点优点:性价比高、扩展性好、可靠性高缺点:对网络带宽要求比较高,网络差的情况下界面显示有延时情况小米摄像头所需组件•1.网络摄像头•2.操控软件(PC或者APP)–通过软件操作摄像头–我们今天来开发一个app,通过app开控制摄像头上下左右移动的简单Demo效果图基本流程关键步骤•1.导入jar包和.so文件jar包中需要用到的类和参数•Cmaera摄像头对象–封装了摄像头参数和相关操作的类–例如:•DEFAULT_AV_CHANEL默认的渠道号,表示收集和摄像头连接的线路•Camera.CONNECTION_STATE_CONNECTING正在连接的状态connect()连接disconnect()断开连接registerIOTCListener()注册iotc指令返回信息监听startshow()显示画面stopshow()停止显示画面sendIOCtrl()发送指令jar包中需要用到的类和参数•Monitor监控画面控件,继承自SurfaceView–初始化参数和方法–例如:DEFAULT_MAX_ZOOM_SCALE默认最大焦距PTZ_SPEED移动速度PTZ_DELAY移动延时FLING_MIN_DISTANCE转动的最小距离FLING_MIN_VELOCITY移动的速率setMaxZoom()设置最大的焦距attachCamera(Cameracamera,intchannel)绑定摄像头deattachCamera()解除绑定jar包中需要用到的类和参数•IRegisterIOTCListener指令返回信息的监听器receiveChannelInfo();获取渠道返回的信息receiveIOCtrlData();获取操作指令返回的信息•AVIOCTRLDEFs封装了各种指令类型以及封装了各种指令类型参数的内部类OTYPE_USER_IPCAM_GETSUPPORTSTREAM_REQ获取流的请求IOTYPE_USER_IPCAM_PTZ_COMMAND移动指令AVIOCTRL_PTZ_UP上移动指令内部类:SMsgAVIoctrl....封装指令参数内部类关键步骤•2.连接摄像头–2.1初始化显示控件•com.tutk.IOTC.Monitor–2.2初始化摄像头和连接•初始化摄像头•Camera.init();•Cameracamera=newCamera();•连接摄像头•camera.connect(uid);•camera.start(Camera.DEFAULT_AV_CHANEL,name,passowrd);–2.3注册监听发送测试指令注册监听camera.registerIOTCListener(this);发送指令camera.sendIOCtrl(Camera.DEFAULT_AV_CHANNEL,AVIOCTRLDEFs.IOTYPE_USER_IPCAM_GETSUPPORTSTREAM_REQ,SMsgAVIoctrlGetSupportStreamReq.parseContent());关键步骤•3.获取指令返回信息和连接状态•获取指令信息的方法@OverridepublicvoidreceiveChannelInfo(Cameracamera,intchannel,intresultCode){Messagemessage=Message.obtain();message.what=resultCode;handler.sendMessage(message);}关键步骤•4.显示监控画面//1,判断摄像头是否在连接状态if(camera!=null&&camera.isChannelConnected(Camera.DEFAULT_AV_CHANNEL)){//2,设置最大焦距monitor.setMaxZoom(1.0f);//3,绑定摄像头monitor.attachCamera(camera,Camera.DEFAULT_AV_CHANNEL);//参数1:渠道号//参数2:是否允许拍照,true允许拍照;false不允许拍照camera.startShow(Camera.DEFAULT_AV_CHANNEL,true);}关键步骤•5.上下左右移动控制//移动指令camera.sendIOCtrl(Camera.DEFAULT_AV_CHANNEL,AVIOCTRLDEFs.IOTYPE_USER_IPCAM_PTZ_COMMAND,SMsgAVIoctrlPtzCmd.parseContent((byte)AVIOCTRLDEFs.AVIOCTRL_PTZ_UP,(byte)0,(byte)0,(byte)0,(byte)0,(byte)Camera.DEFAULT_AV_CHANNEL));关键步骤•6.断开连接1).解除绑定cameraplay.deattachCamera();解除绑定camera.stopShow(Camera.DEFAULT_AV_CHANNEL);结束显示2).断开连接camera.stop(Camera

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功