Today I will share my project progress with all of you.
INTERMEZZO PART
My first concept when I submitted my idea actually I will make embedded system for helping blind people to navigate into their home.
But on the progress I have some problem.
My first concept actually I need hardware like this :
I bought all of them except Microcontroller,
after all my hardware arrived, I tested the hardware one by one...
unluckily.. when I tested the hardware some of that are not working.
From 4 hardware I need, only 2 works, its are Microcontroller and Switch button... hahaha
I already make the box also...
Because of unluckily situation, I decided to optimize 2 OK hardware Only,
That's why I come up with new concept " Blind People Tracker Device "
The concept is like the diagram below
Without further ado, lets start it.
First check the board, is it respond or not,
The best thing from this AVR IoT Wx Development board is , you can make IoT device with easy step and it already powerfull
because hard thing already done by the board, from security, connection to cloud even MQTT protocol also already setup.
So, we only need to plug in the board into PC with supported cable data.
CHECK AVR IOT BOARD
Micrcontroller is the brain of this project. so we should make sure the board is OK before we go further.
to check the board is OK or NG, just plug in the cable data connected to the PC.
After it connected to the PC, there is a drive shows it called "CIRUOSITY"
You can see on the picture there are 5 files inside the drive.
click "CLICK-ME.HTM" file and it will redirect you to the Microchip AVR-IoT dashboard web
the board still doesn't connect to the cloud, because there is no connection with the board.
to make it connect to the internet, we should configure the board with Wifi connection.
As I said before, this board is so amazing, the hard stuff already done by it.
So to setup the wifi connection, you just need to scroll down the web page, and fill in the wifi information
for example, my wifi name is N and the password is ******* and my wifi security is WPA/WPA2 (General Wifi config)
After you filled in the wifi details click download configuration & it will download configuration file that you need to drag and drop into the CURIOSITY drive.
after you did the drag and drop WIFI.CFG
The board will connect to you WIFI automatically.
When it success connected to the WIFI, you can see the sensors stat of the board into dashboard
There are 2 sensors included into the board, its are Light sensor & Temperature sensor.
as you can see it works... Our board already connected to the internet
CONGRATULATION YOU MADE IOT DEVICE UNDER 5 MINUTES ....... Yeaaayyyyy
It's time go further..
oh I almost forget that, this our device is connected with google cloud platform but it sandbox account.
So we need to migrate it into our private server to do more..
Okay... Let's create google cloud platform.
UNLUCKILY AGAIN.......
after I tried registerd google cloud platform and input my CC details, it erros, the GCP cannot verify my payment.
So what should I do ????
Hmm... after read the documentation on the microchip website, the AVR-IoT WG (google cloud platform) is identical with AVR-IoT WA (AWS platform)
the differences only in the software,
Let's re-program the AVR-IoT WG and convert it into AVR-IoT WA
Please follow this video to convert AVR-IoT WG into AVR-IoT WA or vice versa
After change the firmware from WG to WA, click the "CLICK-ME.HTM" file in CURIOSITY drive.
if you redirected to the Microchip AWS dasbhoard (See image below) , it means you are success convert your board into AW type
GET ACCESS ID + SECRET KEY & Connect Board with personal AWS IoT Core
Go to this website https://aws.amazon.com/iot-core/
Create an account & input your CC for payment.
When you already have an account, it's time to setting our AWS to connect into the board.
Go to https://console.aws.amazon.com/iam/home#/home
click Policies menu on the left bar and click Create Policy (Blue button)
after you clicked the button it will show new window, navigate to JSON tab and fill it with this code
Policy Code:
click next until you find the last box and enter name
click create policy and make sure it is success..
after policy created. it's time to create user
click Add user button and this window will shows
type the name & don't forget to check Programmatic access
(It's important, because this user will be used as our setting to make the board connected to the AWS )
when user have been created , there is notification like this
make a note for the access Key ID and secret access key,
its will be used in next process.
It's time to download supported software
Download CLI AWS and istall it (It used as support plugin)
https://aws.amazon.com/cli/
Download IoTProvision and extract it into known path
http://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en1001525
Open CMD / powershell
and navigate into extracted file and type aws configure
input access key ID & secret access key from previous user you created.
btw make sure the region name is same with your region aws user, I made a mistake setting the region and than I changed it with correct one
after aws configure command done,
Plug in your board into your pc/laptop
and type this command
.\iotprovision-bin.exe -c aws -m mar --force
It will reprogram the board and make our board connected into our AWS IoT Core server.
wait until the programming process is done like picture below
now our board already migrated from sandbox account into personal/private account
Check the board , is it success connect to AWS IoT core or it fail?
Go to https://aws.amazon.com/iot-core/
click manage -> things to get our device id
So, in the backend, when we run the provisioning tool and program our board, it parralelly created this id & topic automatically.
note the id and navigate to test menu on the box type {id}/sensors and click subscribe
after you click subscribe button
scroll down the page and if all the configurations are correct. the data from board will send to the cloud in this case in our AWS IoT Core
It works......!!! You can see the Ligth & Temp data from the board
UPDATE BOARD FIRMWARE TO FOLLOW PROJECT CONCEPT - Next post
INTERMEZZO PART
My first concept when I submitted my idea actually I will make embedded system for helping blind people to navigate into their home.
But on the progress I have some problem.
My first concept actually I need hardware like this :
- Microcontroller ( AVRIoT Wx development board )
- GPS Module
- Distance Sensor
- Switch Button
I bought all of them except Microcontroller,
after all my hardware arrived, I tested the hardware one by one...
unluckily.. when I tested the hardware some of that are not working.
From 4 hardware I need, only 2 works, its are Microcontroller and Switch button... hahaha
I already make the box also...
Because of unluckily situation, I decided to optimize 2 OK hardware Only,
That's why I come up with new concept " Blind People Tracker Device "
The concept is like the diagram below
Without further ado, lets start it.
First check the board, is it respond or not,
The best thing from this AVR IoT Wx Development board is , you can make IoT device with easy step and it already powerfull
because hard thing already done by the board, from security, connection to cloud even MQTT protocol also already setup.
So, we only need to plug in the board into PC with supported cable data.
CHECK AVR IOT BOARD
Micrcontroller is the brain of this project. so we should make sure the board is OK before we go further.
to check the board is OK or NG, just plug in the cable data connected to the PC.
After it connected to the PC, there is a drive shows it called "CIRUOSITY"
You can see on the picture there are 5 files inside the drive.
click "CLICK-ME.HTM" file and it will redirect you to the Microchip AVR-IoT dashboard web
the board still doesn't connect to the cloud, because there is no connection with the board.
to make it connect to the internet, we should configure the board with Wifi connection.
As I said before, this board is so amazing, the hard stuff already done by it.
So to setup the wifi connection, you just need to scroll down the web page, and fill in the wifi information
for example, my wifi name is N and the password is ******* and my wifi security is WPA/WPA2 (General Wifi config)
After you filled in the wifi details click download configuration & it will download configuration file that you need to drag and drop into the CURIOSITY drive.
after you did the drag and drop WIFI.CFG
The board will connect to you WIFI automatically.
When it success connected to the WIFI, you can see the sensors stat of the board into dashboard
There are 2 sensors included into the board, its are Light sensor & Temperature sensor.
as you can see it works... Our board already connected to the internet
CONGRATULATION YOU MADE IOT DEVICE UNDER 5 MINUTES ....... Yeaaayyyyy
It's time go further..
oh I almost forget that, this our device is connected with google cloud platform but it sandbox account.
So we need to migrate it into our private server to do more..
Okay... Let's create google cloud platform.
UNLUCKILY AGAIN.......
after I tried registerd google cloud platform and input my CC details, it erros, the GCP cannot verify my payment.
So what should I do ????
Hmm... after read the documentation on the microchip website, the AVR-IoT WG (google cloud platform) is identical with AVR-IoT WA (AWS platform)
the differences only in the software,
Let's re-program the AVR-IoT WG and convert it into AVR-IoT WA
Please follow this video to convert AVR-IoT WG into AVR-IoT WA or vice versa
After change the firmware from WG to WA, click the "CLICK-ME.HTM" file in CURIOSITY drive.
if you redirected to the Microchip AWS dasbhoard (See image below) , it means you are success convert your board into AW type
GET ACCESS ID + SECRET KEY & Connect Board with personal AWS IoT Core
Go to this website https://aws.amazon.com/iot-core/
Create an account & input your CC for payment.
When you already have an account, it's time to setting our AWS to connect into the board.
Go to https://console.aws.amazon.com/iam/home#/home
click Policies menu on the left bar and click Create Policy (Blue button)
after you clicked the button it will show new window, navigate to JSON tab and fill it with this code
Policy Code:
JSON:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"lambda:CreateFunction",
"iot:*",
"iam:CreateRole",
"lambda:GetFunctionConfiguration",
"iam:AttachRolePolicy",
"iam:PutRolePolicy",
"iam:PassRole",
"iam:DetachRolePolicy",
"iam:DeleteRolePolicy",
"lambda:DeleteFunction",
"iam:GetRole",
"lambda:ListFunctions",
"lambda:GetFunction",
"iam:DeleteRole",
"cloudformation:DescribeStacks",
"lambda:UpdateFunctionCode",
"lambda:AddPermission",
"cloudformation:CreateStack",
"cloudformation:DeleteStack",
"lambda:RemovePermission",
"iam:GetRolePolicy"
],
"Resource": "*"
}
]
}
click next until you find the last box and enter name
click create policy and make sure it is success..
after policy created. it's time to create user
click Add user button and this window will shows
type the name & don't forget to check Programmatic access
(It's important, because this user will be used as our setting to make the board connected to the AWS )
when user have been created , there is notification like this
make a note for the access Key ID and secret access key,
its will be used in next process.
It's time to download supported software
Download CLI AWS and istall it (It used as support plugin)
https://aws.amazon.com/cli/
Download IoTProvision and extract it into known path
http://www.microchip.com/mymicrochip/filehandler.aspx?ddocname=en1001525
Open CMD / powershell
and navigate into extracted file and type aws configure
input access key ID & secret access key from previous user you created.
btw make sure the region name is same with your region aws user, I made a mistake setting the region and than I changed it with correct one
after aws configure command done,
Plug in your board into your pc/laptop
and type this command
.\iotprovision-bin.exe -c aws -m mar --force
It will reprogram the board and make our board connected into our AWS IoT Core server.
wait until the programming process is done like picture below
now our board already migrated from sandbox account into personal/private account
Check the board , is it success connect to AWS IoT core or it fail?
Go to https://aws.amazon.com/iot-core/
click manage -> things to get our device id
So, in the backend, when we run the provisioning tool and program our board, it parralelly created this id & topic automatically.
note the id and navigate to test menu on the box type {id}/sensors and click subscribe
after you click subscribe button
scroll down the page and if all the configurations are correct. the data from board will send to the cloud in this case in our AWS IoT Core
It works......!!! You can see the Ligth & Temp data from the board
UPDATE BOARD FIRMWARE TO FOLLOW PROJECT CONCEPT - Next post