我们来实现用串口通信控制手机:
1.打开串口(我使用前天发的那段代码);
bool ret = OpenComm("Com1",115200);
if( !ret)
{
cout << "can not open serial port com1" << endl;
return -1;
}
2. 写串口,读串口,验证手机是否打开
char pAns[128];
WriteComm("at/r",3);
ReadComm(pAns,128);
if( "OK"==strstr(pAns) )
cout << "Mobile is OK!" <<endl;
3. 从一个文件中读取一连串的at命令,每个at命令一行,每一行间隔1sec
CString str;
char cmd[128];
CStdioFile file("c://test.cmd",CFile::modeRead);
while( !file.ReadString(str) )
{
if(str.GetLength() > 3)
{
sprintf(cmd, "%s/r", str.GetString());
WriteComm(cmd, strlen(cmd));
Sleep(1000);
}
}
这样就可以实现从文本中读取at命令进行控制手机了。
进一步:
可以做一个脚本翻译的,比如中间键用CENTERKEY表示,等待用WAIT(time)表示,然后再有程序翻译成at命令行,然后再执行。
这样用户就可以自己来编辑脚本来控制手机了。
再进一步:
录制脚本,可以做一个模拟手机,然后用户的按键会录制成脚本。这样用户可以很好维护。还有加入加上python脚本,可以形成控制流。