通信類思維導圖(要求:在每次修改本協議時使用思維導圖進行程序該CLASS是否被占用) 通信協議書寫規范總規范 1 防盜系列產品終端開發協議 2 產品功能說明: 2 通信格式如下: 3 具體協議如下: 3 資產管理手持端開發協議 3 概述: 3 串口指令說明: 3 無線指令說明: 4 具體協議如下: 4 AirConditionerControler 無線協議 5 概述: 6 具體協議如下: 6 1、0x01 SET_ORDER 配置無線指令 6 2、0x02 SET_PLANT 設置工作計劃 7 3、0x03 SET_TIME 設置系統時間時間 8 4、0x04 REPORT 報告人員運動情況 8 5、0x05 GUARD 資產看管 9
通信協議書寫規范總規范協議要求采用序列號+發送CLASS+發送ID號+接收CLASS+接收ID號+關鍵字+內容長度+內容+CRC校驗+0x0d結束標記的方式進行,這樣在多中設備進行通信時即使遇到相同的設備ID號也不會發生協議錯亂的事件發生。 無線通信的地址要求統一,所有設備的通信地址為 :0x12,0x34,0x56,0x78,0x9a 通信頻率為40,通信地址0,空中速率為2Mbit用于公共設備配置、心跳、應答使用,其他地址用于各的同類中進行使用,在個獨立的系統內部的通信也要求按照統一的關鍵字進行編排,這樣便于管理和通信數據的穩定。 配置類指令要求采用雙向應答機制,自動重發,重發機制要求使用一個定時為1ms的定時器來保證整個系統通行的一致性。 各配置指令,要求每次最多要求最大允許數據長度為20bit; CLASS關鍵字在整個系統中都不允許重復且不予許為0x00,以保證每個設置在整個系統中都有一個唯一的通信地址。 所有設備的ID號禁止配置為0,并要求在程序中做數據檢測。 具備心跳類發送的設備要求最大每間隔5s發送一次心跳包,心跳包中要求提示自己下次喚醒的時間。心跳包的結構如下:序列號+發送CLASS+發送ID+0x00+0x00+0x00+0x02+下次發送時間+故障標志位+CRC+結束符。 不同類設備要求進行兼容時,要求在各自的無線協議解析部分在接收端的無線解析下的CLASS進行添加已兼容不同的設備。這個可能會導致程序的空間變大,但是相對而言開發的統一性和兼容性會好一些,等做大后在進行對不同設備的CLASS進行統一標準。 關鍵字可以進行自定義,基本原則是0x00-0x7f為主設備,0x80-0xff為從設備的應答。 備注:本文中所有紅色標記協議關鍵字都要求采用應答雙向機制來進行數據確認。 研發部 2014年4月3日無線樓道開發協議 2014年4月7日14:24:24 概述: 本協議為節能無線樓道開發協議,用于無線樓道的配置任務和檢修任務。主要實現無線樓道的延時時間、開啟條件、工作模式的配置的配置。內部數據的通信采用通道地址1進行,該系統內的數據交換是無需進行對外進行設置的。 按照公司無線通信的約定,本設備的CLASS為0x04。
無線通信格式如下:
關鍵字 宏定義 解釋說明 0x01 SET 用于設置本機的運行參數 0x02 INTERIM 用于臨時開啟本設備 應答內容為: 0x81 ACK 用于確認已經成功的接收配置指令
內部通信規則: 通信通道為:1 通信地址為: 0x01,0x02,0x03,0x04,0x05 通信頻率為: 40 通信的格式為: 開燈原因: 0x01 表示本ID號是首次檢測到人體運動信息 0x02 表示本ID是因為上位ID號觸發后本設備才檢測到 0x03 表示本ID號是因為下位ID號觸發后本設備才檢測到 0x00 表示本設備ID號正常的內部心跳通信。
防盜系列產品終端開發協議2014年4月7日09:24:19 產品功能說明:本產品采用NRF24LE1 Nordic8051 SOC 芯片,采用232紐扣電池供電,具備低壓報警功能。采用TEA 80位的加密算法及雙向確認機制,以保證本卡不會被人復制。最大消失時間為3S,加密算法錯誤將導致直接觸發報警。在一個系統中最大允許同時監聽設備數據位8張。只要設備申請了監聽功能,在沒有主動撤銷的情況下設備丟失或者重啟都將引發報警。同時本卡在成功注冊后,在5s內沒有接受到主機發送的心跳信息,將邀請以廣播方式在本公司所有無線產品中廣播被盜指令,便于在設備丟失后丟失物品。 概述: 本產品采用NRF24LE1作為終端RFID卡,采用乘法器來進行數據的加密算法。因為采用無線通信方式,因此在按照本公司的無線通信規則,該設備CLASS分配為0x03。加密規則為:使用TEA加密算法進行數據驗證,加密的內容為使用隨機數來產生明文,并且按照每次產生一次的方式來進行逐步迭代明文,在申請開始時,內部存儲的明文統一為0x00,暗文的數據長度為10bit,明文長度為1位,即有效內容長度為11位。在接收端對給設備的合法性進行驗證。該通信無需進行自動應答。 備注:此處的序列號取值范圍為0-9,用于原消息密匙中需要替換的數據。該序列號的獲得要求按照對隨機數進行%10的求于獲得。這樣即使被人監聽也沒有辦法,因為監聽者要么在設備一初始化的時候就開始監聽,要么就要等待隨機數將0-9全部監聽一篇后才有機會獲得10的明文數據。 通信格式如下:具體協議如下:關鍵字 宏定義 解釋說明 0x01 NET 用于向接收終端發送心跳信息 0x02 ENROLL 用于向接收終端注冊請求被監控信息 0x03 LOGOUT 用于向接收終端撤銷被監控信息 0x04 KEY 用于向本機寫入32位的加密密匙 0x05 POWER 低壓報警 0x06 ALARM 廣播發送被盜指令(包含4bit的設備ID號) 0x07 SET 用于設備本卡的設備ID號 備注:要求在注冊請求被監控中,包含一個電池電量的狀態。
資產管理手持端開發協議2014年4月6日22:45:44 備注:暫時使用數碼管來進行數據的顯示,后期要求采用5110顯示屏來進行數據顯示 概述:本產品專門用于物流管理方向,用于在庫房中快速尋找到自己產品的數量和種類。 本產品具備具備雙按鍵,左鍵用于確認操作,右鍵用于切換顯示內容。確認后將自動轉入下一個需要搜索的目標,切換用于顯示搜索物品名稱/需要搜索的物品數量。 本產品具備無線通信能力,按照本公司無線分配規則,本產品所屬的CLASS為0x02。
串口指令說明:指令名稱 | | | | | SEARCH(回車) 返回值: N(名稱)Q(數量) NO 表示滿意該物品 | | 用于顯示庫存中所有產品的詳細數據包括各物品名稱及數量 | SHOW(回車) 返回值: Total = 2 N 001Q003 N003Q002 表示本庫存中物品種類有2中,名稱001中有貨物3件,名稱003中有2件 | | 用于向庫存中輸入一個新產品或向原有產品中添加等多數量 | IN001030(回車) 說明:表示向物品名稱為001的產品中添加30個產品 | | 用于向庫存中輸出一個產品及減少該產品在庫存中的數量 | OUT002030(回車) 說明:表示從物品名稱為002的產品種類中移除30件 返回值: N(名稱)Q(數量)
| | | DELETE003(回車) 說明:表示從庫存中刪除名稱為003的產品數據 |
無線指令說明:具體協議如下:關鍵字 宏定義 解釋說明 0x01 DOWNLOARD 從主機下載需要查找的數據量總數 0x02 DOWNPACK 從主機下載詳細的數據內容并且寫入到flash中 0x03 UPLOARD 本機向主機發送任務完成情況總數 0x04 UPPACK 本機向主機發送詳細的數據完成情況 0x05 SEARCH 本機向其他設備發送尋找物品指令 0x06 CHECK 本機向特定的設備發送盤點信息
應答協議: 總述:對于關鍵字0x01-0x04只需要回答相應的發送序列號即可。 0x05 0x06 要求接收端報告自己的詳細數據情況,具體內容參考詳細說明! 關鍵字 宏定義 解釋說明 0x81 SEARCH_ACK 用于應答搜索指令 備注: 僅自身包含該物品名稱的設備進行應答,應答內容僅為自身設備ID號,自身外設提示設備需要自動的開啟一段時間以便于人員快速發現該物品所在位置。 0x82 CHECK_ACK 用于應答盤點指令 備注:該指令用于其他外設向本機發送自身所攜帶的全部內容,發送內容方式為:首先發送自己需要發送數據的大小,讓后等待對方應答。在對方完成應答后再發送下一包數據直至全部內容發送完畢。
nrf24le1通信協議 2014年4月4日21:12:21 概述: 本通信協議用于nrf24le1在巡更、資產管理方向的使用,按照本公司的無線通信分配規,本產品的CLASS為0x01。 無線通信協議格式: 序列號+發送CLASS+發送ID號+接收CLASS+接收ID號+關鍵字+內容長度+內容+CRC校驗+0x0d結束標記 備注: 具體指令說明如下:
串口指令說明: 概述: 本串口指令僅適用用本產品,要求嚴格按照串口指令說明進行操作,否則將出現“cmd error”提示。 具體指令如下:(備注:所有串口指令均以回車鍵結束(0x0d)) 指令名稱 | | | | | | | 用于查看系統電壓情況是否高于2.3V,如果高于則返回H,否則返回L | | | 用于獲得通道6(P06)端電壓,放回值為D=2bit 16進制數,高位在前 | |
AirConditionerControler 無線協議 時間:2014年4月3日12:38:29 概述:本協議用于生產的AirConditionerControler設備無線配置及接口的通信規范。 協議格式: 本協議由協議序列號、設備ID號、設備權利、接收目標ID、關鍵字、內容長度、內容、CRC校驗和協議尾組成。 備注:協議總長度不得超過32bit 序列號——為發送者(sender)發送時自動產生的信息,用于檢測是否出現丟包的情況; 設備ID號——在整個系統中該設備ID為唯一ID號,用于彼此相互通信時進行點對點交流使用; 接收目標ID——接收者對比該ID號,于自己的ID號相同者對協議進行解析并對sender做出相應的回答; 關鍵字——占用8bit,為通信協議的指令內容,0x00-0x7f為下發協議(主機向從機發送為下發),0x80-0xff為上發發協議(從機向主機發送為下發),具體說明如下:
關鍵字 宏定義 解釋說明 0x01 SET_ORDER 設置運行參數 0x02 SET_PLANT 設置運行計劃 0x03 SET_TIME 設置系統時鐘 0x04 REPORT 報告人員運動情況 0x05 GUARD 資產看管
0x81 REPLAY_ORDER 應答設置指令 0x82 REPLAY_PLANT 應答運行計劃 0x83 REPLAY_TIME 應答系統時鐘
具體協議如下:1、0x01 SET_ORDER 配置無線指令說明:使用其他設備對本機器進行無線配置運行參數 具體配置內容及格式如下: 0x01............................................................................序列號 0xff.......................................................................設備ID號 0x00.......................................................................接收目標ID 0x01.................................................................關鍵字(SET_ORDER) 0x0e.......................................................................內容長度 0x1c.......................................................................夏季高溫開啟值(28℃) 0x19.......................................................................夏季低溫關閉值(25℃) 0x11.......................................................................冬季高溫關閉值(17℃) 0x05.......................................................................冬季低溫開啟值(5℃) 0x07.......................................................................夏季時間(開始月份) 0x01.......................................................................夏季時間(開始日) 0x09.......................................................................夏季時間(結束月份) 0x1e.......................................................................夏季時間(結束日) 0x0c.......................................................................冬季時間(開始月份) 0x0c.......................................................................冬季時間(開始日) 0x02.......................................................................冬季時間(結束月份) 0x01.......................................................................冬季時間(結束日) 0x00.......................................................................運行模式 0x0a.......................................................................延時時間(10min) 0x01...................................................................... CRC校驗(此處CRC校驗錯誤) 0x0d.............................................................................協議尾 備注:1、運行模式可分為4種,0x00 自動模式,基于時間溫度運行 0x01 強制開啟模式 0x02 強制關閉模式 0x03 自動模式,基于時間 溫度 人運行
2、0x02 SET_PLANT 設置工作計劃說明:該指令用于配制設備每天的有效工作時間段 0x01............................................................................序列號 0xff.......................................................................設備ID號 0x00.......................................................................接收目標ID 0x02.................................................................關鍵字(SET_PLANT)
0x03.......................................................................內容長度
0x03.......................................................................設置時間段次數(3)
0x08.......................................................................開啟時間(8點) 0x00.......................................................................開啟時間(0分) 0x09.......................................................................關閉時間(9點) 0x1e.......................................................................關閉時間(30點)
0x0a.......................................................................開啟時間(10點) 0x00.......................................................................開啟時間(0分) 0x0c.......................................................................關閉時間(12點) 0x1e.......................................................................關閉時間(30點)
0x0e.......................................................................開啟時間(14點) 0x00.......................................................................開啟時間(0分) 0x12.......................................................................關閉時間(18點) 0x1e.......................................................................關閉時間(30點) 0x1e.......................................................................關閉時間(30點) 0x1e.......................................................................CRC校驗 0x0d.......................................................................結束標記 備注:對多可支持7個時間段的配置
3、0x03 SET_TIME 設置系統時間時間說明:使用該指令可以校正系統時鐘。 0x01............................................................................序列號 0xff.......................................................................設備ID號 0x00.......................................................................接收目標ID 0x03.................................................................關鍵字(SET_TIME) 0x06.................................................................內容長度(6bit) 0x0e.......................................................................14年(對2000求余后的值) 0x04.......................................................................4月 0x03.......................................................................3號 0x0e.......................................................................15點 0x11.......................................................................17分 0x03.......................................................................03秒 0x03.......................................................................CRC校驗 0x0d.......................................................................結束符
4、0x04 REPORT 報告人員運動情況說明:該指令用于提醒本機已經成功檢測到一次人員運動情況,可以將設置的延時時間清零一次 0x01............................................................................序列號 0xff.......................................................................設備ID號 0x00.......................................................................接收目標ID 0x04.................................................................關鍵字(REPORT) 0x00.................................................................內容長度為0 0x00.................................................................CRC校驗 0x0d.................................................................結束符
5、0x05 GUARD 資產看管說明:一旦啟動該指令,則要求被看管設備在每間隔至多1s向本設備發送一條報告消息,如果沒有按時或者提前發送將會觸發本設備報警; 0x01............................................................................序列號 0xff.......................................................................設備ID號 0x00.......................................................................接收目標ID 0x05.................................................................關鍵字(GUARD) 0x01.................................................................內容長度為1 0x02.................................................................被看管設備ID號 0x00.................................................................CRC校驗 0x0d.................................................................結束符
|