黃煜城 謝思琪 劉山溫
【摘要】隨著大數(shù)據(jù)和云計(jì)算技術(shù)的發(fā)展,對(duì)非智能設(shè)備接入云平臺(tái)實(shí)現(xiàn)物聯(lián)網(wǎng)的需求越來越多,打印機(jī)便是其中一種。由于不同打印機(jī)品牌之間的競爭與利益關(guān)系,不同品牌、型號(hào)的打印機(jī)的打印方式大致相同,但是在接入云計(jì)算進(jìn)行遠(yuǎn)程打印、云打印的方式各不相同,在云打印的行業(yè)內(nèi)缺乏一個(gè)統(tǒng)一的協(xié)議標(biāo)準(zhǔn),沒有辦法將各種品牌、機(jī)型的打印機(jī)接入到一個(gè)通用的云打印服務(wù)終端,導(dǎo)致傳統(tǒng)的打印行模式存在著打印設(shè)備閑散重復(fù)、操作不便利、人力資源浪費(fèi)等問題。
【關(guān)鍵詞】云打印? 共享打印系統(tǒng)? 打印機(jī)兼容性
人們在學(xué)習(xí)、辦公上都需要處理大量的文件文檔,打印在對(duì)于現(xiàn)代辦公上是必不可少的。然而傳統(tǒng)的打印行模式存在著打印設(shè)備閑散重復(fù)、操作不便利、人力資源浪費(fèi)等問題。近幾年,我國鼓勵(lì)大眾創(chuàng)業(yè),中小型企業(yè)迅速增長,以及龐大的校園市場和中小企業(yè)對(duì)打印都有著巨大的需求。打印需求主要集中在校園以及辦公區(qū)域,但是打印店往往分布稀疏,人們總是把時(shí)間浪費(fèi)在尋找打印店和排隊(duì)打印上。這樣不僅費(fèi)時(shí)費(fèi)力,用戶的USB設(shè)備在公用計(jì)算機(jī)上也極容易導(dǎo)致設(shè)備中毒,文檔丟失等問題。為了解決一系列的操作復(fù)雜和打印機(jī)兼容性問題,迫切需要一套共享形式的打印系統(tǒng),使打印機(jī)使用更科學(xué)、高效。
一、云打印發(fā)展現(xiàn)狀:
2006年亞馬遜書店首次正式提出“云計(jì)算”的概念之后,“云計(jì)算”得到了IT業(yè)界的廣泛重視?!霸拼蛴 痹醋杂凇霸朴?jì)算”——利用云技術(shù)的打印方案,是智能移動(dòng)終端到打印機(jī)之間的直接對(duì)話,讓用戶在無需安裝打印機(jī)驅(qū)動(dòng)的情況下指定打印機(jī)進(jìn)行打印。因此,許多互聯(lián)網(wǎng)公司開始研發(fā)智能打印機(jī),用戶通過手機(jī)APP定位打印機(jī)并上傳文檔,然后到達(dá)指定地點(diǎn)配置的打印機(jī)進(jìn)行一系列的身份驗(yàn)證后再進(jìn)行打印?,F(xiàn)有共享打印機(jī)的關(guān)鍵技術(shù)在于打印機(jī)中內(nèi)嵌入云打印系統(tǒng),因此弊端也顯而易見,廠家必須對(duì)打印機(jī)硬件的再開發(fā)、定制改造。這使得傳統(tǒng)的普通打印機(jī)依然無用武之地,影響了云打印系統(tǒng)在市場上的普及率,無法讓云打印切實(shí)普及融入大眾的生活。
本系統(tǒng)實(shí)現(xiàn)使用手機(jī)控制普通打印機(jī),能將所有品牌、類型的打印機(jī)接入云 打印平臺(tái)實(shí)現(xiàn)云打印,配合相應(yīng)的手機(jī)微信小程序和支付入口,可以應(yīng)用于共享打印平臺(tái)。由于現(xiàn)有打印機(jī)的驅(qū)動(dòng)程序大多數(shù)都是基于Windows操作系統(tǒng),通過調(diào)用WinAPI接口技術(shù)從而達(dá)到讓不同品牌、型號(hào)的打印機(jī)可以接入到本系統(tǒng)的云服務(wù)器。本系統(tǒng)通過調(diào)用WinAPI接口技術(shù)操作系統(tǒng)的打印接口驅(qū)動(dòng)打印機(jī)的打印工作;通過使用Websocket協(xié)議將打印機(jī)所在的電腦與云服務(wù)器進(jìn)行通信,實(shí)現(xiàn)了普通非智能打印機(jī)接入云打印平臺(tái),解決了市場上存在的不同品牌、型號(hào)打印機(jī)的云打印技術(shù)參數(shù)不一,接入困難的問題,且能適應(yīng)現(xiàn)有的新舊技術(shù)、各種型號(hào)的打印機(jī)實(shí)現(xiàn)智能打印。
二、基于手機(jī)與普通打印機(jī)的共享打印系統(tǒng)設(shè)計(jì)要求:
1、本系統(tǒng)要有一定的兼容性,可接入多個(gè)不同品牌、型號(hào)的打印機(jī)。
2、本系統(tǒng)基于普通打印機(jī),無需對(duì)打印機(jī)進(jìn)行改造。
3、本系統(tǒng)支持用戶利用手機(jī)APP、微信小程序完成云打印,操作簡單。
4、本系統(tǒng)可以實(shí)現(xiàn)家用打印機(jī)的物聯(lián)網(wǎng),也可以實(shí)現(xiàn)傳統(tǒng)打印商店的智能化改造。
5、本系統(tǒng)對(duì)文件需要具有普適性,支持常用的辦公文件格式。
三、基于手機(jī)與普通打印機(jī)的共享打印系統(tǒng)的設(shè)計(jì)
在智能手機(jī)高度普及的今天,物聯(lián)網(wǎng)設(shè)備通過智能手機(jī)控制、監(jiān)控是最經(jīng)濟(jì)、最方便的。本系統(tǒng)由客戶端、云服務(wù)器、本地管理系統(tǒng)、三大功能模塊組成,系統(tǒng)框圖如圖1所示。
3.1 客戶端模塊
本模塊是基于智能手機(jī)開發(fā)的應(yīng)用程序,主要實(shí)現(xiàn)選擇打印機(jī)、上傳打印的文件、監(jiān)控打印機(jī)狀態(tài)的功能。
客戶端模塊提供基本應(yīng)用程序必備的用戶注冊、登陸,打印機(jī)選擇,打印預(yù)覽,張數(shù)設(shè)置,實(shí)時(shí)接受云服務(wù)器反饋的打印機(jī)當(dāng)前狀態(tài),加入張數(shù)計(jì)費(fèi)功能可以應(yīng)用于智能打印商店的改造。
客戶端采用Websocket API 接口通過網(wǎng)絡(luò)與云服務(wù)器連接,WebSocket使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù)。在WebSocket API中,瀏覽器和服務(wù)器只需要完成一次握手,兩者之間就直接可以創(chuàng)建持久性的連接,并進(jìn)行雙向數(shù)據(jù)傳輸。利用Websocket API 可以保持客戶端與云服務(wù)器的通信,實(shí)時(shí)對(duì)用戶的操作進(jìn)行云處理以及實(shí)時(shí)將打印機(jī)的當(dāng)前狀態(tài)反饋給打印機(jī)。
客戶端可以滿足用戶接入多個(gè)打印機(jī),在客戶端選定好所需打印機(jī),客戶端即向服務(wù)器發(fā)送相 應(yīng)的參數(shù),云服務(wù)器調(diào)用對(duì)應(yīng)的API 觸發(fā)相對(duì)應(yīng)的打印機(jī)進(jìn)行打印。并且預(yù)留有基本文件的參數(shù)設(shè)置,例如張數(shù)、份數(shù)等,減少用戶對(duì)文件操作的重復(fù)。
3.2 云服務(wù)模塊
本模塊主要功能包括云服務(wù)器與客戶端的和本機(jī)計(jì)算機(jī)的數(shù)據(jù)交互處理。通過云服務(wù)器將本地計(jì)算機(jī)和客戶端連接。
云服務(wù)采用MySQL數(shù)據(jù)庫對(duì)用戶的基礎(chǔ)信息進(jìn)行登記統(tǒng)計(jì)管理以及打印機(jī)的信息數(shù)據(jù)進(jìn)行匯總統(tǒng)計(jì)。當(dāng)用戶與本地計(jì)算機(jī)打印機(jī)連接云服務(wù)器時(shí),云服務(wù)器調(diào)用mysql數(shù)據(jù)庫中的用戶數(shù)據(jù)進(jìn)行配對(duì),防止非法用戶的入侵,保證打印的安全性。
云服務(wù)器確認(rèn)其為合法用戶后,接收客戶端用戶的數(shù)據(jù)請(qǐng)求和參數(shù),當(dāng)用戶選擇指定打印機(jī),云服務(wù)器反饋相應(yīng)的指令回本機(jī)計(jì)算機(jī),觸發(fā)相對(duì)應(yīng)的WINAPI接口調(diào)用指定的打印機(jī)進(jìn)行打印作業(yè)。同時(shí)實(shí)時(shí)接收本地計(jì)算機(jī)反饋的打印機(jī)狀態(tài),反饋狀態(tài)到客戶端以便用戶實(shí)時(shí)監(jiān)控打印狀態(tài)。其中,云服務(wù)器在客戶端發(fā)送命令后,需對(duì)用戶設(shè)置相應(yīng)的參數(shù)進(jìn)行解析,向本地計(jì)算機(jī)發(fā)送調(diào)用相對(duì)WINAPI接口的命令,設(shè)置打印機(jī)對(duì)用戶文件參數(shù)的需求。
針對(duì)用戶擁有多個(gè)文件上傳并需要打印的問題,由云服務(wù)器與本機(jī)計(jì)算機(jī)主要處理文件隊(duì)列問題和打印機(jī)狀態(tài)接收,云服務(wù)器對(duì)用戶的多個(gè)文件建立文件隊(duì)列處理機(jī)制,當(dāng)云服務(wù)器接收到本地計(jì)算機(jī)回傳打印機(jī)打印完成狀態(tài),證明上一個(gè)文件輸出任務(wù)完成,再下發(fā)下一個(gè)文件到本機(jī)計(jì)算機(jī)進(jìn)行打印。使得本地計(jì)算機(jī)一次只處理一個(gè)文件打印任務(wù),狀態(tài)較為穩(wěn)定。
3.3 本地管理模塊
本地管理模塊主要完成對(duì)打印機(jī)的操作,打印機(jī)狀態(tài)的實(shí)時(shí)監(jiān)控以及和云服務(wù)器的數(shù)據(jù)交互。
本地客戶端需要實(shí)時(shí)運(yùn)行本系統(tǒng)開發(fā)的應(yīng)用程序,以監(jiān)控打印機(jī)串口以及windAPI接口,及時(shí)響應(yīng)服務(wù)器請(qǐng)求。
當(dāng)本地計(jì)算機(jī)接收到用戶的文件以及對(duì)應(yīng)的參數(shù),調(diào)用windows操作系統(tǒng)的WINAPI的打印機(jī)接口,將用戶的文件打印輸出。打印完畢后將打印機(jī)狀態(tài)反饋回到云服務(wù)器。
不同的用戶對(duì)文件的張數(shù)、份數(shù)等打印參數(shù)要求不一,本地計(jì)算機(jī)接收響應(yīng)云服務(wù)器的參數(shù)請(qǐng)求,調(diào)用相對(duì)應(yīng)參數(shù)的WINAPI接口,完成用戶的文件打印請(qǐng)求。
四、結(jié)語
在云計(jì)算給用戶提供極大方便的時(shí)代,打印機(jī)的操作方式?jīng)]有在便利性上有過多的突破性,許多云打印系統(tǒng)對(duì)不同品牌、型號(hào)的打印機(jī)并不兼容,導(dǎo)致云打印難以普及。本系統(tǒng)通過與服務(wù)器把客戶端和本機(jī)計(jì)算機(jī)、打印機(jī)連接為一體,解決了不同打印機(jī)的兼容性問題,并且通過手機(jī)應(yīng)用程序極大簡化操作流程,不受時(shí)間、空間的限制。
參考文獻(xiàn):
[1]Chris Heilmann (December 8, 2010). "WebSocket?disabled in Firefox 4".Hacks.Mozilla.org.Retrieved2011-05-09.
[2]邊龍龍,張帆,翟洪杰.互聯(lián)網(wǎng)共享云打印市場現(xiàn)狀分析[J].今日印刷.2019.1.1
[3]《普通打印機(jī)實(shí)現(xiàn)云打印的實(shí)踐初探》,張偉,《南通職業(yè)大學(xué)學(xué)報(bào)》2012年第4期107-109頁
[4]《一種基于專用網(wǎng)絡(luò)的云打印應(yīng)用實(shí)例》,王娜 盧智勇,《中國新通信》2012年第21期63-64頁