適用于物聯(lián)網(wǎng)設(shè)備的精簡(jiǎn)Web服務(wù)實(shí)現(xiàn)框架構(gòu)建_優(yōu)秀論文_第1頁(yè)
適用于物聯(lián)網(wǎng)設(shè)備的精簡(jiǎn)Web服務(wù)實(shí)現(xiàn)框架構(gòu)建_優(yōu)秀論文_第2頁(yè)
適用于物聯(lián)網(wǎng)設(shè)備的精簡(jiǎn)Web服務(wù)實(shí)現(xiàn)框架構(gòu)建_優(yōu)秀論文_第3頁(yè)
適用于物聯(lián)網(wǎng)設(shè)備的精簡(jiǎn)Web服務(wù)實(shí)現(xiàn)框架構(gòu)建_優(yōu)秀論文_第4頁(yè)
適用于物聯(lián)網(wǎng)設(shè)備的精簡(jiǎn)Web服務(wù)實(shí)現(xiàn)框架構(gòu)建_優(yōu)秀論文_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 適用于物聯(lián)網(wǎng)設(shè)備的精簡(jiǎn)Web服務(wù)實(shí)現(xiàn)框架構(gòu)建 1.1 邏輯控制模塊邏輯控制模塊作為軟件的邏輯控制中心, 通過(guò)調(diào)用工廠類中函數(shù)在邏輯控制模塊實(shí)例底層各模塊中的控制函數(shù)類, 利用控制函數(shù)類調(diào)用控制函數(shù)實(shí)現(xiàn)對(duì)設(shè)備的邏輯控制。邏輯控制模塊同時(shí)具有顯示作用, 在實(shí)現(xiàn)具體操作的同時(shí)也可將設(shè)備的實(shí)時(shí)狀態(tài)顯示在操作界面。其中, 邏輯控制模塊和控制函數(shù)模塊的主要作用是實(shí)現(xiàn)設(shè)備的本地控制, 而在實(shí)現(xiàn)本地控制的基礎(chǔ)上借助HTTP應(yīng)答模塊和數(shù)據(jù)訪問(wèn)模塊實(shí)現(xiàn)Web服務(wù)。1.2 工廠類工廠類來(lái)源于工廠設(shè)計(jì)模式, 其主要思想是把類的創(chuàng)建封裝到工廠類的函數(shù)中2, 當(dāng)需要對(duì)象時(shí), 無(wú)需親自創(chuàng)建, 只需通過(guò)調(diào)用工廠類中的函數(shù)就

2、可得到類。因此工廠設(shè)計(jì)模式能夠把類的創(chuàng)建和使用相分離, 減小程序間的耦合度, 提高復(fù)用性。為了適用于不同的物聯(lián)網(wǎng)設(shè)備, 本文設(shè)計(jì)的Web實(shí)現(xiàn)框架需提高通用性。因此借用工廠類作為中間層封裝底層各模塊中類的創(chuàng)建, 減小邏輯控制模塊與其他三個(gè)模塊的耦合度。例如, 當(dāng)要實(shí)現(xiàn)不同設(shè)備的Web服務(wù)時(shí), 只需更新控制函數(shù)類, 在工廠類中進(jìn)行新類的創(chuàng)建即可, 邏輯控制模塊無(wú)需修改代碼。1.3 底層模塊底層模塊包括控制函數(shù)模塊、HTTP應(yīng)答模塊和數(shù)據(jù)訪問(wèn)模塊, 各模塊由接口和類組成。其中, 接口中封裝的是各模塊的功能函數(shù), 而模塊中的類需要繼承接口對(duì)各功能函數(shù)進(jìn)行具體實(shí)現(xiàn)。通過(guò)借用接口把各模塊中類的創(chuàng)建封裝在工

3、廠類的函數(shù)中, 供邏輯控制模塊調(diào)用。1.3.1 控制函數(shù)模塊作為設(shè)備控制的直接程序, 控制函數(shù)模塊包含對(duì)設(shè)備進(jìn)行操作的各種函數(shù)。通常情況下, 對(duì)設(shè)備的控制主要通過(guò)設(shè)備的初始化、起??刂?、狀態(tài)讀取和參數(shù)設(shè)置等操作實(shí)現(xiàn), 因此控制函數(shù)類主要是對(duì)以上四個(gè)功能的函數(shù)進(jìn)行實(shí)現(xiàn)。1.3.2 HTTP應(yīng)答模塊HTTP協(xié)議作為實(shí)現(xiàn)Web服務(wù)的基礎(chǔ), 建立在TCP/IP協(xié)議基礎(chǔ)上, 對(duì)HTTP協(xié)議報(bào)文的監(jiān)聽(tīng)一般需借用第三方Web服務(wù)軟件, 雖然Web服務(wù)軟件可實(shí)現(xiàn)高性能Web服務(wù), 但是配置繁瑣。而物聯(lián)網(wǎng)設(shè)備通常只需一些簡(jiǎn)單的Web服務(wù), 同時(shí).NET中的Http Listener類是對(duì)TCP/IP協(xié)議的封裝,

4、 因此使用Http Listener類可以較容易地在HTTP應(yīng)答模塊中創(chuàng)建響應(yīng)HTTP請(qǐng)求的簡(jiǎn)單HTTP協(xié)議偵聽(tīng)器。在監(jiān)聽(tīng)到網(wǎng)頁(yè)請(qǐng)求后向客戶端返回HTML文件, 通過(guò)瀏覽器對(duì)HTML文件的渲染得到控制界面就能實(shí)現(xiàn)設(shè)備的Web服務(wù)。因此該模塊的類中只需借用Http Listener類實(shí)現(xiàn)HTTP請(qǐng)求報(bào)文監(jiān)聽(tīng)和HTML文件響應(yīng)兩個(gè)功能函數(shù)。1.3.3 數(shù)據(jù)訪問(wèn)模塊由于HTTP是一個(gè)短連接的通信方式, 每次連接只持續(xù)較短的一段時(shí)間, 如果要用HTTP協(xié)議實(shí)現(xiàn)Web服務(wù)端和客戶端的實(shí)時(shí)通信, 則需要采用輪詢方式3。但實(shí)現(xiàn)輪詢方式時(shí), 無(wú)論數(shù)據(jù)是否發(fā)生變化, 都要間隔一段時(shí)間向服務(wù)端發(fā)送一個(gè)請(qǐng)求, 對(duì)服

5、務(wù)器造成了較大壓力。雖然Web Socket可以簡(jiǎn)單方便地實(shí)現(xiàn)實(shí)時(shí)通信, 但需借助Web服務(wù)器。而本文實(shí)現(xiàn)的Web服務(wù)框架需精簡(jiǎn)系統(tǒng), 因此借用數(shù)據(jù)庫(kù)作為中間橋梁實(shí)現(xiàn)服務(wù)端和客戶端的數(shù)據(jù)交互。數(shù)據(jù)訪問(wèn)模塊的功能是將設(shè)備狀態(tài)信息寫進(jìn)數(shù)據(jù)庫(kù)供遠(yuǎn)程客戶端讀取, 同時(shí)從數(shù)據(jù)庫(kù)中讀取遠(yuǎn)程客戶端對(duì)設(shè)備的操作信息以及HTML文件中的Java Script代碼, 實(shí)現(xiàn)服務(wù)端和客戶端的數(shù)據(jù)實(shí)時(shí)交互。此外, 還可實(shí)現(xiàn)設(shè)備歷史數(shù)據(jù)查詢和大數(shù)據(jù)分析。要實(shí)現(xiàn)以上功能只需在數(shù)據(jù)訪問(wèn)模塊中封裝數(shù)據(jù)庫(kù)的增、刪、改、查函數(shù)即可。2 步進(jìn)電機(jī)Web服務(wù)實(shí)現(xiàn)由于步進(jìn)電機(jī)應(yīng)用廣泛, 且和其他設(shè)備一樣實(shí)現(xiàn)連網(wǎng)和遠(yuǎn)程跨網(wǎng)控制只需簡(jiǎn)單的W

6、eb服務(wù)就可滿足需求, 因此本文以實(shí)現(xiàn)步進(jìn)電機(jī)的Web服務(wù)為例, 說(shuō)明如何利用Http Listener類采用C#編程實(shí)現(xiàn)Web服務(wù)。2.1 步進(jìn)電機(jī)Web服務(wù)系統(tǒng)結(jié)構(gòu)本文設(shè)計(jì)的軟件框架只用于開發(fā)步進(jìn)電機(jī)控制軟件, 是Web服務(wù)的服務(wù)端。要實(shí)現(xiàn)步進(jìn)電機(jī)的Web服務(wù)和跨網(wǎng)控制, 還需要步進(jìn)電機(jī)、客戶端和SQL Server數(shù)據(jù)庫(kù)。由以上四部分組成步進(jìn)電機(jī)Web服務(wù)系統(tǒng), 如圖2所示。步進(jìn)電機(jī)作為被控制和管理的設(shè)備, 是Web服務(wù)的落腳點(diǎn)。電機(jī)控制軟件作為Web服務(wù)端, 是整個(gè)結(jié)構(gòu)的核心部分??刂栖浖捎肅#作為開發(fā)語(yǔ)言, 框架軟件包括邏輯控制、控制函數(shù)、HTTP應(yīng)答、數(shù)據(jù)訪問(wèn)和工廠類五個(gè)模塊。W

7、eb客戶端即瀏覽器, 需向服務(wù)端發(fā)送網(wǎng)頁(yè)請(qǐng)求報(bào)文, 在收到響應(yīng)報(bào)文中的HTML文件后, 對(duì)HTML文件進(jìn)行渲染得到步進(jìn)電機(jī)遠(yuǎn)程控制界面, 從而實(shí)現(xiàn)步進(jìn)電機(jī)的Web服務(wù)。SQL Server數(shù)據(jù)庫(kù)作為Web服務(wù)端和客戶端實(shí)時(shí)通信的中間橋梁, 在本地PC機(jī)中通過(guò)C#代碼操作數(shù)據(jù)庫(kù), 而遠(yuǎn)程瀏覽則利用接收到的HTML文件中的Java Script程序?qū)QL Server數(shù)據(jù)庫(kù)進(jìn)行操作, 實(shí)現(xiàn)Web服務(wù)端和客戶端的實(shí)時(shí)數(shù)據(jù)通信。2.2 步進(jìn)電機(jī)控制軟件實(shí)現(xiàn)本文設(shè)計(jì)的框架中, 工廠類作為中間層主要是隔離模塊, 而其他四個(gè)模塊則是步進(jìn)電機(jī)控制軟件的實(shí)現(xiàn)基礎(chǔ)。2.2.1 邏輯控制模塊邏輯控制模塊的主要功能

8、是調(diào)用控制函數(shù)模塊中的函數(shù), 實(shí)現(xiàn)步進(jìn)電機(jī)的邏輯控制和狀態(tài)顯示, 實(shí)現(xiàn)過(guò)程可分為以下三步:(1) 步進(jìn)電機(jī)初始化工作之前, 一般需對(duì)機(jī)器設(shè)備進(jìn)行基本參數(shù)設(shè)置, 在對(duì)步進(jìn)電機(jī)進(jìn)行實(shí)時(shí)控制前需對(duì)電機(jī)和PC機(jī)的USB通信進(jìn)行初始化。初始化的主要過(guò)程:在程序操作界面起??丶﨏lick事件函數(shù)中, 依次調(diào)用控制函數(shù)模塊中的OpenDevice () 函數(shù)和SetTimeout () 函數(shù), 打開USB串口, 設(shè)置USB通信超時(shí)時(shí)間;在USB串口打開后調(diào)用WriteData () 函數(shù), 對(duì)電機(jī)的衰減模式電壓和電機(jī)驅(qū)動(dòng)電流進(jìn)行設(shè)置, 從而完成對(duì)電機(jī)的初始化。(2) 步進(jìn)電機(jī)轉(zhuǎn)速和行進(jìn)距離控制目前, 對(duì)步進(jìn)

9、電機(jī)的控制主要是對(duì)步進(jìn)電機(jī)轉(zhuǎn)速和行進(jìn)距離的控制, 再利用圓弧和直線的插補(bǔ)算法可合成工程上所需的行進(jìn)路線。完成初始化后, 根據(jù)步進(jìn)電機(jī)提供的USB通信數(shù)據(jù)表將控制軟件界面中的轉(zhuǎn)速和行進(jìn)距離輸入控件中的數(shù)據(jù)寫入到字節(jié)數(shù)組中對(duì)應(yīng)的字節(jié)中, 通過(guò)調(diào)用WriteData () 函數(shù)將控制命令字節(jié)數(shù)組寫入驅(qū)動(dòng)器中實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。(3) 步進(jìn)電機(jī)運(yùn)行狀態(tài)讀取在實(shí)現(xiàn)對(duì)電機(jī)進(jìn)行控制的同時(shí)也需顯示電機(jī)的工作狀態(tài), 為操作人員提供操作參考數(shù)據(jù)。通過(guò)調(diào)用ReadData () 函數(shù)從USB串口中讀取電機(jī)狀態(tài)字節(jié)數(shù)組, 然后根據(jù)電機(jī)提供的USB通信數(shù)據(jù)表對(duì)所讀取的狀態(tài)字節(jié)數(shù)組進(jìn)行解析, 再將解析結(jié)果顯示在軟件界面

10、相對(duì)應(yīng)的顯示控制中。2.2.2 控制函數(shù)模塊在步進(jìn)電機(jī)控制過(guò)程中, 轉(zhuǎn)速和行進(jìn)距離是比較常用的兩個(gè)參數(shù), 而且這兩個(gè)參數(shù)有取值范圍限制。因此在電機(jī)控制類中定義電機(jī)轉(zhuǎn)速ServoSpeed和電機(jī)行進(jìn)距離ServoDistance屬性, 對(duì)電機(jī)轉(zhuǎn)速字段servospeed和行進(jìn)距離字段servodistance進(jìn)行保護(hù)和取賦值限定。電機(jī)轉(zhuǎn)速和行進(jìn)距離不僅要進(jìn)行寫入也要讀取, 因此屬性定義時(shí)要有g(shù)et和set訪問(wèn)器??刂坪瘮?shù)類作為控制函數(shù)模塊的主體, 其實(shí)現(xiàn)的函數(shù)主要有以下幾個(gè):OpenDevice () :打開電機(jī)驅(qū)動(dòng)器;CloseDevice () :關(guān)閉電機(jī)驅(qū)動(dòng)器;SetTimeout ()

11、:設(shè)置USB數(shù)據(jù)讀寫超時(shí)時(shí)間;WriteData () :寫入控制命令數(shù)據(jù)塊;ReadData () :讀取控制命令數(shù)據(jù)塊。以上控制函數(shù)通過(guò)引用步進(jìn)電機(jī)驅(qū)動(dòng)器提供的DLL動(dòng)態(tài)鏈接庫(kù)中所對(duì)應(yīng)的外部函數(shù), 在電機(jī)控制類中對(duì)所引用的函數(shù)進(jìn)行外部函數(shù)聲明實(shí)現(xiàn)。2.2.3 HTTP應(yīng)答模塊HTTP應(yīng)答模塊的功能是對(duì)HTTP請(qǐng)求作出反應(yīng), 其實(shí)現(xiàn)過(guò)程是先對(duì)HTTP請(qǐng)求進(jìn)行監(jiān)聽(tīng), 然后向客戶端響應(yīng)HTML文件。(1) 遠(yuǎn)程瀏覽器HTTP請(qǐng)求報(bào)文監(jiān)聽(tīng)對(duì)HTTP請(qǐng)求報(bào)文的監(jiān)聽(tīng)主要通過(guò)創(chuàng)建HTTP協(xié)議偵聽(tīng)器完成, 偵聽(tīng)器創(chuàng)建的部分源代碼如下:本文利用Prefixes屬性將偵聽(tīng)器綁定到9216端口上, 也可根據(jù)需要

12、綁定到其他未被占用的端口, 而Authentication Schemes屬性的功能是設(shè)置是否允許匿名和無(wú)身份驗(yàn)證的客戶端訪問(wèn)。在執(zhí)行Start () 函數(shù)后, 開始監(jiān)聽(tīng)瀏覽器的HTTP請(qǐng)求。在接收到HTTP請(qǐng)求時(shí)GetContextAsync () 函數(shù)會(huì)返回一個(gè)HttpListenerContext類, 利用該類實(shí)現(xiàn)HTML文件響應(yīng)。為了實(shí)現(xiàn)對(duì)客戶端網(wǎng)頁(yè)請(qǐng)求的實(shí)時(shí)監(jiān)聽(tīng), 該段程序需要分配子線程循環(huán)執(zhí)行。(2) HTML文件響應(yīng)返回HttpListenerContext類后, 該類的Response屬性返回一個(gè)HttpListerResponse類。通過(guò)HttpListerResponse類

13、可響應(yīng)遠(yuǎn)程瀏覽器的請(qǐng)求, 給遠(yuǎn)程瀏覽器響應(yīng)HTML文件, 從而實(shí)現(xiàn)對(duì)瀏覽器的Web服務(wù)。具體源代碼如下:為了實(shí)現(xiàn)對(duì)瀏覽器的實(shí)時(shí)響應(yīng), 該段代碼需要和監(jiān)聽(tīng)代碼在同一子線程, 并且在監(jiān)聽(tīng)代碼后循環(huán)執(zhí)行。代碼中使用ContentType屬性設(shè)置響應(yīng)文件的格式, 如果不設(shè)置, 瀏覽器會(huì)將文件以.txt格式顯示在窗口上。而Write (bytes, 0, bytes.Length) 函數(shù)的功能則是向?yàn)g覽器傳遞響應(yīng)文件, 其中參數(shù)bytes為一個(gè)字節(jié)類型的數(shù)組, 該數(shù)組存放了HTML文件的二進(jìn)制數(shù)據(jù)。2.2.4 數(shù)據(jù)訪問(wèn)模塊數(shù)據(jù)庫(kù)太小不利于系統(tǒng)擴(kuò)展, 太大不利于管理, 因此選用中型數(shù)據(jù)庫(kù)SQL Serve

14、r作為中間橋梁實(shí)現(xiàn)服務(wù)端和瀏覽器的數(shù)據(jù)交互。SQL Server表中不僅存儲(chǔ)步進(jìn)電機(jī)的狀態(tài)信息, 如實(shí)時(shí)轉(zhuǎn)速、周期行進(jìn)距離與串口通信狀態(tài)等, 同時(shí)還存儲(chǔ)來(lái)自客戶端的操作信息, 如轉(zhuǎn)速給定、行進(jìn)距離給定、正反轉(zhuǎn)與起停等。在服務(wù)端, 電機(jī)控制軟件的C#代碼將電機(jī)的實(shí)時(shí)狀態(tài)寫進(jìn)數(shù)據(jù)庫(kù), 同時(shí)從數(shù)據(jù)庫(kù)中讀取瀏覽器對(duì)電機(jī)的操作數(shù)據(jù), 根據(jù)操作數(shù)據(jù)調(diào)用控制函數(shù)模塊中相應(yīng)的控制函數(shù), 實(shí)現(xiàn)電機(jī)的遠(yuǎn)程操作。在客戶端實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作需借助Java Script代碼, 因此要在HTML文件中嵌入對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的Java Script函數(shù), 將在瀏覽器中對(duì)步進(jìn)電機(jī)的操作數(shù)據(jù)寫進(jìn)數(shù)據(jù)庫(kù)中, 同時(shí)將數(shù)據(jù)庫(kù)中存放的電

15、機(jī)狀態(tài)信息讀出, 并顯示在瀏覽器網(wǎng)頁(yè)上。3 Web服務(wù)測(cè)試將步進(jìn)電機(jī)驅(qū)動(dòng)器USB數(shù)據(jù)線接入本地PC機(jī), 運(yùn)行控制軟件, 對(duì)電機(jī)參數(shù)進(jìn)行設(shè)置, 啟動(dòng)按鈕, 即可實(shí)現(xiàn)對(duì)電機(jī)的控制??刂栖浖缑妗\浖\(yùn)行后, 在同一局域網(wǎng)內(nèi)的瀏覽器中輸入IP地址及其端口號(hào)1:9216, 瀏覽器將收到的HTML文件渲染到瀏覽器窗口, 即步進(jìn)電機(jī)遠(yuǎn)程控制界面。遠(yuǎn)程控制界面。若要實(shí)現(xiàn)外網(wǎng)Web服務(wù), 只需向網(wǎng)絡(luò)運(yùn)營(yíng)商申請(qǐng)外網(wǎng)IP地址, 或者借用花生殼軟件將本機(jī)IP映射到外網(wǎng)即可實(shí)現(xiàn)。4 結(jié)語(yǔ)從對(duì)步進(jìn)電機(jī)Web服務(wù)的測(cè)試過(guò)程可以看出, 本文設(shè)計(jì)的Web服務(wù)實(shí)現(xiàn)方案可以很好地應(yīng)用, 在實(shí)現(xiàn)既定功能的同時(shí)

16、系統(tǒng)也能穩(wěn)定運(yùn)行。該方案不僅規(guī)避了借用Web服務(wù)軟件帶來(lái)的復(fù)雜配置過(guò)程, 同時(shí)精簡(jiǎn)了系統(tǒng), 提高了軟件的可移植性。本文只用了兩個(gè)步進(jìn)電機(jī)進(jìn)行測(cè)試, 在物聯(lián)網(wǎng)行業(yè)中類似步進(jìn)電機(jī)只需向外提供簡(jiǎn)單Web服務(wù)的設(shè)備還大量存在。而本文設(shè)計(jì)的Web實(shí)現(xiàn)框架采用工廠模式, 各模塊間的耦合度低, 且具有很強(qiáng)的可擴(kuò)展性, 因此只要在框架中添加不同設(shè)備的模塊即可實(shí)現(xiàn)其他物聯(lián)網(wǎng)設(shè)備的Web服務(wù), 從而對(duì)分布式物聯(lián)網(wǎng)設(shè)備進(jìn)行集中管理。參考文獻(xiàn):1 秦元培.使用C#開發(fā)HTTP服務(wù)器系列之Hello WorldEB/OL./qinyuanpei/article/details/51

17、757148, 2016.2葛萌, 歐陽(yáng)宏基.工廠設(shè)計(jì)模式的研究與應(yīng)用J.計(jì)算技術(shù)與自動(dòng)化, 2017, 36 (2) :136-140.3祝瑞, 車敏.基于HTTP協(xié)議的服務(wù)器程序分析J.現(xiàn)代電子技術(shù), 2012, 35 (4) :117-119, 122.4 EGBENIMI B E, SANDEEP B.Simplifying the abstract factory and factory design patternsJ. ARPN journal of science and technology, 2014, 4 (12) :789-794.5高揚(yáng).基于.NET平臺(tái)的三層架構(gòu)軟件框架的設(shè)計(jì)與實(shí)現(xiàn)J.計(jì)算機(jī)技術(shù)與發(fā)展, 2011, 21 (2) :77-80, 85.6李光明, 孫英爽, 黨小娟.基于安卓的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)J.計(jì)算機(jī)工程與設(shè)計(jì), 2016, 37 (2) :556-561.7杜超, 林開偉, 陳曼雯.物聯(lián)網(wǎng)智能示波器研究與設(shè)計(jì)J.物聯(lián)網(wǎng)技術(shù), 2017, 7 (11) :36-39, 41.8劉立偉, 司冬雨, 白潔.基于LabVIEW Web服務(wù)的物聯(lián)網(wǎng)發(fā)電設(shè)備遠(yuǎn)程監(jiān)測(cè)系統(tǒng)應(yīng)用J.自動(dòng)化技術(shù)與應(yīng)用, 2014, 33 (10) :82-84.9

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論