Inspiration
We were inspired by plug for adaptors that allow for devices to be controlled over the internet and their power consumption monitored.
What it does
The microcontroller onboard the ESP8266 controls relays to activate the outlets. Current sensors measure the current consumption, and this data is sent back to the web. Plots and graphics are generated using the streaming data. Outlets can be controlled via the web interface.
How I built it
We built a custom circuit board to connect the WiFi module, relays, current sensors and other associated parts. Care was taken to build in safety features like fuses to the system, as mains voltage is being switched. On the web side, we created a webapp using Javascript and the d3 framework for graphics. This communicates to the server on the WiFi module using websockets to monitor information and to control the outlet.
Challenges I ran into
We ran into an issue where the WiFi module would reset when the outlets were toggled via the web interface. This issue didn't present itself during testing without the web interface, so it was a surprise and a challenge to deal with.
Accomplishments that I'm proud of
I'm proud of building a circuit board and doing the entire system design and implementation in a night. We used a number of new tools and components in the system, and working with them was exciting!
What I learned
I learned that testing at each stage of hardware development is key, to avoid having a number of issues present themselves at once. Additionally, more testing with the hardware and software integrated would've given us more time to fix bugs.
What's next for Smart Outlet
Packaging the system so that it is attractive and durable would be a future goal. Additionally, enhancing precision of the current measurements would give users more precise data, which could be important in some applications.
Built With
- arduino
- c
- css
- d3.js
- esp8266
- gpio
- html5
- javascript
- relays
- spi
- websockets
- wifi
Log in or sign up for Devpost to join the conversation.