CN111866766A - 一种通过at指令实现功能模块交互的方法、装置 - Google Patents
一种通过at指令实现功能模块交互的方法、装置 Download PDFInfo
- Publication number
- CN111866766A CN111866766A CN202010701169.5A CN202010701169A CN111866766A CN 111866766 A CN111866766 A CN 111866766A CN 202010701169 A CN202010701169 A CN 202010701169A CN 111866766 A CN111866766 A CN 111866766A
- Authority
- CN
- China
- Prior art keywords
- instruction
- function
- command
- poc
- symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/10—Push-to-Talk [PTT] or Push-On-Call services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种通过AT指令实现功能模块交互的方法、装置,属于指令与控制模块通信领域,AT指令由功能符组成,所述的功能符至少包含识别符、参数符、结束符;指令发出动作,控制单元根据用户在终端上所选择功能检索所述的AT指令集,选择对应AT指令下发至所述的所选择功能所对应的功能模块;指令执行动作,功能模块执行所接收的AT指令并将执行结果回传至控制单元。本指令更加简洁,可以有效提升功能模块的响应速度,防止设备通信拥挤。
Description
技术领域
本发明涉及指令与控制模块通信领域领域,具体而言,涉及一种通过AT指令实现功能模块交互的方法、装置。
背景技术
AT指令是搭设在产品MMI层与设备的协议栈之间,用于将二者进行过渡以保持沟通的桥梁功能模块,AT指令的语法结构较为简单且各个系统通用,便于集成在多种自动化执行设备的对应模块内,随着AT指令的广泛使用,现有的通信协议一般采用格式为:主体.参数个数.参数“位图”.参数链表,例如:
+POC:8A 00 00000001 00000002 038ca65e287537620000
1a90e577886d6f600000
依照位数本内容表示:
表示用户收到用户id为00000001的消息,消息的id为00000002,发消息的用户名字为:”调度用户”,消息的内容为:”通知消息”;占用字符长度较长,并且以位数进行识别,无论发送信息长短,都需要为每个参数符预留足够长度的符号长度,在进行交互的过程中无疑的,这是对系统内存的空置浪费;
POC业务一种基于移动网络、采用VoIP技术的Push to talk(单向沟通) 业务,现有行业中利用该业务组建了公网对讲集群,公网对讲集群即为利用POC 业务搭配PTT键利用公网进行远距离组网通讯的一种即时性对讲系统,现在行业中随着市场竞争、互相压价的情况下,各个厂商对于成本控制欲来越锁紧,无疑首当其冲的即为硬件成本减缩,在有限的成本下很难保持软件良好运行的基础上搭建设备,而公网集群对讲业务因为其运行机理其必然的存在因为通讯不稳定或软件缓存清除效果差或者设备信息处理能力不足而导致的话音质量下降的问题,如信号丢包、内部数据丢包,这就进一步加剧了,现有的公网对讲系统硬件提升的需求,而硬件提升与成本把握是相驳互斥的,在这种情况下,系统优化的重要性则凸显的较为重要,系统优化有以下两个方向:①精简系统的缓存和内存使用量,为重要业务分配较多内存。②删减不必要的业务功能。
由此可见在内存空间量较为紧张且成本有限双向钳制的情况下,如何保证设备的良好运行能力及其为其他待处理任务留出足够的缓存资源,提高整体设备的运行流畅度,是目前存在的一个难题。
另外的,现有的AT指令一般为单条对应单条,其响应的物理过程为采用串、并口传输,并口传输过程中采用脉冲寄存进行脉冲寄存响应,即为指令的上传和下获得生成响应动作,对于串口传输起传输方式古老,随着模块厂商对于各式模块的持续改进,并且截断问题的存在,现有的串口传输使用量逐渐降低,但对于简短字符,串口传输仍具有一定优势,目前指令发出以优先利用并口为研究方向,并口中因为并口量少,对于指令收发仅预留几个并行的接口,但并行接口的数量有限,如何对各个并口进行合理分配,均衡好高速运行业务的及时响应和偏僻业务的内存留量,对于现有的AT指令一般由结构体 Parser_AT响应{主体{参数个数参数“位图”参数链表}
命令头{命令类型命令名}预留参数},可见的,其命令参数较多参考上述长度,其长命令串在发送时会瞬间占满上述并口寄存器,过长的长度需要对寄存器的线程量有一定要求,在线程量无法满足时分隔其命令进行分割再按照时序排序生成,对于分割后命令前段资源无法及时得到释放,在整体生成后执行此命令,对于某些易阻塞的敏感接口如用suspend()暂停命令,总线拥挤时易造成进程暂停,总线拥挤虽不影响命令执行,但对命令响应速度有一定滞后,对于以上所述的阻塞情况,目前的改进方式为建立建立主键索引、加快处理量、避免使用敏感线程,但这都无法有效达到规避阻塞或加快处理。
此上问题,为现有产品存在的缺陷,急需解决。
发明内容
本发明实施例提供了一种通过AT指令实现功能模块交互的方法、装置,以至少解决所述的指令阻塞线程难以释放的技术问题。
一种通过AT指令实现功能模块交互的方法,包括:
AT指令由功能符组成,所述的功能符至少包含识别符、参数符、结束符;
指令发出动作,控制单元根据用户在终端上所选择功能检索所述的AT指令集,选择对应AT指令下发至所述的所选择功能所对应的功能模块;
指令执行动作,功能模块执行所接收的AT指令并将执行结果回传至控制单元。
进一步的,所述的AT指令的类型至少包含请求AT指令、回应AT指令和通知AT指令。
进一步的,所述的AT指令的每个功能符之间采用标识符隔开,所述的标识符包含以下任意一种标识:字母标识、数字标识、标点符号标识。
进一步的,所述功能符的字符的长度极限为对应缓存或者写入内存所允许存储字符数量的极限数量,所述的功能符的字符数量为正整数,所述的AT指令的字符长度随着功能符的字符长度增加而增加。
进一步的,所述的控制单元根据用户在终端上所选择功能检索所述的AT指令集,包括,
所述的AT指令在预设的内存范围内存储且为每条AT指令分配索引标头,所述的用户在终端上所选择功能都通过索引标头与AT指令实现映射对应,用户在终端上所选择功能对应有索引标头,
所选择功能为单项功能时,执行以下步骤
所述的控制单元于AT指令集中检索索引标头拾取所对应的AT指令,将对应 AT指令下发;
或者
所选择功能为多项功能,执行以下步骤:
所述的控制单元于AT指令集中检索索引标头拾取所对应的多条AT指令,检索到对应的索引标头后拾取对应的多条AT指令中的参数符,并读取各条AT 指令中的结束符与识别符,结束符与识别符相同,
则将按照预设语法规则生成具有识别符、空白符、结束符的AT指令载体,并将各条AT指令中的参数符分别替换且置入在空白符位置处,所述的各条AT 指令中的参数符于识别符、结束符之间顺次排布,在缓存中为该条AT指令分配字节量,进行下发;
或者
结束符与识别符不同,执行以下步骤:
则将多条AT指令顺次的排列串口下发。
进一步的,所述的选择对应AT指令并将该AT指令生成并下发至所述的所选择功能所对应的功能模块,选择对应AT指令下发至所述的所选择功能所对应的功能模块,包括
控制单元发送请求AT指令至功能模块,功能模块执行请求AT指令所对应功能并返回回应AT指令至控制单元实现交互;或者
功能模块相关功能发生状态变化自行发送通知AT指令至对应控制单元以修正对应内容。
一种实现AT指令实现功能模块交互的方法的装置,包括
集成模块,用于集成所述的集成AT指令集,AT指令集由用于实现功能模块的各条AT指令所集成组,AT指令由功能符组成,所述的功能符至少包含识别符、参数符、结束符;
动作触发模块,用于将控制单元根据用户在终端上所选择功能检索所述的 AT指令集,选择对应AT指令下发至所述的所选择功能所对应的功能模块;
动作执行模块,用于执行指令,功能模块执行所接收的AT指令并将执行结果回传至控制单元并展示至所述终端相应界面。
进一步的,内存模块,内存模块用于存储所述的AT指令,AT指令的类型至少包含请求AT指令、回应AT指令和通知AT指令;
所述的AT指令的每个功能符之间采用标识符隔开,所述的标识符包含以下任意一种标识:字母标识、数字标识、标点符号标识。
进一步的,AT指令写入模块,用于写入AT指令,所述功能符的字符的长度极限为对应缓存或者写入内存所允许存储字符数量的极限数量,所述的符号区的字符数量为正整数,所述的AT指令的字符长度随着功能符的字符长度而增加。
进一步的,所述的选择对应AT指令并将该AT指令生成并下发至所述的所选择功能所对应的功能模块,选择对应AT指令下发至所述的所选择功能所对应的功能模块,包括,
所述的控制单元根据用户在终端上所选择功能检索所述的AT指令集,包括,
所述的AT指令在预设的内存范围内存储且为每条AT指令分配索引标头,所述的用户在终端上所选择功能都通过索引标头与AT指令实现映射对应,用户在终端上所选择功能对应有索引标头,
所选择功能为单项功能时,执行以下步骤
所述的控制单元于AT指令集中检索索引标头拾取所对应的AT指令,将对应 AT指令下发;
或者
所选择功能为多项功能,执行以下步骤:
所述的控制单元于AT指令集中检索索引标头拾取所对应的多条AT指令,检索到对应的索引标头后拾取对应的多条AT指令中的参数符,并读取各条AT 指令中的结束符与识别符,结束符与识别符相同,
则将按照预设语法规则生成具有识别符、空白符、结束符的AT指令载体,并将各条AT指令中的参数符分别替换且置入在空白符位置处,所述的各条AT 指令中的参数符于识别符、结束符之间顺次排布,在缓存中为该条AT指令分配字节量,进行下发;
或者
结束符与识别符不同,执行以下步骤:
则将多条AT指令顺次的排列串口下发。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明中指令发出及功能模块对应流程图。
图2为发明中控制单元、功能模块请求、回应指令收发及与服务器互联对应时序图。
图3为解析指令过程中解析命令的功能层划分与指令各部分识别区域归属的解释图。
图4为发明中控制单元、功能模块通知指令收发及与服务器互联对应时序图。
图5为装置的模块组成及模块的附属功能模块示意图。
图6为浔源标记的发送识别过程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语是用于区别类似的对象,若涉及第一、第二等顺序名词并非顺次执行为本发明所详细公开的技术方案。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
根据本发明实施例,提供了一种通过AT指令实现功能模块交互的方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组系统性模块的可执行指令的智能化设备如POC终端中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1和图2所示,一种通过AT指令实现功能模块交互的方法,包括:
S100建立AT指令集,AT指令集由用于实现功能模块的各条AT指令所集成组(哈希表),AT指令由功能符组成,所述的功能符至少包含识别符、参数符、结束符;
具体的,预设AT指令
客户端向POC应用发送指令:AT+POC=请求AT指令
POC应用返回指令给客户端:+POC:请求AT指令
例如:输入AT指令
AT+POC或+POC=功能关键字[,[参数1],[参数2],...]
返回:
<CR><LF>+POC:<param info><CR><LF>(即:\r\n+POC:<param info>\r\n)
其中功能关键字的取值及对应关系包括但并不限于如下:
其中标头ID:n01-n0n所对应的AT指令关键字符皆被分配在内存的预设序列中,每个通知AT指令ID作为存放元素,以伪随机数序列法建立哈希函数对应表,即AT指令集,哈希函数对应表中,每个通知AT指令ID对应其存储的内存范围:数据域、字域。其对照关系记为Sn(t),t=AT指令关键字;
AT指令由功能符组成,所述的功能符至少包含识别符(头部)、参数符 (发送参数)、结束符(尾部);
所述的功能符即为用于给功能模组进行识别读取的、功能模组进行识别其功能并执行响应功能的、功能模组中止并结束本次识别的,其中所述的[参数 1],[参数2]选取英文字符为关键参数,以跳过位数识别读取。
S200指令发出动作,控制单元根据用户在终端上所选择功能检索所述的AT 指令集,选择对应AT指令下发至所述的所选择功能所对应的功能模块;
具体的,客户首先在终端上选择相应命令,例如选择登录动作,电容屏幕根据阻值变换确定所选区域或者客户鼠标所选择对应功能处,即客户端的功能如“登录”即发出登录命令,MCU拾取到登录命令根据指令ID:n016,检索所述的AT指令集,即检索Sn(t),t=AT指令关键字,查找并得到该对应关键字,如: setnotify
MCU将检索其对应的内存范围:数据域、字域,以脉冲形式将该指令发送至验证模块或无线模块,发送过程中经过数模AD转换、寄存器写入擦除、脉冲时钟配时等处理被验证模块或无线模块接收,接收得到其AT指令是以每个“,,”之间作为一个功能符,也可包括其他用于追溯登记本次功能符模组的一系列可被识别但不进入缓存读取的字符片段如:三角脉冲,功能符的读取以其自身含义进行读取,跳过字位检索,系统读取过程中直接读取每个功能符,参数符等同AT指令关键字,验证模块或无线模块并对AT指令关键字响应。
如:
AT+POC=login
回应成功:+POC:login,1
回应失败:+POC:login,0
S300指令执行动作,功能模块执行所接收的AT指令并将执行结果回传至控制单元并展示至所述终端相应界面。
具体的,功能模块接收到所述的AT指令进行解析,同步校验AT指令的识别头及参数符,验证通过后校验每个参数符含义,若解析成功进行执行后续动作则判定为通信成功将回应成功信息回传至客户端,回应成功:+POC:login,1,若解析失败停止进行执行后续动作则判定为通信失败将回应失败信息回传至客户端,回应失败:+POC:login,0。
上述方案中,跳过了字位检索,在字位检索中其预先设置其前N位为某个功能符,依次的向后校验,前8位、中间16位、中间8位、后8位,其中间区域还可能有四个参数、五个参数,这都会导致中间区域的参数链依次增加,整体字符长度的依次增长,因为其识别方式的特殊性有时会导致整个指令长度变得非常长,这都是不利于快速响应和快速识别的,本方案中,功能模块接收到 AT指令后,其解析过程为:
如图3所示,同步校验AT指令的识别符、结束符及参数符,其识别符和结束符,分配任务为双识别层并行,其中一个为头部尾部识别层,用于识别识别符和结束符,以确定参数符的识别范围区间,其识别符可采用AT+POC,其结束符可采用空白符、或者特殊字符、末尾逗号等,另外一个为参数符识别层,用于识别参数符,所述的参数符校验时识别每个逗号或其他分隔用的分隔符号,段分隔符号,每两个逗号之间即为参数符,确定逗号之间的数量即可确定参数符的个数,两个任务都识别完成,即可进入解析程序,若二者存在任意一个未完成,则返回报错。
由此可见,本方法相对于位数识别方法,分层识别,其具有检测速度快、位数不设限、参数内容自由编辑等优点,采用参数+分隔符的形式每个参数处脱离了位数的识别,所述参数的长度不设限摆脱了参数位数的限制。
在本应用例中,
所述的AT指令的类型至少包含请求AT指令、回应AT指令和通知AT指令,
如:
请求AT指令用于客户端通过控制单元向相应功能模块所发出的客户端所拾取到的相应功能所对应的指令并请求执行该指令所对应的功能。
请求:AT+POC=功能关键字[,[参数1],[参数2],...]
回应AT指令用于对所述的功能模块所对应功能执行中或执行结束后,反馈结果到客户端。
回应:+POC:功能关键字,结果[,[参数1],[参数2],...]
其中每个[参数1],[参数2]即为参数符,所述的参数符可在内存允许的范围内重复且可选,参数符为可选函数在参数符发送时拾取其AT指令关键字置入每个[,[],或每个,,之中,其AT指令关键字随着指令长度增加而增加,识别符(头部)对应上述功能关键字、参数符(发送参数)对应上述[,[参数 1],[参数2],...]、结束符(尾部)对应上述空白后缀或者结束符(尾部)对应某个空白符、换行符或者标识符号,比如<CR><LF>。
所述的AT指令的每个功能符之间采用标识符隔开,所述的标识符包含以下任意一种标识:字母标识、数字标识、标点符号标识。
具体的为:
①请求:AT+POC=识别符[,[参数符],[参数符],...];②回应:+POC:识别符,结果[,[参数符],[参数符],...]
所述功能符或参数符的字符的长度极限为对应缓存或者写入内存所允许存储字符数量的极限数量,所述的符号区的字符数量为正整数,所述的AT指令的字符长度随着功能符或参数符的字符长度而增加。
S210所述的选择对应AT指令并将该AT指令生成并下发至所述的所选择功能所对应的功能模块,包括:
控制单元发送请求AT指令至功能模块,功能模块执行请求AT指令所对应功能并回馈通知AT指令至控制单元;
需要指出的是:概念层的梳理中,下述请求AT指令和回应AT指令被包含于AT指令,AT指令被包含于参数符。具体的,请求、回应AT指令具体的为:
上述的参数符为顺次甄别,每个参数符独立检索分别独立应答,在应答时依次执行每个参数符所对应功能,在多任务并行处理过程中,预先将以顺次排列好的各个参数符逐一的执行,每当执行结束前一个后,后一参数符即刻执行,跳过了后一参数符的甄别头部尾部步骤,提高了响应速度。
请求AT指令、回应AT指令的具体类型都包括:
①初始化命令
初始化POC应用并设置POC的功能,在外部串口收到+POC:RDY后调用,也可以在使用中间调用来修改一些参数。发送此指令时需要带的参数符:是否打开TTS功能和是否打开通知功能。注:此指令会自动调用登陆。
请求AT指令 | open,tts开关,通知开关[,其他参数] |
回应AT指令 | open,结果 |
tts开关和通知开关使用字符1或0表示,1表示打开,0表示关闭。.
举例:AT+POC=open,1,1表示打开POC应用,同时设置TTS功能和通知功能打开。
回应成功:+POC:open,1回应失败:+POC:open,0
AT+POC=open,1,0表示打开POC应用,同时设置TTS功能打开,通知功能关闭。回应成功:+POC:open,1回应失败:+POC:open,0
设置POC的账号密码信息。
请求AT指令 | setaccount,账号,密码 |
回应AT指令 | setaccount,结果 |
AT+POC=setaccount,zhanghao1,mima1,回应成功:+POC:setaccount,1,回应失败:+POC:setaccount,0
查询POC的账号信息。
请求AT指令 | getaccount |
回应AT指令 | getaccount,结果,账号 |
AT+POC=getaccount,回应成功:+POC:getaccount,1,zhanghao1,回应失败:+POC:getaccount,0
登录平台。
请求AT指令 | login |
回应AT指令 | login,结果 |
举例:AT+POC=login,回应成功:+POC:login,1,回应失败:+POC: login,0
账号注销。
请求AT指令 | logout |
回应AT指令 | logout,结果 |
举例:AT+POC=logout;回应成功:+POC:logout,1;回应失败:+POC: logout,0
应用修改密码。
请求AT指令 | passwd,旧密码,新密码 |
回应AT指令 | passwd,结果 |
AT+POC=passwd,mimaold,mimanew;回应成功:+POC:passwd,1;回应失败: +POC:passwd,0
进入群组客户端通过此指令可以使已经登录的POC应用进入一个组中。参数为组ID。
请求AT指令 | entergroup,群组ID |
回应AT指令 | entergroup,结果 |
举例:AT+POC=entergroup,112213;回应成功:+POC:entergroup,1;回应失败:+POC:entergroup,0
单呼客户端通过此指令可以使已经登录的POC应用单呼一个在线用户。单呼成功客户为主呼人和被呼人临时创建一个群组(单呼群组),其中任何一方离开此群组会自动解散这个临时群组。
如果主呼人需要解散单呼群组需要再次调用此指令且用户ID相同
参数为用户ID。
请求AT指令 | singlecall,用户ID |
回应AT指令 | singlecall,结果 |
举例:AT+POC=singlecall,65967;回应成功:+POC:singlecall,1 回应失败:+POC:singlecall,0;解散群组:AT+POC=singlecall,65967(注:第二次)
讲话(呼叫)客户端通过此指令可以使已经登录的POC应用启动讲话或停止讲话。
请求AT指令 | ptt,标识(1开始,0结束) |
回应AT指令 | ptt,结果,标识 |
举例:开启讲话AT+POC=ptt,1回应成功:+POC:ptt,1,1回应失败:+POC: ptt,0,1;结束讲话AT+POC=ptt,0回应成功:+POC:ptt,1,0;回应失败: +POC:ptt,0,0
查询群组信息客户端通过此指令可以使已经登录的POC应用返回组信息。
请求AT指令 | groups,开始索引,查询个数 |
回应AT指令 | groups,总数,索引号,群组类型,组ID,组名字 |
请求指令中开始索引:0为起始;查询个数:-1表示查询到最后一条,其他表示指定的值;回应AT指令中:总数:实际查询的个数;索引号:群组列表中实际索引号群组类型:0为普通群组,2为临时群组;组ID:组名字:unicode16 表示,以0000结束如:AT+POC=groups,0,-1表示查询全部
AT+POC=groups,0,2表示从索引0开始,查询2条数据
AT+POC=groups,1,5表示从索引1开始查询5条数据
AT+POC=groups,5,-1表示查询从索引5开始到最后一条
如果实际条数小于期望查询的个数,以实际结果为准
举例,用户有4个群组
a.AT+POC=groups,1,5表示从索引1开始查询5条数据,但实际总共才4条那只返回实际值:
+POC:groups,3,1,1,112213,4B6DD58BA47FC47E31000000
+POC:groups,3,2,1,112214,4B6DD58BA47FC47E32000000
+POC:groups,3,3,1,112215,4B6DD58BA47FC47E33000000
b.AT+POC=groups,5,4表示从索引5开始查询4条数据,由于只有4条数据,所以返回+POC:groups,0,0,0,0,0000
c.查询全部:
AT+POC=groups,0,-1
+POC:groups,4,0,1,112212,4B6DD58BA47FC47E30000000
+POC:groups,4,1,1,112213,4B6DD58BA47FC47E31000000
+POC:groups,4,2,1,112214,4B6DD58BA47FC47E32000000
+POC:groups,4,3,1,112215,4B6DD58BA47FC47E33000000
查询群组的成员信息,客户端通过此指令可以使已经登录的POC应用返回组成员信息。
请求AT指令 | members,组ID,开始索引,查询个数 |
回应AT指令 | members,总数,索引号,用户状态,成员ID,成员名字 |
请求指令中;组ID:待查询的组的ID值;开始索引:0为起始;查询个数:-1 表示查询到最后一条,其他表示指定的值
回应AT指令中:总数:实际查询的个数;索引号:成员列表中实际索引号;用户状态:1为离线,2在线但不在此群组中,3在线同时在此群组中
成员ID:;成员名字:unicode16表示,以0000结束
如:AT+POC=members,121331,0,-1表示查询全部
AT+POC=members,121331,0,2表示从索引0开始查询2条数据
AT+POC=members,121331,1,5表示从索引1开始查询5条数据
AT+POC=members,121331,5,-1表示从索引5开始查询到最后一条如果实际条数小于期望查询的个数,以实际结果为准
举例,如群组中有4个成员
a.AT+POC=members,121331,1,5表示从索引1开始查询5条数据,但实际总共才4条那只返回实际值:
+POC:members,3,1,1,65986,2875376231000000
+POC:members,3,2,1,65987,2875376232000000
+POC:members,3,3,1,65988,2875376233000000
b.AT+POC=members,121331,5,4表示从索引5开始查询4条数据,由于没有数据了,实际返回+POC:members,0,0,0,0,0000
c.查询全部
AT+POC=members,121331,0,-1
+POC:members,4,0,1,65985,2875376230000000
+POC:members,4,1,1,65986,2875376231000000
+POC:members,4,2,1,65987,2875376232000000
+POC:members,4,3,1,65988,2875376233000000
上报GPS信息
客户端通过此指令可以设置GPS信息,GPS信息将回被传到后台。
请求指令中坐标系ID:1(WGS84),2(GCJ02),3(XA80),4(BG54),5(BD09) 水平速度:单位为米/秒;卫星数如果不能获取需要默认为4;GPS的时间戳:格式为:年/月/日-时:分:秒;举例 AT+POC=loc,22.23211,103.123121,1,23.4,12.5,4,2016/12/29-13:28:15回应成功:+POC:loc,1;回应失败:+POC:loc,0
单独查询群组总个数
客户端通过此指令可以使已经登录的POC应用账号拥有的群组个数。
请求AT指令 | groupnum |
回应AT指令 | groupnum,结果,个数 |
举例AT+POC=groupnum;回应成功:+POC:groupnum,1,5;回应失败:+POC:groupnum,0,0
查询群组的成员个数信息;客户端通过此指令可以使已经登录的POC应用返回组的总成员个数和在线成员个数。
组ID为0表示查询当前组的成员信息,其他表示指定ID群组的成员信息举例AT+POC=membernum,121341;回应成功:+POC:membernum,1,5,3,2 (表示总成员的个数为5,在线成员个数为3,在线在组成员个数2);回应失败: +POC:membernum,0,0,0,0设置需要关注的通知
客户端通过此指令可以使POC应用设置需要关注的通知。注:此指令只有当 open指令中"通知开关"位设置为0,即关闭所有通知后才起作用。
请求AT指令 | setnotify,通知ID集 |
回应AT指令 | setnotify,结果 |
通知ID集:为目前可以支持的通知的ID值的集合,没有个数和顺序的限制,范围见上表
举例AT+POC=setnotify,n01n05n07;表示可以只接收 nloginstat,ncurrgroup,naud的通知;回应成功:+POC:setnofity,1;回应失败:+POC:setnofity,0
获取当地时间外部设备通过此指令获取网络时间。只有POC登陆成功后才能获取。
请求AT指令 | localtime,时区(东8正,西8负) |
回应AT指令 | localtime,结果,年/月/日-时:分:秒 |
举例AT+POC=localtime,8;表示查询东8区的时间即北京时间;AT+POC=localtime,-6;表示查询西6区的时间;回应成功:+POC:localtime,1, 2019/4/4-15:38:46;即2019年4月4日15时38分45秒;回应失败:+POC: localtime,0,0
设置心跳周期客户端通过此指令设置POC应用的心跳周期,单位秒,取值范围是5-50。建议2/3G网络设置5秒
请求AT指令 | setping,周期 |
回应AT指令 | setping,结果 |
举例;AT+POC=setping,30;表示设置POC的心跳周期为30秒;回应成功: +POC:setping,1;回应失败:+POC:setping,0
设置中英文TTS切换;客户端通过此指令设置TTS播报内容是中文还是英文格式。
请求AT指令 | ttslang,标识符 |
回应AT指令 | ttslang,结果 |
标识符:0代表中文,1代表英文,默认为中文
举例;AT+POC=ttslang,1;表示设置为英文播报;回应成功:+POC: ttslang,1;回应失败:+POC:ttslang,0
查询POC登录进组状态;客户端通过此指令查询当前用户的登录状态和进组状态。
即调用一次会返回82和86两个指令信息,用于MCU随时获取
请求AT指令 | currentuser |
回应AT指令 | currentuser,结果 |
举例
AT+POC=currentuser;回应:;+POC=currentuser,1;+POC: nloginstat,2,65986,287537623100;+POC:ncurrgroup,0,121342, A47FC47E31000000;设置tone开关(部分tone)
客户端通过此指令设置tone的开关,但只针对按麦、放麦、收听开始和收听结束这4个。
请求AT指令 | toneopen,标识 |
回应AT指令 | toneopen,结果 |
标识:0表示关闭,1表示打开。默认为打开
举例AT+POC=toneopen,0;关闭tone播放;回应成功:+POC:toneopen,1;回应失败:+POC:toneopen,0
设置到期提醒的天数客户端通过此指令设置到期提醒的天数,单位天。
请求AT指令 | expired,提醒天数 |
回应AT指令 | expired,结果 |
提醒天数:设置为0表示不提醒,默认为15天
举例AT+POC=expired,30;设置到期提醒天数为30,如此当用户账号有效期小于30天时,每次登录会播放相关TTS提醒;回应成功:+POC:expired,1;回应失败:+POC:expired,0
设置对讲录音功能客户端通过此指令设置对讲语音保存功能。
请求AT指令 | rec,标识 |
回应AT指令 | rec,结果 |
标识:0:关闭(默认),01:打开,2:删除所有历史记录
举例AT+POC=rec,1;设置打开回应成功:+POC:rec,1;回应失败:+POC: rec,0;获取历史语音记录列表客户端通过此指令可以获取语音记录
查询
请求指令中开始索引:0为起始;查询个数:-1表示查询到最后一条,其他表示指定的值;回应AT指令中:;总数:实际查询的个数;索引号:成员列表中实际索引号;讲话者ID:;讲话者名字:unicode16表示,以0000结束语音时长:单位秒;讲话时间:格式为年/月/日-时:分:秒
如:AT+POC=reclist,0,-1表示查询全部
AT+POC=reclist,0,2表示从索引0开始查询2条数据
AT+POC=reclist,1,5表示从索引1开始查询5条数据
AT+POC=reclist,5,-1表示从索引5开始查询到最后一条
如果实际条数小于期望查询的个数,以实际结果为准
举例,如录音列表中有4个
a.AT+POC=reclist,1,5表示从索引1开始查询5条数据,但实际总共才4条那只返回实际值:
+POC:reclist,3,1,65986,2875376231000000,10,2019/02/04-18:20:11
+POC:reclist,3,2,65987,2875376232000000,5,2019/02/04-18:20:11
+POC:reclist,3,3,65988,2875376233000000,30,2019/02/04-18:20:11
b.AT+POC=reclist,5,4表示从索引5开始查询4条数据,由于没有数据了,实际返回+POC:reclist,0,0,0,0000,0
c.查询全部
AT+POC=reclist,0,-1
+POC:reclist,4,0,65985,2875376230000000,6,2019/02/04-18:20:11
+POC:reclist,4,1,65986,2875376231000000,10,2019/02/04-18:20:11
+POC:reclist,4,2,65987,2875376232000000,5,2019/02/04-18:20:11
+POC:reclist,4,3,65988,2875376233000000,30,2019/02/04-18:20:11
回放对讲录音客户端通过此指令可以播放已经保存的语音记录。
请求AT指令 | recplay,索引号 |
回应AT指令 | recplay,结果 |
索引号:-1表示停止播放,0表示最近的那条语音,其他表示播放指定的录音举例AT+POC=recplay,0;播放最近的那条语音;回应成功:+POC:recplay,1;回应失败:+POC:recplay,0
发送SOS客户端通过此指令发送SOS。
请求AT指令 | sos |
回应AT指令 | sos,结果 |
举例AT+POC=sos;回应成功:+POC:sos,1;回应失败:+POC:sos,0。
设置终端信息到POC客户端通过此指令设置终端的剩余电量比值和信号值。
请求AT指令 | dev,剩余电量百分比[,信号值] |
回应AT指令 | dev,结果 |
其中剩余电量比值范围为0-100,信号值为可选项,范围为0-31
举例AT+POC=dev,20,25表示剩余电量是20%,信号是25回应成功:+POC: dev,1回应失败:+POC:dev,0
设置POC提示音播放时长
客户端通过此指令设置POC的提示音播放时长。注:此值影响启呼时延
请求AT指令 | tonedur,时长 |
回应AT指令 | tonedur,结果 |
时长:单位毫秒,取值范围为80-200
举例AT+POC=tonedur,100
设置tone音播放时长为100毫秒;回应成功:+POC:tonedur,1;回应失败: +POC:tonedur,0
手动升级
客户端通过此指令启动手动升级流程。需要结合upgradeopen使用
请求AT指令 | upgrade |
回应AT指令 | upgrade,结果 |
举例AT+POC=upgrade;回应成功:+POC:upgrade,1;回应失败:+POC: upgrade,0
手动升级开关客户端通过此指令设置手动升级开关。默认关闭(即默认自动升级)
请求AT指令 | upgradeopen,开关 |
回应AT指令 | upgradeopen,结果 |
开关:1表示打开,0表示关闭,默认关闭
举例AT+POC=upgradeopen,1;打开手动升级功能;回应成功:+POC:upgradeopen,1;回应失败:+POC:upgradeopen,0
获取全部成员开关;客户端通过此指令可以控制获取全部成员开关。
默认查询成员列表members功能只适用于当前群组,如果想查询非当前组的成员信息,需要打开此功能后才可以
请求AT指令 | allusersopen,开关 |
回应AT指令 | allusersopen,结果 |
开关:1表示打开,0表示关闭,默认关闭
AT+POC=allusersopen,1;打开手动升级功能;回应成功:+POC: allusersopen,1
回应失败:+POC:allusersopen,0
设置ptt间隔时间
客户端通过此指令可以调整两次抢麦的时间间隔(用户连续按下PTT键有效发起讲话的最短时间)
请求AT指令 | pttdur,时长 |
回应AT指令 | pttdur,结果 |
时长:单位毫秒,默认500毫秒,取值范围:0-1200
举例AT+POC=pttdur,0;设置两次抢麦时间间隔为0;回应成功:+POC: pttdur,1
回应失败:+POC:pttdur,0
设置SOS通知开关客户端通过此指令设置SOS的开关。
只对本终端对于SOS的收发起到限制左右,不影响通过平台对此功能的设置
请求AT指令 | sosopen,开关 |
回应AT指令 | sosopen,结果 |
开关:1表示打开,0表示关闭,默认关闭
举例AT+POC=sosopen,1;打开sos通知功能;回应成功:+POC:sosopen,1 回应失败:+POC:sosopen,0
设置SOS收发时的tone音播放开关客户端通过此指令设置SOS收发的tone音播放开关,默认打开。
请求AT指令 | sostoneopen,开关 |
回应AT指令 | sostoneopen,结果 |
开关:1表示打开,0表示关闭,默认关闭
举例AT+POC=sostoneopen,0;关闭sos的tone播放功能;回应成功:+POC:sostoneopen,1;回应失败:+POC:sostoneopen,0
设置录音保存模式
客户端通过此指令设置录音保存模式。
请求AT指令 | recmode,模式 |
回应AT指令 | recmode,结果 |
模式:0-双侧语音(讲话和收听)1-讲话的语音2-收听的语音默认为双侧语音
举例AT+POC=recmode,1;设置只录制讲话侧的语音数据;回应成功:+POC:recmode,1;回应失败:+POC:recmode,0
如图3所示,结合图3进行说明上述参数符包含请求AT指令、回应AT指令和通知AT指令的内容,也可根据所处环境由AT指令集中选择所需的参数符,并将参数符置于每两个标识符号之间,实现对于AT指令的自由组合,自由组合的AT指令其单条指令所携带的参数符可以相对于原先的两条或者三条AT指令所携带的参数符的集合,对于此类的组合指令而言,其可以共用一套识别符 (头部)、
结束符(尾部),下发的指令会在功能模块的识别时,自行的以每个参数符所对应应答内容进行识别,在单条指令中同时执行多条参数符命令,并在后续中,以单条指令形式回应多条参数符命令,回应的指令在终端会被自行拆分为多条指令并被识别。
具体的:指令生成下发过程为:
所述的控制单元根据用户在终端上所选择功能检索所述的AT指令集,包括
所述的AT指令在预设的内存范围内存储且为每条AT指令分配索引标头,所述的用户在终端上所选择功能都通过索引标头与AT指令实现映射对应,用户在终端上所选择功能对应有索引标头,
所选择功能为单项功能时:
所述的控制单元于AT指令集中检索索引标头拾取所对应的AT指令,将对应 AT指令下发;
所选择功能为多项功能时、通知多项内容时:
所述的控制单元于AT指令集中检索索引标头拾取所对应的多条AT指令,检索到对应的索引标头后拾取对应的多条AT指令中的参数符,并读取各条AT 指令中的结束符与识别符,结束符与识别符相同,
则将按照预设语法规则生成具有识别符、空白符、结束符的AT指令载体,并将各条AT指令中的参数符分别替换且置入在空白符位置处,所述的各条AT 指令中的参数符于识别符、结束符之间顺次排布,在缓存中为该条AT指令分配字节量,进行下发,多条AT指令中的参数符可采用;隔开,或者采用预先写入好的起始的参数符如功能关键字作为隔开标记,将多AT指令中每段所包含的参数相隔开,如(每条参数符指令都为单独唯一对应的指令:如参数字头为 entergroup)。
说明:每条AT指令起始部分的参数符即为功能关键字,如(entergroup)
结束符与识别符不同,则将多条AT指令顺次的排列串口下发。
如:
单独查询群组总个数
客户端通过此指令可以使已经登录的POC应用账号拥有的群组个数。
查询群组的成员个数信息;客户端通过此指令可以使已经登录的POC应用返回组的总成员个数和在线成员个数。
AT+POC=,groupnum,membernum,121341,;回应成功:+POC:groupnum,1,5,membernum,1,5,3,2;回应失败:+POC:groupnum,0,0,membernum,1,5,3,2 组ID为0表示查询当前组的成员信息,其他表示指定ID群组的成员信息举例AT+POC=;回应成功:+POC:;以上数字表示总成员的个数为5,在线成员个数为3,在线在组成员个数2);回应失败:+POC:membernum,0,0,0,0设置需要关注的通知
进入群组客户端通过此指令可以使已经登录的POC应用进入一个组中。参数为组ID;讲话(呼叫)客户端通过此指令可以使已经登录的POC应用启动讲话或停止讲话。
请求AT指令 | entergroup,群组ID;ptt,标识(1开始,0结束) |
回应AT指令 | entergroup,结果;ptt,结果,标识 |
举例:AT+POC=entergroup,112213;回应成功:+POC:entergroup,1;回应失败:+POC:entergroup,0;
举例:开启讲话AT+POC=ptt,1回应成功:+POC:ptt,1,1回应失败:+POC: ptt,0,1;结束讲话AT+POC=ptt,0回应成功:+POC:ptt,1,0;回应失败: +POC:ptt,0,0;
POC应用通过此指令通知外部设备用户进入群组信息POC应用通过此指令通知接收到信息。
类型:0普通群组,2临时群组,默认0;组名字:unicode16表示,0000结束;举例+POC:ncurrgroup,0,121342,A47FC47E31000000;表示用户进入群组,组id为121342,组名为:群组1;
接收到信息通知的指令
发送消息用户名字:unicode16表示,0000结束。
消息内容:unicode16表示,0000结束。
举例+POC:nmsg,65986,1,038ca65e287537620000,1a90e577886d6f600000 表示用户收到用户id为65986的消息,消息的id为1,发消息的用户名字为:”调度用户”,消息的内容为:”通知消息”;
功能模块接收到,所述的指令后,其头部尾部识别层识别通过,其参数识别层对每一条命令所对应参数符进行梳理划分,将不同指令对应的由不同参数符所组成的不同的参数符序列分隔为多条,并对每条参数符序列进行执行,在执行中跳过头部尾部识别层识别。
功能模块反馈指令即回应指令,仍以请求指令多条并行形式相同的多条指令并行回应。
本方法采用的共用识别符、结束符等AT指令载体结构的语言语法序列和读取形式,提高指令执行反馈速度,在串口传输中,达到了并行指令执行效果,在现有技术中并未存在且并未实现,摒弃1.0中字位识别读取的指令序列,提高了设备的执行、响应速度,相较于字位字位识别读取的指令序列具有显著的技术进步。
所述的AT指令的每个功能符之间采用标识符隔开,所述的标识符包含以下任意一种标识:字母标识、数字标识、标点符号标识。
在所述的S210中,其发送过程或者为如下过程:
功能模块相关功能发生状态变化自行发送通知AT指令至对应控制单元以修正对应内容。。
具体的为:
请求AT指令、回应AT指令的类型及功能在上文中已详细阐述,所述的通知AT指令并未进行阐述。
通知AT指令为用于将设备状态发生的变更、用户信息发生的变更、产品心跳包的返回情况、软件的通信情况等一系列的状态发生后的结果进行记录,并根据该记录将对应的发生变化量的下属及相关设备的内容同步变更。
所述的通知AT指令的语法结构为:+POC:功能关键字[,[参数1],[参数 2],...]。
其中每个[参数1],[参数2]即为参数符,所述的参数符可在内存允许的范围内重复且可选,参数符为可选函数在参数符发送时拾取其AT指令关键字置入每个[,[],或每个,,之中,其AT指令关键字随着指令长度增加而增加,识别符(头部)对应上述功能关键字、参数符(发送参数)对应上述[,[参数 1],[参数2],...]、结束符(尾部)对应上述空白后缀或者结束束符(尾部) 对应某个换行符或者标识符号,比如<CR><LF>。
通知AT指令的应用例子为:
POC应用启动的通知AT指令POC应用通过此指令告知上位机,POC程序已经启动,可以接收指令了。
通知AT指令 | RDY |
即:+POC:RDY
用户登陆状态通知的指令:
通知AT指令 | nloginstat,类型[,用户ID,用户名字] |
类型:0:离线,无用户ID,无用户名字;1:登陆中,无用户ID,无用户名字; 2:登陆成功,有用户ID,有用户名字;用户名字:unicode16表示,0000结束
举例+POC:nloginstat,2,65986,287537623100;表示用户名字为:用户1的用户登录成功;表示用户登陆成功,用户名字为:“测试用户”;
讲话用户信息通知的指令
POC应用通过此指令返回讲话用户信息。
通知AT指令 | nspk,讲权类型,讲话者ID,讲话者名字 |
话权类型:0:表示不可被打断;1:表示如果自己需要讲话,可以打断此次收听;讲话者名字:unicode16表示,0000结束
举例+POC:nspk,0,65986,2875376231000000;表示用户id为65986的名字为 "用户1"的开始讲话,并且自己不能打断本次收听;
提示信息通知的指令POC应用通过此指令返回应用的提示信息。
通知AT指令 | nerror,提示信息 |
提示信息:unicode16表示,0000结束。
举例;+POC:nerror,268DF753C65B01781995EF8B0000;提示:账号密码错误数据更新通知的指令POC应用通过此指令通知数据更新信息。
通知AT指令 | ndataup,类型 |
类型:0为组的信息更新,1为成员的信息更新。
举例+POC:ndataup,0;表示群组信息有变化;用户进入群组信息通知的指令 POC应用通过此指令通知外部设备用户进入群组信息。
通知AT指令 | ncurrgroup,类型,组ID,组名字 |
类型:0普通群组,2临时群组,默认0;组名字:unicode16表示,0000结束;举例+POC:ncurrgroup,0,121342,A47FC47E31000000;表示用户进入群组,组id为121342,组名为:群组1;
接收到信息通知的指令
POC应用通过此指令通知接收到信息。
发送消息用户名字:unicode16表示,0000结束。
消息内容:unicode16表示,0000结束。
举例+POC:nmsg,65986,1,038ca65e287537620000,1a90e577886d6f600000 表示用户收到用户id为65986的消息,消息的id为1,发消息的用户名字为:”调度用户”,消息的内容为:”通知消息”;
音频播放状态的通知AT指令POC应用通过此指令通知当前音频的播放状态,播放或停止。包括语音、TTS、tone等声音
通知AT指令 | naud,状态 |
状态:1为播放,0为停止举例;+POC:naud,1;+POC:naud,0;
通知更新用户信息的扩展指令
通知AT指令 | nuserchanged,组ID,用户ID,用户状态 |
用户状态:0-在线1-离线2-进组3-离组4-删除
举例;+POC:nuserchanged,12213,65856,1;表示ID为65856的用户离线 GPS开关和周期更新的通知AT指令
POC应用通过此指令通知GSP开关和上报周期更新。
通知AT指令 | ngps,开关,上报周期 |
开关:1为打开,0为关闭上报周期:单位秒上报周期只针对GPS打开时有效举例+POC:ngps,1,30通知GPS打开,上报周期为30秒;+POC:ngps,0,0;通知GPS关闭
心跳发送结果通知AT指令
POC应用通过此指令通知心跳发送结果。
通知AT指令 | npong,结果 |
如果成功,客户端可以根据此指令调用26指令把当时剩余电量占比发送给POC 如果失败,客户端可以根据此指令采取优化策略,如收到10次MCU调用模块指令重新断网或重启模块等等。
举例+POC:npong,0;通知出现一次ping失败;+POC:npong,1;心跳发送成功发送sos结果通知POC应用通过此指令可以查看发送sos的结果
通知AT指令 | nsos,状态 |
状态:0为发送成功,1为发送失败,2为发送超时。举例;+POC:nsos,0; Sos发送成功
手动升级结果通知
POC应用通过此指令可以查看升级的结果。
通知AT指令 | nupdate,状态 |
状态:0为不需要升级,1为升级成功,2为升级失败。
举例;+POC:nupdate,1;升级成功 0
接收sos消息通知POC应用通过此指令可以获取SOS消息内容。
通知AT指令 | nsosinfo,时间戳,字符时间,发送者名字 |
举例;+POC:nsosinfo,1575176484,2019/12/01-13:01:24, 2875376231000000;表示“用户1”在2019-12-01的13:01:24发送了一条sos 临时群组创建者类型通知
POC应用通过此指令可以获取临时群组创建者类型类型。
通知AT指令 | ntguser,用户类型 |
用户类型:0为普通用户,1为调度员,2为其他。
举例;+POC:ntguser,1;表示:临时群组创建者为调度员修改用户密码结果通知;POC应用通过此指令可以查看修改密码的结果
通知AT指令 | npasswd,结果 |
举例+POC:npasswd,1;修改成功;+POC:npasswd,0;修改失败
所述的步骤S200指令发出动作步骤中,所述的字符片段可集成在请求、回应、通知等任意一个AT指令中,采用“”为识别浔源标记的识别字符,释义:“”是用于标记本条AT代码存在浔源的标识:
比如:
打开tts:
AT+POC=open,1,1,“!”
注:“!”为浔源标记
浔源标记可选的分别选择“0”/“a”/“!”/“/”等表示符号。
与上述同时的,在AT命令发出后,
“0”在本地本地服务器可自动生成标识ID“01”,标识ID仅用于本地存储,存储在物理内存中作为后续浔源的索引,本标识ID不参与控制单元与功能模块的收发,不参与串并口的信号收发,“!”浔源标记参与控制单元与功能模块信号收发;
“!”在参与控制单元如MCU的脉冲信号传播过程中被整形为,三角脉冲低电平三角脉冲,其对应触发模块、拾取模块,如可采用触发器、锁存器、触发器,其占6个字节,用于拾取浔源标记的上升沿、下降沿、电平、上升沿、下降沿,跳变脉冲更易被拾取,此模组拾取量准确度可以达到97%,也可采取“作为标记,其被整形成三角脉冲,对应拾取模块为ad模块或触发模块,提高脉冲发射频率其可触发对应模块,为被动触发。
本模块为MCU逻辑收发电路之外的独立的用于拾取浔源标记的尾部识别电路,其可以存储设备读取到对应的脉冲信号则记为收到浔源标记,返回过程置于回应AT指令中的句头、中段、句尾,任意一个位置,同样返回三角脉冲低电平三角脉冲,“!”此标识符仅为脉冲标记对应模块被触发器、锁存器拾取不参与寄存器总线相连的译制和缓存,其缓存在主动发出AT指令的发出端,其被动接收AT指令的部分一般为功能模块,浔源标记的识别模块在功能模块中不参与指令的译制和缓存,读取本AT指令过程中,涉及到步骤S300中,功能模块返回AT指令为:
回应成功:+POC:setaccount,1,“!”
回应失败:+POC:setaccount,0,“!”
控制单元根据返回的浔源标记如“!”,可确定本命令是否操作完成,根据控制单元的频率、缓存及硬件性能分为下列模式:
①标记模式
ID:01
标记本次操作的结果。
成功/失败
②记录本次
ID:01
记录操作流程
打开tts,发送通知AT指令,AT指令ID为
打开成功
返回响应AT指令,AT指令ID为01
响应成功/失败
取消了操作ID,在传输中缩减了AT指令长度,转而采用的浔源符号,设计其记录过程仅为电平升降高低高的提示作用,采用本命令有效缩减了指令长度,提升了功能模块的读取、响应速度,对于用户而言提升了其使用功能的响应速度,有效降低了单条命令的字符量,在字符量降低情况下,避免因为指令长度过长而对于指令的分割所导致的寄存器阻塞,单条指令单次进行执行,本地的数据存储,根据选择可在空闲时间自动执行,对于性能更强的集成设备,可直接生成行为特征包,下次执行参考特征包的执行动作,预启用相应寄存及总线区域至等待命令状态,规避因为突发命令,而使得其对应部分启停造成的时间浪费,可以节约检索步骤。
浔源标记释义也可为,浔源标记为被整形级整形出一段无意义的特定脉冲波形,该脉冲波形在预定协议下被识别为浔源标记。
实施例二
一种实现AT指令实现功能模块交互的方法的装置,包括
集成模块,用于集成所述的集成AT指令集,AT指令集由用于实现功能模块的各条AT指令所集成组(哈希表),AT指令由功能符组成,所述的功能符至少包含识别符、参数符、结束符;
动作触发模块,用于将控制单元根据用户在终端上所选择功能检索所述的 AT指令集,选择对应AT指令下发至所述的所选择功能所对应的功能模块;
动作执行模块,用于执行指令,功能模块执行所接收的AT指令并将执行结果回传至控制单元并展示至所述终端相应界面。
内存模块,内存模块用于存储所述的AT指令,AT指令的类型至少包含请求AT指令、回应AT指令和通知AT指令;
所述的AT指令的每个功能符之间采用标识符隔开,所述的标识符包含以下任意一种标识:字母标识、数字标识、标点符号标识。
AT指令写入模块,用于写入AT指令,所述功能符的字符的长度极限为对应缓存或者写入内存所允许存储字符数量的极限数量,所述的符号区的字符数量为正整数,所述的AT指令的字符长度随着功能符的字符长度而增加。
所述的控制单元根据用户在终端上所选择功能检索所述的AT指令集,包括
所述的AT指令在预设的内存范围内存储且为每条AT指令分配索引标头,所述的控制单元拾取到用户所选择对应功能即检索对应的索引标头,检索到对应的索引标头后将对应AT指令下发。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种通过AT指令实现功能模块交互的方法,其特征在于,包括:
AT指令由功能符组成,所述的功能符至少包含识别符、参数符、结束符;
指令发出动作,控制单元根据用户在终端上所选择功能检索所述的AT指令集,选择对应AT指令下发至所述的所选择功能所对应的功能模块;
指令执行动作,功能模块执行所接收的AT指令并将执行结果回传至控制单元。
2.根据权利要求1所述的一种通过AT指令实现功能模块交互的方法,其特征在于:所述的AT指令的类型至少包含请求AT指令、回应AT指令和通知AT指令。
3.根据权利要求2所述的一种通过AT指令实现功能模块交互的方法,其特征在于:所述的AT指令的每个功能符之间采用标识符隔开,所述的标识符包含以下任意一种标识:字母标识、数字标识、标点符号标识。
4.根据权利要求3任一所述的一种通过AT指令实现功能模块交互的方法,其特征在于:所述功能符的字符的长度极限为对应缓存或者写入内存所允许存储字符数量的极限数量,所述的功能符的字符数量为正整数,所述的AT指令的字符长度随着功能符的字符长度增加而增加。
5.根据权利要求1所述的一种通过AT指令实现功能模块交互的方法,其特征在于:所述的控制单元根据用户在终端上所选择功能检索所述的AT指令集,包括,
所述的AT指令在预设的内存范围内存储且为每条AT指令分配索引标头,所述的用户在终端上所选择功能都通过索引标头与AT指令实现映射对应,用户在终端上所选择功能对应有索引标头,
所选择功能为单项功能时,执行以下步骤
所述的控制单元于AT指令集中检索索引标头拾取所对应的AT指令,将对应AT指令下发;
或者
所选择功能为多项功能,执行以下步骤:
所述的控制单元于AT指令集中检索索引标头拾取所对应的多条AT指令,检索到对应的索引标头后拾取对应的多条AT指令中的参数符,并读取各条AT指令中的结束符与识别符,结束符与识别符相同,
则将按照预设语法规则生成具有识别符、空白符、结束符的AT指令载体,并将各条AT指令中的参数符分别替换且置入在空白符位置处,所述的各条AT指令中的参数符于识别符、结束符之间顺次排布,在缓存中为该条AT指令分配字节量,进行下发;
或者
结束符与识别符不同,执行以下步骤:
则将多条AT指令顺次的排列串口下发。
6.根据权利要求3所述的一种通过AT指令实现功能模块交互的方法,其特征在于:所述的选择对应AT指令并将该AT指令生成并下发至所述的所选择功能所对应的功能模块,选择对应AT指令下发至所述的所选择功能所对应的功能模块,包括
控制单元发送请求AT指令至功能模块,功能模块执行请求AT指令所对应功能并返回回应AT指令至控制单元实现交互;或者
功能模块相关功能发生状态变化自行发送通知AT指令至对应控制单元以修正对应内容。
7.一种实现AT指令实现功能模块交互的方法的装置,其特征在于:包括
集成模块,用于集成所述的集成AT指令集,AT指令集由用于实现功能模块的各条AT指令所集成组,AT指令由功能符组成,所述的功能符至少包含识别符、参数符、结束符;
动作触发模块,用于将控制单元根据用户在终端上所选择功能检索所述的AT指令集,选择对应AT指令下发至所述的所选择功能所对应的功能模块;
动作执行模块,用于执行指令,功能模块执行所接收的AT指令并将执行结果回传至控制单元并展示至所述终端相应界面。
8.根据权利要求7所述的一种实现AT指令实现功能模块交互的方法的装置,其特征在于:
内存模块,内存模块用于存储所述的AT指令,AT指令的类型至少包含请求AT指令、回应AT指令和通知AT指令;
所述的AT指令的每个功能符之间采用标识符隔开,所述的标识符包含以下任意一种标识:字母标识、数字标识、标点符号标识。
9.根据权利要求8所述的一种实现AT指令实现功能模块交互的方法的装置,其特征在于:
AT指令写入模块,用于写入AT指令,所述功能符的字符的长度极限为对应缓存或者写入内存所允许存储字符数量的极限数量,所述的符号区的字符数量为正整数,所述的AT指令的字符长度随着功能符的字符长度而增加。
10.根据权利要求7所述的一种实现AT指令实现功能模块交互的方法的装置,其特征在于:
所述的选择对应AT指令并将该AT指令生成并下发至所述的所选择功能所对应的功能模块,选择对应AT指令下发至所述的所选择功能所对应的功能模块,包括,
所述的控制单元根据用户在终端上所选择功能检索所述的AT指令集,包括,
所述的AT指令在预设的内存范围内存储且为每条AT指令分配索引标头,所述的用户在终端上所选择功能都通过索引标头与AT指令实现映射对应,用户在终端上所选择功能对应有索引标头,
所选择功能为单项功能时,执行以下步骤
所述的控制单元于AT指令集中检索索引标头拾取所对应的AT指令,将对应AT指令下发;
或者
所选择功能为多项功能,执行以下步骤:
所述的控制单元于AT指令集中检索索引标头拾取所对应的多条AT指令,检索到对应的索引标头后拾取对应的多条AT指令中的参数符,并读取各条AT指令中的结束符与识别符,结束符与识别符相同,
则将按照预设语法规则生成具有识别符、空白符、结束符的AT指令载体,并将各条AT指令中的参数符分别替换且置入在空白符位置处,所述的各条AT指令中的参数符于识别符、结束符之间顺次排布,在缓存中为该条AT指令分配字节量,进行下发;
或者
结束符与识别符不同,执行以下步骤:
则将多条AT指令顺次的排列串口下发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010701169.5A CN111866766A (zh) | 2020-07-20 | 2020-07-20 | 一种通过at指令实现功能模块交互的方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010701169.5A CN111866766A (zh) | 2020-07-20 | 2020-07-20 | 一种通过at指令实现功能模块交互的方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111866766A true CN111866766A (zh) | 2020-10-30 |
Family
ID=73000946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010701169.5A Pending CN111866766A (zh) | 2020-07-20 | 2020-07-20 | 一种通过at指令实现功能模块交互的方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111866766A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438610A (zh) * | 2021-08-27 | 2021-09-24 | 深圳市晨讯物联科技有限公司 | 一种使用at指令控制poc通信模块的方法及通讯系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633198A (zh) * | 2004-12-31 | 2005-06-29 | 大唐微电子技术有限公司 | 一种用户识别模块工具套件卡的兼容性测试方法及系统 |
CN101119522A (zh) * | 2007-08-22 | 2008-02-06 | 中兴通讯股份有限公司 | 一种模拟at命令上报的方法 |
CN101287226A (zh) * | 2008-05-22 | 2008-10-15 | 德信无线通讯科技(北京)有限公司 | 一种移动通信终端的控制方法和系统 |
US20130003576A1 (en) * | 2011-07-01 | 2013-01-03 | Telefonaktiebolaget L M Ericsson (Publ) | Node and method for communications handling |
CN103227998A (zh) * | 2013-04-22 | 2013-07-31 | 苏州博联科技有限公司 | 用于无线传感网节点的配置方法 |
CN104038905A (zh) * | 2014-06-27 | 2014-09-10 | 深圳市卓智达科技有限公司 | 一种使用at指令控制poc集群通讯模块的方法 |
CN106998507A (zh) * | 2016-01-26 | 2017-08-01 | 石家庄市善理通益科技有限公司 | 对讲通讯方法和装置 |
CN109274849A (zh) * | 2018-10-31 | 2019-01-25 | 东莞市华庄电子有限公司 | 具备语音交互功能的无线报警装置 |
CN110113403A (zh) * | 2019-04-28 | 2019-08-09 | 深圳市创维群欣安防科技股份有限公司 | 一种at指令的处理方法、装置和计算机设备 |
-
2020
- 2020-07-20 CN CN202010701169.5A patent/CN111866766A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633198A (zh) * | 2004-12-31 | 2005-06-29 | 大唐微电子技术有限公司 | 一种用户识别模块工具套件卡的兼容性测试方法及系统 |
CN101119522A (zh) * | 2007-08-22 | 2008-02-06 | 中兴通讯股份有限公司 | 一种模拟at命令上报的方法 |
CN101287226A (zh) * | 2008-05-22 | 2008-10-15 | 德信无线通讯科技(北京)有限公司 | 一种移动通信终端的控制方法和系统 |
US20130003576A1 (en) * | 2011-07-01 | 2013-01-03 | Telefonaktiebolaget L M Ericsson (Publ) | Node and method for communications handling |
CN103227998A (zh) * | 2013-04-22 | 2013-07-31 | 苏州博联科技有限公司 | 用于无线传感网节点的配置方法 |
CN104038905A (zh) * | 2014-06-27 | 2014-09-10 | 深圳市卓智达科技有限公司 | 一种使用at指令控制poc集群通讯模块的方法 |
CN106998507A (zh) * | 2016-01-26 | 2017-08-01 | 石家庄市善理通益科技有限公司 | 对讲通讯方法和装置 |
CN109274849A (zh) * | 2018-10-31 | 2019-01-25 | 东莞市华庄电子有限公司 | 具备语音交互功能的无线报警装置 |
CN110113403A (zh) * | 2019-04-28 | 2019-08-09 | 深圳市创维群欣安防科技股份有限公司 | 一种at指令的处理方法、装置和计算机设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113438610A (zh) * | 2021-08-27 | 2021-09-24 | 深圳市晨讯物联科技有限公司 | 一种使用at指令控制poc通信模块的方法及通讯系统 |
CN113438610B (zh) * | 2021-08-27 | 2021-12-14 | 深圳市晨讯物联科技有限公司 | 一种使用at指令控制poc通信模块的方法及通讯系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5367609A (en) | Editing compressed and decompressed voice information simultaneously | |
CA2232704C (en) | Apparatus and method for maintaining integrated data consistency across multiple databases | |
CN111459954A (zh) | 分布式数据同步方法、装置、设备及介质 | |
CN101043689B (zh) | 呼叫分析方法与装置 | |
CN108833199A (zh) | 数据上报的方法、装置、设备及存储介质 | |
CN107870982A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN111866766A (zh) | 一种通过at指令实现功能模块交互的方法、装置 | |
CN107094085B (zh) | 一种信令传送方法及装置 | |
CN116527122B (zh) | 一种北斗短报文/电话语音互联服务系统、方法及设备 | |
CN111831954B (zh) | 内容数据更新方法、装置、计算机设备及存储介质 | |
CN111522672B (zh) | 一种用于熔断数据重复消费的方法及系统 | |
CN109600239B (zh) | 一种基于聊天工具的群体通知管理系统 | |
CN111061453A (zh) | 一种用于app生态系统的语音交互方法、装置 | |
CN101094099A (zh) | 一种多交换机的配置系统及其配置方法 | |
CN113839856B (zh) | 一种基于消息事务办公处理系统 | |
CN116303276A (zh) | 一种springbatch嵌套脚本实现文件导出的方法 | |
JPH11127240A (ja) | Scp呼制御システム | |
CN100417236C (zh) | 一种网络交换设备的智能网控制方法 | |
CN100548002C (zh) | 永久虚电路状态查询系统 | |
CN103108001A (zh) | 一种实现视频交互式语音应答业务的方法及业务控制点 | |
CN112053150A (zh) | 一种数据处理方法、装置及存储介质 | |
CN112019452B (zh) | 一种业务需求的处理方法、系统及相关装置 | |
CN111200508B (zh) | 一种消息发送方法及网关 | |
CN111541824B (zh) | 一种用于通讯信息传递的方法及系统 | |
CN116126952A (zh) | 数据处理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201030 |
|
RJ01 | Rejection of invention patent application after publication |