智能家居系统软件设计_第1页
智能家居系统软件设计_第2页
智能家居系统软件设计_第3页
智能家居系统软件设计_第4页
智能家居系统软件设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密级 本资料及其包含的所有内容为达内科技(达内IT)所有,受中国法律及适用之国际公约中有关1引 编写目 预期读者和阅读建 参考资 术语缩 项目背 软件的功能和性能描 软件的功能需 3.1.1功 智能服务 智能客户 软件的性能需 软件总体结构设 硬件结构概 系统硬件框 硬件接口描 软件功能划 软件层次架 软件子系统划 软件运行环境和开发平 嵌入式软 智能客户 软件子系统功能设 PC软件设 概 智能客户端软件功能设 Main软件功能设 智能服务器终端设 智能服务器终端软件功能设 接口设 接口描 系统主要流程描 初始化流 业务流 系统子模块流程描 Main子系统流程描 智能客户端子系统流程描 软件子系统接口设 软件子系统的接口设计概 公共数据结构、变量、宏定 应用接口消息宏定 应用程序公共数据结构定 Main子系统与智能客户端子系统的接 接口通讯方 接口消息描 接口宏定 接口变量定 接口数据结构定 Main接口函 接口函数概 接口函数详细设 智能客户端接口函 接口函数概 接口函数详细设 性能设计概 性能预 78 缩 英文解 中文解 MainProcess PowerManagement ComplementaryMetalOxideSemiconductor ZIGBEE非缩写,意为振翅的蜜蜂 基于IEEE802.15.4标准的低功耗个域网协议 MODEMModulatorandDemodulator 力极强的综合系统。随着科技的飞速发展,CCD机技术日趋成熟和商品化,在监视系对某些的处理提供了方便条件及重要依据。日趋先进和完善。对于设计者来说最重要的一点是如何将先进的技术和设备有机地加以结合,根据用户的实际情况使系统切实地发挥出安全防范的。3.1.1.1室内温3.1.1.2红外传感能,重要告警,到FLASH,以备查阅。1智能家居系统由TPAD,3GModemZIGBEE,PC1各个单元电源目前板卡是单独供电,没有使用PMIC析,并且能通过CMOS或者CCD头进行,并且能够与ZIGBEE,3GModemZIGBEE操作平制,其硬件接口如图2所示。系统上电后,TPAD进行硬件初始化工作,相应的信息并在LCD上显示,由上位机发起的配置,控制命令都有TPAD统一进行解析和处理,再由TPAD对3GModem,ZIGBEE进行配置。令的流程为:上位机周期性查询TPAD系统信息,如果温度超过设定值,可以将告警存入图2操作平面硬件接口示意图图2中,各个 --M3:操 --M5:操 33控制平面硬件接口示意图3,各个控制接口实现说明如下:嵌入式软件的实现基于ZIGBEE(TIZC3530,ARM(三星S5PV210。Mai 智能服务器终端驱动平台(Driver操作系统(linuxSPV2104PC(智能客户端和处理PC软件发送的请求S5PV210搭载嵌入式linux操作系统,调试软件环境Ubuntuarm-linux-gcc(4.4.6Eclipse3.7辅助软件:qtcreator,配置发送3GModem配置LED 系统上电以后,启动Main11无无TPADBootLoader(LOGOKernel(()Main初始图 系统初始化流统(sysfs,tmpfs,ramfs等,配置网络环境智Mi程6有温度和红外的功能,具体业务说明如下:智能客户端与CPU利用率,内存利用率,剩余磁盘空间大小,当前室内温度,软件和硬件版本号,Main最后上报信息给客户端;器,EEPROM,温度阀值,号码,3GModem短消息信息,ZIGBEE控制命客户端通过以太网接口向Main发送软件升级请求,最后上报升级结果客户端通过以太网接口向Main客户端通过以太网接口向MainMai初始log日创建图 Main子系统流程描系统上电以后,执行Main7创建Socket,用于客户端请求,并出去相应的请求客户启动软件LOG素信息创建Main图 智能客户端子系统流程描此节主要讨论智能家居系统各个软件子系统以及PC软件之间的接口定义和规范进行详消息号:1~/*智能客户端- 1~1查看系统信息2设置寄存器3获取寄存器456软件升级789操作蜂鸣器硬件自检时间校准查看版本信息消息号:101~/*Main- 101~ /*查看系统信息 /*设置寄存器/*获取寄存器/*获取/*软件升级/*3G/*/*操作蜂鸣器/*/*硬件自检/*时间校准/*查看版本信息01u8年月日时分秒智能客户端发送查询系统信息请求时,Main进行对消息处理,并返回系统信息给智能客户端;当智能客户端发送操作硬件寄存器,EEPROM,3GMdoem,ZIGBEE请求时,Main进智能客户端与Main智能客户端与Main接口消息如下表所示智能客户端向MainMain向智能客户端返回系统的cpu当前频率,内存使用率,FLASH信息,当前室内温度,电 智能客户端向Main设置寄存器中u8智能客户端向Main据Main据智能客户端向Main 智能客户端向MainMain向智能客户端返回智能客户端向Main发送软件升级] 智能客户端向Main请求Main向智能客户端返回息发u8智能客户端向Mainu8智能客户端向Main发送控制蜂鸣u8u8智能客户端向Main发送控制LED智能客户端向Main智能客户端向Main智能客户端向Main发送获取软件下面详细介绍智能客户端和Main智能客户端向MainRR当前CPU当前剩余FLASH智能客户端向MainR智能客户端向Main智能客户端向Main发送设置EEPROMR智能客户端向Main发送获取EEPROMRR智能客户端向Main发送软件升级请求RR智能客户端向Main息请求R智能客户端向Main发送ZIGBEE智能客户端向Main智能客户端向Main发送控制LED指明LED指明LED智能客户端向Main智能客户端向Main2智能客户端向Main要查询版本的要查询版本的 /*文件传输缓冲区 Main接口函Main将log信息写入log创建线程(库函数打开设备(库函数关闭设备(库函数启动蜂鸣器(器关闭蜂鸣器(器获取红外传感器状态(目前用按键模拟绑定(库函数获取网络数据(库函数发送网络数据(库函数ledget_get_ 初始化log无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言 {创建log打开log设备节点;返回}设置logvoidlog_set_level 无无函数实现描述(自然语言 log_set_level(int{更新全局log输出级别值log_level}voidlog_write(intlevel,constchar*fmt,将指定的信息输出到logconstchar*fmt,…:无无函数实现描述(自然语言voidlog_write(intlevel,constchar*fmt,{if(判断level是否大于全局log_level)if(打开log设备文件失败)返回;将可变参数信息写入log日志文件里;}关闭logvoidlog_close关闭log无无无函数实现描述(自然语言voidlog_close{关闭log} 无无三个线程成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言 create_pthread{温度线程ID =创建温度线程;红外线程ID =创建红外传感器线程;返回}}void*thread_monitor_temperature(void无无无无函数实现描述(自然语言void*thread_monitor_temperature(void{for{;;}}}void*thread_monitor_infrared(void无无无无函数实现描述(自然语言void*thread_monitor_infrared(void{for{;;}阻塞方式红外状态;}u32无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32{配置GPRS工作模式;返回C_SYS_OK;}u32init_uart(intfd,int无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32init_uart(intfd,int{返回C_SYS_OK;}配置GPRSu32gprs_config配置GPRS无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32gprs_config{配置GPRS以TEXT模式工作,配置服务中心;返回C_SYS_OK;}u32send_gprs_message(s8*phonenum,s8发送GPRS无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32send_gprs_message(s8*phonenum,s8{构造GPRS消息包;返回}u32无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32{}u32无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32{}u32打开无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32{打开返回}u32关闭无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32{关闭返回}u32get_ds18b20_temperature(f32无函数实现描述(自然语言u32get_ds18b20_temperature(f32{ 温度值;返回}u32adc_config(u32bit,u32配置ADC无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32adc_config(u32bit,u32{配置ADC工作模式;返回C_SYS_OK;}u32get_adc_voltage(f32无函数实现描述(自然语言u32get_adc_voltage(f32{ =完毕的电压值;返回C_SYS_OK;}u32get_button_key 无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32get_button_key { 1;//表示有人闯入返回C_SYS_OK;}u32无无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32{返回C_SYS_OK;}u32create_socket无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32create_socket{创建socket;case获取系统信息:caseEEPROM:}返回C_SYS_OK;}u32get_machine_stat_req(char无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32get_machine_stat_req(char{获取当前CPU工作频率;获取当前剩余FLASH空间;返回C_SYS_OK;}u32register_xfer_req(char无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32register_xfer_req(char{返回请求结果到pskbuf中;返回C_SYS_OK;}u32eeprom_xfer_req(char配置无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32eeprom_xfer_req(char{操作返回请求结果到pskbuf中;返回C_SYS_OK;}u32sw_update_req(char软件升无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32sw_update_req(char{返回操作结果到pskbuf中;返回C_SYS_OK;}u32send_gprs_message_req(char无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32send_gprs_message_req(char{返回C_SYS_OK;}u32send_zigbee_message_req(char处理智能客户端发送ZIGBEE无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32send_zigbee_message_req(char{调用发送ZIGBEE信息处理函数发送;返回C_SYS_OK;}u32beep_control_req(char无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32beep_control_req(char{返回C_SYS_OK;}u32led_control_req(char处理智能客户端发送配置LED无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32led_control_req(char{调用配置LED处理函数;返回C_SYS_OK;}u32hardware_selftest_req(char无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32hardware_selftest_req(char{返回}u32time_adjust_req(char无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32time_adjust_req(char{返回C_SYS_OK;}u32get_cpu_freq(f32获取cpu无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32get_cpu_freq(f32{获取CPU当前工作频率;返回C_SYS_OK;}u32get_mem_space(u32*无无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32get_mem_space(u32 {返回}u32get_disk_space(u32*获取当前剩余FLASH无剩余FLASH无成功返回C_SYS_OK,失败返回错误代码(错误代码参见相关头文件定义函数实现描述(自然语言u32get_mem_space(u32*{返回C_SYS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论