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

    var myThingName = 'pi_2';
var fs, configurationFile;

    configurationFile = './configuration.json';
    fs = require('fs');
    var args = JSON.parse(fs.readFileSync(configurationFile));
var thingShadows = awsIot.thingShadow({

   keyPath: args.privateKey,
   certPath: args.clientCert,
   caPath: args.caCert,
   clientId: myThingName,
   region: args.host

});

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

    console.log('connect');
device.subscribe('topic_1');


    device.publish('topic_2', JSON.stringify({ test_data: 1}));
    });

这样做时出现错误:-

错误:getaddrinfo ENOTFOUND at errnoException (dns.js:37:11) at Object.onanswer [as oncomplete] (dns.js:124:16)

4

1 回答 1

0

这是我在 aws-iot 上更新事物阴影的更新代码:-

var awsIot = require('aws-iot-device-sdk');
var myThingName = 'pi_2';
var thingShadows =awsIot.thingShadow({
keyPath: './private.pem.key',
certPath: './certificate.pem.crt',
caPath: './root-CA.crt',
clientId: myThingName,
region: 'ap-southeast-1'
});
mythingstate = {
"state": {
"reported": {
  "ip": "sagar"//update your state here.
}`}`}`

thingShadows.on('connect', function() {
console.log("Connected...");
console.log("Registering...");
thingShadows.register( myThingName);

//立即更新导致超时错误,所以我们等待大约2秒

setTimeout( function() {
console.log("Updating my IP address...");
clientTokenIP = thingShadows.update(myThingName, mythingstate);
console.log("Update:" + clientTokenIP);
}, 2500 );
// Code below just logs messages for info/debugging
thingShadows.on('status',function(thingName, stat, clientToken,
stateObject) {
console.log('received '+stat+' on '+thingName+':
'+JSON.stringify(stateObject));
});
thingShadows.on('update',function(thingName, stateObject) {
console.log('received update '+' on '+thingName+': '+`JSON.stringify(stateObject));
});
thingShadows.on('delta',function(thingName, stateObject) {
console.log('received delta '+' on '+thingName+': '+`JSON.stringify(stateObject));`});`

thingShadows.on('timeout',`function(thingName, clientToken) {`
console.log('received timeout for '+ clientToken)`});`

thingShadows.on('close', function() {`
console.log('close');
});

thingShadows`.on('reconnect', function() {`
console.log('reconnect');
});

thingShadows`.on('offline', function() {
console.log('offline');
});

thingShadows`.on('error', function(error) {
console.log('error', error);
});`});`
于 2016-08-20T15:06:42.903 回答