移远官网

BC20用AT命令发布(publish)JSON格式的MQTT消息时消息体被截断

我在使用BC20的QuecOpen编程发送MQTT消息,我可以成功通过QMTCFG, QMTOPEN和QMTCONN命令建立连接。当我试图发布publish JSON格式的消息时出错:
如下命令:AT+QMTPUB=0,2,1,1,"/sys/aaa/bbb/thing/event/property/post",{“params”:{“lcapr”:2, “key”: “xx”}}

  1. 当我用双引号包括消息体**{**“params”:{“lcapr”:2, “key”: “xx”}}时,消息能发送成功,但会被消息体中第一个双引号截断 - 只能发送第一个大括号到服务器,params前的双引号被认为是参数结束。
  2. 当我不用双引号包围消息体时,消息体又会被JSON格式中的第一个逗号截断(貌似AT命令的解析以逗号位标记),如上消息,只有{“params”:{“lcapr”:2会被上传。

我也试过对双引号转义,如<">, <\">, <\22>, <\\22>等,都不奏效,转义符号无法被识别,或者原样发送到服务器。

请问怎样在这个场景下发送JSON格式的消息体payload?

注意包含多个元素,即包含逗号。

目前BC20已经停产,如果你需要批量生产的话,请转其他型号模组