光子在 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);
感谢为解决方案做出贡献的人。
我有一个程序可以毫无问题地编译并刷写到 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);
感谢为解决方案做出贡献的人。