当前位置:首页 > 通信技术 > 通信技术
[导读]摘要:移动通信中的短消息是人们无线沟通的重要方式,更以其方便、可靠性得到广泛应用。针对嵌入式无线路由的迅速普及,为实现良好人机交互,提出将短消息功能植入可使用上网卡的无线路由的动态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的无线路由设备已慢慢渗透人们日用的各个角落成为必需品,如果将短信收发功能添加其中,更能增加此设备智能的功能,为用户提供更便利的服务。

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

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制

北京2023年9月25日 /美通社/ -- 9月21日,由中国质量报刊社·中国质量新闻网主办的第六届食品高质量发展交流会在北京举行,会议主题为"高质量,新生活",旨在推动食品行...

关键字: 自动化 BSP ISO9001 NAS

北京2023年9月23日 /美通社/ -- 近日,主线科技正式获准在北京市智能网联汽车政策先行区道路开启常态化测试与示范,将与物流客户在真实开放的城区道路场景中,率先开启基于L4级别自动驾驶能力的智能卡车运输示范。 随...

关键字: 智能卡 测试 高速公路 BSP

曼谷2023年9月18日 /美通社/ -- 作为东南亚的旅游胜地,泰国一直在全球范围内吸引着无数游客的目光。泰国旅游和体育部近日公布的报告显示,今年前7个月,泰国旅游业总收入约为1.08万亿泰铢(约合人民币2233亿元)...

关键字: BSP GEN 国美 AN
关闭
关闭