Introduction: Gesture Based Home Automation Using Intel Edison(Intel IoT))
Gesture based home automation is the new way to interact with electrical devices available at our house. In this project we will be using sensors instead of camera for gesture recognition , because it provides better consistency ,environment independency , portable, lesser processing , low cost and energy efficient.
This project consists of two parts:
1)Wearable gesture recognizing device
2)Intel Edison connected with all devices within house
Step 1: Hardware Requirements
For Wearable Side System
1)Low end micro-controller. I am using Arduino Uno Here .You can also use another Intel Edison board here with same program , as it provides Arduino compatibility as of Uno.
3) IR transmitter with current boosted using BC547
4)4 pin Dip switch for selecting different modes
5)On board LED for system notifications
6)Flex sensor with finger-band
7)Accelerometer Sensor: MMA7660
8)Compass Sensor: HMC5883L
For Home Server With Intel Edison
1)Intel Edison with IO shield
2)Relay based circuit to control AC Appliances using digital signal.(I have created one for my self and I am calling it 'Smart-Box' . You can connect any 3 electrical devices at its port at a time ).You can directly connect Smart-Box to AC main ,SMPS connected in parallel draws DC Voltage for powering Edison and associated sensors. Digital signal is current boosted using ULN2803.
3)Bluetooth module HC05
4)Motor with Rack and Pinion Mechanism(As a door lock )
5)Motor Driver(I have added this circuit within my Smart-Box)
6)Press button switch and buzzer for door bell
7)Temperature Sensor with analog output
8)Light Trans-receiver Pair
9)I2C based 16*2 LCD
Detailed Information about 'How Sensors and Components used?How Hardware is managed?' is given in the following project summary report:
Step 2: Let's Make Wearable Gadget for Gesture Recognition First:
Read all the theory and sensors working , sensors mounting I have mentioned in above pdf
Test all sensors individually using programs provided below:
Note that Accelerometer and Compass sensors are I2C based.
Step 3: Use Following Pin Configuration on Uno or Another Intel Edison
1) Accelerometer and Compass
Sensors->Pin A4 is SDA and Pin A5 is SCL.
2) Flex Sensor with potential divider circuit at Pin A0
3)Bluetooth module HC05 at Rx ,Tx Pins of controller
4)IR Led with transistor BC 547 current booster at Pin 3
5)Mode Selection (4 in 1)DIP switch at Pins ->4(MSB),5,6,7(LSB)
6)Notification Indication LEDs at Pins->10,11,12,13
1)Making Shield for Arduino Uno for above mentioned sensors and modules:
2)Mount the Shield on Wearable gadget such as Wrist-Band:
3)Mounting Controller and Accelerometer Sensor (Note mounting position of Accelerometer):
4)Mounting and Connecting Compass Sensor:
5)Connecting Bluetooth module and Flex Sensor:
6)Connecting Batteries and Get ready with wearable gadget:
Step 4: Uploading Program to Wearable Device for Gesture Recognition
Now Upload the following program to controller . To assign gestures to commands edit gesture and gesture2 function. I have already designed 'hand_orientation()',' up_down()' and 'deviation()' commands in the program. You can directly use them ,I have taken care of all details within the functions.
Step 5: Now Let's Begin Assembling Components Together at Edison Side
I am assuming that you are ready with your Smart-Box.
Get 5V power to run the Edison board. Use 7805 as Voltage Regulator in front of the SMPS.
Now connect Modules , Sensors and Relay drivers as follow:
1)Light transmitter At The Door->Pin 2
2)Button for Door bell ->Pin 3
4)Port 1 Relay actuator->Pin 5
5)Port 2 Relay actuator ->Pin 6
6)Port 3 Relay actuator ->Pin 7
Now for the motor used for door lock
7)M1 Relay actuator ->Pin 8
8)M2 Relay actuator ->Pin 9
9)Light Receiver At The Door->Pin A0
10)Temperature Sensor->Pin A1
11)Bluetooth RX of edison to TX of BT module and vice versa
12)LCD at I2C pins(Pin A4-SDA,Pin A5-SCL)
Step 6: Uploading Python Script on Edison
Upload the following program and test with Wearable gadget we have created previously with it.
Download and install python libraries imported in the program for Edison
Follow the actions used in the Video as a Reference.
Video Link: https://youtu.be/ESxWoBrf2jg
Step 7: Introduction to Way2sms Alerts
After Successfully Completing above stage,Lets connect our Edison to internet to send SMS over internet using way2sms use following python script. You have to create way2sms account first.
Enter your Registered mobile number,Password,,Target ,Message and Target mobile number in the program.
Step 8: Introduction to ThingSpeak Cloud
Once you are done with way2sms.Create
ThingSpeak cloud account and create two new channel .Name Them as Door_Status and Temperature .Name the first field for both the channel as 'field1' .Note down their API keys. You may create two field within same channel instead of two different channels. Follow the Tutorials available on ThingSpeak website for handling channel , Uploading and Fetching data.
Use the following program to transmit data
to ThingSpeak using python script
Enter your API keys for specific Channels in the program
Step 9: Upload Final Python Script With Sms Alert and Cloud Data Storage Facility
After Verifying above program, Use the following program to complete our system along with wearable device. Refer video and Document attached for details on action.
You may Observe following Events with final program
1)If you make respective actions as shown in video for opening the door , closing the door , turning AC devices ON and OFF connected to Smart-Box.
2)Door_Status(Whether door is open or close) and Temperature Sensor data is uploaded to Thingspeak cloud automatically after every 15 seconds
3)Whenever door bell is pressed we will get text message saying 'Somebody at the Door'.
Step 10: Future Ideas and Applications
1)My next step is using camera at the door for taking photo of person pressing the doorbell ,we should be able to open the door over the internet remotely after getting photo notification of the person.
2)I am trying to include push-pull gesture within system.
3)I am trying to surf over computer using this system.
4)I am trying to develop software for recording and assigning gesture more easily.
5)I am trying to detect letters written in air with gestures and sending text message out of it.
1)Applications at the Industry to control machines and production lines
2)For handicap people to get done everything sitting at one place
3)For Solidwork , Catia and graphic designers to interact with virtual model with gestures.
4)Home Automation , IOT Industry .
5)This Tool is extremely useful for converting sign language to voice output for people who cannot talk.
Enjoy the Project .Mention your Suggestion and queries. Like the Project.
Feel Free to mail on :firstname.lastname@example.org