Services for Client
  • Software Developement
  • Web Development
  • Embedded Software Development
  • Embedded Hardware Designing
  • Embedded Product Designing
  • Annul Maintenance Contract
  • Network Installation
  • Academic Project Guidance
  • Embedded Workshop
Academic Project Guidance
  • Electronics And Communication
  • Instrumentation
  • Electrical
  • Computer Science
  • Information Technologies
  • MCA/BCA
  • B.Sc/M.Sc (CS/IT)
  • Robotics Project
  • Embedded Projects
  • MATLAB Projects
Classes
  • C
  • C++
  • Datastructure
  • Java
  • PHP/MySQL
  • DBMS/RDBMS
  • System Software
  • Assembly Language
  • VB.Net
  • ASP.Net
  • C#
  • Embedded System / Microcontroller Programming
Contact information:
Email: info@deas.in
Mobile: 98640 - 12252 , 98640 - 48478
www.deas.in
SMS Based Device Control
display:

Working Principle
The working principle of “SMS Based Device Controlling” is very simple and straight forward. It has total four different stage

1) Configuring the GSM Modem through AT Command
2) Read SMS Receive from the Modem
3) Process the Message Body to find out Valid Command String
4) Controlled the I/O PINS according to the Received Valid Command

To control Device through SMS, first off all we need a GSM Modem (SIM300/SIM900) that support AT Command. By default GSM Modem communicate with Microcontroller or PC at 9600 baud rate(Which can be re-configured). If we connect the Rx PIN of GSM Modem To TX PIN of Microcontroller, and Tx PIN of GSM Modem ti Rx PIN of Microcontroller, it is ready to Transmit and receive command/text from / to GSM Modem.
Now we have to configure the GSM Modem such a way that, it work in ASCII Format. For that, we have to assign the following command.
AT+CMGF=1
This statement will configure the GSM Modem to read the SMS in ASCII Text format. Secondly we have to configure the GSM Modem such a way that , it will automatically Send the Receive SMS to the Microcontroller. For that we have to use
AT+CNMI=1,2,0,0,0
After proper configuration of the GSM Modem, it will transmit the received SMS to Microcontroller automatically.
Now if we write a program such a way that, when ever data is received in Microcontroller through Serial Communication, It will Read the SMS and check for valid Statement like
#CMD LIGHT ON*
#CMD LIGHT OFF*
If any predefine Command is received, Now we have to control the I/O Pin of the Microcontroller.
For example if we have receive the String #CMD LIGHT ON* we can Set High the P2_0, or if we have receive #CMD LIGHT OFF* we can reset the P2_0 to low.
Now it comes to Relay driver circuit. We can make a simple relay driver circuit with the help of 2N2222 switching transistor, and connect the base of the transistor to the P2_O pin of the Microcontroller. Depend of the status of the I/O pin P2_0, the relay will switch on or off. Finally if we connect AC/DC Load through relay, The SMS based device control will work on the Basis of Received SMS.

Algorithm of The Program



STEP 1: Declare Variable i , and set value to 0
STEP 2: Initializing Serial Communication
STEP 3: Initializing LCD
STEP 4: Display Message "HOME AUTOMATION"
STEP 5: Set LCD Cursor To Second Line
STEP 6: Display Message " DEVELOPED BY "
STEP 7: Wait for 400 ms
STEP 8: Clear the LCD
STEP 9: Display Message "NIPAN KALITA "
STEP 10: Set LCD Cursor To Second Line
STEP 11: Display Message "KANGKAN KASHYAP "
STEP 12: Wait for 400 ms
STEP 13: Clear LCD
STEP 14: Set LCD Cursor To Second Line
STEP 15: Display Message "ALPANA DEKA "
STEP 16: Display Message "VIJAYLAKSHMI "
STEP 17: Wait for 400 ms
STEP 18: Clear LCD
STEP 19: Display "System Ready.."
STEP 20: Wait for 200 ms
STEP 21Send AT to GSM MODEM
STEP 22: Wait for 30 ms
STEP 23: Send AT+CMGF=1 to GSM Modem , it Specify ASCII Text Format
STEP 24: Wait for 40 ms
STEP 25: Send AT+CNMI=1,2,0,0,0 to Modem, it specify that, the modem will autometically send New sms to Microcontroller
STEP 26: Wait for 30 ms
STEP 27: Clear LCD
STEP 28: Set Status to FALSE
STEP 29: IF TRUE (indefinite Loop)
STEP 30 Read received character to c
STEP 31 Check , if the receive character is #
STEP 32: if true GOTO STEP 33
STEP 33 Set Status to True
STEP 34; Read the next character
STEP 35: if Status is TRUE GOTO STEP 36
STEP 36: check, if the receive character is *, if True GOTO STEP 37
STEP 37: add NULL character to buffer, so that it create a string
STEP 38: Clear LCD
STEP 39: Display Received Command to LCD
STEP 40: if Receive Command is "LIGHT ON" GOTO STEP 41 Else GOTO STEP 42
STEP 41: Set P0_0 to High , it will switch on the Relay of Light
STEP 42: if Receive Command is "LIGHT OFF" GOTO STEP 43 Else Goto STEP 44
STEP 43: Set P0_0 to Low , it will switch off the Relay of LIGHT
STEP 44: if Receive Command is "FAN ON" GOTO STEP 45 ELSE GOTO STEP 46
STEP 45: Set P0_1 to High , it will switch on the Relay of FAN
STEP 46: if Receive Command is "FAN OFF" GOTO STEP 47 ELSE GOTO STEP 48
STEP 47: Set P0_1 to Low , it will switch off the Relay of FAN
STEP 48: Set Status to False, so that , the system is ready to read next command
STEP 49: Append the receive character to Buffer
STEP 50: GOTO STEP 30
STEP 51: STOP