版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
設(shè)備通信協(xié)議
目錄TOC\o"1-3"1. 適用范圍 32. 協(xié)議框架 33. 協(xié)議內(nèi)容 3設(shè)備內(nèi)部組網(wǎng)協(xié)議(或者MCU透傳模式協(xié)議) 3通訊命令格式 3配對機制 3連接機制 4心跳機制 5設(shè)備與云端通訊協(xié)議 5通訊命令格式 5連接流程 5數(shù)據(jù)包格式定義 6 設(shè)備間通訊數(shù)據(jù)格式 6設(shè)備與云、APP通訊數(shù)據(jù)格式 94. 公共命令定義 105. 編碼表 11節(jié)點類型編碼表 11命令回應(yīng)編碼表 11
適用范圍本協(xié)議定義WiFi模塊與MCU控制單元,WiFi模塊與云APP間,以及主從模塊之間的通訊協(xié)議框架。協(xié)議框架協(xié)議基于二進制協(xié)議框架,完成命令發(fā)送接收、命令上報、內(nèi)部組網(wǎng)等功能。協(xié)議內(nèi)容設(shè)備內(nèi)部組網(wǎng)協(xié)議(或者MCU透傳模式協(xié)議)備內(nèi)部組網(wǎng)協(xié)議包括設(shè)備配對、連接、心跳機制等,目的是將一個子設(shè)備加入到設(shè)備組中,并保持連接。通訊命令格式采用二進制的通訊協(xié)議格式,包格式如下表:同步頭HeadOption包長度(變長)加密隨機數(shù)(Option)源設(shè)備類型(Option)源設(shè)備編碼(Option)CMDKeyCMDIDPayloadCRC(Option)2B1B1~2B1B1B3B1B1BNB2B詳細的包格式在后續(xù)章節(jié)介紹配對機制配對機制僅適用于設(shè)備內(nèi)組網(wǎng)模式,MCU透傳模式不需要組網(wǎng)協(xié)議。進入配對模式由主從設(shè)備分別觸發(fā),只有在進入配對模式后,才處理相關(guān)的配對命令。從設(shè)備進入配對模式后定時發(fā)送配對請求,直到收到請求回應(yīng)。主設(shè)備收到請求后分配一個設(shè)備ID給從設(shè)備,標識此ID被占用,并等待采集器的上線通知,一定時間內(nèi)收到通知之后確認存入設(shè)備列表,如果沒有上線通知,則認為設(shè)備沒有配對成功,從子設(shè)備中刪除。從設(shè)備收到配對回應(yīng)后存儲設(shè)備ID,并且發(fā)送上線通知,收到上線通知后完成配對。配對的過程如下圖所示:連接機制設(shè)備每次上電連接需要發(fā)送上線通知以及連接所需要的參數(shù)給主設(shè)備,如下圖所示:心跳機制使用對等的心跳機制,主設(shè)備和從設(shè)備都可以發(fā)現(xiàn)對方的異常狀態(tài)。設(shè)備與云端通訊協(xié)議設(shè)備與云端通訊協(xié)議基于MQTT協(xié)議,數(shù)據(jù)包使用MQTT協(xié)議傳輸,數(shù)據(jù)加密方式采用SSL加密,命令碼采用2進制命令格式同設(shè)備間通訊協(xié)議。MQTT通訊框架本協(xié)議是針對與設(shè)備的數(shù)據(jù)通信,目前通信節(jié)點包括:設(shè)備、云端和APP終端三方。WIFI上的協(xié)議采用MQTT協(xié)議框架,串口上的通信采用包含包頭和校驗的二進制協(xié)議,通信包采用二進制格式傳輸,高位在前低位在后。此協(xié)議定義的MQTTTopic類型有以下2種:單播,unicast/u/{TargetType}/{TargetID}廣播,broadcast/b/{SourceType}/{SourceID}注釋:TargetType:目標設(shè)備類型,TargetID:目標設(shè)備編碼SourceType:源設(shè)備類型,SourceID:源設(shè)備編碼通訊命令格式設(shè)備與云端、APP的通訊命令分為4種:請求與回應(yīng)、通知命令、廣播命令,具體的命令以及格式在后面章節(jié)介紹。連接流程設(shè)備連接云端的步驟如下圖:數(shù)據(jù)包格式定義數(shù)據(jù)包的格式根據(jù)通訊雙方的不同、數(shù)據(jù)鏈路的差異會有不同的包格式,本協(xié)議為盡量保證數(shù)據(jù)包格式的統(tǒng)一,做了幾點規(guī)劃:數(shù)據(jù)包格式中核心的部分包括CMDID和CMDPayload,這兩部分格式所有的包中保持一致,CMDID1個字節(jié),CMDPayload緊跟CMDID長度N字節(jié)。設(shè)備間通訊,包括內(nèi)部命令、外部轉(zhuǎn)發(fā)命令等的數(shù)據(jù)包格式雖然可能不一樣,但是都可以通過包頭中的Option字節(jié)進行區(qū)分,可以公用相同的解析函數(shù)外部串口通訊的命令格式與設(shè)備間通訊格式保持一致。設(shè)備間通訊數(shù)據(jù)格式同步頭HeadOption包長度(變長)加密隨機數(shù)(Option)源設(shè)備類型(Option)源設(shè)備編碼(Option)CMDKeyCMDIDPayloadCRC(Option)2B1B1~2B1B1B3B1B1BNB2BFixheader固定幀頭,格式如下表:同步頭HeadOption包長度(變長)2Byte1Byte1~2Byte同步頭:0x5CFEHeadOption:Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0預(yù)留預(yù)留預(yù)留預(yù)留CheckSum校驗廣播類型鏈路CRC校驗加密選項typedefenum{OPTIONAL_ENCRYPT_BIT=(1<<0),OPTIONAL_CRC_BIT=(1<<1),OPTIONAL_BROADCAST_DATALINK_BIT=(1<<2),OPTIONAL_CHECKSUM_BIT=(1<<3),}OptionalBitsT;包長度:長度包括本字節(jié)之后的所有數(shù)據(jù)的長度長度是1~2個字節(jié)字節(jié)數(shù)取值長度范圍10x0~0x7F0~12720x0180~0x7FFF128~16383長度的編碼方式參考MQTT:如長度是321=(65+2*128),那么會被編碼為兩個字節(jié),低字節(jié)為65+128=193.高字節(jié)為2??勺儼袷娇勺儼袷叫枰ㄟ^HeadOption來解析,格式如下表:OptionBit0OptionBit2OptionBit1OptionBit3加密隨機數(shù)設(shè)備類型設(shè)備編碼消息體CRC校驗CheckSum1Byte1Byte3Byte2Byte1Byte異或隨機數(shù):如HeadOption中的加密選項為0,那么加密隨機數(shù)這個字節(jié)不存在,同時數(shù)據(jù)不會進行加密源設(shè)備信息:用于廣播類型的數(shù)據(jù)鏈路,需要標識數(shù)據(jù)的來源。CRC校驗:采用16bit的CRC算法,CRC算法參照附錄。CheckSum:采用8Bit的和校驗,用于對數(shù)據(jù)長度比較敏感,但是又需要進行數(shù)據(jù)校驗的場景設(shè)備編碼和設(shè)備類型:Payload中可能需要用到的內(nèi)部設(shè)備Type和ID的定義:內(nèi)部設(shè)備Type和設(shè)備ID在設(shè)備配對時由主設(shè)備分配給從設(shè)備,其中Type由主設(shè)備獲取到從設(shè)備的DeviceType之后映射一個數(shù)值,并分配給從設(shè)備,建立映射關(guān)系。ID的3字節(jié)構(gòu)成為:Byte3Byte2Byte1隨機數(shù),避免不同子網(wǎng)的ID沖突ID序號,由主設(shè)備維護命令消息體結(jié)構(gòu)如下表CMDkeyCMDIDPayload1Byte1ByteNByteCMDKey:命令標識,主要作用是標識命令的類型以及編號,由主設(shè)備生成,發(fā)送給從設(shè)備,從設(shè)備將key返回給主設(shè)備,另外在還標識命令的類型CMDKey描述備注1設(shè)備內(nèi)部消息(組網(wǎng)、透傳模式的內(nèi)部消息)這些命令沒有重發(fā)機制,不能保障一定到達2Notify類消息3Broadcast類消息4~31預(yù)留reserved32~255動態(tài)分配的key,用于數(shù)據(jù)的轉(zhuǎn)發(fā)、透傳此范圍的命令如果沒有回復(fù)會重發(fā),重發(fā)一定次數(shù)后丟棄,所以此消息可能會多次到達CMDID:命令碼,1個字節(jié)命令碼描述1配對請求2配對請求回應(yīng)3設(shè)備啟動通知4設(shè)備啟動回應(yīng)5WiFi就緒通知6WiFi斷開通知7云就緒通知8云斷開通知9WiFi上電通知10WiFi模塊配置完成通知11退出WiFi模塊配置12退出WiFi模塊配置回應(yīng)13重新配置WiFi模塊14重新配置WiFi模塊回應(yīng)15設(shè)置WiFi模塊串口波特率16設(shè)置WiFi模塊串口波特率回應(yīng)17查詢WiFi模塊串口波特率18查詢WiFi模塊串口波特率回應(yīng)WiFi模塊消息起始32設(shè)備上線通知33WiFi配置完成通知34獲取設(shè)備WiFi模塊監(jiān)控信息35獲取設(shè)備WiFi模塊監(jiān)控信息回應(yīng)36設(shè)置路由器信息37設(shè)置路由器信息的回應(yīng)38刪除子設(shè)備39刪除子設(shè)備回應(yīng)40獲取在線設(shè)備列表41獲取在線設(shè)備列表回應(yīng)42設(shè)置設(shè)備擁有者43設(shè)置設(shè)備擁有者回應(yīng)44設(shè)置配對模式45設(shè)置配對模式回應(yīng)46在線設(shè)備列表變更通知47~63WiFi模塊預(yù)留所有設(shè)備公共命令起始64主MCUOTA傳輸文件65主MCUOTA傳輸文件回應(yīng)66設(shè)置出廠參數(shù)67設(shè)置出廠參數(shù)回應(yīng)68DebugLog輸出控制69DebugLog輸出控制回應(yīng)70DebugLog信息輸出71從MCUOTA傳輸文件72從MCUOTA傳輸文件回應(yīng)73云端推送通知信息76OTA完成通知上報77~95設(shè)備公共命令預(yù)留設(shè)備業(yè)務(wù)命令起始96~127設(shè)備自定義設(shè)備內(nèi)部消息128~255設(shè)備自定義設(shè)備與云端/APP通訊消息Payload:命令數(shù)據(jù),N字節(jié)實例一個所有Option都打開的包結(jié)構(gòu)如下:同步頭HeadOption包長度(變長)加密隨機數(shù)(Option)源設(shè)備類型(Option)源設(shè)備編碼(Option)CMDKeyCMDIDPayloadCRC(Option)2B1B1~2B1B1B3B1B1BNB2B數(shù)據(jù)組包實例以下是使用CRC校驗,并且加密的數(shù)據(jù)包的組包過程:假設(shè)命令包是1234,4個字節(jié),現(xiàn)在要組包1:CRC第一步計算這4個字節(jié)的crc值,假設(shè)算出來是5、6第一步CRC之后的數(shù)據(jù)包就變成了1、2、3、4、5、6,6個字節(jié)2:加密加密第一步:加入一個隨機數(shù),假設(shè)這個隨機數(shù)是0,現(xiàn)在包就是7個字節(jié)了,0、1、2、3、4、5、6加密第二步:異或,將除加密隨機數(shù)外的其他數(shù)據(jù)都和加密隨機數(shù)進行異或,得到得數(shù)據(jù)應(yīng)該是0、1、2、3、4、5、6機密第三步:查表加密,假設(shè)表中0對應(yīng)的是6、1對應(yīng)的是5依次類推,那么查表之后的數(shù)據(jù)變?yōu)榱?、5、4、3、2、1、0加密結(jié)束,payload最終就是6、5、4、3、2、1、0了3:加入包頭Payload是7個字節(jié),optional是CRC和加密,那么包頭為FE5C0307最終包數(shù)據(jù)為:FE5C030706050403020100解包的過程與組包相反設(shè)備與云、APP通訊數(shù)據(jù)格式命令數(shù)據(jù)格式:源設(shè)備類型源設(shè)備IDCMDID5Byte12Byte1ByteNBytePad串口通訊數(shù)據(jù)格式下行數(shù)據(jù)格式,PAD->設(shè)備同步頭HeadOption包長度(變長)加密隨機數(shù)(Option)源設(shè)備類型(Option)源設(shè)備編碼(Option)源設(shè)備GUID目標設(shè)備GUIDCMDIDPayloadCRC(Option)2B1B1~2B1B1B3B34字節(jié)1BNB2B上行數(shù)據(jù)格式,設(shè)備->PAD同步頭HeadOption包長度(變長)加密隨機數(shù)(Option)源設(shè)備類型(Option)源設(shè)備編碼(Option)源設(shè)備GUIDCMDIDPayloadCRC(Option)2B1B1~2B1B1B3B34字節(jié)1BNB2B公共命令定義下表是公共命令碼以及命令數(shù)據(jù)的定義,此表僅涉及到上文提到的CMDID和命令信息碼(或回復(fù)碼),命令中的其他部分數(shù)據(jù)請參考上文中的數(shù)據(jù)包定義。命令碼命令描述通信方命令組成備注設(shè)備內(nèi)部命令起始1請求配對從設(shè)備->主設(shè)備CMDKey[1Byte],0x01CMDID[1Byte]業(yè)務(wù)設(shè)備類型[5Byte]當前的內(nèi)部設(shè)備類型[1Byte]當前的內(nèi)部設(shè)備編碼[3Byte],全0表示未配置過,非全0表示之前配置過設(shè)備業(yè)務(wù)編碼長度[1Byte]設(shè)備業(yè)務(wù)編碼[NByte]5個字節(jié)的業(yè)務(wù)設(shè)備類型,需要向樂君申請,并且保存在從設(shè)備中設(shè)備業(yè)務(wù)編碼是用從設(shè)備自行定義的設(shè)備ID字符串,不超過32字節(jié)2請求配對回應(yīng)主設(shè)備->從設(shè)備CMDKey,0x01CMDID[1Byte]RC[1Byte],參考RC表分配的設(shè)備類型[1Byte]分配的設(shè)備ID[3Byte]3設(shè)備啟動通知MCU/從設(shè)備->主設(shè)備CMDKey[1Byte],0x01CMDID[1Byte]版本號[1Byte]子設(shè)備類型[1Byte],參考章節(jié):子設(shè)備類型表業(yè)務(wù)設(shè)備類型[5Byte]內(nèi)部設(shè)備類型[1Byte]內(nèi)部設(shè)備編碼[3Byte]設(shè)備業(yè)務(wù)編碼長度[1Byte]設(shè)備業(yè)務(wù)編碼[NByte]4設(shè)備啟動通知的回應(yīng)主設(shè)備->MCU/從設(shè)備CMDKey[1Byte],0x01CMDID[1Byte]RC[1Byte],參考RC表5WiFi就緒通知主設(shè)備->MCU/從設(shè)備CMDKey[1Byte],0x01CMDID[1Byte]6WiFi斷開通知主設(shè)備->MCU/從設(shè)備CMDKey[1Byte],0x01CMDID[1Byte]7云就緒通知主設(shè)備->MCU/從設(shè)備CMDKey[1Byte],0x01CMDID[1Byte]8云斷開通知主設(shè)備->MCU/從設(shè)備CMDKey[1Byte],0x01CMDID[1Byte]9WiFi模塊上電通知WiFi模塊->MCUCMDKey[1Byte],0x01CMDID[1Byte]WiFi模塊上電后定時發(fā)送上電通知給MCU,直至MCU上報上線通知給WiFi模塊(適用于用于透傳模式)10WiFi模塊配置完成通知WiFi模塊->MCUCMDKey[1Byte],0x01CMDID[1Byte]RC[1Byte],0成功,3超時,4退出11退出WiFi模塊配置MCU->WiFi模塊CMDKey[1Byte],0x01CMDID[1Byte]12退出WiFi模塊配置回應(yīng)WiFi模塊->MCUCMDKey[1Byte],0x01CMDID[1Byte]RC[1Byte],0成功,1失敗13重新配置WiFi模塊MCU->WiFi模塊CMDKey[1Byte],0x01CMDID[1Byte]14重新配置WiFi模塊回應(yīng)WiFi模塊->MCUCMDKey[1Byte],0x01CMDID[1Byte]RC[1Byte],0成功,1失敗15設(shè)置WiFi模塊串口波特率MCU->WiFi模塊CMDKey[1Byte],0x01CMDID[1Byte]Baudrate[4Byte]Baudrate取值:9600192003840057600115200其他值返回fail默認值是960016設(shè)置WiFi模塊串口波特率回應(yīng)WiFi模塊->MCUCMDKey[1Byte],0x01CMDID[1Byte]RC[1Byte],0成功,1失敗返回值以新設(shè)置的波特率發(fā)送17查詢WiFi模塊串口波特率MCU->WiFi模塊CMDKey[1Byte],0x01CMDID[1Byte]18查詢WiFi模塊串口波特率回應(yīng)WiFi模塊->MCUCMDKey[1Byte],0x01CMDID[1Byte]RC[1Byte],0成功,1失敗Baudrate[4Byte]WiFi模塊命令起始32設(shè)備信息上報WiFi模塊->Cloud/APPCMDID[1Byte]Num[1Byte],設(shè)備個數(shù)設(shè)備擁有者的小智ID[string,10字節(jié)]WiFi模塊Mac地址[ASCII,12字節(jié)]GUID[ASCII,17字節(jié)]、設(shè)備業(yè)務(wù)編碼長度[1Byte]、設(shè)備業(yè)務(wù)編碼[NByte]、固件版本[1BYTE]、設(shè)備硬件架構(gòu)類型[1BYTE]、設(shè)置是否在線[1Byte],若干MQTT主題:/b/{SourceType}/{SourceID}第一個設(shè)備是主設(shè)備設(shè)備硬件架構(gòu)類型參考“設(shè)備硬件架構(gòu)類型編碼表”設(shè)備是否在線,0不在線,1在線33WiFi配置完成通知WiFi模塊->APPCMDID[1Byte]設(shè)備GUID[ASCII,17字節(jié)]用戶的小智ID[string,10字節(jié)]設(shè)備業(yè)務(wù)編碼長度[1Byte]設(shè)備業(yè)務(wù)編碼[NByte]MQTT主題:/u/{TargetType}/{TargetID}34獲取WiFi模塊監(jiān)控數(shù)據(jù)Cloud/APP->WiFi模塊CMDID[1Byte]35獲取WiFi模塊監(jiān)控數(shù)據(jù)回應(yīng)WiFi模塊->Cloud/APPCMDID[1Byte]WiFi模塊連接信號強度[1Byte],有符號的1個字節(jié),一般范圍在-100Dbm~0DbmWiFi模塊型號[16byte],小于16字節(jié)的字符串36設(shè)置WiFi配置信息APP/Cloud/串口控制端->設(shè)備CMDID[1Byte]是否設(shè)置擁有者ID[1Byte],0不設(shè)置,1設(shè)置設(shè)備擁有者的小智ID[string,10字節(jié)]是否設(shè)置路由器信息[1Byte],0不設(shè)置,1設(shè)置SSIDLen,用戶名長度[1BYTE],用戶名長度小于等于32字節(jié)PWDLen,密碼長度[1BYTE],密碼小于等于64字節(jié)SSIDPWD37設(shè)置WiFi配置信息回應(yīng)設(shè)備->APP/Cloud/串口控制端CMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗38刪除子設(shè)備APP/Cloud/串口控制端->設(shè)備CMDID[1Byte]GUID[ASCII,17字節(jié)]39刪除子設(shè)備回應(yīng)設(shè)備->APP/Cloud/串口控制端CMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗40獲取設(shè)備列表APP/Cloud/串口控制端->主設(shè)備CMDID[1Byte]41獲取設(shè)備列表回應(yīng)主設(shè)備->APP/Cloud/串口控制端CMDID[1Byte]Num[1Byte],設(shè)備個數(shù)設(shè)備擁有者的小智ID[string,10字節(jié)]WiFi模塊Mac地址[ASCII,12字節(jié)]GUID[ASCII,17字節(jié)]、設(shè)備業(yè)務(wù)編碼長度[1Byte]、設(shè)備業(yè)務(wù)編碼[NByte]、固件版本[1BYTE]、設(shè)備硬件架構(gòu)類型[1BYTE]、設(shè)置是否在線[1Byte],若干設(shè)備是否在線,0不在線,1在線44設(shè)置設(shè)備進入配對模式App/Cloud/串口控制端->設(shè)備CMDID[1Byte]45設(shè)置設(shè)備進入配對模式回應(yīng)設(shè)備->App/Cloud/串口控制端CMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗)[BYTE]47設(shè)置設(shè)備退出配對模式App/Cloud/串口控制端->設(shè)備CMDID[1Byte]48設(shè)置設(shè)備退出配對模式回應(yīng)設(shè)備->App/Cloud/串口控制端CMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗)[BYTE]
49請求同步時間設(shè)備->CloudCMDID[1Byte]50請求同步時間回應(yīng)Cloud->設(shè)備CMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗)[BYTE]RTC時間[67Byte],格式是{秒-分-時-日-月-年-星期幾},各一個字節(jié)星期幾的范圍從1~7,1表示星期一51掃描AP列表控制端->設(shè)備CMDID[1Byte]52掃描AP列表回應(yīng)設(shè)備到控制端CMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗)[BYTE]APNumber[1Byte],掃描到的AP數(shù)量AP信息{[32Byte],SSID[1Byte],RSSI信號強度}若干SSID為字符串,最大32字節(jié),返回數(shù)據(jù)中固定32字節(jié)位置存放SSID。信號強度取值范圍0~100所有設(shè)備公共命令起始64主MCUOTA傳輸文件Cloud->設(shè)備CMDID[1Byte]總包數(shù)[2Byte]當前包號[2Byte]包內(nèi)容[NBYTE,最大長度1024]65主MCUOTA傳輸文件回應(yīng)設(shè)備->CloudCMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗,32包號錯誤,33數(shù)據(jù)校驗錯誤)[1BYTE]當前包號[2Byte]66設(shè)置出廠信息App/Cloud->設(shè)備CMDID[1Byte]設(shè)備ID[12Byte]設(shè)備業(yè)務(wù)ID長度[1Byte]設(shè)備業(yè)務(wù)ID[NByte]設(shè)備業(yè)務(wù)ID長度為0表示不需要設(shè)備業(yè)務(wù)ID暫時只需要工廠測試程序支持67設(shè)置出廠信息回應(yīng)設(shè)備->App/CloudCMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗68DebugLog輸出控制App/Cloud->設(shè)備CMDID[1Byte]DebugLog開關(guān)[1Byte],0關(guān),1開是否掉電保存[1Byte],0掉電不保存,1掉電保存暫時云端實現(xiàn)69DebugLog輸出控制回應(yīng)設(shè)備->App/CloudCMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗70DebugLog信息輸出設(shè)備->App/CloudCMDID[1Byte]固件版本version[1Byte]日志類型LogType[1Byte]Log內(nèi)容[NByte],字符串71從MCUOTA傳輸文件Cloud->設(shè)備CMDID[1Byte]總包數(shù)[2Byte]當前包號[2Byte]包內(nèi)容[NBYTE,最大長度1024]用于升級主從MCU架構(gòu)下的從MUC固件72從MCUOTA傳輸文件回應(yīng)設(shè)備->CloudCMDID[1Byte]RC(參考命令回應(yīng)編碼表:0成功,1失敗,32包號錯誤,33數(shù)據(jù)校驗錯誤)[1BYTE]當前包號[2Byte]73云端推送通知信息Cloud->APP/設(shè)備CMDID[1Byte]推送信息內(nèi)容[nByte]76OTA升級完成上報設(shè)備->Cloud/APPCMDID[1Byte]RC[1Byte],0成功,1失敗云端以這個命令作為OTA真正完成的判斷標準編碼表節(jié)點類型編碼表節(jié)點類型編碼類型名稱命令回應(yīng)編碼表0~31,公共錯誤碼命令回應(yīng)編碼命令回應(yīng)含義0成功1失敗內(nèi)部通訊公共RC值起始2配對失敗,設(shè)備滿3WiFi配置(Easylink)超時4WiFi配置(Easylink)退出5~31內(nèi)部通訊公共RC值預(yù)留外部通訊公共RC值起始32OTA包號錯誤33OTA數(shù)據(jù)校驗錯誤34當前狀態(tài)不允許OTA35~63外部通訊公共RC值預(yù)留業(yè)務(wù)RC值起始64~255業(yè)務(wù)錯誤碼子設(shè)備類型表子設(shè)備類型描述1透傳模式下的MCU設(shè)備2組網(wǎng)模式下的從設(shè)備設(shè)備硬件架構(gòu)類型編碼表設(shè)備硬件結(jié)構(gòu)類型描述0單MCU架構(gòu)1雙MCU架構(gòu)(WiFi模塊+控制MCU模塊)附錄CRC校驗算法staticconstuint8c_crc_htalbe[]=//CRC高8位查表{0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40, 0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41, 0x00,0xC1,0x81,0x40};staticconstuint8c_crc_ltalbe[]= //CRC校驗查表低8位{0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7, 0x05,0xC5,0xC4,0x04,0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x0E, 0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8,0xD8,0x18,0x19,0xD9, 0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3, 0x11,0xD1,0xD0,0x10,0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32, 0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,0x3C,0xFC,0xFD,0x3D, 0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38,0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛東學(xué)院《專業(yè)英語B》2023-2024學(xué)年第一學(xué)期期末試卷
- 三年級科學(xué)上冊第四單元4玻璃和陶瓷教案蘇教版
- 《組織簽字儀式》課件
- 《珍惜校園生活》課件
- 《計算機操作員理論》課件
- 安全與小狗玩耍的課件
- 上半年銷售工作總結(jié)及下半年工作參考計劃范文
- 奶粉培訓(xùn)課件
- 《心理健康教育公開》課件
- 2021年全國統(tǒng)一高考化學(xué)試卷(全國乙卷)
- 大連市小升初手冊
- 《自然辯證法》課后習(xí)題答案自然辯證法課后題答案
- 造價咨詢結(jié)算審核服務(wù)方案
- 中國人民財產(chǎn)保險股份有限公司機動車綜合商業(yè)保險條款
- 燃氣工程監(jiān)理實施細則(通用版)
- E車E拍行車記錄儀說明書 - 圖文-
- 人才梯隊-繼任計劃-建設(shè)方案(珍貴)
- 《健身氣功》(選修)教學(xué)大綱
- 王家?guī)r隧道工程地質(zhì)勘察報告(總結(jié))
- 《昆明的雨》優(yōu)質(zhì)課一等獎(課堂PPT)
- EHS的組織架構(gòu)和職責說明(共2頁)
評論
0/150
提交評論