2017-02-24 4 views
0

ich ein Ding in AWS IoT erstellt haben genannt RasberryPi und ich versuche, mit seinem Schatten mit dem folgenden Code zu registrieren:AWS IOT: Kann nicht mit Schatten Registrieren

var awsIot = require('aws-iot-device-sdk'); 

var thingShadows = awsIot.thingShadow({ 
    keyPath: "./certs/private.pem.key", 
    certPath: "./certs/certificate.pem.crt", 
    caPath: "./certs/root-CA.crt", 
    clientId: "RasberryPi1", 
    region: "eu-west-1", 
    port: "8883", 
    debug: true 
}); 

thingShadows.on('connect', function() { 

    console.log('connected'); 

    thingShadows.register('RasberryPi1', function() { 
     console.log('registered'); 
... 

ich erfolgreich zu verbinden, aber ich nie registrieren. Das heißt, die zweite console.log-Anweisung wird nie ausgeführt. Kann mir bitte jemand meinen Fehler mitteilen? Ich bin sehr neu in AWS IoT und mein Fehler ist wahrscheinlich sehr einfach.

Vielen Dank

Antwort

0

Es kann wirklich verwirrend sein, aber es ist wegen docs. Du verfolgst wahrscheinlich Beispiele wie hier: https://github.com/aws/aws-iot-device-sdk-js#thing-shadow-class

// 
// After connecting to the AWS IoT platform, register interest in the 
// Thing Shadow named 'RGBLedLamp'. 
// 
thingShadows.register('RGBLedLamp', function() { 
    // Your code here 
} 

aber wenn man die Dokumente lesen Sie hier: https://github.com/aws/aws-iot-device-sdk-js#awsiotthingshadowregisterthingname-options-callback- können Sie sehen, dass die Registercallback-Funktion nicht als zweites Argument nimmt, sondern als dritte

(!) nennen sie es einfach wie folgt aus:

thingShadows.register('RGBLedLamp', {}, function() { 
    // Your code here 
} 

und es wird wie ein Zauber funktionieren

Verwandte Themen