文档介绍:智能家居系统
方案设计文档
目录
0. 文档介绍 4
文档目的 4
文档范围 4
读者对象 4
参考文献 4
术语与缩写解释 4
1. 模块命名规则 5
2. 模块汇总 5
模块汇总表 5
模块关系图 5
3. 子系统A的模块设计 6
模块A-n 6
4. 子系统B的模块设计 6
模块B-n 6
5. 其他 6
0. 文档介绍
文档目的
本文档旨在详细说明智能家居系统中门禁系统和linux下的模块程序开发过程,通过此文档的描述,希望可以达到具有同等技术的开发人员按此介绍可以完全重现此技术。
文档范围
智能控制系统,嵌入式linux系统等。
读者对象
嵌入式系统开发人员
参考文献
无
术语与缩写解释
缩写、术语
解释
CPLD
CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
Wiegand
Wiegand协议是国际上统一的标准,有很多格式,标准的26-bit 应该是最常用的格式
zigbee
紫蜂技术
1. 模块命名规则
本文档模块名称与具体实现的功能函数采取一致的表示方法。
2. 模块汇总
设备管理,策略管理,人员管理,定时管理,设备底层操作,串口设备层操作,串口底层操作库,配置文件解析,以及UI通讯等模块。同时包括门禁控制系统模块,家居控制模块和环境探测模块以及人机交互界面设计模块。
模块汇总表
设备管理()
模块名称
功能简述
init_dev
初始化设备根节点
add_dev
添加入网设备
del_dev
删除链表中设备
init_dev_policy_table
按照设备类新初始化策略表
update_dev_policy_table
按照各个设备类型,更新链表中的各个设备策略表
get_dev_policy_table_size
按照设备节点的类型返回对应设备类型的策略表大小
策略管理()
模块名称
功能简述
tempmon_policy_table_init
初始化温度计类型设备的策略表。
tempmon_policy_table_set_warn
根据参数传过来的状态设置设备报警状态。
tempmon_policy_table_update
调用底层设备控制取得当前设备状态更新对应设备的策略表。
设备底层操作接口()
tempmon_get_dev_stat
取得温度计设备状态
tempmon_get_cur_temp
取得温度计设备温度
tempmon_set_hi_level
设置温度计最高报警温度
tempmon_set_low_levl
设置温度计最低报警温度
用户认证()
auth_user
根据传来的用户名和密码,返回验证结果
change_pass
根据传来的用户名和密码,更改密码文件里对应项目。)
del_pass
根据传来的用户名,删除密码文件中的对应用户行
add_user
根据传来的参数,在密码文件中加入对应用户行
配置文件处理()
load_parm
解析器的前端,根据解析器的结果,抛出对应得错误。
do_paser
根据传进来的文件描述符,将文件中相应的参数解析到参数结构体。
save_parm
将参数结构体按照对应格式写入配置文件。
getnline
从文件中取得最大长度为n一行,并将回车翻译为字符串结尾符
trim
刨去传入字符串开头和结尾的空格和tab
配置文件参数处理()
temp_hi_level
设置参数结构体的temp_hi_level参数
temp_low_level
设置参数结构体的temp_low_level参数
带头节点的双向链表() 移植自linux内核
list_add_node
插入节点
list_del_node
删除节点
is_empty_list
判断链表是否为空
is_last_node
判断是否为最后一个节点
offsetof宏
取得结构体元素相对于结构体开始的偏移量
container_of宏
通过结构体元素的指针取得结构体的指针
循环缓冲区() 移植自linux内核
min宏
返回两个数中的最小值
i