Every night before go to bed, you always have to turn on the alarm system. So, in this project, I will use the light sensor to detect whether the light of your room has been turned off, means that you are going to sleep soon. Then, the Edison board will turn on the relay and activate the alarm system.
Also, using AWS SNS Push Notification service, you can easily track your sleeping habit by sending an email when you go to sleep.
First, we have to setup Intel Edison Board, connect the hardware, and test some Arduino example code.
- Flash your Edison board with latest image
- Enter serial terminal, run "configure_edison --setup" to let your Edison get ready for application.
- Now, update your package manager "opkg" to get the latest library and verify your network connection.
- Run Arduino IDE, select appropriate Board and Port, and try upload Blink example to your Edison Board.
- Now, add my attached Arduino code, and test some basic demo of automatic alarm system before we going to the AWS part.
Amazon Web Service is very powerful, it supports lots of hardware platforms, and provides different ways to getting started. You can either choose a Web-based AWS Manager Console, or programming via AWS SDK. In this project, I choose the Console because it is simple and quite straightforward for beginners like me.
Setup the AWS SNS Push Notification service requires lots of steps, and I have found a project with details on how to setup the service, so I will summarize the steps here and give you that project link for more details.
- Create an AWS account, and choose a Free Tier Package.
- In AWS IoT, create a thing, its certificates and policies
- Setup AWS SNS, and verify a notification on your email
- Go back to AWS IoT to create a rule.
- In IAM, create a user, save the credentials.
In the first time, you might need to upload some libraries on-board through Intel IoT XDK before uploading code.
Here is my demo video: