二 级 学 院
专 业 班 级
智能家居控制系统设计
摘要 :本文简单介绍了智能家庭控制系统的组成、旅行、功能、系统设计以及产品
选择的要点,工程设计事例等。
Summary: This article simply introduces the composition of the intelligent home
control system, travel, function, system design and product selection, the main points of the engineering design examples, etc
关键词 :家庭控制器,自动监控,安全防范。
Antistop: Home Controller,automatic monitoring,safety protection
目录
1. 前言 ---------------------------------------------------------- 3 2. 智能家居控制系统概述 ------------------------------------------ 4 3. 智能家居控制系统功能 ------------------------------------------ 4 家庭通信 ---------------------------------------------------- 4 家庭设备自动监控 -------------------------------------------- 4 家庭安全防范 ------------------------------------------------ 4 4. 智能家居控制系统类型 ------------------------------------------ 5 系统类型 ---------------------------------------------------- 5 基本特点、功能、适用范围 ------------------------------------ 5 5. 系统设计及产品选用要点 ---------------------------------------- 7 智能家庭控制系统类型的选用 --------------------------------- 7
家庭控制器的选用 ------------------------------------------- 7
总线技术及模块化设计 ------------------------------------------ 7
扩展功能 ---------------------------------------------------- 7
6. 设备的安装 ---------------------------------------------------- 8 交换机、路由器、控制器、放大箱、分配箱、电话分线箱 --------------- 8
家庭控制器 ------------------------------------------------- 8
可燃气体探测器 ---------------------------------------------- 9 感温探测器设置----------------------------------------------- 9 紧急按钮开关 ------------------------------------------------ 9 门(窗)磁开关 ------------------------------------------------ 9 玻璃破碎探测器 ---------------------------------------------- 9 被动红外侵入探测器和被动红外/微波双技术探测器 ------------------ 9 红外遥控器 ------------------------------------------------- 9
7. 工程设计实例 --------------------------------------------------- 10 8. 设计中应注意的事项 ---------------------------------------------- 11 9. 附录 --------------------------------------------------------- 11
前言
随着国民经济和科学技术水平的提高,特别是计算机技术、通信技术、网络技术、控制技术的迅猛发展与提高,促使了家庭实现了生活现代化,居住环境舒适化、安全化。这些高科技已经影响到人们生活的方方面面,改变了人们生活习惯,提高了人们生活质量,家居智能化也正是在这种形势下应运而生的。
2. 智能家居控制系统概述
智能家庭控制系统是以HFC、以太网、现场总线、公共电话网、无线网的传输网络为物理平台,计算机网络技术为技术平台,现场总线为应用操作平台,构成一个完整的集家庭通信、家庭设备自动控制、家庭安全防范等功能的控制系统。
智能家居控制系统的总体目标是通过采用计算机技术、网络技术、控制技术和集成技术建立一个由家庭到小区乃至整个城市的综合信息服务和管理系统,以此来提高住宅高新技术的含量和居民居住环境水平。
系统通常由系统服务器、家庭控制器(各种模块)、各种路由器、电缆调制解调器头端设备CMTS、交换机、通讯器、控制器、无线收发器、各种探测器、各种传感器、各种执行机构、打印机等主要部分组成。
PDA\\手提\\PC 可视门禁控制 Internert网 窗帘控制 灯光控制 路由、防火墙
3. 智能家居控制系统功能
智能家庭控制系统的主要功能包括家庭通信、家庭设备自动控制、家庭安全防范三个方面。
家庭通信
家庭通信可采用电话线路、计算机互联网、CATV线路、无线局域网等方式。 (1)电话线路
通过电话线路实现双向传输语音信号和数据信号。 (2)计算机互联网
通过互联网实现信息交互、综合信息查询、网上教育、医疗保健、电子邮件、电子购物等。 (3)CATV线路
通过CATV线路实现VOD点播和多媒体通信。 (4)无线局域网
通过无线收发器、天线、各种无线终端,实现双向传输数据信号。
家庭设备自动监控
家庭设备自动监控包括电器设备的集中、遥控、远距离异地(通过电话或Internet)
的监视、控制及数据采集。 (1)家用电器的监视和控制
按照预先所设定程序的要求对热水器、微波炉、视像音响等家用电器进行监视和控制。
(2)热能表、燃气表、水表、电度表的数据采集、计量和传送根据小区物业管理的要求所设置数据采集程序,通过传感器对热能表、燃气表、水表、电度表的用量进行自动数据采集、计量,并将采集结果远程传送给小区物业管理系统。 (3)空调机的监视、调节和控制
按照预先所设定的程序,根据时间、温度、湿度等参数对空调机进行监视、调节和控制。
(4)照明设备的监视、调节和控制按照预先设定的时间程序,分别对各个房间照明设备的开、关进行控制,并可自动调节各个房间的照度。 (5)窗帘的控制
按照预先设定的时间程序,对窗帘的开启/关闭进行控制。
家庭安全防范
家庭安全防范主要包括多火灾报警、可燃气体泄漏报警、防盗报警、紧急求救、多防区的设置、访客对讲等。家庭控制器内按等级预先设置若干个报警电话号码(如家人单位电话号码、手机电话号码、寻呼机电话号码和小区物业管理安全保卫部门电话号码等),在有报警发生时,按等级的次序依次不停地拨通上述电话进行报警(可报出家中是哪个系统报警了)。同时,各种报警信号通过控制网络传送至小区物业管理中心,并可与其它功能模块实现可编程的联动(如可燃气体泄漏报警后,联动关闭燃气管道上的电磁阀)。 (1)防火灾发生
通过设置在厨房的感温探测器和设置在客厅、卧室等的感烟探测器,监视各个房间内有无火灾的发生。如有火灾发生家庭控制器发出声光报警信号,通知家人及小区物业管理部门。家庭控制器还可以根据有人在家或无人在家的情况,自动调节感温探测器和感烟探测器的灵敏度。
(2)防可燃气体泄漏
通过设置在厨房的可燃气体探测器,监视燃气管道、灶具有无燃气泄漏。如有燃气泄漏家庭控制器发出声光报警信号,并联动关闭燃气管道上的电磁阀,同时通知家人及小区物业管理部门。 (3)防盗报警
防盗报警的防护区域分成两部分,即住宅周界防护和住宅内区域防护。住宅周界防护是指在住宅的门、窗上安装门磁开关,在对外的玻璃窗、门附近安装玻璃破碎探测器;住宅内区域防护是指在主要通道、重要的房间内安装被动红外探测器或被动红外/微波双技术探测器。当家中有人时,住宅周界防护的防盗报警设备(门磁开关、玻璃破碎探测器)设防,住宅内区域防护的防盗报警设备(红外探测器或被动红外/微波双技术探测器)撤防。当家人出门后,住宅周界防护的防盗报警设备(门磁开关、玻璃破碎探测器)和住宅内区域防护的防盗报警设备(被动红外探测器或被动红外/微波双技术探测器)均设防。当有非法侵入时,家庭控制器发出声光报警信号,并通知家人及小区物业管理部门。另外,通过程序可设定报警装置的等级和报警器的灵敏度。 (4)访客对讲
住宅的主人通过访客对讲设备与来访者进行双向通话或可视通话,确认是否允许来访者进人。住宅的主人利用访客对讲设备,可以对大楼入口门或单元门的门锁进行开启和关闭控制。 (5)紧急求救
当遇到意外情况(如疾病或有人非法侵入)发生时,按动报警按钮向小区物业管理部门进行紧急求救报警。紧急求救信号在网络传输中具有最高的优先级别,由于是人在紧急情况下的求救信号,其误报的可能性很小。
4. 智能家居控制系统类型
系统类型
智能家庭控制系统可分成采用公共电话网的智能家庭控制系统、HFC的智能家庭控制系统、以太网的智能家庭控制系统、LonWorks的智能家庭控制系统、KS485的智能家庭控制系统、无线网的智能家庭控制系统等类型。
基本特点、功能、适用范围
(1)采用公共电话网的智能家庭控制系统采用公共电话网的智能家庭控制系统图参见国家建筑标准设计<智能家居控制系统设计施工图集》03X602第14页。
·基本特点:家庭智能控制器内配置了与电话线连接的收发器,利用电话网络作为信息传输网。该系统不仅在功能上能完全满足要求,而且大大地简化了布线,可以节省布线的投资。
·系统组成:系统由系统服务器、家庭控制器(内置了与电话线连接的收发器)、路由器、收发器、各种探测器、各种传感器、各种执行机构、打印机等组成。 ·系统功能:实现家庭通信、家庭设备自动控制、家庭安全防范。
·适用范围:该系统适用于新建、扩建的智能化住宅(小区)工程,且特别适用于改造的智能化住宅(小区)工程,利用原有的电话线就可实现数据信号的共网传输。 (2)采用HFC的智能家庭控制系统
采用HFC的智能家庭控制系统图参见国家建筑标准设计<智能家居控制系统设计施工图集》03X602第15页。
·基本特点:家庭智能控制器内配置了CableModem,利用有线电视的HFC网络作为信息传输网。该系统不仅在功能上能完全满足要求,而且大大地简化了布线,可以节省布线的投资。
HFC网络采用共享方式,其共享带宽为36Mbps。当上网人数较多时,上网的速度会变慢。由于Cable Modem设备费用较高,用户网络的开通费用高。
·系统组成:系统由系统服务器、家庭控制器(内置了Cable Modem)、路由器、电缆调制解调器头端设备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. 系统设计及产品选用要点
智能家庭控制系统类型的选用
新建、扩建的智能化住宅(小区)工程,宜采用LonWorks的智能家庭控制系统、以
太网的智能家庭控制系统或采用RS485的智能家庭控制系统。改造的智能化住宅(小区)工程,宜采用公共电话网的智能家庭控制系统、HFC的智能家庭控制系统或无线网的智能家庭控制系统。
家庭控制器的选用
家庭控制器的选用主要包括功能、总线技术及模块化设计、扩展功能、可按用户的基本要求进行配置等方面的选用要求。 (1)家庭控制器功能的选用
家庭控制器通常具有以下功能: ·家庭防盗报警; ·家庭火灾报警; ·家庭燃气泄露报警; ·家庭紧急求助; ·远程设防与撤防; ·远程报警; ·访客对讲; ·家用电器监控;
·家用表具数据采集及处理; ·空调机监控; ·接入网接口; ·小区电子公告; ·信息查询; ·家用设备报修等。 (2)家庭控制器功能的选择
在工程设计中,家庭控制器功能的选择可参见下表所示。
总线技术及模块化设计
·家庭控制器要求采用总线技术,如LonWorks、R5485、BACnet、C^NBlls、CEBus、X一10;
·家庭控制器要求采用模块化设计,以便用户可以根据需求选择不同的模块完成不同的功能。
扩展功能
家庭控制器要有一定的扩展功能,考虑能适应今后发展的需要。可按用户的基本要求进行配置应能根据用户提出有哪些被控设备及监视控制要求(功能要求)等因素,来对家庭控制器组成进行配置,包含模块种类的选择和各种模块数量的选择。
6. 设备的安装
交换机、路由器、控制器、放大箱、分配箱、电话分线箱 康居住宅家庭控制器功能设置表 级嗣 消防 安防 访客对讲 家电监表具数据远传 控 基本 级(1A) 1.在住户内安具有语音对讲1~2点 热能表、燃气表、装紧急按钮开及控制开启楼关。 2.在住户内安分时计费、实时计装入侵报警探量、管理功能。 测器。 提高在室内安装可燃气1.在住户内两具有语音对讲2点以热能表、燃气表、级(2A) 漏自动报警装置。且能就地 2.在住户内安装入侵报警探现住户与安防体泄 处安装紧急按及控镧开启楼上 钮开关。 道人口处防盗门功能。可实 收及远传、超限爿断、自动检查、分水表、电度表的自动抄 道人口处防盗门功能。 水表、电度表的自动抄收及远传、超限判断、自动检查、发出声光报警信号。 测器,在户门、监控中心的直及用台、外窗安接联系。 装 人侵报警装置。 时计费、实时计量、管理功能。 先进1.在室内安装可燃1.在住户内不具有语音、可视2点以热能表、燃气表、级气体泄漏自动报警少于两处安装对讲及控翻开上 水表、电度表的自动抄收及远传、超限判断、自动检查、分时计费、实时计量、管理功能。 启楼道入口处(3A) 装置,当燃气体泄漏紧急按钮开关。报警后能自动切断气源、打开捧气装置,且能就地发出声光报警信号。 测器,在户门及直接联系。 阳台门、外窗安2.在住户内设置火装入侵报警装灾自动报警装置。 置。 这些设备均应安装在电气竖井内或公共走道的墙上(内)。 家庭控制器
装入侵报警探防监控中心的2.在住户内安实现住户与安防盗门功能,可 暗装(或明装)在墙内(上),其底边距地面1.4m左右。家庭控制器应设置在住户大门附近(宜距户门0.5m以内),且容易操作(包括设防与撤防)的地方。
可燃气体探测器
安装在厨房内的燃气管道、灶具附近,当住户使用的是天然气,燃气探测器吸顶棚安装在距顶棚300ram以内的地方;当住户使用的是液化石油气,燃气探测器安装在距地面300mm以内地方。 感温探测器设置
在厨房内,它吸顶棚安装。
在起居室、卧室等房间内,它吸顶棚安装。 紧急按钮开关
设置在起居室沙发和主卧室床头附近的墙上,及卫生间的墙上。紧急按钮开关暗装
在墙内,其底边距地面0.5m~1.2m。 门(窗)磁开关
安装在门扇和门框内或窗扇和窗框内。
玻璃破碎探测器
安装在窗户和玻璃门(阳台)附近的墙上或吸顶棚安装。
被动红外侵入探测器和被动红外/微波双技术探测器
安装在住户的主要通道、重要的房间内,它吸顶棚安装或安装在顶棚的墙角处。
红外遥控器
安装在被控电器设备正面附近的墙上,距离不能超过红外线工作范围,且与电器设
备之间没有遮挡。
7.工程设计实例
以二室户型为例介绍户内的智能家庭控制系统设计,设计标准采用康居住宅先进级(3A)。采用以太网的家居控制系统,家庭控制器与户内各模块之间采用R.$485总线,家庭控制器可通过电话线或计算机网络接收控制指令、发出信息,所选用的家庭控制器具有可视访客对讲功能。家居控制系统图参见国家建筑标准设计<智能家居控制系统设
计施工图集>03X602第17页,二室户型家居控制平面图参见图1、2所示,家庭控制器与室内设备的连接参见图3所示。
在起居厅、卧室设置了感烟探测器,厨房设置了感温探测器、可燃气体探测器,各房间的窗户、阳台推拉门上及附近设置了门(窗)磁开关和玻璃破碎探测器,起居厅设置了被动红外侵入探测器,起居厅、卧室、卫生间设置了紧急按钮开关。对电、水、燃气进行计量;可对餐厅、起居厅、卧室的灯进行控制;当可燃气体探测器探测到有燃气泄漏后,联动控制关闭燃气管道上电磁阀、开启排烟风机;当有各种探测器报警后,联动警报发声器发出报警声音。
家庭控制器共提供13路输入:电度表(电度表安装在照明配电箱内)、燃气表、热能表、可燃气体探测器、感温探测器、感烟探测器、紧急按钮开关、被动红外侵入探测器、玻璃破碎探测器各1路,水表、门(窗)磁开关各2路。
家庭控制器共提供7路输出:警报发声器控制1路、燃气管道上电磁阀控制1路、排烟风机控制1路、照明控制4路。
三室户型、复式结构、别墅的智能家庭控制平面图及家庭控制器与室内设备的连接参见国家建筑标准设计《智能家居控制系统设计施工图集》03X602。
8. 设计中应注意的事项
当防火规范规定必须设置火灾报警系统时,感烟探测器、感温探测器及可燃气体探测器的设置及系统的构成须遵循《火灾自动报警系统设计规范》GB50116-98的规定。
9. 附录
自动控制
package * AutoControl是自动控制实现类,实现了报警装置模块、安防设备模块、视频监控模块的自动控制。该类实现了IOnSensorDataListener接口 ,即要实现onSensorData(String mac, byte[] bdata)方法,通过该方法来实现对底层传感器的控制。
*
* @author Administrator
*
*/
public class AutoControl implements IOnSensorDataListener {
/** AutoControl的TAG日志标签 */
private static final String TAG = \"AutoControl\";
/** SmartHomeApplication实例 */
private SmartHomeApplication mApplication;
/** 用户数据处理工具类 */
private UserConfig mUserConfig;
private ProfilesConfig profilesConfig;
private WSNRTConnect wRTConnect;
/** 用户电话号码 */
private String mNumber;
/** 报警装置模块Mac地址数组 */
private String[] mMacsAlarm = new String[] { \"\
/** 安防设备模块Mac地址数组 */
private String[] mMacsSecu = new String[] { \"\
/** 光敏反控灯光模块Mac地址数组 */
private String[] mMacsInfomation = new String[] { \"\
/** 灯光控制模块Mac地址数组 */
private String[] mMacsLight = new String[] { \"\
/** 视频监控模块Mac地址数组 */
private String[] mMacsMonitor = new String[] { \"\" };
private String[] mMacsRfid = new String[] { \"\" };
private String[] mMacsAccess = new String[]{\"\
/** 安防自动控制是否启动标识 */
public static boolean securityflag = false;etBytes());how();
}
class LockTimerTask extends TimerTask {
String mmac;
LockTimerTask(String mac) {
mmac = mac;
}
public void run() {
(mmac, \"{CD1=4}\".getBytes());
}
}
@Override
public void onSensorData(String mac, byte[] bdata) {
mNumber = ().getString String macsInfomation = ;
macAnalysis(macsInfomation, mMacsInfomation);
String macsLight = ;
macAnalysis(macsLight, mMacsLight);
String macsAlarm = ;
macAnalysis(macsAlarm, mMacsAlarm);
String macsSecu = ;
macAnalysis(macsSecu, mMacsSecu);
String macsMonitor = ;
macAnalysis(macsMonitor, mMacsMonitor);quals(\"A0\")) {
String cardNumber = cv[1];
procCardId(cardNumber);
}
}
}
if (securityflag && (mMacsSecu[0])) {quals(\"A0\")) {
int v = (cv[1]);
(TAG, \"A0=\" + v);
if (v == 1) {
(TAG, \"监测到警报\");
sendCommond(\"{OD1=8,D1=?}\
int v = (cv[1]);
(TAG, \"A1=\" + v);
if (v == 1) {
(TAG, \"监测到人体\");
sendCommond(\"{Action=TakenPicture}\
sendCommond(\"{OD1=2,D1=?}\
quals(\"A2\")) {
int v = (cv[1]);
(TAG, \"A2=\" + v);
if (v == 1) {
(TAG, \"监测到人体\");
sendCommond(\"{Action=TakenPicture}\
sendCommond(\"{OD1=2,D1=?}\
quals(\"A0\")) {
float a0 = (cv[1]);
(TAG, \"flag:\" + flag + \
if (a0 < 50 && flag) {etFlags setContentView
ength() > 0) {
etBytes());
(\"ACCESS_LT\
}
mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
endToTarget();
}
}
try {
(100);
} catch (InterruptedException e) {
etTitle(\"请输入节点mac地址\").setIcon
.setPositiveButton(\"确定\
@Override
public void onClick(DialogInterface arg0, int arg1) {
oString();
String x = \"\";
for (int i = 0; i < ; i++) {
if (mMacs[i].length() != 0) {
if () > 0)
x += \";\";
x += \"\" + i + \"=\" + mMacs[i];
}
}
, x);
(mMacs[0], \"{D1=?}\".getBytes());
}
}).setNegativeButton(\"取消\
return true;
}
}
/**
* 点击开门按钮执行开门操作
*
* @param v
* 视图
*/
public void openDoor(View v) {
commond = \"{OD1=4,D1=?}\";
(mMacs[0], ());
}
/**
* 点击关门按钮执行关门操作
*
* @param v
* 视图
*/
public void closeDoor(View v) {
commond = \"{CD1=4,D1=?}\";
(mMacs[0], ());
}
@Override
void processSensorData(byte[] bdat) {
quals(\"D1\")) {
int v = (cv[1]);
if ((v & 0x04) == 0x04) {
(getResources().getDrawable
(false);
(true);
} else {
(getResources().getDrawable
(true);
(false);
}
(1).sendToTarget();
(\"ACCESS_LT\
}
}
}
}
@Override
public String[] getMacAddress() {
etFlags setContentView .
String macs = ;
parseMac(macs, mMacs);
if (mMacs[0].length() > 0) {
(\"ALARM01_LT\
}
if (mMacs[1].length() > 0) {
(\"ALARM02_LT\
}
etBytes());
}
endToTarget();
}
}
endToTarget();
}
}
try {
(100);
} catch (InterruptedException e) {
etTitle(\"请输入节点mac地址\").setIcon
.setPositiveButton(\"确定\
@Override
public void onClick(DialogInterface arg0, int arg1) {
oString();
String x = \"\";
for (int i = 0; i < ; i++) {
if (mMacs[i].length() != 0) {
if () > 0)
x += \";\";
x += \"\" + i + \"=\" + mMacs[i];
}
}
, x);
(mMacs[idx], \"{D1=?}\".getBytes());
}
}).setNegativeButton(\"取消\
return true;
}
}
/**
* 点击打开按钮执行打开排风扇操作
*
* @param v
* 视图
*/
public void openFanner(View v) {
commond = \"{OD1=8,D1=?}\";
(mMacs[0], ());
}
/**
* 点击关闭按钮执行关闭排风扇操作
*
* @param v
* 视图
*/
public void closeFanner(View v) {
commond = \"{CD1=8,D1=?}\";
(mMacs[0], ());
}
public void openAlarm(View v) {
commond = \"{OD1=2,D1=?}\";
(mMacs[1], ());
}
/**
* 点击关闭按钮执行关闭排风扇操作
*
* @param v
* 视图
*/
public void closeAlarm(View v) {
commond = \"{CD1=2,D1=?}\";
(mMacs[1], ());
}
@Override
void processSensorData(byte[] bdat) {
quals(\"D1\")) {
int v = (cv[1]);
if (mMacs[0].equalsIgnoreCase(mac)) { if ((v & 0x08) == 0x08) {
(getResources().getDrawable (true);
(getResources().getDrawable (false);
(1).sendToTarget();
(\"ALARM01_LT\
(false);} else {
(true);
}
}
if (mMacs[1].equalsIgnoreCase(mac)) {
if ((v & 0x02) == 0x02) {
(getResources().getDrawable (true);
(getResources().getDrawable (false);
(3).sendToTarget();
(\"ALARM02_LT\
}
}
}
}
@Override
public String[] getMacAddress() {
etFlags setContentView how();
(false);
} else {
(true);
}
}
}
};
.\");
();
}
@Override
protected String doInBackground(String... params) {
String userid = (\"USERID\");
String userkey = (\"USERKEY\");
if (!(\"\") && !(\"\")) {
(userid, userkey);
();
} else {
(0).sendToTarget();
}
return \"\";
}
@Override
protected void onPostExecute(String result) {
quals(\"\") && !(\"USERKEY\").equals(\"\")) {
(\"USERID\"), (\"USERKEY\"));
();
}
}
};
}
();
}
/**
* 单击情景模式图标触发事件实现
*
* @param v
* 视图
*/
public void profilesClick(View v) {
Intent intent = new Intent();
, ;
overridePendingTransition how();
}
/**
* Gallery图片适配器,继承BaseAdapter适配器
*
* @author Administrator
*
*/
public class ImageAdapter extends BaseAdapter { public Context mContext;
public Integer[] mImageIds = { ImageAdapter(Context c) {
mContext = c;
}
public
@Override
public int getCount() {
etFlags setContentView ength() > 0) {
(\"SECURITY01_LT\
}
if (mMacs[1].length() > 0) {
(\"SECURITY02_LT\
}
if (mMacs[2].length() > 0) {
(\"SECURITY03_LT\
}
for (int i = 0; i < 3; i++) {
if(mMacs[i].length() > 0){
(mMacs[i], \"{D1=?}\".getBytes());
}
}
endToTarget();
}
}
endToTarget();
}
}
endToTarget();
}
}
try {
(100);
} catch (InterruptedException e) {
etTitle(\"请输入节点mac地址\").setIcon
.setPositiveButton(\"确定\
@Override
public void onClick(DialogInterface arg0, int arg1) {
oString();
String x = \"\";
for (int i = 0; i < ; i++) {
if (mMacs[i].length() != 0) {
if () > 0)
x += \";\";
x += \"\" + i + \"=\" + mMacs[i];
}
}
, x);
(mMacs[idx], \"{D1=?}\".getBytes());
}
}).setNegativeButton(\"取消\
return true;
}
}
/**
* 开启安防设备(可燃气体、人体感应、红外对射)
*
* @author Administrator
*
*/
class OnOpenClick implements OnClickListener {
private int key = 0;
OnOpenClick(int item) {
key = item;
}
@Override
public void onClick(View arg0) {
switch (key) {
case 1:
commond = \"{OD1=1,D1=?}\";
(mMacs[0], ());
break;
case 2:
commond = \"{OD1=2,D1=?}\";
(mMacs[1], ());
break;
case 3:
commond = \"{OD1=1,D1=?}\";
(mMacs[2], ());
break;
default:
break;
}
}
}
/**
* 关闭安防设备(可燃气体、人体感应、红外对射)
*
* @author Administrator
*
*/
class OnCloseClick implements OnClickListener {
private int key = 0;
OnCloseClick(int item) {
key = item;
}
@Override
public void onClick(View arg0) {
switch (key) {
case 1:
commond = \"{CD1=1,D1=?}\";
(mMacs[0], ());
break;
case 2:
commond = \"{CD1=2,D1=?}\";
(mMacs[1], ());
break;
case 3:
commond = \"{CD1=1,D1=?}\";
(mMacs[2], ());
break;
default:
break;
}
}
}
@Override
void processSensorData(byte[] bdat) {
quals(\"D1\")) {
int v = (cv[1]);
if (mMacs[0].equalsIgnoreCase(mac)) { (1).sendToTarget();
(\"SECURITY01_LT\
if ((v & 0x01) == 0x01) {
(getResources().getDrawable (true);
(false);
(getResources().getDrawable (false);
}
if (mMacs[1].equalsIgnoreCase(mac)) {
(3).sendToTarget();
(\"SECURITY02_LT\
if ((v & 0x02) == 0x02) {
(getResources().getDrawable (true);
(getResources().getDrawable (false);
if (mMacs[2].equalsIgnoreCase(mac)) {
(5).sendToTarget();
} else {
(true);
}
(false);} else {
(true);
}
(\"SECURITY03_LT\
if ((v & 0x01) == 0x01) {
(getResources().getDrawable (true);
(getResources().getDrawable (false);
}
}
}
}
@Override
public String[] getMacAddress() {
// TODO Auto-generated method stub
return mMacs;
}
}
(false);
} else {
(true);
}
因篇幅问题不能全部显示,请点此查看更多更全内容