// by N M D Weerasinghe SLCOTM
String Msg;
String Category;
String Function;
int Device_Number;
int First_Space;
int Second_Space;
bool Status;
void setup() {
for (int i= 2; i < 7;i++)
{
pinMode(i, OUTPUT);
digitalWrite(i,1);
}
delay(1500);
for (int i= 2; i < 7;i++)
{
digitalWrite(i,0);
}
Serial.begin(9600);
Serial.println("Enter the command");
}
void loop() {
if(Serial.available() )
{
delay(20);
//Serial.print("Serial Available : ");
//Serial.println(Serial.available() );
Msg = Serial.readString();
First_Space = Msg.indexOf(" ");
//Serial.print("First Space : ");
//Serial.println(First_Space);
Second_Space = Msg.indexOf(" ",First_Space+1);
//Serial.print("Second space : ");
//Serial.println(Second_Space);
int Third_Space = Msg.indexOf(" ",Second_Space+1);
//Serial.println(Msg.substring(5));
//Serial.println(Msg.substring(4,5));
Category = Msg.substring(0,First_Space);
String Device_Numb = Msg.substring(First_Space+1,Second_Space);
Device_Number = Device_Numb.toInt();
Function = Msg.substring(Second_Space + 1);
Serial.print("Category : ");
Serial.println(Category);
Serial.print("Device_Numb : ");
Serial.println(Device_Numb);
Serial.print("Function : ");
Serial.println(Function);
if(Category == "LED")
{
if (Function.indexOf("ON") == 0)
{
Status = true;
}
else if(Function.indexOf("OFF") == 0)
{
Status = false;
}
else
{
Serial.println("Invalid Command (Operation)");
}
digitalWrite(Device_Number + 1 ,Status);
}
else
{
Serial.println("Invalid Command (Category)");
}
}
}