本文摘自《环球表计》年12月刊,作者沈阳时尚实业有限公司张俊哲,耿春丽,高新。 随着家庭生活水平的提高,普通家庭的用电设备越来越多,越来越难以管理,不但无法全面掌握家用电器的运行状况,而且偶尔出现主人出门上班家中某个设备因未关闭而起火,导致重大损失。本文提出一种基于Android的光纤智能家庭用电管理中心,为解决上述问题带来了全新的解决方案。硬件结构智能家庭用电管理中心整体硬件结构如图1所示,由AMX数据处理单元、用户交互单元、电源单元、通信单元、存储单元、时钟单元、拍照单元、继电器控制单元等部分组成。图1整体硬件结构图 本文设计的光纤智能家庭用电管理中心采用基于Cortex-A8架构的ARM处理器AMX,该处理器主频M,具有2个CAN总线接口、6路UART串口、2个USB2.0高速OTG端口、3个I2C端口、2个SPI端口、2个10//0M以太网交换机接口、SGXD图形引擎,并且具有多达个GPIO,完全满足光纤智能家庭用电管理中心的设计需求。如图1所示的电源单元包括主电源子单元、备用电源子单元;用户交互单元包括显示子单元、触摸输入子单元;通信单元包括光纤通信子单元、微功率无线通信子单元、RS通信子单元。其中,用户交互单元,用于显示数据处理单元的处理结果,获取用户的操作请求,并将所述操作请求发送给所述的数据处理单元;数据处理单元,用于将数据处理结果发送到用户交互单元、功能单元和通信单元,并从用户交互单元、功能单元和通信单元获取数据;通信单元,用于将数据处理单元的处理结果发送到远程集中器和本地用电设备,或从远程集中器和本地设备获取数据;光纤通信子单元,用于将数据处理单元的处理结果发送到远程集中器,或从远程集中器获取数据;微功率无线通信子单元,用于与家庭智能插座通信;RS通信子单元,用于从本地水表、燃气表、热表获取数据。Android系统核心控制模块基于Android4.2系统开发,Android是一种基于Linux的开放源代码的操作系统,由Google公司和开放手机联盟领导及开发。Android分为应用程序层、应用程序框架层、系统运行库层和Linux内核层。应用层:应用层的程序使用JAVA语言编写,本文所述的应用层软件设计就是属于这一层。 应用程序框架层:开发者通过使用核心应用程序来调用Android框架提供的API,这个应用程序结构被设计成为方便利用的组件。任何应用程序都可以公布它的功能,其他的应用程序可以使用这些功能。 系统运行库层:用户空间部分为系统运行库层,包含了系统库和运行时库两种。系统库包含了一套C/C++函数库;运行时库可以分为核心库和Dalvik虚拟机。核心库提供了JAVA语言核心库的大部分功能,Dalvik虚拟机可以提高程序的运行效率。 Linux核心层:可以完成驱动程序的设计,从而为系统提供底层服务。 在本设计中,Android系统使用Google公司开发的Android4.2版本,并不需要大量修改Android系统的代码,只需要修改Linux核心层代码,增加部分驱动程序即可使用,增加的驱动程序包括:液晶屏显示驱动程序、电容触摸屏驱动程序、光纤通信驱动程序、微功率通信驱动程序、RS通信驱动程序载波通信驱动程序、实时时钟驱动程序、ESAM通信驱动程序。 除了Android系统本身,在系统启动之前还需要引导系统,本文使用uboot作为启动引导系统。uboot是用一段单片机代码用来作为引导程序,这个引导程序在系统启动时是最先执行的,它的主要任务是初始化硬件设备,将系统的软硬件环境带到一个合适的状态,再将内核从一种存储介质读入到内存中,然后跳到内核的入口点去运行,即操作系统。 应用层软件Android应用包括四大组件:活动(Activity),服务(Service),内容提供者(Contentprovider),广播接收者(Broadcastreceiver)。 在本文描述的家庭用电管理中心中,活动(Active)就是用电管理中心应用程序,启动后始终处于前台运行状态,用户可通过应用程序的UI主界面选择要执行的操作,包括选择查看当前用电量、查看历史用电量、智能开关状态、查看用电曲线、设置定时开关等操作。下图为显示总用电曲线的流程图。 图2显示总用电曲线的流程图 Android系统中,服务(Service)能在后台运行,不要用户界面,用来执行需要长时间处理的组件,能够在后台持久的运行,其它组件可与Service绑定,甚至能进行跨进程的通讯(IPC:interprocess北京白癜风医院排名点滴型白癜风应注意
|