烟雾报警器软件设计范本.docx
15页烟雾报警器软件设计范本 1.软件概要 当今时代,互联网越来越普及,物联网更是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段新的事物将不断替代旧事物,在过去,关于房屋火灾报警只是一个安装在天花板的报警器,如果发生火灾但没人在家时也无法预防,这安全性是远远不够的如今,随着社会发展、生活质量的提高,人们越来越重视安防这一模块技术的发展将火灾烟雾报警器也往物联网方向发展为了实现火灾烟雾报警器智能报警,实现即使人不在家也可以收到火灾警报的目的,我司研发了一款智能烟雾报警器设备,配合此款设备的使用,还需要一款wifi控制中心设备,负责烟雾报警器和网络的通信,二者是通过频段来交互的在以上的前提下,我司自主开发了一款系统软件,包括App客户端和服务器此款软件实现了烟雾报警器设备的配置网络、添加到数据库、查看设周围烟雾浓度备实时状态、查看烟雾是否超标的历史纪录、设置报警推送、自定义设备报警时段等功能,还有注册、登录、忘记密码以及系统设置等基本功能 2.软件设计 APP和服务器的通信指令设计 此软件APP和服务器之间的通信采用收发指令来传输所需的数据,按照以上协议,通过把指令转成json格式传给服务器解析,服务器记录所需的数据。
设备数据格式:{ \(String [原类型7bytes 数组]) \ (String[父设备id,原类型7bytes 数组]) \烟雾报警器\\客厅\ \ \ (String) (String) (Integer) (Integer) \ (Boolean) \ (Boolean) \ (Array[false:关])电源 “devdata”:”” (String)设备状态用16进制表示 0x16525300000001~0x165253FFFFFFFF } 指令一般一应一答成对出现 指令编码中,奇数为服务器发送到客户端的指令,偶数为客户端发送到服务器的指令 APP和服务器的通信规则 App指令顺序注意点: app和服务器建立连接之后,向服务器发送0号指令,服务器返回1号指令给app,于1号指令里面存放了流水号和key,用于辨别指令真伪所以,app只有在收到1号指令之后,才能开始发送其他指令给服务器,否则服务器收到该指令,会以错误指令的处理方式,不予任何处理 app收到1号指令之后,必须向服务器发送73号指令,用于设置语言等等的一系列参数 App指令参数注意点: 指令中设置deviceId时,若设备是wifi设备,deviceId为00加上wifi设备的mac值,则deviceId的长度为14。
若设备是设备,deviceId为该设备的sn值,则deviceI的长度也为14 部分指令列表 FF:服务器返回的异常包 异常信息 FE:客户端发送心跳数据包 无内容 FD:服务器端返回设备列表状态无变化数据包 无内容 FC:服务器返回部分设备状态变化信息列 数组[设备信息] FB:服务器端发送心跳数据包 无内容 00:客户端启动连接数据包 无内容 01:服务器发送登陆许可 { \\} 02:客户端发送用户名和密码登陆信息 用户信息 03:服务器指示是否用户登陆成功 { \ (Boolean) \用户信息 } 04:客户端获取用户的所有设备列表 {“hash”:“FF00FFFD23404782394703”} (最后一条05指令解密后JSON串的大写的 md5串强制取列表) 05:服务器返回用户的所有设备列表 (设备信息数组)[设备信息1,设备信息2] 06:客户端查询单个设备状态 { \} 07:服务器返回单个设备状态 设备信息 08:客户端发送对某个设备信息指令 设备信息 09:服务器返回控制结果 设备信息 0A:客户端向服务器发送用户注册请求 用户信息 0B:服务器返回用户注册请求结果 { \ (Boolean) \用户信息 } 0C:客户端发送添加WiFi设备信息指令 { \ (String) \ (String) \空调\ (String) \客厅\ (String) \ (Boolean[true:pass必须正确;false:不要求]) } 0D:服务器返回添加WiFi设备结果 { \ (Boolean) \设备信息 } 0E:客户端发送添加设备信息指令 { \ (String) \ (String) \ (String[父设备id]) \空调\ (String) \客厅\ (String) } 0F:服务器返回添加设备结果 { \ \设备信息 } (Boolean) 10:客户端发送删除某个设备信息指令 { \ (String) } 11:服务器返回删除某个设备结果 { \ (Boolean) \设备信息 } 12:客户端发送修改某个设备信息指令 设备信息 13:服务器返回修改某个设备结果 { \ (Boolean) \设备信息 } 14:客户端向服务器发送修改用户信息请求 { changepass, (Boolean[是否更改密码]) oldpass, (String[旧密码]) 用户信息 } 15:服务器返回修改用户信息结果 { \ (Boolean) \用户信息 } 设备控制具体数据格式 烟雾报警器设备状态数据格式:devdata长度8byte 0xNNNN 0xNNNN 0xNNNN 0xNNNN 1. 子类型0x0001 2. 固件版本号0x0001 3. 数据包队列号:0xNNNN 4. 报警状态:0xNNNN设备报警:0x8080设备正常:0x8000电量不足:0x2020 说明: 该设备为安防类设备,为单向上传设备状态,服务器、APP无法操作设备;上传的设备状态身份标 志为‘数据包队列号’,该队列号递增;此类设备无法获取系统时钟,数据包状态时间服务器收到该数据包的系统时间填写完成;为防止数据包丢失,上传数据包的时设备会自动搜索周边可用的中控信道上传状态,同一设备报警事件服务器通常会经不同的连接多次收到,服务器以第一次收到该数据包的系统时间为事件报警时间;服务器记录设备报警事件,方便用户查询;APP警报提醒、报警具体操作服务器与APP联合实现; APP端wifi控制中心配置原理 WiFi控制中心设备指示灯快闪时,设备会发出一个无线网络,连接上此无线网络,客户端发送一个udp给设备,udp中包含一个有效的路器名称和路器密码,设备监听广播接收到udp后将自动连接此路器,然后将返回设备信息给客户端。
进而设备可通过服务器ip端口连接上服务器客户端发送一条,并且发送添加指令给服务器设备即可和服务器进行通信 APP端添加烟雾报警器 烟雾报警器是设备,设备外观带有出厂设定的二维码,扫描设备上的二维码,将读取到设备的唯一标识符mac,即deviceId进入添加界面,选择添加过的WiFi控制中心设备,发送添加指令给服务器,指令中绑定着所选中控的mac当设备通电时,会自动和WiFi控制中心组网,设备的通信都需要通过WiFi控制中心来完成 APP端上烟雾报警器各种信息及状态 设备添加到服务器后,在APP端也可以查看设备状态,当烟雾报警器感应到周边烟雾浓度超标时,会发送消息给服务器,服务器记录下信息,再将消息传送给APP,APP需要将 报警器的实时状态显示出来APP端可以根据日期来查看烟雾报警器的状态历史纪录,以及删除记录当烟雾报警器电量不足时,也会发送消息给服务器,APP端需要显示出来以提示用户更换电源 绑定账号报警推送 关”福群智能安防系统”公众号,即可绑定软件账号,当账号上的烟雾报警器发出火灾报警时,将会收到报警消息,用户将第一时间收到信息,避免重大损失在设备界面中,设有报警推送开关,还可以设置设备报警推送时段,用户可根据需要来调整。
3.软件技术特点 APP采用tcp/ip长连接方式来连接服务器,数据传输稳定、安全 报警推送实时、状态变化响应快 数据的传输和解析采用二进制方式,运行速度快 wifi设备以及报警器设备的网络连接稳定 APP端实现了断线自动重连功能,保证设备状态实时更新 报警器的实时状态显示出来APP端可以根据日期来查看烟雾报警器的状态历史纪录,以及删除记录当烟雾报警器电量不足时,也会发送消息给服务器,APP端需要显示出来以提示用户更换电源 绑定账号报警推送 关”福群智能安防系统”公众号,即可绑定软件账号,当账号上的烟雾报警器发出火灾报警时,将会收到报警消息,用户将第一时间收到信息,避免重大损失在设备界面中,设有报警推送开关,还可以设置设备报警推送时段,用户可根据需要来调整 3.软件技术特点 APP采用tcp/ip长连接方式来连接服务器,数据传输稳定、安全 报警推送实时、状态变化响应快 数据的传输和解析采用二进制方式,运行速度快 wifi设备以及报警器设备的网络连接稳定 APP端实现了断线自动重连功能,保证设备状态实时更新 1.软件概要 当今时代,互联网越来越普及,物联网更是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。
新的事物将不断替代旧事物,在过去,关于房屋火灾报警只是一个安装在天花板的报警器,如果发生火灾但没人在家时也无法预防,这安全性是远远不够的如今,随着社会发展、生活质量的提高,人们越来越重视安防这一模块技术的发展将火灾烟雾报警器也往物联网方向发展为了实现火灾烟雾报警器智能报警,实现即使人不在家也可以收到火灾警报的目的,我司研发了一款智能烟雾报警器设备,配合此款设备的使用,还需要一款wifi控制中心设备,负责烟雾报警器和网络的通信,二者是通过频段来交互的在以上的前提下,我司自主开发了一款系统软件,包括App客户端和服务器此款软件实现了烟雾报警器设备的配置网络、添加到数据库、查看设周围烟雾浓度备实时状态、查看烟雾是否超标的历史纪录、设置报警推送、自定义设备报警时段等功能,还有注册、登录、忘记密码以及系统设置等基本功能 2.软件设计 APP和服务器的通信指令设计 此软件APP和服务器之间的通信采用收发指令来传输所需的数据,按照以上协议,通过把指令转成json格式传给服务器解析,服务器记录所需的数据 设备数据格式:{ \(String [原类型7bytes 数组]) \ (String[父设备id,原类型7bytes 数组]) \烟雾报警器\\客厅\ \ \ (String) (String) (Integer) (Integer) \ (Boolean) \ (Boolean) \ (Array[false:关])电源 “devdata”:”” (String)设备状态用16进制表示 0x16525300000001~0x165253FFFFFFFF } 指令一般一应一答成对出现。
指令编码中,奇数为服务器发送到客户端的指令,偶数为客户端发送到服务器的指令 APP和服务器的通信规则 App指令顺序注意点: app和服务器建立连接之后,向服务器发送0号指令,服务器返回1号指令给app,于1号指令里面存放了流水号和key,用于辨别指令真伪所以,app只有在收到1号指令之后,才能开始发送其他指令给服务器,否。





