2016-08-30 1 views
1

J'essaie de publier un message en utilisant pubnub sur le Particle Photon. L'extrait de code ci-dessous provient directement du code d'exemple Pubnub.Bibliothèque Pubnub ne compilant pas sur Particle Photon

Le code ne compile pas, avec le message du compilateur comme suit:

PubNub/PubNub.h:87:47: error: expected class-name before '{' token 
class PubSubClient: public PubNub_BASE_CLIENT { 
              ^

PubNub/PubNub.h: In constructor 'PubSubClient::PubSubClient()': 

PubNub/PubNub.h:23:28: error: class 'PubSubClient' does not have any field named 'WiFiClient' 
#define PubNub_BASE_CLIENT WiFiClient 
         ^

Le code pour ce petit projet est la suivante:

// This #include statement was automatically added by the Particle IDE. 
#include "PubNub/PubNub.h" 

char pubkey[] = "<key here>"; 
char subkey[] = "<key here>"; 
char channel[] = "Channel"; 

void setup() { 

    Serial.begin(9600); 
    Particle.publish("Serial set up"); 
    PubNub.begin(pubkey, subkey); 

} 

void loop() { 

    TCPClient *client; 
    char msg[64] = "{\"photon\":\"on\"}"; 
    client = PubNub.publish(channel, msg); 
    client->stop(); 

    Delay (30000); 
} 

Quelqu'un at-il eu un problème similaire, et si oui, pouvez-vous me guider sur la façon de résoudre ce problème.

Merci.

+0

Voir ceci pour plus de détails https://github.com/pubnub/arduino#wifi-shield-support-for-wifi-shield-101 - faites-moi savoir si cela est utile. –

Répondre

3

Il semble que la bibliothèque disponible dans Build IDE était dans une ancienne version (0.0.1). Fixe, la dernière version (0.0.2) a été publiée.

Pour mettre à jour la bibliothèque dans votre application, vous devez supprimer la bibliothèque PubNub de votre application dans Apps tiroir:

Et puis aller à bibliothèques tiroirs, trouver la bibliothèque PubNub, cliquez sur inclure dans l'App, sélectionnez votre application et confirmer:

+0

Problème résolu avec ce correctif. Merci beaucoup. – Grenello

+0

Super pour entendre! Je suppose que vous pouvez marquer la question comme répondue :) – suda