Page 356 - ARM Based Microcontroller Projects Using MBED
P. 356
342 14. ADVANCED PROJECTS
if(!wifi.connect(ssid, password, NSAPI_SECURITY_WPA2))
{
return -1;
}
//
// Connect to the remote device (mobile phone) over TCP
//
int ret = socket.connect(IPAddress, 5000);
if(ret)return -1;
//
// Receive data packets over TCP and activate/de-activate the
// required relay. Variable count is greater than 0 if data is
// received over the network. The commands are ONx or OFFx. Thus
// for example Buffer[0] ='O' and Buffer[1]='N' or Buffer[0]='O'
// and Buffer[1]='F' and Buffer[2]='F'
//
while(1)
{
count = socket.recv(Buffer, sizeof Buffer);
if(count > 0)
{
if(Buffer[0] == 'O' && Buffer[1] == 'N')
{
if(Buffer[2] == '1') Relay1 = 0;
else if(Buffer[2] == '2')Relay2 = 0;
else if(Buffer[2] == '3')Relay3 = 0;
else if(Buffer[2] == '4')Relay4 = 0;
}
else if(Buffer[0] == 'O' && Buffer[1] == 'F' && Buffer[2] == 'F')
{
if(Buffer[3] == '1') Relay1 = 1;
else if(Buffer[3] == '2')Relay2 = 1;
else if(Buffer[3] == '3')Relay3 = 1;
else if(Buffer[3] == '4')Relay4 =1;
}
}
}
}
FIG. 14.10, CONT’D
Command Action
ON1 Activate Relay 1
ON2 Activate Relay 2
ON3 Activate Relay 3
ON4 Activate Relay 4
OFF1 Deactivate Relay 1
OFF2 Deactivate relay 2
OFF3 Deactivate Relay 3
OFF4 Deactivate Relay 4