Quectel BG95设备能否通过MQTT用AWS IoT Core JITP/JITR实现机群预配置
Quectel BG95对接AWS IoT Core的JITP/JITR支持性解答
- 明确结论:BG95原生支持AWS IoT Core的JITP(即时预配置)、JITR(即时注册)能力,不存在模组侧的功能限制。
- 原理层面的支撑:JITP/JITR是AWS IoT Core的服务端能力,触发条件是设备首次通过MQTT over TLS建链时,携带由已注册到AWS的CA签发的设备X.509证书,服务端识别到该设备未注册时会主动断开首次连接,后台自动完成设备注册、策略绑定、物模型创建等预配置动作。整个流程对设备侧的要求只有两点:支持TLS 1.2及以上版本的双向认证、能正常加载证书完成标准MQTT连接,BG95内置的SSL/MQTT协议栈完全满足该要求。
- BG95侧落地配置要点:
- 不要使用模组内置的
AT+QAWS*系列AWS IoT快捷连接指令,这类指令内置了预注册设备的连接校验逻辑,首次连接未注册设备时会直接抛错,无法触发JITP/JITR流程。 - 走标准MQTT over SSL流程配置上下文,提前将根CA、设备证书、设备私钥导入模组文件系统,通过AT指令绑定到对应SSL上下文即可,参考配置指令:
// 配置SSL上下文加载证书、私钥,开启双向认证 AT+QSSLCFG="cacert",0,"ufs:aws_root_ca.pem" AT+QSSLCFG="clientcert",0,"ufs:device_cert.pem" AT+QSSLCFG="clientkey",0,"ufs:device_private.key" AT+QSSLCFG="seclevel",0,2 // 绑定SSL上下文到MQTT客户端 AT+QMTCFG="SSL",0,1,0 // 发起MQTT连接,不需要预置设备名在AWS侧 AT+QMTCONN=0,"test_client_id" - 首次连接被服务端主动断开是正常现象,设备侧加5~10秒的重连延时,第二次发起连接时即可正常建链完成业务通信。
- 不要使用模组内置的
- 额外注意:JITR场景需要提前在AWS IoT Core侧配置对应的注册规则Lambda函数,该配置是服务端操作,和BG95模组侧逻辑无关。
内容的提问来源于stack exchange,提问作者Umberto
相关产品推荐
相关产品推荐

