1. 程式人生 > >IOT 自定義通訊協議

IOT 自定義通訊協議

裝置型別(1位元組)

裝置廠商(1位元組)

協議版本號(8位元組)

命令碼(1位元組)

幀序號(4位元組)

傳送接收標識(1位元組))

資料包長度(2位元組,高位元組在前,低位元組在後)

【資料部分(N位元組)】

CRCL(1位元組)

CRCH(1位元組)

 

  1. 裝置型別:用1位元組表示裝置型別,例如0X01表示物聯網裝置。
  2. 裝置廠商:表示底層硬體裝置的廠商程式碼,0X01表示某公司。
  3. 協議版本號:表示當前裝置傳送的資料幀所使用的協議版本,協議版本向下相容。
  4. 命令碼:表示命令型別,如開鎖命令、上報告警命令等,在後續的具體協議中詳細定義說明。
  5. 幀序號:從1開始,到0XFFFFFFFF後迴圈從1開始,每一幀加一,應答資料幀要與接收到的請求資料幀幀序號保持一致。
  6. 傳送接收標識:0XFF-表示傳送請求資料幀,0X00-表示接收應答資料幀。
  7. 資料包長度:2位元組表示,高位元組在前,低位元組在後。
  8. 資料部分,【】表示此部分可選,在某些協議中,資料部分預設,資料包長度欄位填寫0X00 0X00不可省略。
  9. CRC:CRCL,CRCH:採用通用的MODBUS-RTU校驗方式,計算後的CRC值為16bit的整型數,在資料幀中位元組序為低位元組在前,先發,高位元組在後,後發。

  常用協議:上報裝置狀態、上報心跳、上報電池電量、上報告警、查詢韌體版本資訊、查詢韌體幀數、獲取升級包、獲取升級結果