Send SMS (SIM900)
/*
* http://arduspot.blogspot.in/p/gsm.html
*/
#include <SoftwareSerial.h>
SoftwareSerial gsm(9, 10);
void setup()
{
gsm.begin(9600);
Serial.begin(9600);
delay(100);
}
void loop()
{
gsm.println("AT+CMGF=1");
delay(1000);
gsm.println("AT+CMGS=\"+919597631649\"\r");
delay(1000);
gsm.println("Text Msg line 1");
gsm.println("Text Msg line 2");
delay(100);
gsm.println((char)26);
delay(1000);
}
Receive SMS (SIM900)
/** http://arduspot.blogspot.in/p/gsm.html
*/
#include<SoftwareSerial.h>
SoftwareSerial gsm(9,10);
// incoming gsm byteINT
char inByte = 0;
char sms[256];
void setup()
{
gsm.begin(9600);
Serial.begin(9600);
// wait for a while till the gsm port is ready
delay(100);
// send the initial data once //
gsm.print("AT+CMGF=1\r");
delay(2000);
gsm.print("AT+CNMI=2,2,0,0,0\r");
delay(2000);
}
void loop()
{
for(int a = 0; a<255;a++)
{
sms[a] = '\0';
}
if (gsm.available())
{
do
{
while ( !gsm.available() );
} while ( '"' != gsm.read() );
do
{
while ( !gsm.available() );
} while ( '"' != gsm.read() );
do
{
while ( !gsm.available() );
} while ( '"' != gsm.read() );
do
{
while ( !gsm.available() );
} while ( '"' != gsm.read() );
do
{
while ( !gsm.available() );
} while ( '"' != gsm.read() );
do
{
while ( !gsm.available() );
} while ( '"' != gsm.read() );
while ( !gsm.available() );
inByte = gsm.read();
while ( !gsm.available() );
inByte = gsm.read();
int i = 0;
while(1)
{
inByte = gsm.read();
if ( inByte == '\r' )
{
break;
}
else
{
if(inByte != (char)-1)
{
sms[i] = inByte;
i++;
}
}
}
}
Serial.print(sms);
}
Control LED via SMS:
/*
* http://arduspot.blogspot.in/p/gsm.html
*/
// give the pin a name:
int led = 7;
// incoming serial byteINT
char inByte = 0;
char msg;
void setup()
{
// initialize the led pin as an output.
pinMode(led, OUTPUT);
// start serial port at 9600 bps
Serial.begin(9600);
// wait for a while till the serial port is ready
delay(100);
// send the initial data once //
Serial.print("AT+CMGF=1\r");
delay(2000);
Serial.print("AT+CNMI=2,2,0,0,0\r");
delay(2000);
}
void loop()
{
if (Serial.available())
{
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
while ( !Serial.available() );
inByte = Serial.read();
while ( !Serial.available() );
inByte = Serial.read();
while(1)
{
while ( !Serial.available() );
inByte = Serial.read();
if ( inByte == '\r' )
{
Serial.print( msg );
delay(2000);
break;
}
else
msg += inByte;
delay(100);
}
if( msg == '1')
{
Serial.println("LED ON");
digitalWrite(led,HIGH);
delay(5000);
}
else if( msg == '2')
{
digitalWrite(led,LOW);
delay(5000);
}
else
{
digitalWrite(led,LOW);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
delay(20);
}
msg=0;
}
}
* http://arduspot.blogspot.in/p/gsm.html
*/
// give the pin a name:
int led = 7;
// incoming serial byteINT
char inByte = 0;
char msg;
void setup()
{
// initialize the led pin as an output.
pinMode(led, OUTPUT);
// start serial port at 9600 bps
Serial.begin(9600);
// wait for a while till the serial port is ready
delay(100);
// send the initial data once //
Serial.print("AT+CMGF=1\r");
delay(2000);
Serial.print("AT+CNMI=2,2,0,0,0\r");
delay(2000);
}
void loop()
{
if (Serial.available())
{
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
do
{
while ( !Serial.available() );
} while ( '"' != Serial.read() );
while ( !Serial.available() );
inByte = Serial.read();
while ( !Serial.available() );
inByte = Serial.read();
while(1)
{
while ( !Serial.available() );
inByte = Serial.read();
if ( inByte == '\r' )
{
Serial.print( msg );
delay(2000);
break;
}
else
msg += inByte;
delay(100);
}
if( msg == '1')
{
Serial.println("LED ON");
digitalWrite(led,HIGH);
delay(5000);
}
else if( msg == '2')
{
digitalWrite(led,LOW);
delay(5000);
}
else
{
digitalWrite(led,LOW);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
delay(20);
}
msg=0;
}
}
Call a Number
/*
* http://arduspot.blogspot.in/p/gsm.html
*/
#include<SoftwareSerial.h>
SoftwareSerial gsm(9,10);
void setup()
{
Serial.begin(9600);
gsm.begin(9600);
gsm.print("ATD9597631649");
}
void loop()
{}
No comments:
Post a Comment