[发明专利]一种基于Linux的LTE网关处理AT指令的方法有效
申请号: | 201610036532.X | 申请日: | 2016-01-19 |
公开(公告)号: | CN105721438B | 公开(公告)日: | 2018-10-19 |
发明(设计)人: | 李华敏;屈兰;金超;张伟 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/58;G06F9/54 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 王卫东 |
地址: | 430074 湖北省*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux lte 网关 处理 at 指令 方法 | ||
1.一种基于Linux的LTE网关处理AT指令的方法,其特征在于,包括以下步骤:
步骤100、在用户App与RIL之间设置消息路由层;并针对接收用户App请求和回复用户App请求消息分别创建接收请求消息队列和回复请求消息队列;
步骤200、每个用户App发送请求消息到接收请求消息队列,消息路由层依次对接收请求消息队列中的请求消息进行处理,并为每个请求消息生成唯一处理标识发送给RIL;
步骤300、当RIL接收到消息路由层发送的请求消息后,将请求消息添加到RIL请求列表中等待处理,RIL调用相应的回调函数,将请求消息转换为AT指令,下发AT指令,并等待返回结果;
步骤400、RIL根据是否下发过AT指令对返回结果进行分别处理,为返回结果添加对应的请求消息唯一处理标识或URC消息类型id,并封装为返回消息发送给消息路由层;
步骤500、消息路由层根据返回消息的唯一处理标识或URC消息类型id判断该返回消息发送的目的APP,将返回消息发送到回复请求消息队列等待发送到相应的目的APP;
所述消息路由层与所述RIL之间通过socket通信;
所述请求消息包括App id、请求id和消息体,其中,App id用于标示消息的源地址,在回复请求时用于回复请求消息队列区分消息类型,请求id和消息体将用于RIL构建AT指令发送给LTE模块;
在List中,每一表项包括App id、请求id、消息体和作为索引的唯一处理标识。
2.如权利要求1所述的方法,其特征在于,步骤200具体包括以下步骤:
步骤201、监听接收消息队列是否接收到App请求消息;
步骤202、接收请求消息队列依次请求消息,并进行处理;
步骤203、为每个请求消息生成唯一处理标识,并以该处理标识为索引将请求消息保存在请求消息列表中;
步骤204、将请求消息写入与RIL连接的socket中;
步骤205、通过socket客户端将请求消息发送给RIL。
3.如权利要求2所述的方法,其特征在于,步骤300具体包括以下步骤:
步骤301、RIL的socket端监听socket客户端的连接请求;
步骤302、在接收到连接请求后,处理连接请求,与消息路由层的socket客户端建立起消息通信通路;
步骤303、RIL的socket端监听socket客户端发送的请求消息;
步骤304、将请求消息添加到RIL请求列表当中,并根据该请求消息的请求id调用相应的回调函数进行处理;
步骤305、解析请求消息并转化为相应的AT指令,获取线程锁之后下发AT指令,并调用条件等待函数等待返回结果。
4.如权利要求3所述的方法,其特征在于,步骤400具体包括以下步骤:
步骤401、RIL中的读线程一直轮询LTE模块串口,等待返回结果数据;
步骤402、当接收到返回结果,判断该结果是否主动下发过AT指令,若果有执行步骤403;否则执行步骤407;
步骤403、对读取的返回结果数据报头逐行进行解析,比较读取数据的报头与下发AT指令期望回复的报头是否一致,若一致,执行步骤404;否则丢弃,执行步骤401;
步骤404、将串口读取的数据保存到自定义链表中,继续处理下一行返回结果数据,当读取到AT指令返回结束字符时,读线程通过条件信号函数发送信号给事件处理线程;
步骤405、事件处理线程结束等待并获取线程锁,获得保存在自定义链表中的返回结果数据;
步骤406、对返回结果数据进行逐字符串拆分处理,封装为带有对应请求消息的唯一处理标识的返回消息,发送给消息路由层;
步骤407、将返回结果数据的报头逐个与程序预置的AT指令报头比较,从而判断上报的URC消息类型;
步骤408、然后逐字段解析返回结果,封装为带有URC消息类型id的返回消息,通过socket发送给消息路由层。
5.如权利要求4所述的方法,其特征在于,步骤500具体包括以下步骤:
步骤501、消息路由层socket客户端监听返回消息返回;
步骤502、监听到返回消息后,判断是否为URC消息,若不是,执行步骤503;否则执行步骤505;
步骤503、根据唯一处理标识遍历请求消息列表,给返回消息添加包含对应App id和请求id的消息报头,并将对应表项从请求消息列表移除;
步骤504、将添加消息报头后的返回消息写入回复请求消息队列,等待发送目的App,然后结束程序;
步骤505、消息路由层根据URC消息类型id决定该消息发送的目的App,并在添加该目的App的源App id的报头后写入回复请求消息队列,等待发送目的App,然后结束程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610036532.X/1.html,转载请声明来源钻瓜专利网。