I’ve done a couple of personal projects on AWS building simple Alexa skills, but I’m not an expert in AWS. And I’ve used different MCUs, but never used Cypress PSoCs. After I’ve listen to a couple of AWS podcasts on AWS IoT I’ve decided to start my first week of challenge by following Getting Started with Amazon FreeRTOS and PSoC62+43xxx . It is only five pages long, so I thought it will be a good start for me. And I started this journey on my Win 10 32-bit PC.
- I’ve cloned Amazon FreeRTOS from Cypress’ GitHub repository with demo projects.
git clone --recurse-submodules https://github.com/cypresssemiconductorco/amazon-freertos.git --branch 201910-MTBAFR1951
201910-MTBAFR1951 is the latest branch as of end of March 2020.
2. Configuring AWS IoT and your Amazon FreeRTOS took much longer time for me as I’ve decided to took a free AWS course Introduction to AWS Identity and Access Management (IAM) It is a less than 10 minutes course about key concepts of IAM on AWS, like policies, actions, resources.
Then I followed Amazon FreeRTOS User Guide - Setting Up Your AWS Account and Permissions . By following this guide I’ve created a group and my first policy for this user.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"freertos:*",
"iot:*"
],
"Resource": "*"
}
]
}Than I’ve created a new user group to manage Amazon FreeRTOS and IoT resources on AWS. And then created a new admin user in this group.
Than I’ve registered my Cypress MCU Board with AWS IoT following another Getting Started steps https://docs.aws.amazon.com/freertos/latest/userguide/get-started-freertos-thing.html. I’ve created a new thing group.
and created a new thing type with two attributes and added my MCU to it.
In the next step I’ve created a new security certificate with public and private keys and downloaded them. As well I’ve created my first bisSensor02-Policy policy for my device, which is allowing my device to connect and publish messages to my topics.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Publish"
],
"Resource": [
"arn:aws:iot:us-east-1:<my resource id>:topic/person/02",
"arn:aws:iot:us-east-1: <my resource id>:topic/analyze/02"
]
},
{
"Effect": "Allow",
"Action": [
"iot:Connect"
],
"Resource": [
"arn:aws:iot:us-east-1:495107556926:client/sdk-java",
"arn:aws:iot:us-east-1:495107556926:client/basicPubSub",
"arn:aws:iot:us-east-1:495107556926:client/sdk-nodejs-*"
]
}
]
}
At this point I've just completed the first two steps in the section Before You Begin of the Getting Started with Amazon FreeRTOS and PSoC62+43xxx
And I'll need to revise them as I will continue my journey.




