




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、ONENET設(shè)備終端接入?yún)f(xié)議4-MQTTONENET設(shè)備終端接入?yún)f(xié)議4-MQTTONENET設(shè)備終端接入?yún)f(xié)議4-MQTTMessage Queuing Telemetry Transport(MQTT)版本號(hào)修訂日期修訂內(nèi)容說明V1.12015/9/8草稿V2.02016/4/8重構(gòu)LiuyuanV2.12016/4/19豐富報(bào)文格式,業(yè)務(wù)流程LeihongV2.22016/7/13增加設(shè)備間訂閱,創(chuàng)建topic功能Leihong目錄 TOC o 1-3 h z u HYPERLINK l _Toc456192642 1說明 PAGEREF _Toc456192642 h 3 HYPERLIN
2、K l _Toc456192643 2接入流程 PAGEREF _Toc456192643 h 3 HYPERLINK l _Toc456192644 3Packet格式說明 PAGEREF _Toc456192644 h 4 HYPERLINK l _Toc456192645 3.1 Fixed header PAGEREF _Toc456192645 h 4 HYPERLINK l _Toc456192646 3.2 Variable Header &Payload PAGEREF _Toc456192646 h 4 HYPERLINK l _Toc456192647 4支持的packet
3、 PAGEREF _Toc456192647 h 5 HYPERLINK l _Toc456192648 4.1CONNECT PAGEREF _Toc456192648 h 5 HYPERLINK l _Toc456192649 4.1.1 Fixed Header PAGEREF _Toc456192649 h 5 HYPERLINK l _Toc456192650 4.1.2 VariableHeader PAGEREF _Toc456192650 h 5 HYPERLINK l _Toc456192651 4.1.3 Payload PAGEREF _Toc456192651 h 6
4、HYPERLINK l _Toc456192652 4.2CONNACK PAGEREF _Toc456192652 h 6 HYPERLINK l _Toc456192653 4.2.1 Fixed Header PAGEREF _Toc456192653 h 6 HYPERLINK l _Toc456192654 4.2.2 VariableHeader PAGEREF _Toc456192654 h 6 HYPERLINK l _Toc456192655 4.3PUBLISH(client - server) PAGEREF _Toc456192655 h 7 HYPERLINK l _
5、Toc456192656 4.3.1 Fixed header PAGEREF _Toc456192656 h 7 HYPERLINK l _Toc456192657 4.3.2 VariableHeader PAGEREF _Toc456192657 h 7 HYPERLINK l _Toc456192658 4.3.3 Payload PAGEREF _Toc456192658 h 8 HYPERLINK l _Toc456192659 4.4PUBLISH(server - client) PAGEREF _Toc456192659 h 8 HYPERLINK l _Toc4561926
6、60 4.4.1 Fixed header PAGEREF _Toc456192660 h 8 HYPERLINK l _Toc456192661 4.4.2 VariableHeader PAGEREF _Toc456192661 h 8 HYPERLINK l _Toc456192662 4.4.3 Payload PAGEREF _Toc456192662 h 8 HYPERLINK l _Toc456192663 4.5PUBACK PAGEREF _Toc456192663 h 9 HYPERLINK l _Toc456192664 4.4.1 Fixed header PAGERE
7、F _Toc456192664 h 9 HYPERLINK l _Toc456192665 4.4.2 VariableHeader PAGEREF _Toc456192665 h 9 HYPERLINK l _Toc456192666 4.6SUBSCRIBE PAGEREF _Toc456192666 h 9 HYPERLINK l _Toc456192667 4.5.1 Fixed header PAGEREF _Toc456192667 h 9 HYPERLINK l _Toc456192668 4.5.2 VariableHeader PAGEREF _Toc456192668 h
8、9 HYPERLINK l _Toc456192669 4.5.3 Payload PAGEREF _Toc456192669 h 9 HYPERLINK l _Toc456192670 4.7SUBACK PAGEREF _Toc456192670 h 10 HYPERLINK l _Toc456192671 4.6.1 Fixed header PAGEREF _Toc456192671 h 10 HYPERLINK l _Toc456192672 4.6.2 VariableHeader PAGEREF _Toc456192672 h 10 HYPERLINK l _Toc4561926
9、73 4.6.3 Payload PAGEREF _Toc456192673 h 10 HYPERLINK l _Toc456192674 4.8UNSUBSCRIBE PAGEREF _Toc456192674 h 10 HYPERLINK l _Toc456192675 4.7.1 Fixed header PAGEREF _Toc456192675 h 10 HYPERLINK l _Toc456192676 4.7.2 VariableHeader PAGEREF _Toc456192676 h 11 HYPERLINK l _Toc456192677 4.7.3 Payload PA
10、GEREF _Toc456192677 h 11 HYPERLINK l _Toc456192678 4.9 UNSUBACK PAGEREF _Toc456192678 h 11 HYPERLINK l _Toc456192679 4.9.1 Fixed header PAGEREF _Toc456192679 h 11 HYPERLINK l _Toc456192680 4.9.2 VariableHeader PAGEREF _Toc456192680 h 11 HYPERLINK l _Toc456192681 5接入流程 PAGEREF _Toc456192681 h 12 HYPE
11、RLINK l _Toc456192682 5.1連接鑒權(quán) PAGEREF _Toc456192682 h 12 HYPERLINK l _Toc456192683 5.2消息發(fā)布 PAGEREF _Toc456192683 h 13 HYPERLINK l _Toc456192684 5.2.1 數(shù)據(jù)點(diǎn)上報(bào) PAGEREF _Toc456192684 h 13 HYPERLINK l _Toc456192685 5.2.2 平臺(tái)命令(下發(fā)&回復(fù)) PAGEREF _Toc456192685 h 17 HYPERLINK l _Toc456192686 5.2 創(chuàng)建Topic PAGEREF
12、_Toc456192686 h 19 HYPERLINK l _Toc456192687 5.3 訂閱 PAGEREF _Toc456192687 h 21 HYPERLINK l _Toc456192688 5.4 取消訂閱 PAGEREF _Toc456192688 h 21 HYPERLINK l _Toc456192689 5.5 推送設(shè)備Topic PAGEREF _Toc456192689 h 22說明MQTT協(xié)議詳細(xì)內(nèi)容請(qǐng)參見MQTT version 3.1.1官方文檔,本文檔對(duì)此不做詳細(xì)說明,僅指明OneNet的要求、默認(rèn)參數(shù)、以及當(dāng)前實(shí)現(xiàn)與MQTT官方文檔的差異。該版本支持的
13、功能:鑒權(quán);數(shù)據(jù)點(diǎn)上報(bào)(平臺(tái)指定topic); 創(chuàng)建topic;獲取項(xiàng)目的topic列表;訂閱/取消平臺(tái)的topic; 設(shè)備間topic訂閱;平臺(tái)命令下發(fā);Qos0(cS) ,Qos1(C-S);接入流程訪問平臺(tái) HYPERLINK / /注冊(cè)用戶;用戶根據(jù)業(yè)務(wù)情況,在“連接請(qǐng)求”章節(jié)中選擇EDP登錄方式(目前公測(cè)階段,頁面還未提供MQTT登錄選項(xiàng),登錄方式與EDP兼容);登錄需填寫設(shè)備相關(guān)屬性,在項(xiàng)目下新增設(shè)備,獲取項(xiàng)目ID、設(shè)備ID,以及authinfo等信息;設(shè)備發(fā)送TCP連接請(qǐng)求到以下地址,發(fā)送封裝的報(bào)文與平臺(tái)交互。平臺(tái)服務(wù)器地址9,TCP 端口6002Packet格式說明包格式包含三
14、部分: Fixed Header所有packet中都必須有Varable Header部分包含有Payload部分包含有3.1 Fixed headerBit76543210byte 1MQTT Packet Type0000byte2 - 5Remaining Length(該字段占用1-4個(gè)字節(jié))該版本支持的所有類型:名字值流向描述CONNECT1C-S客戶端請(qǐng)求與服務(wù)端建立連接CONNACK2S-C服務(wù)端確認(rèn)連接建立PUBLISH3CS發(fā)布消息PUBACK4CS收到發(fā)布消息確認(rèn)SUBSCRIBE8C-S訂閱請(qǐng)求 SUBACK9S-C訂閱確認(rèn)UNSUBSCRIBE10C-S取消訂閱UNSU
15、BACK11S-C取消訂閱確認(rèn)3.2 Variable Header &Payload消息類型Variable HeaderPayloadCONNECT有有CONNACK有有PUBLISH有有PUBACK有無SUBSCRIBE有有SUBACK有有UNSUBSCRIBE有有UNSUBACK有無支持的packet CONNECT4.1.1 Fixed HeaderBit76543210byte 1MQTT Packet Type0000byte2 - 5Remaining Length(該字段占用1-4個(gè)字節(jié))4.1.2 VariableHeaderDescription76543210byte
16、1-2ProtocolName Length0000000000000100byte 3M01001101byte 4Q01010001byte 5T01010100byte 6T01010100Byte7Protocol Level00000001Byte8Connect FlagUserflagPasswordflagWillRetainFlagWillQos FlagWillFlagCleanSessionFlagReserveByte9-10KeepAlive版本必須設(shè)置為4,平臺(tái)只支持版本v 3.1.1,不支持更老的版本。使用第三方客戶端時(shí)需要注意選擇正確的版本。user flag與
17、password flag平臺(tái)不允許匿名登陸,因此這兩個(gè)標(biāo)志位在連接時(shí)必須設(shè)置為1,否則認(rèn)為協(xié)議錯(cuò)誤,平臺(tái)將會(huì)斷開連接。will flag與Willretainflag/Willqosflag 平臺(tái)暫不支持will flag,WillRetain Flag與 WillQos Flag必須設(shè)置為0。CleanSessionFlag若客戶端將clean session標(biāo)志位設(shè)置為0,當(dāng)其斷開后,平臺(tái)將會(huì)保存session,session需保持的內(nèi)容包含:客戶端訂閱的topic列表.客戶端保存session的內(nèi)容包含:已經(jīng)發(fā)送到服務(wù)端的但還沒有收到確認(rèn)的Qos1消息列表.待發(fā)送的Qos0列表.Res
18、erve 保留位,置0。KeepAlive?;顣r(shí)間每個(gè)客戶端可自定義設(shè)置連接保持時(shí)間,最短120秒,最長65535秒。 4.1.3 PayloadDescription是否必須存在格式Field1Client Identifier是2字節(jié)字串長度 + utf8字串Field2UserName是2字節(jié)字串長度 + utf8字串Field3UserPassword是2字節(jié)字串長度 + utf8字串與鑒權(quán)相關(guān)的字段包含client id,username和password,支持鑒權(quán)方式。字段設(shè)置消息示例client_id設(shè)置為平臺(tái)創(chuàng)建設(shè)備時(shí)的設(shè)備idusername設(shè)置為“項(xiàng)目ID”password
19、設(shè)置為“鑒權(quán)信息(auth_info)”client_id=”123”username=”433223”password=”注冊(cè)的鑒權(quán)信息”各字段說明如下: 項(xiàng)目ID:在平臺(tái)添加項(xiàng)目時(shí)平臺(tái)生成的ID; 鑒權(quán)信息(auth_info):在平臺(tái)申請(qǐng)?jiān)O(shè)備時(shí)填寫設(shè)備的auth_info屬性(數(shù)字+字母的字符串),該屬性需要產(chǎn)品內(nèi)具備唯一性; CONNACK4.2.1 Fixed HeaderBit76543210byte 1MQTT Packet Type0000byte2 - 5Remaining Length(該字段占用1-4個(gè)字節(jié))4.2.2 VariableHeaderDescription7
20、6543210byte 1Acknowledge Flags0000000Spbyte 2Return CodexxxxxxxxSp: Session Present Flag,session信息在服務(wù)器已保持,置1;未保存,置0。返回碼說明:返回碼描述0成功1協(xié)議版本錯(cuò)誤2非法的clientid3服務(wù)不可用4用戶名或密碼錯(cuò)誤5非法鏈接(比如token非法)失敗:*如果connect包不符合協(xié)議內(nèi)容約束,則直接斷掉連接,而不需要發(fā)送connack包. *如果鑒權(quán)或授權(quán)失敗,回復(fù)一個(gè)帶非0錯(cuò)誤碼的connack包.成功:*必須斷掉重復(fù)的clientid.*執(zhí)行cleansession 對(duì)應(yīng)的操作
21、.*必須回復(fù)一個(gè)connack,回復(fù)碼為0.*開始消息傳遞,并加入keepalive的監(jiān)視.PS:客戶端需要等到服務(wù)端的connack報(bào)文,才能發(fā)送后續(xù)的數(shù)據(jù)包.PUBLISH(client - server)4.3.1 Fixed headerBit76543210byte 1MQTT Packet TypeDUP flagQoS LevelRETAINbyte2 - 5Remaining Length(該字段占用1-4個(gè)字節(jié)) DUP: QoS1:如果為0,則表示是第一次發(fā)送該包,如果為1,則表示為重復(fù)發(fā)送的包。 Qos0:DUP必須為0 QOS: 指定了該publish包的qos等級(jí)如下
22、 RETAIN: 暫不實(shí)現(xiàn) Qos 值Bit2Bit1描述000最多發(fā)送一次101至少發(fā)送一次 PS:該版本只實(shí)現(xiàn)Qos0,Qos14.3.2 VariableHeaderDescription格式是否必須Field1TopicName2字節(jié)字串長度 + utf8字串是Field2PacketIdentifier2字節(jié)QoS0:否, QoS1:是4.3.3 Payload 內(nèi)容根據(jù)不同業(yè)務(wù)自定義.PUBLISH(server - client)4.4.1 Fixed headerBit76543210byte 1MQTT Packet TypeDUP flagQoS LevelRETAINby
23、te2 - 5Remaining Length(該字段占用1-4個(gè)字節(jié)) DUP: QoS1:如果為0,則表示是第一次發(fā)送該包,如果為1,則表示為重復(fù)發(fā)送的包。 Qos0:DUP必須為0 QOS: 指定了該publish包的qos等級(jí)如下 RETAIN: Qos 值Bit2Bit1描述000最多發(fā)送一次 PS:該版本只實(shí)現(xiàn)Qos04.4.2 VariableHeaderDescription格式Field1TopicName2字節(jié)字串長度 + utf8字串4.4.3 Payload內(nèi)容根據(jù)不同業(yè)務(wù)自定義. PUBACK4.4.1 Fixed headerBit76543210byte 1MQT
24、T Packet Type0000byte2 5Remaining Length(該字段占用1-4個(gè)字節(jié))4.4.2 VariableHeaderDescription76543210byte 12PacketIdentifierPacketIdentifier SUBSCRIBE4.5.1 Fixed headerBit76543210byte 1MQTT Packet Type0000byte2 5Remaining Length(該字段占用1-4個(gè)字節(jié))4.5.2 VariableHeaderDescription76543210byte 12PacketIdentifierPacket
25、Identifier4.5.3 PayloadDescription格式Byte1nTopicName2字節(jié)字串長度 + utf8字串Byten+1Reserved保留字節(jié)(兼容mqtt-v3.1.1)topic說明 可以包含一個(gè)或多個(gè)topic.topic必須是數(shù)字、英文、反斜杠(/)的組合,目前不支持通配符。每個(gè)客戶端最多訂閱100個(gè)topic;以下topic被系統(tǒng)保留使用,(客戶端不能訂閱):類型說明$開頭平臺(tái)保留SUBACK4.6.1 Fixed headerBit76543210byte 1MQTT Packet Type0000byte2 5Remaining Length(該字段
26、占用1-4個(gè)字節(jié))4.6.2 VariableHeaderDescription76543210byte 12PacketIdentifierPacketIdentifier4.6.3 PayloadDescription76543210byte 1retcode返回碼說明:返回碼描述0 x00成功0 x80失敗UNSUBSCRIBE4.7.1 Fixed headerBit76543210byte 1MQTT Packet Type0000byte2 5Remaining Length(該字段占用1-4個(gè)字節(jié))4.7.2 VariableHeaderDescription76543210by
27、te 12PacketIdentifierPacketIdentifier4.7.3 PayloadDescription格式Byte1nTopicName2字節(jié)字串長度 + utf8字串 可以包含一個(gè)或多個(gè)topic.4.9 UNSUBACK4.9.1 Fixed headerBit76543210byte 1MQTT Packet Type0000byte2 5Remaining Length(該字段占用1-4個(gè)字節(jié))4.9.2 VariableHeaderDescription76543210byte 12PacketIdentifierPacketIdentifier接入流程連接鑒權(quán)設(shè)
28、備向平臺(tái)發(fā)起connect請(qǐng)求.connect中攜帶鑒權(quán)信息,具體參見(報(bào)文格式參考4.1)平臺(tái)拿到鑒權(quán)信息進(jìn)行鑒權(quán). 鑒權(quán)通過后,如果cleansession=0, 平臺(tái)將會(huì)加載保存的設(shè)備的一些信息.如訂閱列表(4.1.2中描述).如果cleansession=1, 設(shè)備沒有保存信息在平臺(tái),則不加載設(shè)備相關(guān)信息.返回鑒權(quán)結(jié)果ConnAck(報(bào)文格式參考4.2).消息發(fā)布5.2.1 數(shù)據(jù)點(diǎn)上報(bào)設(shè)備使用publish報(bào)文來上傳數(shù)據(jù)點(diǎn), 報(bào)文格式如下: VariableHeader:Field名稱說明格式Field1TopicName=”$dp”$dp為系統(tǒng)上傳數(shù)據(jù)點(diǎn)的指令2字節(jié)字串長度 + ut
29、f8字串 Payload:Payload包含真正的數(shù)據(jù)點(diǎn)內(nèi)容,支持的格式如下: 字節(jié)說明bit76543210Byte 1Bit0-5數(shù)據(jù)類型指示,目前支持: Type = 1 /可離散浮點(diǎn)數(shù)數(shù)據(jù)流 Type = 7Bit6-7 flags 根據(jù)具體類型不同意義00000001Byte 2根據(jù)數(shù)據(jù)類型指示不同。Byte n數(shù)據(jù)類型1格式說明:Byte 1數(shù)據(jù)點(diǎn)類型值:1 /1: json格式1字符串00000001Byte 2/指示后面json字符串長度固定兩字節(jié)長度高位字節(jié),值為0 x00Byte 3固定兩字節(jié)長度低位字節(jié),值為0 x41Byte 4 “datastreams”:/ 可以同時(shí)
30、傳遞多個(gè)數(shù)據(jù)流 “id”:”temperature”, “datapoints”:”at”:”2013-04-22 22:22:22”,/可選”value”: 36.5/用戶自定義, “id”:”location”“datapoints”:, Byte n數(shù)據(jù)類型7(type = 7)格式說明:(每次最多500個(gè)數(shù)據(jù)流的浮點(diǎn)數(shù))Byte 1Bit0-5數(shù)據(jù)類型指示:type=7 /可離散浮點(diǎn)數(shù)數(shù)據(jù)流Bit6:保留,置0Bit7: 時(shí)間指示位,1,攜帶6字節(jié)時(shí)間10000111Byte 2年(后兩位),例如2016年,則該字節(jié)為1600010000Byte 3月(1-12)Byte 4日(1-3
31、1)Byte 5小時(shí)(023)Byte 6分鐘(059)Byte7秒(059)Byte 8/數(shù)據(jù)流名稱(取值范圍1-65535)高位字節(jié),值為0 x00Byte 9低位字節(jié),值為0 x01Byte10/數(shù)據(jù)流個(gè)數(shù)(取值范圍1-500)高位字節(jié),值為0 x00Byte11低位字節(jié),值為0 x01Byte 104字節(jié)float類型,低位在前,高位在后Byte 11Byte 12Byte 13.Byte n/數(shù)據(jù)流名稱(取值范圍1-65535)高位字節(jié),值為0 x24Byte n+1低位字節(jié),值為0 x37Byte n+2/數(shù)據(jù)流個(gè)數(shù)(取值范圍1-500)高位字節(jié),值為0 x01Byte n+3低位
32、字節(jié),值為0 x00Byte n+24字節(jié)float類型,低位在前,高位在后Byte n+4Byte n+5Byte n+6 Qos0(Client-Server)設(shè)備發(fā)布Qos0消息(上報(bào)數(shù)據(jù)點(diǎn))平臺(tái)收到上報(bào)數(shù)據(jù)點(diǎn)后保存起來. Qos1(Client-Server)設(shè)備發(fā)布Qos0消息(上報(bào)數(shù)據(jù)點(diǎn))平臺(tái)收到上報(bào)數(shù)據(jù)點(diǎn)后保存起來.平臺(tái)給設(shè)備回復(fù)PubAck(報(bào)文格式參考4.5)5.2.2 平臺(tái)命令(下發(fā)&回復(fù))命令下發(fā)平臺(tái)使用publish報(bào)文來下發(fā)平臺(tái)指令, 報(bào)文格式如下:FixHeader:參考4.3.1 VariableHeader:Field名稱說明格式Field1TopicName=
33、”$creq/cmduuid”$creq為系統(tǒng)下發(fā)Cmd的指令,cmduuid為該條指令的uuid2字節(jié)字串長度 + utf8字串 Payload:Payload包含真正的指令內(nèi)容.1 Qos0(Server-Client)命令下發(fā):平臺(tái)向設(shè)備發(fā)送topic為$creq的消息(該topic為平臺(tái)命令). 設(shè)備收到topic為$creq的topic時(shí),需將其作為平臺(tái)下發(fā)的指令來處理.命令回復(fù)設(shè)備使用publish報(bào)文來回復(fù)平臺(tái)指令, 報(bào)文格式如下:FixHeader:參考4.3.1 VariableHeader:Field名稱說明格式Field1TopicName=”$crsp/cmduuid”$crsp為系統(tǒng)處理設(shè)備回復(fù)cmd的指令,cmduuid為該條指令的uuid2字節(jié)字串長度 + utf8字串 Payload:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年年會(huì)主題策劃方案范本
- 黑龍江大慶歷年中考作文題(2008-2024)
- 尿毒癥培訓(xùn)課件
- 2022年湖北省通信管理局考試真題
- 2025年玻璃自動(dòng)切割線項(xiàng)目可行性研究報(bào)告
- 2025年環(huán)形氣閥項(xiàng)目可行性研究報(bào)告
- 2025年豬苓多糖注射液項(xiàng)目可行性研究報(bào)告
- 2025年牛筋塑料桶項(xiàng)目可行性研究報(bào)告
- 長江藝術(shù)工程職業(yè)學(xué)院《線性代數(shù)及概率統(tǒng)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 肇慶醫(yī)學(xué)高等??茖W(xué)?!堵眯猩邕\(yùn)營管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 特勞特-定位課件
- 家庭農(nóng)場(chǎng)經(jīng)營與管理培訓(xùn)課件
- 中國重癥腦血管病管理共識(shí)課件
- 轉(zhuǎn)爐煉鋼設(shè)備與工藝課件
- 汽車吊車施工安全技術(shù)交底
- 電工基礎(chǔ)(中職)完整版教學(xué)課件
- 小班語言繪本《小蛇散步》繪本PPT
- 杭州房建工程監(jiān)理大綱范本
- DB22∕T 2797.1-2017 玄武巖纖維復(fù)合筋及玄武巖纖維混凝土設(shè)計(jì)與施工規(guī)范 第1部分:玄武巖纖維復(fù)合筋
- 慶陽剪紙藝術(shù):演示文稿
- 人居環(huán)境學(xué)導(dǎo)論
評(píng)論
0/150
提交評(píng)論