2016-09-14 75 views
1

我有一个编译并闪烁到Photon没有问题的程序。它运行良好,直到它发布一个字符串到PubNub。通过更改要发送的字符串,我会得到不同的结果。Photon在pubnum上发布崩溃发布(红灯闪烁)

下面的例子是相关的:

这工作:

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); 

可以哟你建议为什么引入分隔符(=, - ,:)会导致光子崩溃。

非常感谢。

+0

您可能需要urlencode msg。您使用哪种PubNub SDK /版本? –

+0

我正在使用由BUILD引入的SDK。我不知道如何从库代码告诉它是什么版本。该应用程序是在2天前构建的,因此它使用的是当前基于Web的库版本。 – Grenello

+0

您可以将您的代码发送到[PubNub支持](https://pubnub.com/support)吗?在你的信息中引用这个SO链接。 –

回答

0

我设法解决了这个问题,但我不知道为什么以前的“味精”构造不起作用(如果任何人可以为我阐明这一点,我将不胜感激)。

这是我用来解决问题的味精结构。它现在是一个对象形式,并且很容易在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); 

谢谢你们对解决方案做出贡献的人。