光子在 pubnum 发布时崩溃(红灯闪烁)

Photon crashing on pubnum publish (red light flashing)

我有一个程序可以毫无问题地编译并刷写到 Photon。它运行良好,直到它向 PubNub 发布一个字符串。通过更改发送的字符串,我得到了不同的结果。

以下示例是相关的:

这个有效:

    String msg = String(tempc);
    client = PubNub.publish(channel, msg);

这个有效:

    String msg = String("24");
    client = PubNub.publish(channel, msg);

这会导致光子崩溃(闪烁红色):

    msg = "24.000:145:654"
    client = PubNub.publish(channel, msg);

你能告诉我为什么引入分隔符 (=,-,:) 会导致光子崩溃吗?

非常感谢。

我设法解决了问题,但我不确定为什么之前的 "msg" 构造不起作用(如果有人能为我阐明这一点,我将不胜感激)。

这是我用来解决问题的消息结构。它现在是对象形式,在 Javascript 方面很容易使用。

        char msgChar[150] = "";

    String tempstring = "{\"tN\":\"" + oT.f2s(oT.Now()) + "\",\
\"tH\":\"" + oT.f2s(oT.Low()) + "\",\
\"tL\":\"" + oT.f2s(oT.High()) + "\",\
\"hN\":\"" + oH.f2s(oH.Now()) + "\",\
\"hH\":\"" + oH.f2s(oH.Low()) + "\",\
\"hL\":\"" + oH.f2s(oH.High()) + "\",\
\"lN\":\"" + oL.f2s(oL.Now()) + "\",\
\"lH\":\"" + oL.f2s(oL.Low()) + "\",\
\"lL\":\"" + oL.f2s(oL.High()) + "\"}";

    tempstring.toCharArray (msgChar, 150);

感谢为解决方案做出贡献的人。