智能家居网关软件详细设计说明书.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件详细设计说明书项目名称:智能家居系统家庭智能网关
V1.1
日期: 2015 年 8 月 19 日
目录
1 引言 (1)
1.1编写目的 (1)
1.2 项目背景............................................. 错误!未定义书签。
1.3 定义 (1)
1.4 参考资料 (1)
2 总体设计 (1)
2.1 需求概述 (1)
2.2 软件结构 (2)
3 程序描述 (2)
3.1 下面对各模块的功能,性能,输入,输出进行具体描述 (3)
3.2 程序逻辑 (5)
1 引言
随着科技提高,人民生活水平提高,生活节奏的逐渐加快。我们需要一种更便捷,舒适,健康的生活环境。利用通讯和信息技术,开发智能家居系统,为人民提供更好的生活服务,将人民从繁重的生活压力中释放出来,从而专心于科技、决策等方面的事物,促进社会快速和谐发展。
1.1编写目的
本说明的编写目的在于明确智能家居系统网关软件开发方案、方法;为软件开发人员提供明确的开发思路。本文档需经过严格评审后开始软件开发。确保各部分方案合理可行、占用最少的开发资源。
本说明的预期读者是智能家居系统决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。
1.3 定义
专门术语:
Zigbee Zigbee无线通讯
网关智能家居系统用于将不具备联网能力的家用设备联网以及管理设备
UC/OS 嵌入式操作系统,提供任务调度,通讯功能
串口单片机一种有线通讯方式
1.4 参考资料
《软件工程基础教程》---- 刘文,朱飞雪主编:粘新育,陶洁副主编:出版社:北京大学出版社
《c语言程序设计》 ----谭浩强
《嵌入式实时操作系统UC/OS原理与实践》
2 总体设计
2.1 需求概述
(1)、智能家居系统设备联网:
A、通过以太网,wifi,2G等转发Zigbee设备信息给网关
B、通过以太网,wifi,2G等接受服务器控制信息、场景信息,转发给zigbee设备
(2)、消息记录:
软件整体基于UC/OS操作系统。使用事件管理任务管理各个任务,每个任务都通过消息邮箱、队列、信号量、标志位组与通讯管理任务进行通讯。各个任务之间不通讯。每个任务根据功能不同,底层使用不同的驱动。因为每一任务所使用的外设接口都不同,所以每个任务都有各自独立的驱动。但若出现多个任务使用同一个外设接口时则可以共享驱动。
3 程序描述
3.1 下面对各模块的功能,性能,输入,输出进行具体描述
1、UC/OS操作系统
●功能:实现任务调度、任务间通讯
●性能:
占用ROM:13K
占用RAM:0.8K
占用CPU资源:约5%
2、事件管理
●功能:实现各个任务逻辑关系处理。实时检测系统关注事件,当有事件发生的时候,根据不同的事件类型,通知不同的任务动作。
●性能:
优点:逻辑四路清晰,软件维护简单,扩展性强,当需要添加功能时只需在事件管理任务中增加事件触发消息,然后增加对应的功能任务,无需改动其他任务
缺点:每个事件都通过事件管理任务进行判断处理,增加了事件管理任务设计的复杂性。
●输入项目:事件来源以及事件内容
●输出项目:响应事件通知以及消息内容。
3、以太网
●功能:实现万维网通讯,将事件管理模块发过来的来自Zigbee模块的消息转发给服务器,将服务器下发的数据转发给事件管理模块以转发给Zigbee模块。
●实现方案:以太网通过RMII与外围网络芯片通讯,使用LWIP模块进行网络通讯。通讯协议使用TCP/IP协议。
4、Zigbee
●功能:与Zigbee模块进行通讯,将Zigbee模块的消息转发给事件管理模块,将事件管理模块发过来的需要发送给Zigbee模块的数据通过串口发送给Zigbee 模块。
●性能:
Zigbee模块接受使用串口中断,每次接受到数据都进行终端。并在中断中进行头尾校验。头校验失败则丢弃当前数据,并给Zigbee应用层发送校验失败消息,Zigbee应用层发送重新发送数据命令。头尾校验成功则给Zigbee应用层发送校验成功消息通知应用层、Zigbee应用层进行CRC校验,校验成功则发送消息给事件管理模块,当校验失败则发送重新发送命令。
5、wifi
●功能: wifi功能与以太网一样,实现万维网通讯,将事件管理模块发过来的来自Zigbee模块的消息转发给服务器,将服务器下发的数据转发给事件管理模块以转发给Zigbee模块。另外wifi还需实现通过手机App可以在网关未连接到万维网的情况下进行wifi密码配置。Wifi与主控通过SPI通讯,当SPI有数据,而且头尾校验成功。则发送给wifi应用层,应用层校验后与事件管理任务进行信息交互。若校验失败,则发送校验失败消息给应用层。
6、2G
●功能: 与Zigbee模块进行通讯,将Zigbee模块的消息转发给事件管理模块,将事件管理模块发过来的需要发送给Zigbee模块的数据通过串口发送给Zigbee 模块。
●性能:当用户联网不方便,没有以太网和wifi连接的环境下,使用2G接入互联网,实现通讯。当完成SIM卡注册后,其他操作与wifi类似。
7、SD卡
●功能:SD卡用于存储消息记录。记录内容包括Zigbee设备信息,动作记录,服务器下发的消息记录。
●方法:因为本网络需要能同时管理数百个节点,消息数据量大。为了保证数据存储的实时性,不使用文件系统,采用直接存储原始数据。为了使存储的数据具有可分析性,以及减小数据存储两,存储数据时,先对通讯数据进行解析,每个设备的数据单独存储,确保通讯数据中相同的部分只存储一份。数据存储格式为:设备信息,动作+时间列表。
8、指示灯