基于s3c6410短消息控制LED显示系统的设计与实现

2012-10-16 07:07邓汉勇
赤峰学院学报·自然科学版 2012年12期
关键词:短消息开发板字节

邓汉勇

(1.同济大学 软件学院,上海 200331;2.厦门城市职业学院 嵌入式Linux应用中心,福建 厦门 361008)

基于s3c6410短消息控制LED显示系统的设计与实现

邓汉勇1,2

(1.同济大学 软件学院,上海 200331;2.厦门城市职业学院 嵌入式Linux应用中心,福建 厦门 361008)

基于s3c6410处理器和嵌入式Linux操作系统,采用GSM模块、LED大显示屏设计出可以通过短消息控制的LED显示系统.以mini6410开发板作为系统平台,使用linux-2.6.38作为嵌入式操作系统,使用博创LED大屏幕系统,采用WAVECOM GSM MODEM模块,通过GSM模块接收短消息,并将短消息的内容在LED显示屏上显示.

嵌入式Linux系统;GSM;s3c6410;短消息

1 引言

嵌入式系统已经广泛应用于各类电子产品的设计中,本文提出了基于S3C6410和Linux为平台的嵌入式LED控制系统,采用256*64双色点阵数码管为显示平台,通过GSM模块接收短消息,并将短消息内容在LED系统上实时显示.本系统以串口与LED系统的控制串口相连,通过USB转串口模块与GSM模块的控制串口相连,在系统上通过软件读取GSM模块接收到的短消息,并将短消息内容转换成LED系统能识别的编码,发送给LED系统;LED系统将数据内容储存在FLASH中,并在LED屏上实时显示.本文分两个部分:GSM模块应用部分详细讲述了如何通过AT指令集接收和发送短消息;LED显示部分描述了如何将短消息内容在LED大屏幕上实时显示.

2 GSM模块应用部分

2.1 短消息收发部分流程

GSM MODEM在使用之前,需要通过发送AT命令[1]来检测设备是否正常工作;如果设备正常工作,则开始读取GSM模块接收到的短消息;如果没有新消息,则定时读取,直到读取到新消息为止.当读取到新消息时,将新消息的数据内容读取出来,将数据内容发送至LED屏显示,并给发送号码回复确认信息,最后将新收到的短消息删除.

2.2 串口初始化部分的实现

WAVECOM GSM MODEM[1]可以通过串口控制,本系统中使用USB转串口模块,此模块的USB接口与mini6410开发板相连,串口与GSM MODEM相连接.串口的配置为:9600/n/8/1,传输速率为9600,字符长度掩码为,不对输入输出数据校验,设置1个停止位.无流控.

主要代码如下所示:

2.3 短消息读取部分的实现

短消息读取函数主要是将执行AT命令[1]从GSM模块中读取短消息,并从中获取短消息的内容及短消息的发送号码;读取短信息的AT命令[1]为“at+cmgr=位置”;短消息编码有两种格式,一种是PDU方式,另一种是文本方式,设置编码格式的 AT 命令[1]为“at+cmgf”.

本系统处理短消息,采用的是文本方式,所以需要在串口上写入:“at+cmgf=1”

读取SIM卡储存的第一条短消息,在串口上写入:“at+cmgr=1”,

短消息读取成功,对于未读短信,会在串口输出:

短消息读取失败,则会在串口输出:“ERROR”

如上所示,短消息内容为"5982679C53EF4EE53002",内容采用Unicode编码[2],每两个字节表示一个汉字或字符,0x5982表示一个汉字或字符,0x679C表示一个汉字或字符,等等;短消息的发送号码为"13906008794".

2.4 短消息发送部分的实现

当收到短消息,并将短消息内容在LED屏上显示之后,需要给手机号码发送一个确认短信,发送短信息的AT命令[1]为“at+cmgs=手机号码”;GSM模块接收到命令后,会给出“>”提示用户输入短消息内容,本系统中确认的内窜为"ok",短消息内容输入之后需要输入CTRL+Z来确认发送,CTRL+Z的ASICC值为0x1A.

2.5 短消息删除部分的实现

当发送确认短信后,需要删除这条短消息,以便将位置空出来,删除短信息的AT命令[1]为“at+cmgd=位置”;当系统接收新短消息时,又将会存储在第一个位置.

3 LED显示应用部分

3.1 LED显示屏控制实现

本系统使用的LED显示系统为博公司的UP-LED大屏幕显示系统[3],标准红绿双色教学屏,分辨率256×64;基于ARM控制和CPLD扫描方案的LED大屏幕控制器,CPLD时序逻辑独立驱动LED,可以实现字库操作、显示效果和通信功能.

显示屏高度为64位,本系统将之设计为3行,第一行为小字体,占用的显示资源为(x[0-255],y[0-15]),每字占16x16位,第二行为大字体,占用的显示资源为(x[0-255],y[16-47]),每字占32x32位,第三行也为小字体,占用的显示资源为(x[0-255],y[48-63]),每字占 16x16位.

3.2 LED显示屏动态显示短信内容

3.2.1 串口初始化部分的实现

博串LED显示屏可以通过串口控制,我们使用mini6410开发板上的串口与之相连.串口的配置为[5]:115200/n/8/1,传输速率为115200,字符长度掩码为8,不对输入输出数据校验,设置1个停止位,无流控.

主要代码如下所示:

3.2.2 LED屏显示内容更新部分的实现

LED显示屏系统上使用GB2312编码,所以需要在mini6410开发板上将收到的短信内容中的Unicode编码转换成GB2312编码之后,再通过串口将转换后数据通过串口协议传送给LED显示屏系统,显示屏系统将接收数据进行命令[5]解析,如果为更新显示屏上的内容,则将短消息数据写入FLASH中,并从FLASH中读取数据内容,显示在LED屏上.

本系统上建立了一张Unicode编码与gb2312编码之间的转换表,将常用的7445个汉字及符号建立了一个二维数组,数组每行第一列表示一个汉字的Unicode编码,第二列表示gb2312编码;数组按Unicode编码升序排列,这样,便于通过折半查找的方式,更快的通过汉字的Unicode编码找到对应的gb2312编码.

转换表数组代码如下所示:

系统使用折半查找的方法,从数组中通过汉字的Unicode编码查找GB2312编码,当查找到短消息内容的GB2312编码后,需要组装成协议包,通过串口协议发送至LED显示屏系统.根据协议[5],协议头两个字节,为0xAAFF,第三个字节为协议包的长度,长度为数据内容长度加2,第四个字节为协议命令字,命令字为0xA1,第五个字节为显示内容的长度,之后是数据内容,最后一个字节为协议结束字节,值为0xFF;如上短消息接收到内容的Unicode编码为5982679C53EF4EE53002,查找得到GB2312编码C8E7B9F BBFC9D2D4A1A3,最终组装为 AAFF0DA10BC8E7B9FB BFC9D2D4A1A3FF.最后,将组装好的数据发送给LED显示系统显示.

4 部署

以上所有程序都实现之后,登陆开发板,将编译好的应用程序app上载开发板的/root/目录下.通过执行chmod+x app,赋予应用程序可执行权限,最后修改开发板的/etc/init.d/rcS文件,在文件的末尾加上如下语句,这样可以保证app程序开机自启动:

nohup /root/app 1>/dev/null 2>/dev/null &

以上所有步骤如无误完成的话,将开发的串口与LED显示屏接好,使用USB转串口器件连接开发与GSM MODEM模块,给开发板,LED显示屏及GSM MODEM上电,就可以通过给GSM MODEM发送短消息来控制LED显示屏的显示短消息里的内容.

实物图如下所示:

图1 系统实物图

5 结论

随着各类手持终端设备的功能日益强大,基于ARM的应用必将成为消费类应用、远程维护及数据信息查询等各个领域的热点.本文基于s3c6410处理器和嵌入式Linux操作系统,设计并实现了GSM短消息控制LED显示系统,运行结果表明该设计方案运行可靠方便,可以直接在LED系统上显示短消息内容.本系统还有需要改进的地方,如需要对短消息内容进行校验审核等.

〔1〕WAVECOM GSM MODEM 用户中文使用说明书.[EB/OL].[2012-02].http://www.lianyisms.com/

〔2〕王聪,赵鹏飞,刘宇,杨之文.利用 vc~(++)实现汉字转换unicode码的技术研究[J].现代商贸工业,2009(10):264-265.

〔3〕LED大屏幕系统参数.[EB/OL].[2009-12].http://www.up-tech.com/.

〔4〕UP_LED大屏幕软件设计.[EB/OL].[2009-12].http://www.up-tech.com/.

〔5〕UP_LED大屏幕使用手册.[EB/OL].[2009-12].http://www.up-tech.com/.

TP273

A

1673-260X(2012)06-0119-02

猜你喜欢
短消息开发板字节
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
试论电视新闻短消息的采写策略
浅谈广播短消息的采写
简谈MC7字节码
浅析单片机开发板的设计与制作
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
Mouser为您呈上开发关键之STMicroelectronics Nucleo开发板
Arduino和Atmel发布Arduino Zero开发板
短消息业务评估体系的研究与实现