本帖最后由 杨宝珊 于 2012-12-3 16:33 编辑
中九卫星机的卫星定位问题。 三代机通讯模块定位原理 利用小区号和基站号可以做简单的GSM定位,下面给出一个取得小区号和基站号的方法。 首先依然是打开AT指令端口。 HANDLEhCOM9 = CreateFile ( L"COM9:" , GENERIC_READ|GENERIC_WRITE ,FILE_SHARE_READ|FILE_SHARE_WRITE , NULL , OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL, NULL ); if ( hCOM9 == INVALID_HANDLE_VALUE) MzMessageBoxEx( NULL , L"Error opening COM9" , NULL ); 要取得小区号和基站号,需要首先让手机输出这两个号码,方法是利用设置命令 "AT+CREG=2"。然后再发送AT+CREG?查询即可取得基站号和ID号。 DWORDdwBytes; char p = 0x0D ; //cr char q = 0x0A ; //lf WriteFile( hCOM9 , “AT+ CREG= 2 ;+CREG?” , 9 , &dwBytes , NULL ); WriteFile( hCOM9 , &p , 1 , &dwBytes, NULL ); WriteFile( hCOM9 , &q , 1, &dwBytes , NULL ); 返回值应该是这样的: AT+ CREG= 2 ;+CREG? < cr > < lf > +CREG: 2,n,"ABCD","ABCD" < cr > < lf> OK < cr > < lf > 其中第一个“ABCD”是小区号(LAC),第二个“ABCD”是基站号(CI)。 至于运营商,可以用AT+COPS?获取。返回值应该类似这样: AT+COPS?< cr > < lf > +COPS:0,0,"China Mobile" < cr > < lf > OK < cr > < lf > 这样,就可以利用取得的基站号和ID号做基站定位了。 用单片机模拟通讯模块运行环境,就可以破解三代机地理位置**! |