1,文檔目的:
了解對于物聯網網關與攝像機協議聯動,進行報警抓圖,智能檢測,OSD疊加,語音播報控制等聯動及數據交互。
適用產品:物聯網網關
(OSD是屏幕顯示技術的一種)
2,總線結構
協議方式:采用RS485與UDP共存方式,交互數據格式相同。 RS485采用2線制接口,波特率19200,數據位8,奇偶檢驗N,停止位1。
傳輸方式:RS485采用半雙工總線傳輸方式。數據在通信過程中,以報文的形式,按幀進行傳輸。
UDP數據采用大端方式
網關作為主設備,攝像機作為從設備。
3,通信協議
數據幀格式:通信數據采用不定長度的通訊數據幀結構,并根據命令碼區分不同數據類型
以下數據類型未做特殊說明,均為 16 進制。
類型 | 長度 | 數據 | 描述 |
---|---|---|---|
幀 頭 | 2Byte | 1A 5A | 數據幀的幀頭,主機到從機方向 |
1B 5B | 數據幀的幀頭,從機到主機方向 | ||
地 址 | 1Byte | 從機地址,從 1 開始。(暫不啟用) | |
命令碼 | 2Byte | 數據幀的命令類型。 | |
數據長度 | 1Byte | 數據內容長度。 | |
數據內容 | nByte | 具體數據內容。 | |
校 驗 | 1Byte | 包括幀頭在內的所有字節的加總異或。 |
如:
幀頭 | 地址 | 命令碼 | 長度 | 數據 | 校驗 |
---|---|---|---|---|---|
01 | 03 | 01 02 03 | 4D |
校驗方式:
uint8_t checkSum(uint8_t * dat, uint16_t len){ uint8_t ret = 0; for(uint16_t i=0; i<len; i++) { ret ^=dat[i]; }return ret; }
數據幀命令碼
命令碼為數據幀的命令類型,具體需求看各部分細則(返回的命令碼與請求的一致)。
命令碼 | 描述 |
---|---|
0x0C01 | OSD命令 |
0x0C02 | 控制命令 |
4,數據通信協議
1,OSD命令
示例設備發送命令,從設備返回應答數據。字符疊加使用485或UDP發送幀狀態數據。命令碼:0x0C01
發送幀:
幀頭 | 地址 | 命令碼 | 長度 | 數據 | 校驗 |
---|---|---|---|---|---|
xx | nByte | - |
數據:
數據類型 | 長度 | 數據范圍 | 描述 |
---|---|---|---|
OSD 疊加 | 1Byte | 0:不疊加 | |
1:疊加 | 若為 0,以下數據無,數據長度 為 01 | ||
門狀態 | 1Byte | 0:關門 | |
1:開門 | |||
當前樓層 | 1Byte | -128~+127 | uint8 無符號 |
總樓層 | 1Byte | 0-255 | |
運行方向 | 1Byte | 0 | 平層 |
1 | 上行 | ||
2 | 下行 |
2,控制幀
主設備發命令,從設備返回應答數據
發送幀:
幀頭 | 地址 | 命令碼 | 長度 | 數據 | 校驗 |
---|---|---|---|---|---|
xx | nByte | - |
數據格式:
數據類型 | 長度 | 范圍 | 描述 |
---|---|---|---|
安撫語音 | 1Byte | 0:不播放 | 播放完成自動結束 |
1:開始播放 | |||
串口控制碼 | 1Btye | 0:不抓圖 | 非0抓圖 |
>=2串口控制碼 |
最后使用的發送命令的工具,網絡調試小助手
百度云盤鏈接:link
88jj
使用方式: