一种手持式家居智能温湿度检测控制终端的设计与实现*
2018-06-22叶权锋蒋昌茂
徐 波,叶权锋,蒋昌茂
(1.桂林电子科技大学,广西 桂林 541004;2.桂林师范高等专科学校,广西 桂林 541001)
随着生活水平的提高,人们对住宅的智能化服务设施提出了更高的要求,所以目前的智能家居这种新的生活理念正逐步进入人们的生活,正引导业主或用户体验一种新的生活享受方式。通过智能家居模式,用户可以通过手机APP或者手持终端随时随地地远程控制和管理家用电器的工作情况。本文所涉及到的温湿度采集及控制的手持式终端是智能家居中的一个应用,本方案选用深圳华禹工控二次开发的MTK6225手机模块作为终端应用平台,核心采用ARM7做为MCU(微控制单元),具备完整的手机功能,且电池管理方案优异,采用已有的手机平台硬件设计方案彻底颠覆了传统设计上的硬件从零开始搭建的软硬件设计开发模式,可跨过硬件设计直接硬件重用进入在手机系统平台架构上的软件开发模式,使得本方案产品的设计开发周期大大缩短及其可靠性大为提高。本方案以它的低成本、方便携带的特点,比较适合在智能家居行业便携式开发和应用,现提出来供大家批评指正。
1 温湿度采集手持式硬件平台架构设计原理
一般情况下,每一个控制系统开发,都必须涉及硬件和软件设计开发。传统的设计思想是先确定硬件方案,设计制造或选用合适的硬件之后,再考虑采用什么样的软件驱动或控制运行方式。本方案中针对手持方式的设备,除了相关硬件设备设计还需考虑设备功耗及电池供电问题,然后才考虑搭载什么样的软件驱动硬件工作达到设计要求,因而在硬件设计环节就要花费大量的精力和时间,然后再设计软件并加载驱动硬件,而且所设计实现的产品是否满足实际需要,仍需经过反复实际测试和改进完善,才能确定是否能定型和投入批量生产,这种开发思路的最大缺陷是很难满足实际工程应用中对产品开发周期的限制。为了让新产品开发“既快又好”,保证稳定性和缩短产品开发设计周期,选用一些成熟的软硬件平台做为辅助开发工具是加快产品推出的必要条件,所以我们选用了深圳华禹工控所推出的MTK6225手机开发模块,作为我们的手持式温湿度采集及检测控制终端的无线硬件设计解决方案。
本方案最大的特色是就用手机平台实现智能家居设备的远程控制及应用,众所周知传统手机一般多为通话、短信和多媒体等方面应用,却在嵌入式行业几乎看不到它的身影,其主要原因是因为手机软硬件技术一直被手机软硬件系统开发公司所垄断,它的技术资料很少外流和开源推广,同时由于手机系统本身的较好的保密性和技术封锁,使得它在其他行业推广应用也很难展开,特别是如何充分引出手机系统更多的I/O口资源,以满足各种DIY开发应用,MTK6225手机开发模块给我们提供了各种嵌入式DIY应用的可能和扩展。
原本MTK6225是一款具有高集成度的手机应用多媒体芯片,由台湾联发科公司2011年推出,经过长期关注和推广应用,技术已经非常成熟,其具体结构如图1所示。
它具有如下功能:
采用了104MHz的 ARM7高速CPU;
支持1.8—3.2英寸彩色LCD;
支持手写触摸、汉字识别;
支持多媒体功能,如弦铃音、摄像头、MP3和MP4等;
支持GPRS、GSM、SMS等;
支持JAVA
MTK6225作为一款完整的多媒体手机芯片,超低功耗,电池管理方面非常出色,结合其他的特性作为普通手机应用是比较合适的,而拓展到移动控制领域的应用似乎不太现实。随着智能手机及移动互联网的快速发展,深圳华禹工控发现手机移动控制应用的广阔商机,在充分消化吸收MTK6225平台的相关资源后,推出了面向移动控制领域行业应用的基于MTK6225芯片解决方案——旋风001手机通用开发模块,该模块除了具备原有的通信、短消息和多媒体功能外,扩充增加了以下功能:①将MT6225芯片的所有可供外部使用的128个I/O引脚进行外部扩展,包括(并口、串口、USB口、LCM屏接口、GPIO、电源开关机口等)都可以调用;②实现基于J2ME的JAVA硬件可编程控制,支持JAVA等多种语言编程,实现对I/O口的控制,并提供了丰富的应用Demo。本方案选用MTK6225开发模块,对我们来说不仅缩短产品的设计开发周期,还保证硬件解决方案的稳定可靠。MTK6225平台方案,作为已经量产6年多,手机出货量达到数以亿来计算的成熟品牌来说,它的硬件可靠性、稳定性和超低功耗的性能是我们所看重的,同时搭载的ARM7处理器的速度完全能够胜任我们手持式终端管理系统的工作性能需求。华禹高科推出的MTK6225手机通用开发模块,对本方案来说基本解决了在移动终端解决方案中硬件设计的最关键部分,我们只需把精力主要投入到应用软件的设计即可完成产品研发。
图1 MTK6225手机芯片内部结构
2 基于MTK6225平台的控制系统的软硬件设计
本方案手持式终端管理系统主要分成以下2部分,本文主要介绍第2部分的设计实现:①具有RF射频及红外功能模块的通信背板,该背板主要完成手持终端系统通过无线方式连接具有RF功能的家用智能插座和红外功能的各种家电的信号转发,同时将带有温湿度传感器的数据采集模块采集的数据发送给终端系统。②与以上通信背板相连的基于MTK6225手机模块的手持式终端控制系统。
2.1 手持式终端控制系统硬件设计
本方案基于MTK6225手机模块的手持式终端控制系统结构,如图2所示,该系统由前台、后台系统两个部分组成,其功能和特点如下。
2.1.1 RF前台数据采集模块
该模块是作为一块通信背板通过128PIN的插针与MTK6225后台处理系统无缝集成,它的作用主要是通过UART串口通信接受后台MTK6225系统的控制,完成对远程温湿度数据采集,并回传给后台系统处理,同时通过RF远程控制智能插座的开闭和红外接收模式设备的工作状态,如空调、加热器、温度传感器等。
图2 基于MTK6225手机方案的温湿度检测手持终端控制系统结构图
该模块由三部分组成:①RF无线通信模块:采用TI CHIPCON的CC1100CH 1GHz范围内的RF收发器,通过SPI接口与MCU通信,具备超低功耗和无线唤醒功能,满足移动终端对功耗的要求;②红外收发模块:采用与空调遥控相同的红外收发模块,采用MTK6225软键盘通过红外收发模块进而控制带有红外接收功能的空调/除湿设备的工作状态和参数调节;③MCU处理部分:数据采集控制核心,采用STC89LE516RD+处理器,该微内核的特色是低电压:3V,低电流:4~7 mA,可通过UART串口与MTK6225后台处理系统通信并收发相关数据。
2.1.2 MTK6225手机后台数据处理系统
后台数据处理系统是手持式温湿度终端系统的核心组成部分,我们选用了深圳华禹工控的旋风001模块来实现,该硬件模块除了具备普通手机的所有基本功能外,还将MTK6225所有可控128个I/O引脚以插针的方式全部引出,以供二次开发扩展使用,同时用JAVA语言编程实现了对I/O口控制的底层驱动,可为J2ME应用程序调用,这样它名副其实地成为可二次开发使用的通用模块。
2.2 温湿度手持终端控制系统软件设计
该系统软件主要功能:采用手持式系统终端收集各采集点的温湿度参数,并根据舒适度的原则可自动和手动控制相关环境设备的工作状态和参数选择,达到自动或人工调节居住环境舒适度的目的。
对于可以采用C++或者JAVA编写管理软件的MTK6225手机模块,但由于用C++编程所写的管理软件仍需要转成BIN文件固化到手机中才能使用,这不仅多此一举而且还要调整修改手机原本的软件结构,为了保证原手机软件结构不变,我们使用JAVA编写本方案的管理软件,只要加载JAVA虚拟机,用JAVA语言编写的管理软件即可跨平台运行服务,这样软件部分的编程实现简易、安装方便,设置简单,以下是本设计所调用的几个关键软件包。
2.2.1 COM.MTK包
对于比较特殊的情况,无法完全采用JAVA编程实现而需调用C或C++编程时,华禹工控提供了JNI方式编写,将COM.MTK包中的Gpio.java控制GPIO的方法,即为此类,通过对该类中接口函数的调用,可实现对硬件GPIO的控制。
2.2.2 Com.huayu.gpio包
用于对128个I/O引脚的调用,包中的GpioPort.java定义了华禹工控手持设备的GPIO控制引脚编号,只要进行简单的设置声明即可调用,比如:
public static final byte GPIO_0=(byte)0;
public static final byte GPIO_1=(byte)1;
public static final byte RFID_POWER_PIN=GPIO_PORT_5;
public static final byte P1201_SWITCH_A0=GPIO_PORT_0;
public static final byte P1201_SWITCH_A1=GPIO_PORT_45;
public static final byte P1201_URXD2=GPIO_PORT_47;
public static final byte P1201_UTXD2=GPIO_PORT_48;
2.2.3 其他包
com.demo.control包:GUIController.java是界面控制的类。
com.demo.view包:所有界面显示的类都在该包中。
com.demo.comm包:该包中的CommonResource.java是公共资源类。
com.huayu.studyRfid.midlet包:StudyRfidDemoMidelet.java为MIDLet类。
该管理系统的软件界面如下所示意:
图3 温湿度手持终端操作界面
图3所示的数据采集方案就是根据对家居及户外不同地点的温湿度数据采集,以确定是否符合最好的人居环境。在不达到要求的情况下,远程启动空调或者加湿设备,同时进行远程监控,程序运行流程如图4所示。
图4 手持终端控制系统运行流程图
3 结束语
通过采用MTK6225手机模块开发平台设计手持式温湿度远程检测控制系统,不仅颠覆了传统控制系统的软硬件设计模式,还摆脱了过去系统设计时,硬件设计的工作量费力而不讨好的情况,使得开发者可以集中精力专心考虑软件的设计,而不必担心硬件的可行性、可靠性、稳定性,大大缩短产品设计周期,还充分利用了手机终端的通用、便携性特点,这实际上就是在该辅助平台做二次开发即可达到设计目标。目前随着智能家居的发展、无线应用的普及和手机解决方案的兴起,越来越多的行业无线应用将采用该手机平台的做为软硬件解决方案。
[1]宋茂强.通信软件设计基础[M].北京:北京大学出版社,2007:124-127.
[2]蒋昌茂.无线宽带IP通信原理及应用[M].北京:电子工业出版社,2010.
[3]符意得.嵌入式系统设计原理及应用[M].北京:清华大学出版社,2004.
[4]朱相磊.智能预付费燃气表的低功耗设计[J].电工技术,2004(9):20-21.
[5]何为民.低功耗单片微机系统设计[M].北京:北京航空航天大学出版社,1994.
[6]王爱英.智能卡技术[M].北京:清华大学出版社,1996.
[7]赵志新,王绍伟,霍志强.MTK手机开发入门[M].北京:人民邮电出版社,2010.