◆袁容 羅欽通訊作者 龍海軒 何雅萱 龍俊琪
?
基于Ardiuno的3D打印實(shí)驗(yàn)室遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
◆袁容1羅欽通訊作者1龍海軒2何雅萱1龍俊琪1
(1.湖南工業(yè)大學(xué)電氣與信息工程學(xué)院 湖南 412007;2.湖南工業(yè)大學(xué)計(jì)算機(jī)與通信學(xué)院 湖南 412007)
針對(duì)3D打印實(shí)驗(yàn)室管理任務(wù)繁重,3D打印數(shù)據(jù)難以實(shí)時(shí)獲取的現(xiàn)狀,本文提出了3D打印實(shí)驗(yàn)室的遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)方案。本系統(tǒng)由遠(yuǎn)程終端模塊(基于Arduino)、遠(yuǎn)程通信模塊(采用ESP8266芯片)和Web應(yīng)用模塊組成。本系統(tǒng)經(jīng)由路由器可對(duì)實(shí)驗(yàn)室的機(jī)器打印進(jìn)度、機(jī)內(nèi)熱床以及噴頭溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè)與反饋。系統(tǒng)經(jīng)調(diào)查與實(shí)驗(yàn)表明,該系統(tǒng)實(shí)時(shí)性強(qiáng),便于學(xué)生使用與教師管理,能夠有效提高實(shí)驗(yàn)室的管理效率。
3D打印機(jī);實(shí)驗(yàn)室遠(yuǎn)程監(jiān)測(cè);ESP8266;Web
隨著科技的迅速發(fā)展,遠(yuǎn)程監(jiān)測(cè)技術(shù)正在逐漸被人們所認(rèn)知和重視。目前國(guó)內(nèi)市場(chǎng)3D打印機(jī)尚缺乏較成熟且易于推廣的遠(yuǎn)程監(jiān)測(cè)系統(tǒng),所建設(shè)的3D打印實(shí)驗(yàn)室大多以單機(jī)版打印機(jī)進(jìn)行教學(xué),實(shí)驗(yàn)室管理員難以及時(shí)發(fā)現(xiàn)打印機(jī)出現(xiàn)的故障,且學(xué)生實(shí)驗(yàn)方式較單一。針對(duì)以上問(wèn)題,本論文提出的3D打印實(shí)驗(yàn)室遠(yuǎn)程監(jiān)測(cè)系統(tǒng),能夠滿(mǎn)足實(shí)驗(yàn)室管理員和實(shí)驗(yàn)者的不同需求,為3D打印實(shí)驗(yàn)室提供人性化、開(kāi)放性的管理方式。
3D打印實(shí)驗(yàn)室遠(yuǎn)程監(jiān)測(cè)系統(tǒng)通過(guò)登錄實(shí)驗(yàn)室監(jiān)測(cè)網(wǎng)頁(yè),遠(yuǎn)程獲取3D打印機(jī)的設(shè)備數(shù)據(jù)。本系統(tǒng)的總體框架設(shè)計(jì)分為遠(yuǎn)程終端模塊、遠(yuǎn)程通信模塊和Web應(yīng)用模塊三大模塊,總體框架如圖1所示(注:該3D打印機(jī)使用Arduino mega 2560主控板燒配Marlin固件,搭載RAMPS1.4拓展板作為核心部件)。
圖1 系統(tǒng)總體框架圖
遠(yuǎn)程終端模塊對(duì)應(yīng)實(shí)驗(yàn)室Prusa i3結(jié)構(gòu)3D打印機(jī)。每臺(tái)3D打印機(jī)均配置ESP8266WIFI模塊,實(shí)現(xiàn)3D打印機(jī)無(wú)線(xiàn)遠(yuǎn)程通信的功能。
遠(yuǎn)程通信模塊所采用的ESP8266是一個(gè)能夠搭載軟件應(yīng)用,實(shí)現(xiàn)WIFI網(wǎng)絡(luò)功能嵌入的芯片。其可添加到任何基于微控制器的設(shè)備中,通過(guò)簡(jiǎn)單的串口連接便可通過(guò)SPI/SDIO接口或者中央處理器AHB實(shí)現(xiàn)通信。
Web 應(yīng)用模塊由Web 服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器組成,實(shí)現(xiàn)對(duì)實(shí)驗(yàn)室數(shù)據(jù)的存儲(chǔ)和處理及數(shù)據(jù)反饋與報(bào)告管理的功能。本網(wǎng)頁(yè)采用目前最流行的J2EE技術(shù),使用spring boot框架結(jié)構(gòu)進(jìn)行開(kāi)發(fā),使用html、Javascript與css設(shè)計(jì)網(wǎng)頁(yè)內(nèi)容,并采用velocity渲染模板將java代碼從web頁(yè)面中分離出來(lái),且系統(tǒng)數(shù)據(jù)庫(kù)選擇穩(wěn)定高效的 My SQL 數(shù)據(jù)庫(kù)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)。
(1)遠(yuǎn)程終端模塊
Arduino Mega 2560是基于ATmega2560的微控制板,有54路數(shù)字輸入/輸出端口,16路模擬輸入端口,4路UART串口,16MHz的晶振,USB連接口,電池接口,ICSP頭和復(fù)位按鈕,適合作為實(shí)驗(yàn)室3D打印機(jī)主板。其上傳Marlin固件才可以使用,通過(guò)配置固件通信波特率,控制板類(lèi)型,擠出頭個(gè)數(shù),溫度傳感器類(lèi)型等函數(shù),從而實(shí)現(xiàn)主板的控制功能。使用RAMPS擴(kuò)展板提供擴(kuò)展接口,并連接Arduino MEGA平臺(tái)時(shí),就擁有充足的擴(kuò)展空間。
(2)遠(yuǎn)程通信模塊
無(wú)線(xiàn)WIFI模塊與3D打印機(jī)作為STA終端,連接到局域網(wǎng)中的路由器上,通過(guò)路由器與服務(wù)器進(jìn)行數(shù)據(jù)交互,組成一個(gè)無(wú)線(xiàn)網(wǎng)絡(luò)。
本模塊選用的是以ESP8266為主控芯片的WiFi模塊。WiFi模塊具有高效的AT指令,且其價(jià)格低廉、開(kāi)發(fā)簡(jiǎn)單。該芯片具有一個(gè)自成體系的WiFi網(wǎng)絡(luò)解決方案,其高度片內(nèi)集成,包括前端模塊在內(nèi)的整個(gè)電路所占PCB空間非常小,可將用戶(hù)的物理設(shè)備連接到WiFi無(wú)線(xiàn)網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信。
WiFi模塊采用UART和控制器進(jìn)行通信。使用STM32搭載ESP8266進(jìn)行設(shè)置,STM32通過(guò)串口TX發(fā)送AT指令對(duì)WiFi的工作模式、UART波特率、建立連接等相關(guān)參數(shù)進(jìn)行設(shè)置。STM32的UART接收端口RX則接收WiFi模塊從移動(dòng)端接收到數(shù)據(jù)和指令。設(shè)置成功后將芯片與終端連接,當(dāng)移動(dòng)端和3D打印終端建立無(wú)線(xiàn)連接后,就可以實(shí)現(xiàn)數(shù)據(jù)雙向通信了。將ESP8266與3D打印連接完畢以后,進(jìn)行ESP8266固件編程與燒寫(xiě),最后使用AT指令設(shè)置模塊。
(3)Web應(yīng)用模塊
本模塊開(kāi)發(fā)的框架,將系統(tǒng)的開(kāi)發(fā)任務(wù)分為表現(xiàn)層和業(yè)務(wù)邏輯層以及數(shù)據(jù)訪問(wèn)層。第三層的功能是對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行各種基礎(chǔ)操作,并為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù)。而第二層則是在數(shù)據(jù)訪問(wèn)層的基礎(chǔ)之上,把數(shù)據(jù)層的一些操作進(jìn)行組合,對(duì)數(shù)據(jù)進(jìn)行業(yè)務(wù)邏輯處理。第一層主要表示為Web方式,用于顯示數(shù)據(jù)和接收用戶(hù)輸入的數(shù)據(jù),實(shí)現(xiàn)用戶(hù)與網(wǎng)絡(luò)管理系統(tǒng)的交互。
本系統(tǒng)通過(guò)Web應(yīng)用模塊實(shí)現(xiàn)網(wǎng)頁(yè)的開(kāi)發(fā)與設(shè)計(jì),支持管理員與普通用戶(hù)實(shí)現(xiàn)系統(tǒng)應(yīng)用層操作,對(duì)實(shí)驗(yàn)室內(nèi)3D打印機(jī)實(shí)施指令,并通過(guò)遠(yuǎn)程通信模塊進(jìn)行TCP/UDP數(shù)據(jù)傳輸,將指令傳達(dá)于終端,進(jìn)行實(shí)際工作。本系統(tǒng)旨在為管理員(老師)與普通用戶(hù)(學(xué)生)提供便捷與服務(wù)。管理員擁有最高權(quán)限,可進(jìn)行系統(tǒng)的所有操作,功能如圖2所示。普通用戶(hù)只擁有部分權(quán)限,且可由管理員分配信息和設(shè)置權(quán)限,功能如圖3所示。
圖2 管理員系統(tǒng)功能模塊圖
圖3 普通用戶(hù)系統(tǒng)功能模塊圖
(1)管理員(老師)模塊
①登錄模塊中,管理員通過(guò)賬號(hào)和對(duì)應(yīng)的密碼進(jìn)行登錄。
②上傳模塊中,管理員可上傳文檔和實(shí)驗(yàn)報(bào)告的分?jǐn)?shù)。
③查看/修改模塊中,管理員可查看任意用戶(hù)上傳的信息,增加或刪除某用戶(hù)的操作權(quán)限。
④監(jiān)測(cè)模塊中,管理員可添加對(duì)應(yīng)3D打印機(jī)設(shè)備號(hào),實(shí)時(shí)監(jiān)測(cè)打印機(jī)情況。
(2)普通用戶(hù)(學(xué)生)模塊
①登錄模塊中,普通用戶(hù)通過(guò)用戶(hù)名(如學(xué)號(hào))和對(duì)應(yīng)的密碼登錄網(wǎng)頁(yè)。
②預(yù)約模塊中,普通用戶(hù)可進(jìn)行實(shí)驗(yàn)預(yù)約,系統(tǒng)將其所提交的預(yù)約信息自動(dòng)發(fā)送至管理員郵箱等待管理員查收。
③上傳模塊中,普通用戶(hù)可將已完成的實(shí)驗(yàn)報(bào)告進(jìn)行上傳。
測(cè)試管理員功能,001號(hào)3D打印機(jī)進(jìn)入待機(jī)狀態(tài),接入室內(nèi)無(wú)線(xiàn)網(wǎng),選擇打印模型一號(hào)。以管理員身份登錄網(wǎng)頁(yè),選擇監(jiān)測(cè)001號(hào)3D打印機(jī)工作狀態(tài),網(wǎng)頁(yè)接收工作狀態(tài)信息如表1。
表1 打印機(jī)工作狀態(tài)信息表
打開(kāi)3D打印LCD屏,進(jìn)入信息欄目,對(duì)比數(shù)據(jù)無(wú)誤,終端功能實(shí)現(xiàn)正常。
將ESP8266正常接線(xiàn)上電,使用USR-TCP232-Test軟件,以建立TCP連接為例進(jìn)行芯片功能測(cè)試:
(1)創(chuàng)建服務(wù)器;
(2)開(kāi)啟多連接模式;
(3)建立TCP連接;
發(fā)送命令A(yù)T+CIPSTART=2,"TCP","192.168.1.109",8080,軟件界面顯示OK Linked,建立連接成功。
(4)測(cè)試與服務(wù)器之間數(shù)據(jù)傳輸。
發(fā)送命令A(yù)T+CIPSEND=2,10后接收串口數(shù)據(jù),當(dāng)數(shù)據(jù)長(zhǎng)度滿(mǎn)length時(shí)發(fā)送數(shù)據(jù)。電腦顯示數(shù)據(jù)發(fā)送成功,返回SEND OK。此時(shí)連接已建立,可以進(jìn)行數(shù)據(jù)的雙向收發(fā)。證明該ESP8266芯片工作正常。
表2 丟包率測(cè)試
由表2和圖4可見(jiàn),本系統(tǒng)的丟包率隨著發(fā)送數(shù)據(jù)包個(gè)數(shù)的逐步增加,其大小開(kāi)始上升,證明Web模塊工作正常。
圖4 丟包率測(cè)試圖
相比傳統(tǒng)的實(shí)驗(yàn)室模式,本文闡述的實(shí)驗(yàn)室遠(yuǎn)程監(jiān)測(cè)系統(tǒng)具有操作方便、信息實(shí)時(shí)更新、設(shè)備動(dòng)態(tài)管理以及系統(tǒng)維護(hù)成本低的特點(diǎn)。其采用新興的3D打印機(jī),結(jié)合及時(shí)性強(qiáng)的遠(yuǎn)程通信,實(shí)現(xiàn)了對(duì)實(shí)驗(yàn)室的實(shí)時(shí)、高效、低成本的數(shù)據(jù)監(jiān)測(cè),極大地提高了實(shí)驗(yàn)室工作的效率。
[1]周旋,諶建飛,趙丹等.基于ZigBee的實(shí)驗(yàn)室遠(yuǎn)程監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].中國(guó)教育信息化,2017.
[2]馬健.基于Web的設(shè)備遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].中北大學(xué),2016.
[3]卜曉曉.基于Android和Wi-Fi的智能家居系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].江蘇大學(xué),2016.
[4]張宏強(qiáng).基于嵌入式Web遠(yuǎn)程監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].西安科技大學(xué),2015.
[5]李松濤,周成虎.基于WSN的實(shí)驗(yàn)室環(huán)境遠(yuǎn)程監(jiān)測(cè)系統(tǒng)[J].工業(yè)控制計(jì)算機(jī),2014.
[6]楊威,高文華.Linux平臺(tái)智能家居的本地監(jiān)控與遠(yuǎn)程監(jiān)控[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013.
湖南工業(yè)大學(xué)校級(jí)研究性學(xué)習(xí)與創(chuàng)新性實(shí)驗(yàn)項(xiàng)目“面向3D打印的實(shí)驗(yàn)室智能遠(yuǎn)程管理系統(tǒng)的研發(fā)”。