The system consists of two mobile connected by the existing cellular mobile network. One of the mobile is connected to the computer by USB data cable. The computer contains the series of computer program that is capable of retrieving SMS, processing and directing hardware to produce the desired output. The hardware part is connected to the computer by the parallel port output.
Output Hardware Description
At this stage, we have tried to light on the LED. This is at the simplest stage of the project. When successful
in this we intend to extend this part and try other circuits. Many other hardware components can be controlled by using parallel port. Upto this moment, we have used 8 output pins of parallel port indivudally or combination of them. The hardware circuit consists leds that are connected through diodes and reistors. Diodes are used to prevent the back-flow of voltage. It prevents the computer from being damaged since diodes allow one directional current/voltage flow. The output can be taken from pins 1-9, 14, 16, 17 of parallel port .The hardware configuration is shown below.
Program to generate voltage out:
There are two programs one batch file and the other is C program.
C program
#include<stdio.h>
#include<dos.h>
#include<conio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
int counterdata(int m);
counterdata(int m)
{
int e;
FILE *stream;
stream=fopen("counter.txt","r+");
int data;
fscanf(stream,"%d",&data);
e=data+m;
if (e>=0 && e<=255)
data=e;
fclose(stream);
stream=fopen("counter.txt","w");
fprintf(stream,"%d",data);
return data;
}
void main()
{
clrscr();
FILE *fp;
long n;
int value;
static char S_ON1[13]={"SWITCH ON: 1"};
static char S_ON2[13]={"SWITCH ON: 2"};
static char S_ON3[13]={"SWITCH ON: 3"};
static char S_ON4[13]={"SWITCH ON: 4"};
static char S_ON5[13]={"SWITCH ON: 5"};
static char S_ON6[13]={"SWITCH ON: 6"};
static char S_ON7[13]={"SWITCH ON: 7"};
static char S_ON8[13]={"SWITCH ON: 8"};
static char S_OFF1[14]={"SWITCH OFF: 1"};
static char S_OFF2[14]={"SWITCH OFF: 2"};
static char S_OFF3[14]={"SWITCH OFF: 3"};
static char S_OFF4[14]={"SWITCH OFF: 4"};
static char S_OFF5[14]={"SWITCH OFF: 5"};
static char S_OFF6[14]={"SWITCH OFF: 6"};
static char S_OFF7[14]={"SWITCH OFF: 7"};
static char S_OFF8[14]={"SWITCH OFF: 8"};
int i=0, k=0;
char m;
char c[1000];
char text[13];
n = 0L;
fp = fopen("message.txt","r");
while(feof(fp)==0)
{
c[n]= getc(fp);
if(c[n]=='#')
do
{
n=n+1L;
m=getc(fp);
if(m=='#')
break;
text[i] = m;
i=i+1;
}
while(i<15);
n=n+1L;
}
while(S_ON1[k]==text[k]&&S_ON1[k]!='\0')
k=k+1;
if(S_ON1[k]=='\0')
{
printf("SWITCH 1 : ON");
value = counterdata(1);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
else
k=0;
while(S_ON2[k]==text[k]&&S_ON2[k]!='\0')
k=k+1;
if(S_ON2[k]=='\0')
{
printf("SWITCH 2 : ON");
value = counterdata(2);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
else
k=0;
while(S_ON3[k]==text[k]&&S_ON3[k]!='\0')
k=k+1;
if(S_ON3[k]=='\0')
{
printf("SWITCH 3 : ON");
value=counterdata(4);
printf("\n%d",value);
goto END;
}
else
k=0;
while(S_ON4[k]==text[k]&&S_ON4[k]!='\0')
k=k+1;
if(S_ON4[k]=='\0')
{
printf("SWITCH 4 : ON");
value=counterdata(8);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
else
k=0;
while(S_ON5[k]==text[k]&&S_ON5[k]!='\0')
k=k+1;
if(S_ON5[k]=='\0')
{
printf("SWITCH 5 : ON");
value=counterdata(16);
printf("\n%d",value);
goto END;
}
else
k=0;
while(S_ON6[k]==text[k]&&S_ON6[k]!='\0')
k=k+1;
if(S_ON6[k]=='\0')
{
printf("SWITCH 6 : ON");
value=counterdata(32);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
else
k=0;
while(S_ON7[k]==text[k]&&S_ON7[k]!='\0')
k=k+1;
if(S_ON7[k]=='\0')
{
printf("SWITCH 7 : ON");
value=counterdata(64);
printf("\n%d",value);
goto END;
}
else
k=0;
while(S_ON8[k]==text[k]&&S_ON8[k]!='\0')
k=k+1;
if(S_ON8[k]=='\0')
{
printf("SWITCH 8 : ON");
value=counterdata(128);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
else
k=0;
while(S_OFF1[k]==text[k]&&S_OFF1[k]!='\0')
k=k+1;
if(S_OFF1[k]=='\0')
{
printf("SWITCH 1 : OFF");
value=counterdata(-1);
printf("\n%d",value);
goto END;
}
else
k=0;
while(S_OFF2[k]==text[k]&&S_OFF2[k]!='\0')
k=k+1;
if(S_OFF2[k]=='\0')
{
printf("SWITCH 2 : OFF");
value=counterdata(-2);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
else
k=0;
while(S_OFF3[k]==text[k]&&S_OFF3[k]!='\0')
k=k+1;
if(S_OFF3[k]=='\0')
{
printf("SWITCH 3 : OFF");
value=counterdata(-4);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
else
k=0;
while(S_OFF4[k]==text[k]&&S_OFF4[k]!='\0')
k=k+1;
if(S_OFF4[k]=='\0')
{
printf("SWITCH 4 : OFF");
value=counterdata(-8);
printf("\n%d",value);
goto END;
}
else
k=0;
while(S_OFF5[k]==text[k]&&S_OFF5[k]!='\0')
k=k+1;
if(S_OFF5[k]=='\0')
{
printf("SWITCH 5 : OFF");
value=counterdata(-16);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
else
k=0;
while(S_OFF6[k]==text[k]&&S_OFF6[k]!='\0')
k=k+1;
if(S_OFF6[k]=='\0')
{
printf("SWITCH 6 : OFF");
value=counterdata(-32);
printf("\n%d",value);
goto END;
}
else
k=0;
while(S_OFF7[k]==text[k]&&S_OFF7[k]!='\0')
k=k+1;
if(S_OFF7[k]=='\0')
{
printf("SWITCH 7 : OFF");
printf("\nDECIMAL VALUE OUTPUT %d",value);
value=counterdata(-64);
goto END;
}
else
k=0;
while(S_OFF8[k]==text[k]&&S_OFF8[k]!='\0')
k=k+1;
if(S_OFF8[k]=='\0')
{
printf("SWITCH 8 : OFF");
value=counterdata(-128);
printf("\nDECIMAL VALUE OUTPUT %d",value);
goto END;
}
END:
remove("message.txt");
delay(5000);
}
Batch program
@echo off
IF EXIST *.vmg (
Del d:\ <location>\ text.txt
Copy *.vmg d:\<location>
Rename d:\< location> *.vmg text.txt
Del *.vmg
Del d:\<location>\*.vmg
Autocopy.bat
)
Autocopy.bat
Now, you can control any hardware with program modification.
Similar concept can be implemented to control any thing with parallel port.