智能家居控制新版系统标准设计_第1页
智能家居控制新版系统标准设计_第2页
智能家居控制新版系统标准设计_第3页
智能家居控制新版系统标准设计_第4页
智能家居控制新版系统标准设计_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

姓名二级学院专业班级智能家居控制系统设计摘要:本文简单介绍了智能家庭控制系统组成、旅行、功效、系统设计和产品选择关键点,工程设计事例等。Summary:Thisarticlesimplyintroducesthecompositionoftheintelligenthomecontrolsystem,travel,function,systemdesignandproductselection,themainpointsoftheengineeringdesignexamples,etc关键词:家庭控制器,自动监控,安全防范。Antistop:HomeController,automaticmonitoring,safetyprotection目录序言----------------------------------------------------------3智能家居控制系统概述------------------------------------------4智能家居控制系统功效------------------------------------------43.1家庭通信----------------------------------------------------43.2家庭设备自动监控--------------------------------------------43.3家庭安全防范------------------------------------------------4智能家居控制系统类型------------------------------------------54.1系统类型----------------------------------------------------54.2基础特点、功效、适用范围------------------------------------55.系统设计及产品选择关键点----------------------------------------75.1智能家庭控制系统类型选择---------------------------------75.2家庭控制器选择-------------------------------------------75.3总线技术及模块化设计------------------------------------------75.4扩展功效----------------------------------------------------76.设备安装----------------------------------------------------86.1交换机、路由器、控制器、放大箱、分配箱、电话分线箱---------------86.2家庭控制器-------------------------------------------------86.3可燃气体探测器----------------------------------------------96.4感温探测器设置-----------------------------------------------96.5紧急按钮开关------------------------------------------------96.6门(窗)磁开关------------------------------------------------96.7玻璃破碎探测器----------------------------------------------96.8被动红外侵入探测器和被动红外/微波双技术探测器------------------96.9红外遥控器-------------------------------------------------97.工程设计实例---------------------------------------------------108.设计中应注意事项----------------------------------------------119.附录---------------------------------------------------------11序言伴随国民经济和科学技术水平提升,尤其是计算机技术、通信技术、网络技术、控制技术迅猛发展和提升,促进了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经影响到大家生活方方面面,改变了大家生活习惯,提升了大家生活质量,家居智能化也正是在这种形势下应运而生。2.智能家居控制系统概述智能家庭控制系统是以HFC、以太网、现场总线、公共电话网、无线网传输网络为物理平台,计算机网络技术为技术平台,现场总线为应用操作平台,组成一个完整集家庭通信、家庭设备自动控制、家庭安全防范等功效控制系统。智能家居控制系统总体目标是经过采取计算机技术、网络技术、控制技术和集成技术建立一个由家庭到小区乃至整个城市综合信息服务和管理系统,以此来提升住宅高新技术含量和居民居住环境水平。系统通常由系统服务器、家庭控制器(多种模块)、多种路由器、电缆调制解调器头端设备CMTS、交换机、通讯器、控制器、无线收发器、多种探测器、多种传感器、多种实施机构、打印机等关键部分组成。可视门禁控制可视门禁控制窗帘控制灯光控制娱乐系统控制防盗警报控制远程医疗控制燃煤气报警控制智能家居控制系统电话、手机、电脑小区其它应用系统小区防盗警报系统智能三表查抄系统Internert网路由、防火墙家庭网关小区控制中心PDA\手提\PC服务器3.智能家居控制系统功效智能家庭控制系统关键功效包含家庭通信、家庭设备自动控制、家庭安全防范三个方面。3.1家庭通信家庭通信可采取电话线路、计算机互联网、CATV线路、无线局域网等方法。(1)电话线路经过电话线路实现双向传输语音信号和数据信号。(2)计算机互联网经过互联网实现信息交互、综合信息查询、网上教育、医疗保健、电子邮件、电子购物等。(3)CATV线路经过CATV线路实现VOD点播和多媒体通信。(4)无线局域网经过无线收发器、天线、多种无线终端,实现双向传输数据信号。3.2家庭设备自动监控家庭设备自动监控包含电器设备集中、遥控、远距离异地(经过电话或Internet)监视、控制及数据采集。(1)家用电器监视和控制根据预先所设定程序要求对热水器、微波炉、视像音响等家用电器进行监视和控制。(2)热能表、燃气表、水表、电度表数据采集、计量和传送依据小区物业管理要求所设置数据采集程序,经过传感器对热能表、燃气表、水表、电度表用量进行自动数据采集、计量,并将采集结果远程传送给小区物业管理系统。(3)空调机监视、调整和控制根据预先所设定程序,依据时间、温度、湿度等参数对空调机进行监视、调整和控制。(4)照明设备监视、调整和控制根据预先设定时间程序,分别对各个房间照明设备开、关进行控制,并可自动调整各个房间照度。(5)窗帘控制根据预先设定时间程序,对窗帘开启/关闭进行控制。3.3家庭安全防范家庭安全防范关键包含多火灾报警、可燃气体泄漏报警、防盗报警、紧急求救、多防区设置、访客对讲等。家庭控制器内按等级预先设置若干个报警电话号码(如家人单位电话号码、手机电话号码、寻呼机电话号码和小区物业管理安全保卫部门电话号码等),在有报警发生时,按等级次序依次不停地拨通上述电话进行报警(可报出家中是哪个系统报警了)。同时,多种报警信号经过控制网络传送至小区物业管理中心,并可和其它功效模块实现可编程联动(如可燃气体泄漏报警后,联动关闭燃气管道上电磁阀)。(1)防火灾发生经过设置在厨房感温探测器和设置在客厅、卧室等感烟探测器,监视各个房间内有没有火灾发生。如有火灾发生家庭控制器发出声光报警信号,通知家人及小区物业管理部门。家庭控制器还能够依据有些人在家或无人在家情况,自动调整感温探测器和感烟探测器灵敏度。(2)防可燃气体泄漏经过设置在厨房可燃气体探测器,监视燃气管道、灶含有没有燃气泄漏。如有燃气泄漏家庭控制器发出声光报警信号,并联动关闭燃气管道上电磁阀,同时通知家人及小区物业管理部门。(3)防盗报警防盗报警防护区域分成两部分,即住宅周界防护和住宅内区域防护。住宅周界防护是指在住宅门、窗上安装门磁开关,在对外玻璃窗、门周围安装玻璃破碎探测器;住宅内区域防护是指在关键通道、关键房间内安装被动红外探测器或被动红外/微波双技术探测器。当家中有些人时,住宅周界防护防盗报警设备(门磁开关、玻璃破碎探测器)设防,住宅内区域防护防盗报警设备(红外探测器或被动红外/微波双技术探测器)撤防。当家人出门后,住宅周界防护防盗报警设备(门磁开关、玻璃破碎探测器)和住宅内区域防护防盗报警设备(被动红外探测器或被动红外/微波双技术探测器)均设防。当有非法侵入时,家庭控制器发出声光报警信号,并通知家人及小区物业管理部门。另外,经过程序可设定报警装置等级和报警器灵敏度。(4)访客对讲住宅主人经过访客对讲设备和来访者进行双向通话或可视通话,确定是否许可来访者进人。住宅主人利用访客对讲设备,能够对大楼入口门或单元门门锁进行开启和关闭控制。(5)紧急求救当碰到意外情况(如疾病或有些人非法侵入)发生时,按动报警按钮向小区物业管理部门进行紧急求救报警。紧急求救信号在网络传输中含有最高优先等级,因为是人在紧急情况下求救信号,其误报可能性很小。4.智能家居控制系统类型4.1系统类型智能家庭控制系统可分成采取公共电话网智能家庭控制系统、HFC智能家庭控制系统、以太网智能家庭控制系统、LonWorks智能家庭控制系统、KS485智能家庭控制系统、无线网智能家庭控制系统等类型。4.2基础特点、功效、适用范围(1)采取公共电话网智能家庭控制系统采取公共电话网智能家庭控制系统图参见国家建筑标准设计<智能家居控制系统设计施工图集》03X602第14页。·基础特点:家庭智能控制器内配置了和电话线连接收发器,利用电话网络作为信息传输网。该系统不仅在功效上能完全满足要求,而且大大地简化了布线,能够节省布线投资。·系统组成:系统由系统服务器、家庭控制器(内置了和电话线连接收发器)、路由器、收发器、多种探测器、多种传感器、多种实施机构、打印机等组成。·系统功效:实现家庭通信、家庭设备自动控制、家庭安全防范。·适用范围:该系统适适用于新建、扩建智能化住宅(小区)工程,且尤其适适用于改造智能化住宅(小区)工程,利用原有电话线就可实现数据信号共网传输。(2)采取HFC智能家庭控制系统采取HFC智能家庭控制系统图参见国家建筑标准设计<智能家居控制系统设计施工图集》03X602第15页。·基础特点:家庭智能控制器内配置了CableModem,利用有线电视HFC网络作为信息传输网。该系统不仅在功效上能完全满足要求,而且大大地简化了布线,能够节省布线投资。HFC网络采取共享方法,其共享带宽为36Mbps。当上网人数较多时,上网速度会变慢。因为CableModem设备费用较高,用户网络开通费用高。·系统组成:系统由系统服务器、家庭控制器(内置了CableModem)、路由器、电缆调制解调器头端设备CMTS、有线电视传输网络、多种探测器、多种传感器、多种实施机构、打印机等组成o·系统功效:实现家庭通信、家庭设备自动控制、家庭安全防范。·适用范围:该系统适适用于新建、扩建智能化住宅(小区)工程,且尤其适适用于改造智能化住宅(小区)工程,仅将原有有线电视HFC网络进行双向改造,就可实现数据和图像信号共网传输。(3)采取以太网智能家庭控制系统采取以太网智能家庭控制系统图参见国家建筑标准设计<智能家居控制系统设计施工图集》03X602第16、17页。

·基础特点:家庭智能控制器内配置了以太网网卡,利用以太网作为信息传输网。以太网同时支持住户计算机和智能家庭控制系统。该系统不仅在功效上能完全满足要求,而且大大地简化了布线,能够节省布线投资。

以太网传输速率较高,传输速率有10Mbps、100Mbps等。依据传输距离要求,由小区物业管理中心至各楼交换机采取5类以上4对对绞线、多模光缆或单模光缆,由交换机至家庭控制器采取超5类4对对绞电缆。

·系统组成:系统由系统服务器、家庭控制器、路由器、交换机、多种探测器、多种传感器、多种实施机构、打印机等组成。

·系统功效:实现家庭通信、家庭设备自动控制、家庭安全防范。

·适用范围:该系统适适用于新建、扩建和改造智能化住宅(小区)工程,用以太网实现数据和图像信号双向传输。

(4)采取LonWorks智能家庭控制系统采取LonWorks智能家庭控制系统图参见国家建筑标准设计《智能家居控制系统设计施工图集如3X602第21、22、23页。

·基础特点:采取一个覆盖全部ISO/OSI标准七层通信协议、开放性LonWork总线技术,一台系统服务器最多可连接127台LONWorks路由器,一台LonWorks路由器最多可连接63台家庭控制器。每台家庭控制器为LonWork一个通道上网络节点,每个网络节点包含有神经元(NEURON)芯片、振荡器、电源、一个经过媒介通信收发器和和监控设备接口I/O设备(电路)、存放器等。

LonWorks直接通信距离可达2700m(双绞线、78Kbps),其通信传输速度最大可达1.25Mbps(此时有效传输距离为130m)。LonWorks路由器至小区物业管理中心线路长度超出2700m时,需在总线上加装中继器。传输线通常采取双绞线,依据需要也可采取同轴电缆或电力线。

·系统组成:由系统服务器、家庭控制器、路由器、LonWorks路由器、交换机、多种探测器、多种传感器、多种实施机构、打印机等组成。

·系统功效:实现家庭通信、家庭设备自动控制、家庭安全防范。

·适用范围:该系统尤其适适用于新建、扩建智能化住宅(小区)工程。

(5)采取KS485智能家庭控制系统

采取KS485智能家庭控制系统图参见国家建筑标准设计<智能家居控制系统设计施工图集>03X602第18、19、20页。

·基础特点:KS485串行接口总线为主从式网络,它通信为半双工、采取双向单信道连接方法。RS485串行接口总线传输介质采取双绞线,它能够高速地进行远距离传输,传输速度和传输距离技术指标以下:传输速率为10Mbit/s时,最大传输距离是12m;传输速率为1Mbit/s时,最大传输距离是120m;传输速率为100kbit/s时,最大传输距离是1200m。

·系统组成:由系统服务器、家庭控制器、路由器、通讯器、控制器、多种探测器、多种传感器、多种实施机构、打印机等组成。

·系统功效:实现家庭通信、家庭设备自动控制、家庭安全防范。

·适用范围:该系统尤其适适用于新建、扩建智能化住宅(小区)工程。

(6)采取无线网智能家庭控制系统

采取无线网智能家庭控制系统图参见国家建筑标准设计<智能家居控制系统设计施工图集>03X602第24、25页。

·基础特点:利用无线作为信息传输网,该系统不仅在功效上能完全满足要求,而且从系统服务器至家庭控制器、家庭控制器至多种现场末端装置均采取无线传输方法,小区、楼内、户内无需布线,施工简单,能够节省施工投资。

无线网工作频率符合IEEE802.11b标准要求。

·系统组成:由系统服务器、家庭控制器、无线收发器、多种探测器、多种传感器、多种实施机构、打印机等组成。

·系统功效:实现家庭通信、家庭设备自动控制、家庭安全防范。

·适用范围:该系统适适用于新建、扩建智能化住宅(小区)工程,且尤其适适用于改造智能化住宅(小区)工程,不用敷设线路就可实现数据信号传输。5.系统设计及产品选择关键点

5.1智能家庭控制系统类型选择

新建、扩建智能化住宅(小区)工程,宜采取LonWorks智能家庭控制系统、以太网智能家庭控制系统或采取RS485智能家庭控制系统。改造智能化住宅(小区)工程,宜采取公共电话网智能家庭控制系统、HFC智能家庭控制系统或无线网智能家庭控制系统。

5.2家庭控制器选择

家庭控制器选择关键包含功效、总线技术及模块化设计、扩展功效、可按用户基础要求进行配置等方面选择要求。

(1)家庭控制器功效选择

家庭控制器通常含有以下功效:

·家庭防盗报警;

·家庭火灾报警;

·家庭燃气泄露报警;

·家庭紧急求援;

·远程设防和撤防;

·远程报警;

·访客对讲;

·家用电器监控;

·家用表具数据采集及处理;

·空调机监控;

·接入网接口;

·小区电子公告;

·信息查询;

·家用设备报修等。

(2)家庭控制器功效选择

在工程设计中,家庭控制器功效选择可参见下表所表示。

5.3总线技术及模块化设计

·家庭控制器要求采取总线技术,如LonWorks、R5485、BACnet、C^NBlls、CEBus、X一10;

·家庭控制器要求采取模块化设计,方便用户能够依据需求选择不一样模块完成不一样功效。

5.4扩展功效

家庭控制器要有一定扩展功效,考虑能适应以后发展需要。可按用户基础要求进行配置应能依据用户提出有哪些被控设备及监视控制要求(功效要求)等原因,来对家庭控制器组成进行配置,包含模块种类选择和多种模块数量选择。6.设备安装6.1交换机、路由器、控制器、放大箱、分配箱、电话分线箱康居住宅家庭控制器功效设置表级嗣消防安防访客对讲家电监控表具数据远传基础级(1A)1.在住户内安装紧急按钮开关。2.在住户内安装入侵报警探测器。含有语音对讲及控制开启楼道人口处防盗门功效。1~2点热能表、燃气表、水表、电度表自动抄收及远传、超限判定、自动检验、分时计费、实时计量、管理功效。提升级(2A)在室内安装可燃气体泄漏自动报警装置。且能就地发出声光报警信号。1.在住户内两处安装紧急按钮开关。2.在住户内安装入侵报警探测器,在户门、及用台、外窗安装人侵报警装置。含有语音对讲及控镧开启楼道人口处防盗门功效。可实现住户和安防监控中心直接联络。2点以上热能表、燃气表、水表、电度表自动抄收及远传、超限爿断、自动检验、分时计费、实时计量、管理功效。优异级(3A)1.在室内安装可燃气体泄漏自动报警装置,当燃气体泄漏报警后能自动切断气源、打开捧气装置,且能就地发出声光报警信号。2.在住户内设置火灾自动报警装置。1.在住户内不少于两处安装紧急按钮开关。2.在住户内安装入侵报警探测器,在户门及阳台门、外窗安装入侵报警装置。含有语音、可视对讲及控翻开启楼道入口处防盗门功效,可实现住户和安防监控中心直接联络。2点以上热能表、燃气表、水表、电度表自动抄收及远传、超限判定、自动检验、分时计费、实时计量、管理功效。这些设备均应安装在电气竖井内或公共走道墙上(内)。6.2家庭控制器暗装(或明装)在墙内(上),其底边距地面1.4m左右。家庭控制器应设置在住户大门周围(宜距户门0.5m以内),且轻易操作(包含设防和撤防)地方。6.3可燃气体探测器安装在厨房内燃气管道、灶具周围,当住户使用是天然气,燃气探测器吸顶棚安装在距顶棚300ram以内地方;当住户使用是液化石油气,燃气探测器安装在距地面300mm以内地方。6.4感温探测器设置在厨房内,它吸顶棚安装。在起居室、卧室等房间内,它吸顶棚安装。6.5紧急按钮开关设置在起居室沙发和主卧室床头周围墙上,及卫生间墙上。紧急按钮开关暗装在墙内,其底边距地面0.5m~1.2m。6.6门(窗)磁开关安装在门扇和门框内或窗扇和窗框内。6.7玻璃破碎探测器安装在窗户和玻璃门(阳台)周围墙上或吸顶棚安装。6.8被动红外侵入探测器和被动红外/微波双技术探测器安装在住户关键通道、关键房间内,它吸顶棚安装或安装在顶棚墙角处。6.9红外遥控器安装在被控电器设备正面周围墙上,距离不能超出红外线工作范围,且和电器设备之间没有遮挡。7.工程设计实例以二室户型为例介绍户内智能家庭控制系统设计,设计标准采取康居住宅优异级(3A)。采取以太网家居控制系统,家庭控制器和户内各模块之间采取R.$485总线,家庭控制器可经过电话线或计算机网络接收控制指令、发出信息,所选择家庭控制器含有可视访客对讲功效。家居控制系统图参见国家建筑标准设计<智能家居控制系统设计施工图集>03X602第17页,二室户型家居控制平面图参见图1、2所表示,家庭控制器和室内设备连接参见图3所表示。在起居厅、卧室设置了感烟探测器,厨房设置了感温探测器、可燃气体探测器,各房间窗户、阳台推拉门上及周围设置了门(窗)磁开关和玻璃破碎探测器,起居厅设置了被动红外侵入探测器,起居厅、卧室、卫生间设置了紧急按钮开关。对电、水、燃气进行计量;可对餐厅、起居厅、卧室灯进行控制;当可燃气体探测器探测到有燃气泄漏后,联动控制关闭燃气管道上电磁阀、开启排烟风机;当有多种探测器报警后,联动警报发声器发出报警声音。家庭控制器共提供13路输入:电度表(电度表安装在照明配电箱内)、燃气表、热能表、可燃气体探测器、感温探测器、感烟探测器、紧急按钮开关、被动红外侵入探测器、玻璃破碎探测器各1路,水表、门(窗)磁开关各2路。家庭控制器共提供7路输出:警报发声器控制1路、燃气管道上电磁阀控制1路、排烟风机控制1路、照明控制4路。三室户型、复式结构、别墅智能家庭控制平面图及家庭控制器和室内设备连接参见国家建筑标准设计《智能家居控制系统设计施工图集》03X602。8.设计中应注意事项当防火规范要求必需设置火灾报警系统时,感烟探测器、感温探测器及可燃气体探测器设置及系统组成须遵照《火灾自动报警系统设计规范》GB50116-98要求。9.附录9.1自动控制packagecom.zonesion.smarthome.auto;importjava.util.Timer;importjava.util.TimerTask;importandroid.util.Log;importandroid.widget.Toast;importcom.zhiyun360.wsn.droid.WSNRTConnect;importcom.zonesion.smarthome.app.IOnSensorDataListener;importcom.zonesion.smarthome.app.SmartHomeApplication;importcom.zonesion.smarthome.data.DatabaseHelper;importcom.zonesion.smarthome.data.ProfilesConfig;importcom.zonesion.smarthome.data.UserConfig;importcom.zonesion.smarthome.sms.Sms;importcom.zsmarthome.R;/***AutoControl是自动控制实现类,实现了报警装置模块、安防设备模块、视频监控模块自动控制。该类实现了IOnSensorDataListener接口,即要实现onSensorData(Stringmac,byte[]bdata)方法,经过该方法来实现对底层传感器控制。**@authorAdministrator**/publicclassAutoControlimplementsIOnSensorDataListener{ /**AutoControlTAG日志标签*/ privatestaticfinalStringTAG="AutoControl"; /**SmartHomeApplication实例*/ privateSmartHomeApplicationmApplication; /**用户数据处理工具类*/ privateUserConfigmUserConfig; privateProfilesConfigprofilesConfig; privateWSNRTConnectwRTConnect; /**用户电话号码*/ privateStringmNumber; /**报警装置模块Mac地址数组*/ privateString[]mMacsAlarm=newString[]{"",""}; /**安防设备模块Mac地址数组*/ privateString[]mMacsSecu=newString[]{"","",""}; /**光敏反控灯光模块Mac地址数组*/ privateString[]mMacsInfomation=newString[]{"","",""}; /**灯光控制模块Mac地址数组*/ privateString[]mMacsLight=newString[]{"",""}; /**视频监控模块Mac地址数组*/ privateString[]mMacsMonitor=newString[]{""}; privateString[]mMacsRfid=newString[]{""}; privateString[]mMacsAccess=newString[]{""}; /**安防自动控制是否开启标识*/ publicstaticbooleansecurityflag=false;//默认是没有开启 /**光敏反控是否开启标识*/ publicstaticbooleanlightflag=false;//默认是没有开启 privateString[]items=newString[]{"security","light"}; privatebooleanflag=true; privatebooleanflag1=true; privateDatabaseHelperdatabaseHelper; /** *AutoControl结构方法 * *@paramapp *SmartHomeApplication实例 */ publicAutoControl(SmartHomeApplicationapp){ mApplication=app; } /** *开启自动控制,即开始建立传感器数据监听 */ publicvoidstart(){ mUserConfig=mApplication.getUserConfig(); profilesConfig=mApplication.getProfilesConfig(); mApplication.registerOnSensorDataListener(this); databaseHelper=mApplication.getDatabaseHelper(); wRTConnect=mApplication.getIntance(); } voidprocCardId(Stringid){ Stringusername=databaseHelper.find(id); Stringmsg; if(username.length()==0){ msg="未注册,非法用户"; }else{ msg=username+",欢迎您进入中智讯武汉科技"; wRTConnect.sendMessage(mMacsAccess[0],"{OD1=4}".getBytes());//开锁 Timertimer=newTimer(); TimerTasktask=newLockTimerTask(mMacsAccess[0]);//隔5s后实施关闭锁操作 timer.schedule(task,5000); } Toast.makeText(mApplication,msg,Toast.LENGTH_SHORT).show(); } classLockTimerTaskextendsTimerTask{ Stringmmac; LockTimerTask(Stringmac){ mmac=mac; } publicvoidrun(){ wRTConnect.sendMessage(mmac,"{CD1=4}".getBytes()); } } @Override publicvoidonSensorData(Stringmac,byte[]bdata){ mNumber=mUserConfig.getString(mApplication.getResources().getString(R.string.contactphone_edit)); StringmacsInfomation=mUserConfig.getString(SmartHomeApplication.KEY_Information); macAnalysis(macsInfomation,mMacsInfomation); StringmacsLight=mUserConfig.getString(SmartHomeApplication.KEY_Light); macAnalysis(macsLight,mMacsLight); StringmacsAlarm=mUserConfig.getString(SmartHomeApplication.KEY_Alarm); macAnalysis(macsAlarm,mMacsAlarm); StringmacsSecu=mUserConfig.getString(SmartHomeApplication.KEY_Security); macAnalysis(macsSecu,mMacsSecu); StringmacsMonitor=mUserConfig.getString(SmartHomeApplication.KEY_Monitor); macAnalysis(macsMonitor,mMacsMonitor);//解析mac地址 StringmacsRfid=mUserConfig.getString(SmartHomeApplication.KEY_Rfid); macAnalysis(macsRfid,mMacsRfid); StringmacsAccess=mUserConfig.getString(SmartHomeApplication.KEY_Access); macAnalysis(macsAccess,mMacsAccess); securityflag=profilesConfig.getBoolean(items[0]); lightflag=profilesConfig.getBoolean(items[1]); Stringdatasss=newString(bdata); Log.i(TAG,"securityflag"+securityflag+"data:"+mac+""+datasss);// if(!mac.contains("Camera")){ if(mac.equalsIgnoreCase(mMacsRfid[0])){//RFID地址 Stringdata=newString(bdata); if(data.charAt(0)!='{') return; if(data.charAt(data.length()-1)!='}') return; data=data.substring(1,data.length()-1); String[]tags=data.split(","); for(Stringtag:tags){ String[]cv=tag.split("="); if(cv.length<2) continue; if(cv[0].equals("A0")){ StringcardNumber=cv[1]; procCardId(cardNumber); } } } if(securityflag&&mac.equalsIgnoreCase(mMacsSecu[0])){//可燃气体监测 Stringdata=newString(bdata); if(data.charAt(0)!='{') return; if(data.charAt(data.length()-1)!='}') return; data=data.substring(1,data.length()-1); String[]tags=data.split(","); for(Stringtag:tags){ String[]cv=tag.split("="); if(cv.length<2) continue; if(cv[0].equals("A0")){ intv=Integer.parseInt(cv[1]); Log.i(TAG,"A0="+v); if(v==1){ Log.i(TAG,"监测到警报"); sendCommond("{OD1=8,D1=?}",mMacsAlarm[0]);//打开排风扇 //Stringtitle="监测警报"; Stringmsg="检测到可燃气体!"; if(mNumber!=null&&mNumber.length()>0){ Sms.sendShortMessage(mNumber,msg);//发送短信 } }else{ sendCommond("{CD1=8,D1=?}",mMacsAlarm[0]);//关闭排风扇 } } } } if(securityflag&&mac.equalsIgnoreCase(mMacsSecu[1])){//人体监测 Stringdata=newString(bdata); if(data.charAt(0)!='{') return; if(data.charAt(data.length()-1)!='}') return; data=data.substring(1,data.length()-1); String[]tags=data.split(","); for(Stringtag:tags){ String[]cv=tag.split("="); if(cv.length<2) continue; if(cv[0].equals("A1")){ intv=Integer.parseInt(cv[1]); Log.i(TAG,"A1="+v); if(v==1){ Log.i(TAG,"监测到人体"); sendCommond("{Action=TakenPicture}",mMacsMonitor[0]); sendCommond("{OD1=2,D1=?}",mMacsAlarm[1]); //Stringtitle="监测警报"; Stringmsg="人体感应检测到人体!"; if(mNumber!=null&&mNumber.length()>0){ Sms.sendShortMessage(mNumber,msg);//发送短信 } }else{ //donothing } } } } if(securityflag&&mac.equalsIgnoreCase(mMacsSecu[2])){//红外对射监测 Stringdata=newString(bdata); if(data.charAt(0)!='{') return; if(data.charAt(data.length()-1)!='}') return; data=data.substring(1,data.length()-1); String[]tags=data.split(","); for(Stringtag:tags){ String[]cv=tag.split("="); if(cv.length<2) continue; if(cv[0].equals("A2")){ intv=Integer.parseInt(cv[1]); Log.i(TAG,"A2="+v); if(v==1){ Log.i(TAG,"监测到人体"); sendCommond("{Action=TakenPicture}",mMacsMonitor[0]); sendCommond("{OD1=2,D1=?}",mMacsAlarm[1]); //Stringtitle="监测警报"; Stringmsg="红外对射检测到人体!"; if(mNumber!=null&&mNumber.length()>0){ Sms.sendShortMessage(mNumber,msg);//发送短信 } }else{ //donothing } } } } if(lightflag&&mac.equalsIgnoreCase(mMacsInfomation[2])){//光敏反控灯光:mMacs[1]=00:12:4b:00:02:63:3a:ff //mac:00:12:4B:00:02:63:3A:FF,data:{A0=388}{OD=1,D0=?} Stringdata=newString(bdata); if(data.charAt(0)!='{') return; if(data.charAt(data.length()-1)!='}') return; data=data.substring(1,data.length()-1); String[]tags=data.split(","); for(Stringtag:tags){ String[]cv=tag.split("="); if(cv.length<2) continue; Log.i(TAG,"cv[0]:"+cv[0]+",cv[1]:"+cv[1]); if(cv[0].equals("A0")){ floata0=Float.parseFloat(cv[1]); Log.i(TAG,"flag:"+flag+",flag1:"+flag1); if(a0<50&&flag){//光很暗,需要打开 flag=false; flag1=true; Log.i(TAG,"开灯"); sendCommond("{OD1=1,D1=?}",mMacsLight[0]);//打开灯光 sendCommond("{OD1=2,D1=?}",mMacsLight[1]); }elseif(a0>300.0&&flag1){//光很亮,需要关闭灯光 flag=true; flag1=false; Log.i(TAG,"关灯"); sendCommond("{CD1=1,D1=?}",mMacsLight[0]);//关闭灯光 sendCommond("{CD1=2,D1=?}",mMacsLight[1]); }else{ flag=true; flag1=true; } } } } }// else{// if(bdata[0]=='{'&&bdata[bdata.length-1]=='}'){// Stringtag=newString(bdata,1,9);// Log.d(TAG,"tag:"+tag);// if(tag.equals("JpegImage")){// byte[]img=newbyte[bdata.length-12];// System.arraycopy(bdata,11,img,0,img.length);// try{// MonitorActivity.saveToSDCard(// MonitorActivity.getfileName(),img);// }catch(Exceptione){// e.printStackTrace();// }// }// }// }// } /** *发送命令传感器 * *@paramcommond *命令 *@parammMacs *mac地址 */ publicvoidsendCommond(finalStringcommond,finalStringmMacs){ Threadt=newThread(){ publicvoidrun(){ wRTConnect.sendMessage(mMacs,commond.getBytes()); } }; t.start(); } /** *解析Mac地址 * *@parammacs *@parammMacs *@returnmac地址数组 */ publicstaticString[]macAnalysis(Stringmacs,String[]mMacs){ if(macs.length()>0){//解析mac地址,分开保留 String[]a=macs.split(";");//0=00:12:4b:00:02:37:7e:7a;1=00:12:4b:00:02:63:3a:ff for(Stringit:a){//0=00:12:4b:00:02:37:7e:7a String[]b=it.split("="); intidx=Integer.parseInt(b[0]); if(idx>=mMacs.length||idx<0){ continue; } if(b.length==2){ mMacs[idx]=b[1];//mMacs[0]=00:12:4b:00:02:37:7e:7a;mMacs[1]=00:12:4b:00:02:63:3a:ff }else{ mMacs[idx]=""; } } } returnmMacs; } /** *停止自动控制,即注销传感器数据监听 */ publicvoidstop(){ mApplication.unregisterOnSensorDataListener(this); } interfaceCallNotify{ voidexcute(); }}9.2电子门禁模块packagecom.zonesion.smarthome.ui;importjava.util.HashMap;importcom.zhiyun360.wsn.droid.WSNRTConnect;importcom.zonesion.smarthome.app.SmartHomeApplication;importcom.zonesion.smarthome.data.UserConfig;importcom.zsmarthome.R;importandroid.annotation.SuppressLint;importandroid.app.AlertDialog;importandroid.content.DialogInterface;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.view.View;importandroid.view.Window;importandroid.view.WindowManager;importandroid.view.View.OnLongClickListener;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.ImageButton;importandroid.widget.ImageView;/***AccessActivity是电子门禁模块Activity,继承SensorActivity传感器基类。实现长按门禁图标绑定mac地址或重新输入,和对门禁打开、关闭操作。**@authorAdministrator**/publicclassAccessActivityextendsSensorActivity{ /**门禁图标按钮*/ privateImageButtonaccessImage=null; privateImageViewaccessStatus; /**开门按钮*/ privateButtonopenButton=null; /**关门按钮*/ privateButtoncloseButton=null; /**命令字符串*/ privateStringcommond; /**电子门禁模块Mac地址数组*/ privateString[]mMacs=newString[]{""}; /**SmartHomeApplication实例*/ privateSmartHomeApplicationmApplication; /**UserConfig实例:用户数据处理工具类实例*/ privateUserConfigmUserConfig; privateWSNRTConnectwRTConnect; privateHandlermHandler; HashMap<String,Long>AccessLastTime=newHashMap<String,Long>(); @SuppressLint("HandlerLeak") @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); mApplication=(SmartHomeApplication)getApplication(); mUserConfig=mApplication.getUserConfig(); wRTConnect=mApplication.getIntance(); //设置全屏并隐藏Title requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.access); //状态监测 accessStatus=(ImageView)findViewById(R.id.accessStatus); accessStatus.setBackgroundResource(R.drawable.offline); openButton=(Button)findViewById(R.id.cButton1); closeButton=(Button)findViewById(R.id.cButton2); accessImage=(ImageButton)findViewById(R.id.accessImageView); OnLongClickonLongClick=newOnLongClick(); accessImage.setOnLongClickListener(onLongClick); mApplication.setCurrentActivity(this); Stringmacs=mUserConfig.getString(SmartHomeApplication.KEY_Access); parseMac(macs,mMacs); if(mMacs[0].length()>0){ //获取目前节点状态 wRTConnect.sendMessage(mMacs[0],"{D1=?}".getBytes()); AccessLastTime.put("ACCESS_LT",System.currentTimeMillis()/1000); } mHandler=newHandler(){ @Override publicvoidhandleMessage(Messagemsg){ //TODOAuto-generatedmethodstub if(msg.what==0){ accessStatus.setBackgroundResource(R.drawable.offline); }elseif(msg.what==1){ accessStatus.setBackgroundResource(R.drawable.online); } super.handleMessage(msg); } }; Threadst=newThread(){ @Override publicvoidrun(){ //TODOAuto-generatedmethodstub while(!exit){ if(AccessLastTime.containsKey("ACCESS_LT")){ longtm=AccessLastTime.get("ACCESS_LT"); longcm=System.currentTimeMillis()/1000; if(tm!=0&&cm-tm>160){ //断线 AccessLastTime.put("ACCESS_LT",(long)0); mHandler.obtainMessage(0).sendToTarget(); } } try{ Thread.sleep(100); }catch(InterruptedExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }; st.setDaemon(true); st.start(); } booleanexit=false; @Override publicvoidonDestroy(){ exit=true; mApplication.setCurrentActivity(null); super.onDestroy(); } /** *实现长按门禁图标绑定mac地址或重新输入 * *@authorAdministrator * */ publicclassOnLongClickimplementsOnLongClickListener{ @Override publicbooleanonLongClick(Viewv){ //TODOAuto-generatedmethodstub //弹出对话框,提醒重新输入mac地址 finalEditTexteditText=newEditText(AccessActivity.this); editText.setText(mMacs[0]); newAlertDialog.Builder(AccessActivity.this).setTitle("请输入节点mac地址").setIcon(android.R.drawable.ic_dialog_info).setView(editText) .setPositiveButton("确定",newDialogInterface.OnClickListener(){ @Override publicvoidonClick(DialogInterfacearg0,intarg1){ //TODOAuto-generatedmethodstub mMacs[0]=editText.getText().toString(); Stringx=""; for(inti=0;i<mMacs.length;i++){ if(mMacs[i].length()!=0){ if(x.length()>0) x+=";"; x+=""+i+"="+mMacs[i]; } } mUserConfig.putString(SmartHomeApplication.KEY_Access,x); wRTConnect.sendMessage(mMacs[0],"{D1=?}".getBytes()); } }).setNegativeButton("取消",null).show(); returntrue; } } /** *点击开门按钮实施开门操作 * *@paramv *视图 */ publicvoidopenDoor(Viewv){ commond="{OD1=4,D1=?}"; wRTConnect.sendMessage(mMacs[0],commond.getBytes()); } /** *点击关门按钮实施关门操作 * *@paramv *视图 */ publicvoidcloseDoor(Viewv){ commond="{CD1=4,D1=?}"; wRTConnect.sendMessage(mMacs[0],commond.getBytes()); } @Override voidprocessSensorData(byte[]bdat){ //TODOAuto-generatedmethodstub //TODOAuto-generatedmethodstub Stringdat=newString(bdat); intidx=dat.indexOf("="); Stringmac=dat.substring(0,idx); dat=dat.substring(idx+1); Stringx=mMacs[0]; if(x.equalsIgnoreCase(mac)){ if(dat.charAt(0)!='{') return; if(dat.charAt(dat.length()-1)!='}') return; dat=dat.substring(1,dat.length()-1); String[]tags=dat.split(","); for(Stringtag:tags){ String[]cv=tag.split("="); if(cv.length<2) continue; if(cv[0].equals("D1")){ intv=Integer.parseInt(cv[1]); if((v&0x04)==0x04){ accessImage.setImageDrawable(getResources().getDrawable(R.drawable.access)); openButton.setBackgroundResource(R.drawable.on02); closeButton.setBackgroundResource(R.drawable.off01); openButton.setClickable(false); closeButton.setClickable(true); }else{ accessImage.setImageDrawable(getResources().getDrawable(R.drawable.accessoff)); openButton.setBackgroundResource(R.drawable.on01); closeButton.setBackgroundResource(R.drawable.off02); openButton.setClickable(true); closeButton.setClickable(false); } mHandler.obtainMessage(1).sendToTarget(); AccessLastTime.put("ACCESS_LT",System.currentTimeMillis()/1000); } } } } @Override publicString[]getMacAddress(){ //TODOAuto-generatedmethodstub returnmMacs; }}9.3排风扇控制模块packagecom.zonesion.smarthome.ui;importjava.util.HashMap;importcom.zsmarthome.R;importcom.zhiyun360.wsn.droid.WSNRTConnect;importcom.zonesion.smarthome.app.SmartHomeApplication;importcom.zonesion.smarthome.data.UserConfig;importandroid.annotation.SuppressLint;importandroid.app.AlertDialog;importandroid.content.DialogInterface;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.view.View;importandroid.view.Window;importandroid.view.WindowManager;importandroid.view.View.OnLongClickListener;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.ImageButton;importandroid.widget.ImageView;/***AlarmActivity是排风扇控制模块Activity,继承SensorActivity传感器基类。实现了长按排风扇控制模块图标按钮绑定mac地址或重新输入,和对排风扇打开、关闭操作。**@authorAdministrator**/publicclassAlarmActivityextendsSensorActivity{ /**AlarmActivityTAG日志标签*/ //privatestaticfinalStringTAG="AlarmActivity"; /**声光报警图标*/ privateImageButtonalarmImage; privateImageViewimgAlarmStatus01; privateImageViewimgAlarmStatus02; /**排风扇图标*/ privateImageButtonfannerImage; /**打开排风扇按钮*/ privateButtonopenButton1=null; /**关闭排风扇按钮*/ pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论