基于MTK平台的短信控制远程终端实现方案
IO_InitIO(char direction,char port)设置。其中direction为输入INPUT(0)或者输出OUTPUT(1),port为端口号。本文试验中对GPIO口的输入/输出设置如下,设置GPIO45为输出,即可通过它的输出信息来控制外接负载。GPIO_InitIO((char)1, (char)GPIO_PORT_45)
③ 读写数据。通过函数void GPIO_WriteIO(kal_char data,kal_char port)设置,其中data为1(高电平)或者0(低电平),port为端口号。本文试验中对GPIO口引脚写数据操作如下。GPIO45输出高电平,即可打开外接负载;GPIO34输出低电平,即可关断外接负载。GPIO_WriteIO((char)1,(char)GPIO_PORT_45)GPIO_WriteIO((char)0,(char)GPIO_PORT_34)
在本文所做试验中,对GPIO初始化成功并对GPIO端口读写数据完成后,需要通过函数GPIO_ReadIO(char port)来读取GPIO端口的状态,通过读取其端口状态来和写到GPIO口的数据相比较,若匹配则说明控制成功,反之则失败,其中port为端口号。
3.2 MTK的短信模块
3.2.1 MTK短信接收的流程
从函数InitializeAll()中初始化开始,到信息显示在MTK的手机界面,提示用户读取信息的过程中经历中断、协议处理、MMI层收到新短信,更新短信计数器,转换短信数据,并压入未读短信队列等操作。
3.2.2 MTK发送短信息的核心函数
相比于日常生活中短信通信不同的是此平台是根据对远程终端的控制情况而自动回复的。自动回复信息需要知道发送短信到MTK远程终端的手机的号码,还需要自填充自动回复的短信内容。void mmi_frm_sms_send_sms_seg(void)为MTK6225发送短信的核心函数,自动回复是在此函数的基础上将发送短信到MTK终端的手机号码作为该函数的形参,对发送内容的自填充也在该函数中定义:char * content=the bulb turn on successfully;(此处即为根据接收到的指令对外接负载采取操作后,自动回复信息的内容,根据操作结果不同自填充短信内容即不同)。
3.2.3MTK接收短信息数据结构体
MTK将收到的短信息的相关参数打包成结构体,以下为MTK关于接收到短信内容相关信息的结构体。MTK平台每一条短信的内容分成若干段,一个字节为一段。其中no_msg_data为接收到的段数,数组msg_data[1]接收到的信息的第一段数据,以接收到的第一段的数据为索引,解析接收到内容后通过判断远程终端接收到的短信内容来对远程终端外接负载采取相应操作。
typedef struct{
……
U16 no_msg_data;
U8 msg_data[1];
} mmi_frm_sms_deliver_msg_struct;
3.3 MTK远程终端的控制程序流程
基于MTK平台的远程控制终端在接收到控制信息后,MTK自动回复和对负载采取操作的代码在函数void mmi_frm_sms_new_sms_ind(void *inMsg)中被调用。此函数的功能是将L4层的数据转换成MMI层的数据,并对接收到的数据进行处理,直至显示到远程终端界面上。将MTK作为远程终端,不需要将接收到的控制负载的信息显示在界面上,所以为了屏蔽发送来的信息显示在终端界面,应把接收到的短信添加到短信记录中的函数CHISTIncRecvdSMS注释掉。装有SIM卡的远程终端经常收到如10086之类的服务信息,为了屏蔽这些不必要的信息,对发送信息进来的号码长度进行判断,加上中国的电话区位号86,则若为手机发送一共为13位。由于MTK的代码是分模块的,当在短信模块中调用其他模块的函数时,就需要在这个函数被调用的文件里面加上相应的头文件。图4为条件判断和对打开/关断负载的函数的调用以及对短信自动回复的函数的调用情况。
图4 远程终端控制负载及自动回复流程
3.4 试验结果
将一支发光二极管作为远程控制终端的外接负载,正极接MTK6225的GPIO45,负极接MTK6225的GND,GPIO45默认为低电平,刚接上时发光二极管处于熄灭状态。用手机发送短信内容为“on”的指令到基于MTK平台的远程控制终端时,发光二极管亮,远程控制终端返回信息“ the bulb turn on successfully”;用手机发送短信内容为“off”的指令到基于MTK平台的远程控制终端时,发光二极管熄灭,远程控制终端返回信息“ the bulb turn off successfully”。发送其他内容的短信指令到远程控制终端时,发光二极管没有响应且不返回任何信息。试验结果表明,基于MTK的短信控制远程终端的方案切实可行。
结语
充分发挥MTK平台高性价比的优势, 提出将MTK手机平台应用于控制领域,设计了基于MTK平台的短信控制远程终端的实现方案,并通过试验验证了该方案的可行性。该方案具有成本低、开发周期短、组网方便、易于扩展等优点,为通信和控制相关领域的研究和开发人员提供了参考。
信息 相关文章:
- IBM成功制出石墨烯射频接收器 (02-07)
- 量子通信何时真正的进入现实生活(06-14)
- USBee:电脑不联网也能被窃取数据(08-31)
- 天线如何设计可以降低手机电磁辐射对人体健康影响?(07-13)
- 盘点RFID系统待解决的问题(03-03)
- 基于SpringBoot微服务架构的城市一卡通手机充值支撑系统研究(09-27)