Inspiration

We wanted to build a custom IoT home that allows us to create our own automated processes.

What it does

Through the Solace server, we are able to send subscriptions (commands) which are published by a website and sent to an Arduino. These demo Arduino commands include turning on a fan, smart light, music system, opening a door, and an alarm activation.

How I built it

Using the NodeMCU with the Arduino, the ESP8266 chip on the NodeMCU provided Wi-Fi access in order to connect to the Solace server and receive commands. Amazon Web Services is used to make a Lambda function to allow for the website to communicate with the Solace server. The Arduino is connected with a mock room setup in which wires are extended from a breadboard to each IoT component.

Challenges I ran into

A major challenge we encountered throughout the development process was figuring out the connectivity between our servers and devices. Initially, we had trouble communicating with the Arduino MQTT client from the Solace MQTT server. In addition, we had further problems with connecting AWS to our Solace server and programming within the Alexa Developer Console and exporting it to AWS Lambda. As a result, we had to use a website as an alternative method of taking in user inputs rather than Alexa.

Accomplishments that I'm proud of

A major accomplishment within our development was establishing an initial connection between the Solace MQTT server and the Arduino MQTT client. This had been a major roadblock in the progress of our development and resolving this task established the main point of communication for our IoT system. Also, the integration and design of our circuits and components with Arduino was another major accomplishment. The overall functionality of our components was consistently demonstrated and this was a task we were able to finish successfully, early in development.

What I learned

Concepts and skills we developed through this experience include basic server understanding such as the concept of subscribing and publishing in order to communicate data to different outputs, using AWS and amazon developer in terms of using Alexa Console Developer and Lambda, and Arduino Wi-Fi integration using the NodeMCU which contained the ESP8266 microchip.

What's next for Mini Smart Home

We hope to further refine and develop our initial concept of creating a interactive and automated home. For example, integrating our own Alexa commands so that our commands can be voice activated and thus less human-to-computer interaction. In addition, we can also scale up our design in the future to incorporate more functions and actually integrate our design into a real home environment.

Share this project:

Updates