当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:移动通信中的短消息是人们无线沟通的重要方式,更以其方便、可靠性得到广泛应用。针对嵌入式无线路由的迅速普及,为实现良好人机交互,提出将短消息功能植入可使用上网卡的无线路由的动态Web中。用C语言进行CG

摘要:移动通信中的短消息是人们无线沟通的重要方式,更以其方便、可靠性得到广泛应用。针对嵌入式无线路由的迅速普及,为实现良好人机交互,提出将短消息功能植入可使用上网卡的无线路由的动态Web中。用C语言进行CGI程序设计,采用PDU短信模式,实现无线路由设备中短信的收发。实验结果也证实了此方案的正确性、实用性和可扩展性。
关键词:无线路由;动态Web;CGI;短信;PDU

    为实现良好的人机交互及远程控制功能,如今大部分嵌入式Linux设备均引入Web服务器技术,无线路由的迅速普及更体现了这一点。Goa head是一款主要面向嵌入式系统的Web服务器,因其支持asp、cgi且兼容性良好备受无线路由等嵌入式设备的青睐。而通用网关接口(CGI)则是Web服务器与为添加功能编写的外部程序之间的一个接口。市面普及的无线路由器,管理界面鲜有收发短信的功能,这样用户可用功能受到限制。通过这个CGI接口实现从Web端编辑短信并发送,及上网卡接收短信并显示与Web端等功能,实现了无线路由更智能的一面。

1 嵌入式无线路由中的CGI技术
1.1 CGI工作原理
   
通用网关接口是Web服务器和外部扩展程序之间的一个接口。CGI可以使编写的程序处理WWW上客户端送来的表单和数据并对此做出相应反应。而且基于CGI的网页应用程序可工作于不同的浏览器平台,兼容性良好。
    CGI程序的工作一般分为以下几个步骤:
    1)客户端发出请求;
    2)Web服务器激活相应的CGI程序;
    3)CGI程序对客户端的请求做出反应;
    4)Web服务器将CGI程序的处理结果传送给客户端;
    5)Web服务器中断和客户端浏览器的连接;
    6)Web服务器将CGI程序的输出显示在浏览器的窗体上。
1.2 CGIC函数库
    CGIC是用来生成基于CGI的WWW应用程序的C语言函数库,C语言编程是一项复杂且容易出错的工作,选择合适的库CGIC成为必要。一般的Linux系统都支持ANSIC,增加相应的库函数和相应的h文件就可以实现CGI;而CGIC是一个完全符合ANSIC标准的程序库,在任何支持ANSIC标准的系统平台上都可以使用。
    它有以下功能:
    1)对数据进行语法分析;
    2)接收以GET和POST两种方式发送的数据;
    3)把FORM中的不同域连接成连续的串;
    4)为检索FORM数据而提供字符串,整数,浮点以及单项和多项选择功能;
    5)为数字字段提供边界检测;
    6)把CGI环境变量加载到非空的C串中;
    7)为调试而捕捉CGI状态;
    8)提供相对安全的系统调用功能。
    CGIC本身提供了一个main()函数,CGIC的用户编写的程序代码应该放在函数cgiMain()中。CGIC的main()函数主要用来完成CGI程序的初始化工作、获取客户端用户的输入以及相应的解码工作,最后main()函数会调用cgiMain()以执行用户编写的程序代码。

2 短信功能设计
   
短信息服务作为目前最方便快捷的交流方式,工作原理也变得越来越标准化。通常对短消息的控制有3种实现途径:Block模式,基于AT命令的Text模式和基于AT命令的PDU模式。使用Text模式收发短信代码简单,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。本文主要使用的是在Linux下用C语言来实现PDU模式的SMS收发。
2.1 PDU模式下短信发送原理
   
一个完整的SMS消息所包含的所有报头信息被以二进制字符串格式传送。这个二进制由十六进制格式的IA5字符组合而成。一般的PDU码由13项组成:1)短信息中心地址长度,2位十六进制数(1字节);2)短信息中心号码类型,2位十六进制数;3)短信息中心号码,2)和3)的长度由1)中数据决定;4)文件头字节,2位十六进制数;5)信息类型,2位十六进制数;6)被叫号码长度,2位十六进制数;7)被叫号码类型,2位十六进制数,取值同短信息中心号码类型;8)被叫号码,长度由被叫号码长度中的数据决定;9)协议标识,2位十六进制数;10)数据编码方案,2位十六进制数;11)有效期,2位十六进制数;12)用户数据长度,2位十六进制数。13)用户数据,其长度由用户数据长度中的数据决定。数据编码方案中设定采用UCS2编码,这里是中英文的Unicode字符。
    常用AT命令如下表所示:


2.2 PDU模式编码
   
用PDU模式收发短消息可以使用3种编码:7-bit编码、8-bit编码和USC2编码。7-bit编码用于发送普通的ASCII字符;8-bit编码通常用于发送数据消息,如图片或铃声等;USC2编码用于发送Unicode字符。由于短信需实现中文短信的发送,所以选择用UCS2编码,即中文Unico de码。这些编码均有标准算法。

3 软件设计
3.1 串口通信
   
嵌入式无线路由是通过串口发送一系列AT命令实现与无线路由的各种通信,短消息的收发也是通过这种方式。串口通信是计算机与其他设备通信的常用方法,本系统采用libcsms这个基于Linux的串行通信函数库,来实现串行接口的异步事件驱动并发。采用该方法,只需要在cgi中编写数据处理函数,大大提高了工作效率。
3.2 短信发送页面设计
   
Html代码发送短信部分,为简化cgi程序工作,在web端通过脚本函数ucs2_code()将短信内容先做处理。ucs2_code()函数具体功能为:读取短信内容,循环获取短信的每一位并通过charCodeAt()和toString()方法结合转换为单独的Unicode码,再根据长度补齐;如此得到整个短信内容的Unicode码及此编码的长度。
    再通过form提交表单,提交内容有:手机号码,手机内存写入状态,处理后的短信Unicode码和长度。部分代码如下:

3.3 CGI发送短消息
    Cgi发送短信主函数处理消息部分通过环境变量,读取form表单提交的值;先读取手机号码,若成功则处理手机号码后继续读取短信内容的Unicode码,若成功则读取短信长度,若成功则将短消息参数结构中的SMSC地址的变量赋相应值。再读取短信是发送还是保存的状态。如此完成整个web页面短消息的处理过程。
    发送短信主函数部分代码如下所示:

   
    发送短消息在gsmSendMessage中实现,先根据PDU参数,编码PDU串;再通过PDU串和其中SMSC信息的长度,生成发送命令。向串口输入命令,根据返回值ans判断模块是否准备就绪,是则继续输入PDU串,返回TRUE,则发送成功;否则返回FALSE。
    发送短信流程图如图1所示。



4 结束语
   
设计的创新之处在于提供了基于CGI的嵌入式无线路由中上网卡模块的短信收发功能的设计方法。短信收发采用PDU模式处理中文、英文短信;功能是通过用C语言编写的CGI实现。在web端与iavascript结合,实现动态web的高效运行。对于基于Linux的无线路由设备已慢慢渗透人们日用的各个角落成为必需品,如果将短信收发功能添加其中,更能增加此设备智能的功能,为用户提供更便利的服务。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭