You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何用SIMcom A7670C GSM模块发送以字母数字文本为发件人的短信?

SIMcom A7670C 自定义短信发件人(字母数字标识)解决方案

关键前提

自定义字母数字发件人(比如BLUDRT)不是模块本身能单独实现的——必须运营商支持短信网关提交权限。普通终端发送的MO短信,运营商会强制把发件人替换为SIM卡号码,你之前用PDU报错,要么是格式不对,要么是没走网关模式。

实操步骤

1. 开启UCS2编码

先让模块支持Unicode编码,因为自定义标识需要用UCS2传输:
AT+CSCS="UCS2"
返回OK就没问题。

2. 替换短信中心为运营商网关地址

普通短信中心是给终端短信用的,要自定义发件人得用运营商提供的专属短信网关地址(不同地区/运营商不一样,需企业资质申请后获取)。设置命令:
AT+CSCA="网关地址"

3. 构造网关模式的PDU数据包

和普通终端PDU不同,网关PDU需要在用户数据头里指定自定义发件人。给你一个适配需求的示例PDU(目标号码替换成实际接收号):

  • 自定义发件人:BLUDRT
  • 短信内容:Your Shipment is Delivered.
  • 示例PDU(字节数需根据实际内容调整):
0011000D916831XXXXXXXXXX0008001E5B424C554452545D0000000000000000596F757220536869706D656E742069732044656C6976657265642E

PDU字段核心解释:

  • 11:开启用户数据头标识(必须开启,才能嵌入自定义发件人)
  • 08:指定UCS2编码格式
  • 5B424C554452545D...:自定义发件人BLUDRT的UCS2编码头
  • 后半段是短信内容的UCS2编码

4. 发送PDU短信

执行命令:
AT+CMGS=30 (30是PDU的字节数,要和你构造的数据包长度严格匹配)
模块返回>后,粘贴PDU内容,最后按Ctrl+Z触发发送。

报错排查

  • 直接返回ERROR?优先检查这几点:
    1. 你的SIM卡是否有运营商的自定义发件人权限?个人SIM卡基本不支持,需企业资质申请短信签名
    2. PDU的长度计算是否准确?TP-UDL字段必须和实际用户数据字节数一致
    3. 短信网关地址是否正确,模块能否正常访问该网关

替代方案(无需运营商权限)

如果拿不到网关权限,只能在短信内容开头加标识,比如:
[BLUDRT] Your Shipment is Delivered.
虽然发件人还是SIM卡号码,但用户能快速识别来源。

内容的提问来源于stack exchange,提问作者Heisenberg

火山引擎 最新活动