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