CMS和手機(jī)通訊協(xié)議2023年_第1頁
CMS和手機(jī)通訊協(xié)議2023年_第2頁
CMS和手機(jī)通訊協(xié)議2023年_第3頁
CMS和手機(jī)通訊協(xié)議2023年_第4頁
CMS和手機(jī)通訊協(xié)議2023年_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本協(xié)議版本:1.0.03

CMS和手機(jī)通訊協(xié)議2011-711-14 hw商定:由于手機(jī)通訊比較慢,所以省略一些通訊過程,手機(jī)直接和相應(yīng)效勞器通訊,手機(jī)客戶端中使用效勞器的端口為固定端口,所以每個(gè)命令都標(biāo)注有端口。本協(xié)議中的全部連接都為TCP連接通訊,全部通訊都為客戶端主動(dòng)發(fā)起連接。本協(xié)議中的構(gòu)造和數(shù)據(jù)類型全部為C++sen”為手機(jī)發(fā)送的數(shù)據(jù)re”為效勞器回應(yīng)的數(shù)據(jù)。相關(guān)構(gòu)造體#defineSTR_SIZE_USER_ID32#define STR_SIZE_PSW32#defineSTR_SIZE_PHONE64#define STR_SIZE_ADDRESS#defineSTR_SIZE_MOBILE#defineSTR_SIZE_NAME#define STR_SIZE_EMAIL256646464#defineSTR_SIZE_REMARK#defineSTR_SIZE_TIME32256#defineSTR_SIZE_IP256typedefstruct{unsignedshorthead;unsignedshortlength;unsignedchartype;unsignedcharchannel;unsignedshortcommd;

//0xaa55,同步頭//消息長度,不包含此數(shù)據(jù)頭//用到的地方會(huì)做說明//懇求DVR視頻通道,懇求視頻的時(shí)候用//懇求命令字}Header;//全部通訊協(xié)議頭部固定構(gòu)造typedefstruct_tagDevRegInfo{charszUserID[STR_SIZE_USER_ID];charszPsw[STR_SIZE_PSW];charszUserName[STR_SIZE_NAME];charszChannelName[512];//16通道的名稱(格式:1#$;2#$;3#$;4)longlDevType;int nIsOnline;charszAreaName[STR_SIZE_NAME];

//區(qū)域名intintnAreaIndex;//區(qū)域索引}DevRegInfo,*lpDevRegInfo;typedefstruct_tagUserInfo{charszUserID[32]; //IDcharszUserName[32];//用戶名稱charszPsw[32];intnType;intnOperatType;

//用戶密碼//用戶類型//用戶權(quán)限}UserInfo,*lpUserInfo;//用戶信息根本構(gòu)造說明:用戶類型等級#defineUSER_ADMIN1//超級用戶#defineUSER_AREA2//區(qū)域用戶#defineUSER_CLUB3//運(yùn)營商#defineUSER_ALARM4//接警用戶#defineUSER_COMM5//DVR用戶#defineUSER_COM_MANAGER9//DVR用戶用戶權(quán)限:全部操作權(quán)限只有查看權(quán)限此用戶已經(jīng)被停用,不賜予登陸typedefstruct{short m_nBrightness; //unsignedchar

m_nContrast;

//unsignedchar m_nSaturation; //short

m_nHue;

//unsignedchar}ANALOG_CHANNEL;typedefstruct{

m_u8Reserved[2];//sizeof(short)==2charstrID[16]; //設(shè)備ID,此ID由效勞器安排intnDevType; //設(shè)備類型charstrPsw[16]; //16字節(jié)密碼charrec[48]; //48字節(jié)}DVRRegInfo,*LPDevRegInfo; //注冊信息//云臺(tái)typedefenum{CMD_STOP=0,CMD_LEFT,CMD_RIGHT,CMD_UP,CMD_DOWN,CMD_CALL_CRIUSE=0x12,CMD_AUTOSCAN=0x13,CMD_CALLPRESET=0x15,

//CMD_CALL_KINDSCAN0x16,//呼叫把戲掃描CMD_FOCUSFAR0x23,//遠(yuǎn)CMD_FOCUSNAER0x24, //近CMD_IRISOPEN0x25,//光圈開CMD_IRISCLOSE=0x26,CMD_ZOOMTELE0x27,//縮CMD_ZOOMWIDE=0x28,

//關(guān)//伸CMD_SET_CRIUSE_P0x32,//設(shè)置巡航點(diǎn)CMD_SETPRESET0x35,CMD_CRIUSE,CMD_CLRPRESET,CMD_STOPSCAN,//CMD_SET_DWELLTIME,CMD_KINDSCAN_START,CMD_KINDSCAN_END,CMD_CLRCRIUES_LINE,CMD_CLR_SCAN_LINE,CMD_CLR_KINDSCAN,}PTZ_CMD_E;typedefstruct_tagPZTControl{charhear;charchannel;charcmd;charpara0;charpara1;charcheck;

//固定0x0ff//通道號//命令號PTZ_CMD_E//1//2//1~54}PZTControl_S,*LPPZTControl_S;手機(jī)客戶端通訊步驟:1(命令號:0x1000)通訊數(shù)據(jù)://send:Header+UserInfo//rec:Header+int+UserInfo通訊過程:Aip和端口〔7978〕向效勞器建立連接B、發(fā)送數(shù)據(jù)到效勞器,數(shù)據(jù)格式:Header+UserInfoC、等待效勞器回應(yīng),承受數(shù)據(jù)格式:Header+int+UserInfo〔int0表示成功,非零表示失敗〕D、斷開連接〔假設(shè)不斷開,一段時(shí)間效勞器沒收到此鏈接的數(shù)據(jù),效勞器會(huì)斷開此鏈接〕*Header填充例如代碼:C++實(shí)例代碼voidNetFillPackHead(Header*pHead,unsignedshortnCMD,unsignedshortnPackLen){pHead->head=0xbb55;pHead->length=nPackLen;//發(fā)送數(shù)據(jù)長度,不包含此頭的長度pHead->commdnCMD;//0x1000}*登陸通訊例如代碼://send:head+userInfo//rec:head+int+userInfoLongLogin(char*strDomain,intnPort,UserInfo*pUserInfo){CWinSocketwinsock;BOOLbRecvOk=FALSE;longnErr=-1;charszSend[10240]={0};intnSendSize=sizeof(UserInfo);Header*pHead=(Header*)szSend;pHead->channel=0;pHead->type=0;//MSG_CLIENT_LOGIN為0x1000宏NetFillPackHead(pHead,MSG_CLIENT_LOGIN,nSendSize);//memcpy(szSend+HEAD_SIZE,pUserInfo,nSendSize);nSendSize+=HEAD_SIZE;intnRecvLen=HEAD_SIZE+sizeof(int)+sizeof(UserInfo);if(winsock.Connect(m_strDomain,m_nPort)){

//連接if(winsock.SendTcpData(szSend,nSendSize,m_dwSendTimeOut)){

//發(fā)送數(shù)據(jù)if(winsock.RecvTcpDataEx(szSend,nRecvLen,m_dwRecvTimeOut)&&nRecvLen>0){}

//承受數(shù)據(jù)bRecvOkTRUE;}}if(bRecvOk){nErr*((int*)(szSendHEAD_SIZE));//檢查錯(cuò)誤碼,0表示成功,非零失敗pUserInfo->nType=((UserInfo*)(szSend+HEAD_SIZE+sizeof(int)))->nType;memcpy(&m_LoginUserInfo,(UserInfo*)(szSendHEAD_SIZE+sizeof(int)),sizeof(UserInfo));}returnnErr;}2、獵取在線設(shè)備列表〔命令號:0x1003〕通訊數(shù)據(jù)://send:Header+UserInfo+int//rec:Header+int+int+n*DevRegInfo通訊過程:A、手機(jī)客戶端通過效勞器ip和端口〔7978〕向效勞器建立連接B:Header+UserInfo+int〔0-1-在線設(shè)備〕C、等待效勞器回應(yīng),承受數(shù)據(jù)格式:Header+int+int〔第一個(gè)int類型數(shù)據(jù)為錯(cuò)誤碼,0表示成功,非零表示失敗,其次個(gè)int類型數(shù)據(jù)表示返回的設(shè)備數(shù)量n,后面跟的是n臺(tái)DevRegInfo數(shù)據(jù)〕D、斷開連接〔假設(shè)不斷開,一段時(shí)間效勞器沒收到此鏈接的數(shù)據(jù),效勞器會(huì)斷開此鏈接〕3、懇求流視頻〔命令號:主碼流:--0x9002 子碼流--0x90a2〕注:手機(jī)一般都是子碼流注:效勞返回的視頻流和DVR返回的視頻流完全一樣,所以完全可以參照和設(shè)備直連的方式處理通訊數(shù)據(jù)://send:Header+DVRRegInfo//rec:視頻數(shù)據(jù)typedefstruct{unsignedint m_nVHeaderFlag;//幀標(biāo)識(shí),x0dc(I幀),x1dc〔p幀〕unsignedint m_nVFrameLen; //幀的長度unsignedchar m_u8Hour;unsignedchar m_u8Minute;unsignedchar m_u8Sec;unsignedchar m_u8Pad0; //代表附加消息的類型,依據(jù)這個(gè)類型打算其信01.2.3各代表其信息unsignedint m_nILastOffset; //此幀相對上一個(gè)IFRAME的偏移只對Iframe有用 int64m_lVPts;//時(shí)間戳unsignedintunsignedint}VideoFrameHeader;m_nAlarmInfo;m_nReserved;視頻數(shù)據(jù)構(gòu)造:VideoFrameHeader+視頻數(shù)據(jù)〔h264數(shù)據(jù)〕通訊過程:A、手機(jī)客戶端通過效勞器ip和端口〔7976〕向效勞器建立連接B、發(fā)送數(shù)據(jù)到效勞器,數(shù)據(jù)格式:Header+DVRRegInfoC、等待效勞器回應(yīng),效勞器發(fā)送視頻數(shù)據(jù),手機(jī)客戶端承受視頻數(shù)據(jù)D、解碼播放視頻4〔命令號:0x9003〕說明:在視頻通道socket連接中發(fā)送此命令通訊數(shù)據(jù)格式://send:Header//rec:無5〔命令號:0xa300〕在視頻通道socket連接中發(fā)送此命令通訊數(shù)據(jù)格式://send:Header+PZTControl_S+DVRRegInfo//rec:無〔效勞器不回復(fù)此命令〕6命令號:A、0xa10f //恢復(fù)默認(rèn)單通道前端參數(shù)B、0xa110 //設(shè)置單通道模擬量〔顏色〕C、0xa111 //獵取單通道模擬量〔顏色〕通訊數(shù)據(jù)格式://send:Header+ANALOG_CHANNEL+DVRRegInfo//rec:0通訊步驟:A、手機(jī)客戶端通過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論