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 在errnoException(dns.js:37:11) 在Object.onanswer [as oncomplete](dns.js:124:16)
答案 0 :(得分: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);
});`});`