傳感網應用開發中級網路協議幀
- 傳感網網路通信協議訊息幀解讀
- 一、無線通信協議訊息幀
- 1.RS485網路的Modbus協議幀
- 2.CAN網路協議的訊息幀
- 二、無線通信協議訊息報文
- 1.LoRa網路的訊息幀
- 三、匯聚節點匯聚資料上傳網關訊息幀
- 1.RS485網路上傳的網關的報文
傳感網網路通信協議訊息幀解讀
一、無線通信協議訊息幀
1.RS485網路的Modbus協議幀
(1) 主機向從機發送請求報文:
從設備地址 + 功能碼 + 資料段(暫存器地址+暫存器數量) + 差錯檢測區
例如請求報文為: 01 03 00 00 00 01 84 0A
What!
01 表示從設備的地址;
03 表示讀保持暫存器功能(參考下圖);
00 00 代表讀取從設備0x0000這個暫存器開始的資料(由兩個位元組,16位組成);
00 01 代表讀取一個暫存器的資料(常讀取一個暫存器的值,由兩個位元組,16位組成);
84 0A 代表對前面的所有位元組資料進行回圈冗余校驗檢測,保證資訊的準確性,
(以上報文均為16進制,一位十六進制能轉化為4位二進制,)
-
功能碼參考表3-8:
部分常用功能碼、暫存器地址、傳感器如下3-28表:

(2)從機回應報文
本機地址 + 功能碼 + 資料段(資料域位元組數 + 暫存器值(資料)) + 差錯檢測區
例如從機回應報文:01 03 02 1919 72 1E
- 01 表示本設備的地址;
- 03 表示讀保持暫存器功能(參考表3-28);
- 02 代表回傳兩個位元組的資料(即回傳4位十六進制數);
- 19 19 第一個位元組代表溫度資料25℃,第二個位元組代表濕度資料25%;
- 72 1E 代表對前面的所有位元組資料進行回圈冗余校驗檢測,(一般呼叫函式計算即可)
其它的傳感器傳遞報文格式類同
2.CAN網路協議的訊息幀
(1)從機給主機發送資料報文
傳感器型別 + 傳感器數值 + 保留1個位元組 + 本機地址 + 保留3個位元組
例如CAN資料報文:03 00 05 00 06 00 00 00
- 03 傳感器型別,可參考表3-29
- 00 05 表示傳感器資料,火焰資料為5;
- 00 保留沒有使用;
- 06 為本機地址;
- 00 00 00 暫時保留,沒有使用;
二、無線通信協議訊息報文
1.LoRa網路的訊息幀
(1)LoRa主機向從機發送請求報文
資料幀頭 + 命令 + 網路ID號 + LoRa地址 + 校驗和
例如LoRa網關請求報文:55 01 20 21 01 98
HEAD + CMD + NET_ID + LORA_ADDR + CHK;
- 55 資料幀頭(HEAD),默認為0x55;
- 01 命令,0x01代表讀傳感器;
- 21 21 網路ID號,兩個位元組,代表網路ID為0x2021;
- 01 LoRa地址,代表向地址為0x01地址的LoRa節點發送請求報文
- 98 校驗和,從HEAD到CHK前一個位元組的和,保留低8位
(1)LoRa從機向主機發送回應報文
資料幀頭 + 命令 + 網路ID號 + LoRa地址 + 回應 + 資料域長度 + 資料域 + 校驗和
HEAD + CMD + NET_ID + LORA_ADDR + ACK + LEN + DATA + CHK;
- HEAD: 資料幀頭,默認為0x55;
- CMD: 命令,0x01=讀傳感器;
- NET_ID: 網路ID號,2個位元組;
- LORA_ADDR: LoRa地址;
- ACK:回應,0x00-回應OK,0x01-無資料,0x02-資料錯誤,其他預留;
- LEN:資料長度,指定資料域DATA有多少個位元組,ACK非0x00時,無此項;
- DATA:資料域,傳感器資料;
- CHK:校驗和,從HEAD到CHK前一個位元組的和,保留低八位
三、匯聚節點匯聚資料上傳網關訊息幀
1.RS485網路上傳的網關的報文
幀起始符 + 地址符(2個位元組) + 命令碼域 + 資料長度域 + 傳感器型別 + 資料域(2個位元組) + 校驗碼域
例如RS-485網路資料報文:DD 34 12 01 09 01 18 40 86
- DD 幀起始符(START):固定為0xDD;
- 34 12 地址域(ADDR) :匯聚節點的地址,地址的低位存在前面,高位存在后面,當前地址為從機地址0x1234;
- 01 命令碼域(CMD):0x01代表匯聚節點上傳CAN網路的資料到網關,0x02代表上傳RS-485網路的資料到網關;
- 09 資料長度域(LEN):固定為0x09
- 01 傳感器型別(TYPE):01 溫濕度傳感器,02人體紅外傳感器,03火焰傳感器,04可燃氣體傳感器,05空氣質量傳感器,06光敏傳感器,07聲音傳感器,08紅外傳感器,09 心率傳感器,10表示其它;
- 18 40 資料域(DATA):占用兩個位元組,高8位代表溫度傳感器的溫度值24℃,低8位代表濕度64%;
- 86 校驗碼域(CS):采用和校驗方式,計算資料域之前所有位元組資料的累加和,并將累加和與0xFF按位與而保留低8位資料;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/390481.html
標籤:其他
上一篇:菲尼克斯電氣Proficloud助力企業打造設備遠程運維工業物聯網平臺
下一篇:Unity3D 數學之向量
