- Micro-Controller Based Home Automation for Smart Homes
-
Initial Build By 20-June-2020- Added Build_v1 on 17 June
- Added Build_v3 on 24 June
- Added Build_v5 on 7 July
-
Basic App Interface by 24-Jun-2020- Added Build_v3 on 24 june
- Added Build_v5 on 7 July
-
To use Job Scheduler API rather than Alarm Manager in upcoming Builds for Switch on/off scheduling.(Pending)
-
Future Build will contain Scheduling task which will send turn on/off command to arduino on a Particular time selected by user.- Done in Build_v5
-
Future Build to include Device Number Addition as app supports 4 Devices Only till now.
-
Build_v1
- Added On/Off functionality to buttons by means of single and long click respectively.
- Can be paired with the device whose address is hardcoded in app.
- Added Digital Clock on main screen.
-
Build_v3
- UI Revamping.
- Can be paired with any device through app.
- Removed clock.
- Added Room Functionality.
- Device Switching on/off scheduling(not enabled in this build).
- New Bluetooth devices can be searched from within app.
- App data is stored in Local Database.
- Added functionality to connect to last connected device Seamlessly!!
- New Rooms can be added from within app.
-
Build_v5
- App only supports 5 Rooms.
- Removed Room Table from Database. From now Room name will be carried by Shared Prefs file.
- Added Device On_Off Scheduling (One time each for each device).
- Added [Time Picker Dialog for selecting On/Off Time for scheduling.](https://github.com/arshanwar/Home- Automation/blob/master/Screensshots%20Build_v5/Scheduling%20time%20Dialog.jpg)
- Removed Room Add Fragment.
- Added Room Settings.
- Added Extra Settings for buttons.
- Device On_Off will be done by Switches rather than Buttons from now .
- This app utilizes 2 Activities. One is for Device Control and Other for device pairing Stuff.
- This application makes use of:
- Service Class: Bt_Connection which is used to Pair to device and sending Data over Bluetooth.
- Data to Arduino based Device is sent in strings over Bluetooth.
- A Database HomeAutomation.db is created upon Install. This Database contains two Tables Room and Address.
- Room Table Stores Room Names which are shown in Main Activity.
- Address Table Stores paired device address and its name. Address table is used to store previous connection Data. A prompt for connecting to last device connected with app Automatically will be shown after restarting app.
- Address Table gets deleted after new data being entered.
- A custom ListAdapter is used to display Room name Stored in Database on Main Activity.
- As of Build_v3 All rooms send same commands in Device Control Fragment. I'll be fixing that in Future.
- Single Press on button in Device Control Fragment will send turn on command to Arduino. A long press will send turn off command to Arduino.
- As of Build_v5 Shared Prefs files are introduced so as to carry Button name and Room name.
-
Build_v1
-
Build_v3
-
Build_v5
- Room Settings
- Room Deletion Dialog
- Room Name Updation Alert Dialog