- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能家居系统方案设计
智能家居系统
方案设计文档
目 录
0. 文档介绍 4
0.1 文档目的 4
0.2 文档范围 4
0.3 读者对象 4
0.4 参考文献 4
0.5 术语与缩写解释 4
1. 模块命名规则 5
2. 模块汇总 5
2.1 模块汇总表 5
2.2 模块关系图 5
3. 子系统A的模块设计 6
3.n 模块A-n 6
4. 子系统B的模块设计 6
4.n 模块B-n 6
5. 其他 6
0. 文档介绍
0.1 文档目的
本文档旨在详细说明智能家居系统中门禁系统和linux下的模块程序开发过程,通过此文档 的描述,希望可以达到具有同等技术的开发人员按此介绍可以完全重现此技术。
0.2 文档范围
智能控制系统,嵌入式linux系统等。
0.3 读者对象
嵌入式系统开发人员
0.4 参考文献
无
0.5 术语与缩写解释
缩写、术语 解 释 CPLD CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。Wiegand协议是国际上统一的标准,有很多格式,标准的26-bit 应该是最常用的格式. 模块命名规则
本文档模块名称与具体实现的功能函数采取一致的表示方法。
2. 模块汇总
设备管理,策略管理,人员管理,定时管理,设备底层操作,串口设备层操作,串口底层操作库,配置文件解析,以及UI通讯等模块。同时包括门禁控制系统模块,家居控制模块和环境探测模块以及人机交互界面设计模块。
2.1 模块汇总表
设备管理(dev.c) 模块名称 功能简述 init_dev 初始化设备根节点 add_dev 添加入网设备 del_dev 删除链表中设备 init_dev_policy_table 按照设备类新初始化策略表 update_dev_policy_table 按照各个设备类型,更新链表中的各个设备策略表 get_dev_policy_table_size 按照设备节点的类型返回对应设备类型的策略表大小 策略管理(policy.c) 模块名称 功能简述 tempmon_policy_table_init 初始化温度计类型设备的策略表。 tempmon_policy_table_set_warn 根据参数传过来的状态设置设备报警状态。 tempmon_policy_table_update 调用底层设备控制取得当前设备状态更新对应设备的策略表。 设备底层操作接口 (devctl.c) tempmon_get_dev_stat 取得温度计设备状态 tempmon_get_cur_temp 取得温度计设备温度 tempmon_set_hi_level 设置温度计最高报警温度 tempmon_set_low_levl 设置温度计最低报警温度 用户认证(auth.c) auth_user
根据传来的用户名和密码,返回验证结果 change_pass 根据传来的用户名和密码,更改密码文件里对应项目。) del_pass 根据传来的用户名,删除密码文件中的对应用户行 add_user 根据传来的参数,在密码文件中加入对应用户行 配置文件处理(parm.c) load_parm 解析器的前端,根据解析器的结果,抛出对应得错误。 do_paser 根据传进来的文件描述符,将文件中相应的参数解析到参数结构体。 save_parm 将参数结构体按照对应格式写入配置文件。 getnline 从文件中取得最大长度为n一行,并将回车翻译为字符串结尾符 trim 刨去传入字符串开头和结尾的空格和tab 配置文件参数处理 (parm_handler.c) temp_hi_level 设置参数结构体的temp_hi_level参数 temp_low_level 设置参数结构体的temp_low_level参数 带头节点的双向链表 (list.c) 移植自linux内核 list_add_node 插入节点 list_del_node 删除节点 is_empty_list 判断链表是否为空 is_last_node 判断是否为最后一个节点 offsetof宏 取得结构体元素相对于结构体开始的偏移量 container_of宏 通过结构体元素的指针取得结构体的指针 循环缓冲区(loop_buf.c) 移植自linux内核 min宏 返回两个数中的最小值 init_loop_buf 初始化循环缓冲区 release_loop_buf 释放循环缓冲区里的线程锁 get_loop_buf 从循环缓冲区
文档评论(0)