国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

用Python讓多人“共享”掃描儀

2021-01-11 08:43謝作如謝集
中國信息技術(shù)教育 2021年1期
關(guān)鍵詞:掃描儀共享代碼

謝作如 謝集

掃描儀是辦公室中最常見的設(shè)備之一。雖然智能手機上配置的攝像頭像素越來越高,人們習(xí)慣于用“隨手一拍”來替代過去的“掃描”動作,但畢竟拍攝的效果不好,得到的圖片往往不夠平整。筆者學(xué)校創(chuàng)客空間中有一臺愛普生掃描儀,雖然平時用處不大,但關(guān)鍵時刻總需要它的幫忙。為了方便使用,我們希望將其設(shè)置為網(wǎng)絡(luò)共享,隨時隨處可以使用,最大限度地提升其利用率。

2020年3月,我們曾經(jīng)利用虛谷號和Python將家里的惠普一體機(型號為“M126a”)改造為網(wǎng)絡(luò)版的一體機,使其支持遠程打印、遠程掃描等功能。但是很遺憾,我們暫時找不到這臺愛普生掃描儀在arm64系統(tǒng)下的驅(qū)動程序,只能將其安裝在X86架構(gòu)下的拿鐵熊貓上,經(jīng)過一番折騰,總算實現(xiàn)了多人共享,普通掃描儀變身為網(wǎng)絡(luò)掃描儀(如圖1)。

● 思路分析

因為之前已經(jīng)成功地在一體機上實現(xiàn)網(wǎng)絡(luò)掃描的功能,我們再次選擇這樣的做法,即利用Python寫一個Web服務(wù)器,通過訪問網(wǎng)頁來操作掃描儀,具體方法如下:

用Python的Flask框架寫一個Web服務(wù)器,運行在連接掃描儀的迷你電腦上。用戶通過網(wǎng)頁發(fā)送掃描命令,Python將調(diào)用系統(tǒng)的命令驅(qū)動掃描儀,得到圖片后再借助格式轉(zhuǎn)換工具轉(zhuǎn)化為JPEG格式,最后通過網(wǎng)頁顯示圖片,提示用戶下載。這一過程描述起來有點復(fù)雜,但執(zhí)行速度其實很快,而且對用戶來說過程“透明”:點擊網(wǎng)頁的“掃描”按鈕,一會兒就能得到圖片,是很好的體驗?;赪eb的掃描儀應(yīng)用系統(tǒng)的運行流程如圖2所示。

這一做法的優(yōu)勢很明顯,只要能上網(wǎng)的終端都可以使用,操作非常簡單,部署起來也方便。創(chuàng)客空間中有各種迷你電腦或者閑置的電腦,只要裝上Linux系統(tǒng),配置好掃描儀的驅(qū)動即可。至于為什么要選擇Linux,是因為Linux下有支持命令行的掃描儀軟件scanimage和格式轉(zhuǎn)換軟件imagemagick。在Windows下,類似功能的軟件很難找到。

● 程序?qū)崿F(xiàn)

Flask是Python的輕量級Web開發(fā)框架,也是浙教版必修二《信息系統(tǒng)與社會》模塊的教學(xué)內(nèi)容之一。

1.功能測試

先在Jupyter上編寫代碼,模擬一下核心功能,即掃描。

啟動掃描命令(如圖3)。

圖片轉(zhuǎn)換命令(如圖4)。

很順利,一張圖片就出來了,Python就這么神奇。

2.代碼編寫

借助教材中的案例,我們開發(fā)了一個很簡單的Web應(yīng)用。核心代碼僅僅一個文件——webscan.py。如圖5所示,“templates”中是作為模板的兩個靜態(tài)網(wǎng)頁?!皊tatic”中放兩個js文件,借助jquery實現(xiàn)了文件列表的排序功能?!皊tatic”文件中的scan文件夾,則用來存放掃描文件(如圖6)。

“webscan.py”代碼中加了如下幾條路由,具體介紹如下頁表所示。

限于篇幅,下頁圖7的代碼僅僅提供了掃描功能的部分,如果需要完整代碼和相關(guān)的網(wǎng)頁模板(“index.html”和“l(fā)ist.html”文件),請訪問虛谷號的GitHub,或者向編輯索取。

● 系統(tǒng)應(yīng)用

這個基于Web的掃描儀應(yīng)用系統(tǒng),最后命名為“WebScan”。代碼用vscode編寫,在Anaconda、mPython等環(huán)境中測試通過,支持Python3.5及以上版本。在虛谷號、MacOS和Ubuntu等系統(tǒng)上都能成功部署(如下頁圖8)。

客戶端使用Chrome、Safari、Edge和Firefox等瀏覽器,都能夠正常訪問。同樣,在手機上訪問、操作也很正常。

1.掃描文件(如下頁圖9)

2.瀏覽文件(如下頁圖10)

我們把Web服務(wù)器的地址做成二維碼貼在掃描儀上面,手機一掃就打開頁面,然后開始操作,非常方便。

● 拓展思考

在京東和淘寶上,我們都沒有找到價格在1000元內(nèi)的具備網(wǎng)絡(luò)共享功能的平板掃描儀。具備網(wǎng)絡(luò)功能的,要么是高拍儀,要么是動輒上萬的高速掃描儀。將辦公室中的普通掃描儀配上迷你電腦,然后放在學(xué)校的公用辦公區(qū)域,方便師生們使用,應(yīng)該是一個不錯的創(chuàng)意應(yīng)用。

想象一下,教師們帶著文稿走到掃描儀前面,放好,然后拿出手機掃一下二維碼。點擊網(wǎng)頁上的按鈕,十幾秒鐘后,掃描的圖片就到了手機里了。這不是很方便嗎?學(xué)生沒有手機怎么用呢?比如插上U盤,按下按鈕開始掃描,掃描圖片直接存入U盤帶走。要實現(xiàn)這樣的功能,編程起來也很簡單。有了Python,解決這些問題一點都不困難。

猜你喜歡
掃描儀共享代碼
神秘的代碼
一周機構(gòu)凈增(減)倉股前20名
重要股東二級市場增、減持明細
掛羊頭賣狗肉的“共享”營銷
圖書館與出版企業(yè)數(shù)字資源共享的環(huán)境因素分析
用保鮮膜保護超聲掃描儀提高豬場生物安全性
近期連續(xù)上漲7天以上的股
便攜高速文件掃描儀
便攜高速文件掃描儀
佳能掃描儀獲“優(yōu)秀金融設(shè)備獎”
连城县| 深水埗区| 通山县| 伊川县| 湛江市| 牙克石市| 孝感市| 霍邱县| 循化| 白水县| 交城县| 区。| 镇远县| 朝阳市| 当阳市| 贵南县| 屯留县| 兴和县| 孙吴县| 淳安县| 安平县| 崇信县| 民丰县| 南澳县| 永吉县| 九龙县| 穆棱市| 剑阁县| 黎城县| 西昌市| 郎溪县| 天等县| 陈巴尔虎旗| 固安县| 什邡市| 左云县| 鄂尔多斯市| 宁波市| 丰原市| 金湖县| 四子王旗|