GSM Codexczxczx
GSM Codexczxczx
GSM Codexczxczx
h>
#include <gprs.h>
#include <SoftwareSerial.h>
#include <String.h>
char inData[80];
byte index;
int addr = 0;
int i=0,j=0,value,k=1,truenum;
char lastCharRead[100];
#define LED1 5
#define LED2 10
#define SIM800_RX_PIN 7
#define SIM800_TX_PIN 8
SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);
bool ledStatus1;
bool ledStatus2;
GPRS gprs;
void setup() {
Serial.begin(9600);
delay(1000);
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
while(!Serial);
gprs.preInit();
delay(1000);
while(0 != gprs.init())
delay(1000);
Serial.print("init error\r\n");
delay(40000);
ERROR("ERROR:CNMI");
return;
ERROR("ERROR:CNMI");
return;
Serial.println("Init success");
serialSIM800.println( "AT+CMGF=1");
serialSIM800.write("AT+CMGL=ALL");
serialSIM800.write("AT+CMGD=,4");
delay(500);
Serial.println("deleted");
for(int j=1;j<11;j++)
value = EEPROM.read(j);
Serial.print(value, DEC);
inData[80]=value;
int currentLineIndex = 0;
//Boolean to be set to true if message notificaion was found and next
void loop()
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
if(gprs.serialSIM800.available())
for(i=0;i<65;i++)
lastCharRead[i] = gprs.serialSIM800.read();
delay(5);
if(lastCharRead[51] == SOP)
for(i=0;i<11;i++)
Serial.println(lastCharRead[11+i]);
EEPROM.write(i,lastCharRead[11+i]-48);
}
}
//Read each character from serial output until \r or \n is reached (which denotes end of line)
for(i=0;i<50;i++)
lastCharRead[i];
delay(5);
numberVerify();
Serial.println("verify");
if(truenum == 1){
k=0;
digitalWrite(LED1, HIGH);
ledStatus1 = 1;
delay(3000);
digitalWrite(LED1, LOW);
ledStatus1 = 0;
delay(1000);
Serial.println("motor on");
delay(1000);
gprs.serialSIM800.write("AT+CMGF=1\r\n");
delay(1000);
for(int j=1;j<11;j++){
value = EEPROM.read(j);
gprs.serialSIM800.print(value);
delay(3);
gprs.serialSIM800.write("\"\r\n");
delay(1000);
delay(100);
delay(1000);
for(i=0;i<50;i++)
lastCharRead[i];
delay(5);
numberVerify();
Serial.println("verify");
if(truenum == 1){
k=0;
digitalWrite(LED2, HIGH);
ledStatus2 = 1;
delay(3000);
digitalWrite(LED2, LOW);
ledStatus2 = 0;
delay(1000);
Serial.println("motor off");
delay(1000);
gprs.serialSIM800.write("AT+CMGF=1\r\n");
delay(1000);
gprs.serialSIM800.write("AT+CMGS=\"+91");
for(int j=1;j<11;j++){
value = EEPROM.read(j);
gprs.serialSIM800.print(value);
delay(3);
gprs.serialSIM800.write("\"\r\n");
delay(1000);
delay(100);
delay(1000);
}
}
for(i=0;i<50;i++)
lastCharRead[i];
delay(5);
numberVerify();
Serial.println("ooohhn");
if(truenum == 1){
k=0;
gprs.serialSIM800.write("AT+CMGF=1\r\n");
delay(1000);
gprs.serialSIM800.write("AT+CMGS=\"+91");
for(int j=1;j<11;j++){
value = EEPROM.read(j);
gprs.serialSIM800.print(value);
delay(3);
gprs.serialSIM800.write("\"\r\n");
delay(1000);
delay(100);
gprs.serialSIM800.write((char)26);// ASCII code of CTRL+Z
delay(1000);
}}}
void numberVerify(){
value = EEPROM.read(k);
if(lastCharRead[i]-48 == value){
k++;}
if(k>=9){
truenum = 1; }
if(k<5){
truenum = 0; }