My Home Machine
John Wimmer, Steven Chase, Al Waleed Al Saleemi, Wala Aljohani
Faculty Advisor(s): Dr. Marius Silaghi, Dept. of Department of Electrical Engineering and Computer Science, Florida Institute of Technology
- Design an Android App that is capable of connecting to smart devices through Wi-Fi and APIs.
- Make everyday life less tedious for our users through the ability to control smart devices, schedule tasks, utilize cameras, and monitor smart sensors.
- Our app is engineered for user satisfaction, with a UI designed for easy to understand navigation and minimal button presses.
- Connects to the app via Google Play Services
- Requires permission from the user to have access to background location
- User sets a location and a radius
- Transition functions to activate Smart Devices
- Connection and control over several smart devices including smart plugs, lights, cameras, and sensors
- LIFX Smart Light: Power, brightness, color Control via API connection and custom commands
- Shelly Smart plug: Power control via HTTP commands over LAN connection
- Switchbot thermo-hygrometer: Connects via Switchbot API and provides temperature and humidity data over the internet via request
- RaspberryPi camera with flask server for virtual motion detection monitoring
- RaspberryPi Camera Connects to the app via Flask server
- Motion detection script written in Python
- Frame Differencing
- Motion detection can be used to trigger Smart Devices
- Integration with Amazon Alexa/Google Home
- Feedback System for water/electricity usage
- Integration with machine learning to automatically detect users’ schedules
- Integration with Matter/MQTT Protocols
- Set timers for all connected smart devices
- Choose specific days and times for automated actions
- Device-specific options (color/brightness for lights)
- Receive notifications when scheduled actions occur
- Flask app hosted on AWS EC2 Using HTTPS
- User authentication with PBKDF2-SHA256 hashing and salting
- Time-limited verification codes for email and password resets
- SQL injection protection via parameterized queries
Figure 1: Full System FlowChart
Figure 2: Motion Detection FlowChart
Figure 3: GeoFence FlowChart
- Grid layout allowing selection between device types
- On/Off toggle buttons for each device on home screen
- More functionalities when selecting specific device
- Dynamic icons reflecting device connectivity on home screen
- Ability to add device, access settings, and schedule tasks on the same page