Application - AWS IoT:修訂間差異
出自flip the world
無編輯摘要 |
Refactor: add [[Category:Projects
]] |
||
| (未顯示同一使用者於中間所作的 7次修訂) | |||
| 第1行: | 第1行: | ||
== Setup your AWS CLI installation == | |||
** sudo apt install awscli | ** sudo apt install awscli | ||
* Go to IAM service to get the Access keys | * Go to IAM service to get the Access keys | ||
| 第35行: | 第35行: | ||
make all -j4 | make all -j4 | ||
</pre> | </pre> | ||
== lambda == | |||
* <span style="color:red">Note that if you use Alexa-hosted skill for lambda, you may not configure the permission for AWSIoTFullAccess</span> | |||
*Function example(node.js) | |||
<pre> | |||
var AWS = require('aws-sdk'); | |||
var iotdata = new AWS.IotData({endpoint:"a1q79ntmqqqssy-ats.iot.us-west-2.amazonaws.com"}); | |||
exports.handler = function(event, context, callback) { | |||
console.log("found iotdata",iotdata); | |||
var params = { | |||
topic: 'iotdemo/topic/2', | |||
payload: 'on', | |||
qos: 0 | |||
}; | |||
iotdata.publish(params, function(err, data){ | |||
if(err){ | |||
console.log("Error occured : ",err); | |||
} | |||
else{ | |||
console.log("success....."); | |||
} | |||
}); | |||
callback(); | |||
}; | |||
</pre> | |||
* Trigger | |||
** Allow Alexa skill kit with ARN | |||
* IAM Permission | |||
** AWSIoTFullAccess | |||
* Reference | * Reference | ||
https://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/getting_started_espressif.html | https://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/getting_started_espressif.html | ||
[[Category:Projects]] | |||
2026年8月21日 (五) 13:17的最新修訂
Setup your AWS CLI installation
- sudo apt install awscli
- Go to IAM service to get the Access keys
- aws configure
$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json
- AWS development package - boto3
- pip install tornado nose
- pip install boto3
- Get AWS FreeRTOS
- Create IoT thing
- vim freertos/tools/aws_config_quick_start/configure.json
- cd freertos/tools/aws_config_quick_start
- python SetupAWS.py setup
- Toolchain version(5.2.0 is better)
$ xtensa-esp32-elf-gcc --version xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-80-g6c4433a) 5.2.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- Build
cd freertos mkdir build cmake -DVENDOR=espressif -DBOARD=esp32_wrover_kit -DCOMPILER=xtensa-esp32 -DCMAKE_BUILD_TYPE=Debug -S . -B build cd build make all -j4
lambda
- Note that if you use Alexa-hosted skill for lambda, you may not configure the permission for AWSIoTFullAccess
- Function example(node.js)
var AWS = require('aws-sdk');
var iotdata = new AWS.IotData({endpoint:"a1q79ntmqqqssy-ats.iot.us-west-2.amazonaws.com"});
exports.handler = function(event, context, callback) {
console.log("found iotdata",iotdata);
var params = {
topic: 'iotdemo/topic/2',
payload: 'on',
qos: 0
};
iotdata.publish(params, function(err, data){
if(err){
console.log("Error occured : ",err);
}
else{
console.log("success.....");
}
});
callback();
};
- Trigger
- Allow Alexa skill kit with ARN
- IAM Permission
- AWSIoTFullAccess
- Reference
https://docs.aws.amazon.com/zh_tw/freertos/latest/userguide/getting_started_espressif.html
