Hello;
#include <SoftwareSerial.h>
SoftwareSerial mySerial(7,8); // (Rx,Tx > Tx,Rx)
String incomingData;
char incomingByte;
String inputString;
int relay = 4; // Output for Relay Control
void setup()
{
inputString = "";
pinMode(relay, OUTPUT);// initialize digital pin relay as an output.
digitalWrite(relay, LOW);// Initial state of the relay
delay(100);
mySerial.begin(9600);
while(!mySerial.available()){
mySerial.println("AT");
delay(1000);
}
mySerial.println("AT+CMGF=1");
delay(1000);
mySerial.println("AT+CNMI=1,2,0,0,0");
delay(1000);
mySerial.println("AT+CMGL=\"REC UNREAD\"");
}
void loop()
{
if(mySerial.available()){
delay(100);
while(mySerial.available()){
incomingByte = mySerial.read();
inputString += incomingByte;
}
delay(10);
inputString.toUpperCase();
//turn RELAY ON or OFF
if (inputString.indexOf("START") > -1){
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on
digitalWrite(relay, HIGH); // turn the LED on
SendMessage("PUMP ON");
}
if (inputString.indexOf("STOP") > -1){
digitalWrite(LED_BUILTIN, LOW); // turn the LED on
digitalWrite(relay, LOW); // turn the LED off
SendMessage("PUMP OFF");
}
delay(50);
//Delete Messages & Save Memory
if (inputString.indexOf("OK") == -1){
mySerial.println("AT+CMGDA=\"DEL ALL\"");
delay(1000);}
inputString = "";
}
}
void SendMessage(String Text)
{
mySerial.println("AT+CMGF=1");
delay(1000);
mySerial.println("AT+CMGS=\"+xxxxxxxxxxxxxx\"\r"); // Replace x with mobile number
delay(1000);
mySerial.println(Text);
delay(100);
mySerial.println((char)26);
delay(1000);
}
void RecieveMessage()
{
incomingData = mySerial.read();
delay(1000);
}