이 포스팅은 기록용입니다. 내용이 정확하지 않을 수 있습니다. 참조한 블로그 주소는 여기 입니다.
Device에서 생성한 MQTT Message를 클라우드 서비스에서 활용하는 예시입니다. MQTT 메시지만 있으면 어디에서나 활용할 수 있습니다.
연결하는 과정은 생략해두었고, 메시지 형태만 확인합니다.
Topic은 $aws/things/picoThing/shadow/update 입니다.
{
"temperature": 46,
"humidity": 17
}
console.log('Loading function');
const AWS = require('aws-sdk');
const dynamo = new AWS.DynamoDB.DocumentClient();
const collection ="IoTCatalog"
// Handler lamda function
exports.handler = function(event, context) {
console.log('Received event:', JSON.stringify(event, null, 2));
const params = {
TableName: collection,
Item:{
"clientId": event.clientId,
"timestamp": event.timestamp,
"humidity": event.humidity,
"temperature": event.temperature
}
};
console.log("Saving Telemetry Data");
dynamo.put(params, function(err, data) {
if (err) {
console.error("Unable to add device. Error JSON:", JSON.stringify(err, null, 2));
context.fail();
} else {
console.log(data)
console.log("Data saved:", JSON.stringify(params, null, 2));
context.succeed();
return {"message": "Item created in DB"}
}
});
}
SELECT temperature, humidity, clientId() AS clientId, timestamp() AS timestamp FROM '$aws/things/picoThing/shadow/update’