GSM based Home AUTOMATION?

Hello Guys,

I am planning to build a sms controlled home automation project using Arduino+GSM Module. I am a newbee, so please let me know some example programs for receiving SMS using GSM Module and controlling home appliances. :smiley:

Ok. I'll do your searching for you. Let's try the Playground. Oh look, there's a link to a tutorial that includes SMS sending and receiving.

http://arduino.cc/playground/Main/InterfacingWithHardware#Communication

http://tronixstuff.wordpress.com/2011/01/19/tutorial-arduino-and-gsm-cellular-part-one/

I’m working on a similar project like you.I already have working the sms received and the sms seending.The sketch is not finished yet but it could help you starting.
In my case I have arduino listening for a incoming SMS from a specific sender and if it match it will turn on a LED 13 on arduino. Nothing special but like I say it is a start point.
In my case I’m using a siemens MC35i to work with it.
Hope it help you

char numero[14];
char corpo[4];
char sms_array[120];

boolean estado_botao = false;
boolean smsReceived = false;

void setup()  
{
  Serial.begin(9600);
  Serial.println("Inicia Leitura Modem");
  Serial1.begin(9600);
  pinMode(13, OUTPUT);      
  pinMode(22, INPUT);  
  Serial1.println("AT+CMGF=1"); 
  delay(30);
  Serial1.print(0x0d,BYTE);  
  delay(30);
}

void loop()  
{
carrega_array_dados();
Serial.println(retira_numero_sms()); //Diagnostic  
Serial.println(retira_corpo_sms());  //Diagnostic
ligaLed();
}


//_____________________________
void carrega_array_dados()
{
int k = 0 ;
Serial1.print("AT+CMGR=1"); 
delay(100);
Serial1.print(0x0d,BYTE);  
while (Serial1.available() > 0) {
sms_array[k] = Serial1.read();
delay(80);
Serial.println(k); 
k++;
if(k >= 98)break;
}
Serial1.flush();
clear_ReceivedSMS();
}
//____________________________
void clear_ReceivedSMS(){
if((sms_array[31] == (0x2b)) && (smsReceived == false) ){
  Serial1.print("AT+CMGD=1"); 
  delay(80);
  Serial1.print(0x0d,BYTE);
  Serial.println("Apaguei SMS");//Diagnostic
  smsReceived = true;
 }
}
//________________________
String retira_numero_sms()
{
int l = 31; 
for (int j = 0;j<=12;j++){
numero[j] = sms_array[l];
l++;
  }  
numero[13] = '\0'; 
return numero;
}
  
  
//________________________
String retira_corpo_sms(){
int l = 71;
for( int i = 0;i<= 2; i++){
  corpo[i] = sms_array[l];
  l++;
 }
 corpo[3] = '\0'; 

 return corpo;
}
  
//________________________
void ligaLed(){
   
  if (strcmp(corpo, "123")  == 0 && strcmp(numero, "+351969999999" == 0) && smsReceived == true) 
   {
    digitalWrite(13, HIGH);
    //estado_botao = true;
    Serial.println("Liguei o LED");
    delay(80);
   // smsReceived = 0;
 String destination = "+351969999999";
 String message = "Turn on LED";
 enviaSMS(destination,message,estado_botao);  
  }
  else
  {
  digitalWrite(13, LOW);
  Serial.println("LED OFF");
  }
}
void enviaSMS(String destination, String message, boolean activado){
    if(activado == true){
    Serial1.print("AT+CMGS=");
    delay(80);
    Serial1.print(destination);
    delay(80);
    Serial1.print(0x0d,BYTE); //Send a enter
    delay(80);
    Serial1.print(message);
    delay(80);
    Serial1.print(0x1a,BYTE);//send  CTRL+Z
    estado_botao = false;
    } 
}

Some of the functions are in Portuguese text, sorry for that , even if you have some question I can explain it to you

Help me please... I wanna graduate already!

Hijacking other threads isn't the way to get help. Start your own.

Might I suggest that maybe you should have started this project several months ago, so you had time to research the issues, learn about your mysterious module, and write your own code.

What's your field of study, anyway? Most employers frown on you asking other people to do your work.

Hijacking other threads isn't the way to get help. Start your own.

And hijacking multiple other threads with same question REALLY isn't the way to get help.

Don't worry, I've deleted most of the others for you.

This is the GSM control system for Alarm and home sensor system.
Sensor output can redirect to various output port (user configurable):
BUZZER
SIREN
SMS
USB
LED/LCD
Internet
IOutput port
Timer-