GM190 CAT1模组短信收发

GM190测试样机

       GM190 CAT1模组可进行短信文本的数据收发,可使用手机收发短信进行测试。测试样机使用4G的手机卡。

一、TEXT模式

      使用Text模式收发短信代码简单,很容易实现,但不支持中文。这里给出基本的AT指令通信流程。

    1.1 模组短信上发

       模组上电后通过串口发送AT,直到返回"OK",确认硬件连接正常。

上电发送AT

       模组使用短信之前,先确认服务(是否支持上行、下行的短信收发)。CSMS可选1,0两个参数,参考网络资料,如果AT+CSMS=1,接收到短信时,TE需在一定的时间内发送反馈消息至模块;若超时,<mode>和<mt>的值会强制复位到0。那么,再有新的短信将不能被正确处理,需要用“AT+CNMI”指令重新设置参数才行。这增加了程序处理的复杂性。AT+CSMS=0时,省去了这些麻烦。

选择短信服务

      模组默认PDU通信方式,TEXT文本格式需通过CMGF重新设置

设置为TEXT文本传输

       如上参数设置完成后就可以发送短信了,发送之前先填写号码,模组返回'>'字符后,就可以输入待发送的字符串了

填写手机号

         这里输入字符串"Aramis is Testing",注意发送的时候不需要加回车换行(其实加上也没有关系)。

发送Text文本字符串

        注意这里发送完成后,实际模组还没有将短信发出去,而是等待结束符"Ctrl+A"。字符串格式无法发送这个结束符,此时将发送格式修改为HEX发送,然后填写内容1A(等价于Ctrl+A),即完成刚刚字符串的发送。

发送结束符

      这里是唯一需要注意的地方,即使用串口 工具进行短信收发需来回切换发送数据的格式。如果后期MCU程序处理,可以直接发送字符串后紧跟0x1A,相对容易。上述流程走完之后,手机就收到了刚刚发过来的短信

手机接收短信

      1.2 手机短信下发

        用户可直接通过手机进行短信回发,正常模组会进行短信推送

下发推送测试

      当然,如果用户测试模组无法推送,可通过设置如下指令进行测试

接收到短信自动推送

      CNMI指令说明比较复杂,简单说就是收到短信自动推送出来,与NB模组通信方式一样。 

      以下一段GMS说明直接COPY网络解释:

      模组默认的编码格式是IRA, 一般使用的字符编码规则是"GSM"。"GSM"字符编码又分了8bit编码及7bit编码两种,在8bit编码模式下,短信息的长度最长是140个字符,由于这些字符其实都属于基本ASCII码的范围,故可以用7bit来表示一个字符,所以在7bit编码下,原来140个字符的空间可以容纳下(140*8)/7=160个字符的数据,即可以发送160个字符长度的短信。这就是为什么不同型号的手机在发送英文短信时,有的一条最长发出140个字符,有的最长能发出160个字符了,是因为使用的编码规则不一样。     

       在使用GSM模块发短信时,一般情况下,短信的模式是由指令"AT+CMGF"来设置的。对于TEXT模式,短信的字符编码规则是通过指令"AT+CSCS="GSM" "来设置字符集,并通过指令"AT+CSMP"设置DCS(Data Coding Scheme)字段来设置8bit编码还是7bit编码;对于PDU格式,短信的字符编码规则是通过指令"AT+CSCS="UCS2" "来设置字符集的,并且在PDU数据中的DCS字段也要做相应的设置。 

设置编码格式,实测默认的IRA也可以

    以上参数设置完,手机下发短信链路测试也okay

手机发送短信给GM190模组

当然,如果还是无法读取时,可通过以下两个指令来辅助查看。

列出未读短信然后依次读取

1.3 常见问题

        测试手机下发短信时,CAT1模组使用移动手机卡无法正常接收短信,但该手机卡上发正常。后来更换电信手机卡测试上行/下行链路都正常。用户后面出现该问题时可更换不同运营商手机卡进行对比测试&排查问题。

二、PDU模式

待续...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。