aws-iot で Thing Shadows を更新するための私の更新されたコードは次のとおりです。
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);
});`});`