謝作如
信息系統(tǒng)要發(fā)揮作用,必須與外部世界進(jìn)行聯(lián)系。在基于傳統(tǒng)網(wǎng)絡(luò)的信息系統(tǒng)中,這種聯(lián)系需要以人為中介進(jìn)行——由人來(lái)理解和轉(zhuǎn)換外部世界的需求,將其輸入信息系統(tǒng);同時(shí),也是由人來(lái)理解信息系統(tǒng)的輸出結(jié)果,然后去操作實(shí)物。例如圖書(shū)管理系統(tǒng),用戶往往只能通過(guò)系統(tǒng)進(jìn)行查詢(xún),了解某本書(shū)的出借情況及存儲(chǔ)位置,而系統(tǒng)卻不能直接將書(shū)取出并放到用戶手里。
隨著物聯(lián)網(wǎng)和人工智能的發(fā)展,信息系統(tǒng)逐漸可以通過(guò)傳感技術(shù)自動(dòng)獲取外部信息(如溫度、亮度、卡片、人臉等),也可以通過(guò)一定的機(jī)制實(shí)現(xiàn)對(duì)外部物體的直接控制。例如地鐵售票系統(tǒng),不僅可以掃描手機(jī)上的二維碼信息,完成自動(dòng)扣款,還能夠直接打開(kāi)閘機(jī)。簡(jiǎn)而言之,新的信息系統(tǒng)不僅可以感知世界,還將實(shí)現(xiàn)控制萬(wàn)物。
● 課標(biāo)中對(duì)“傳感與控制”的要求
高中信息技術(shù)新課標(biāo)中的必修模塊2“信息系統(tǒng)與社會(huì)”,包括“信息社會(huì)特征”“信息系統(tǒng)組成與應(yīng)用”“信息安全與信息社會(huì)責(zé)任”三部分內(nèi)容,強(qiáng)調(diào)學(xué)生利用信息系統(tǒng)解決問(wèn)題的過(guò)程與方法,提升信息安全和社會(huì)責(zé)任意識(shí)。其中關(guān)于“傳感與控制”部分的描述如下:
2.3 通過(guò)分析物聯(lián)網(wǎng)應(yīng)用實(shí)例,知道信息系統(tǒng)與外部世界的連接方式,了解常見(jiàn)的傳感與控制機(jī)制。
為落實(shí)這一目標(biāo),課標(biāo)的“教學(xué)提示”中指出,要利用信息技術(shù)實(shí)驗(yàn)室創(chuàng)設(shè)真實(shí)的問(wèn)題情境,為學(xué)生提供從信息系統(tǒng)的設(shè)計(jì)規(guī)劃到軟硬件操作的實(shí)踐體驗(yàn)機(jī)會(huì),提高學(xué)生對(duì)信息系統(tǒng)價(jià)值的認(rèn)識(shí)以及利用信息系統(tǒng)解決問(wèn)題的能力,如在信息技術(shù)實(shí)驗(yàn)室中,通過(guò)“遠(yuǎn)程控制系統(tǒng)”實(shí)驗(yàn),指導(dǎo)學(xué)生合作或獨(dú)立完成一個(gè)信息系統(tǒng)的硬件搭建和軟件安裝。
● 實(shí)驗(yàn)準(zhǔn)備工作
開(kāi)源硬件“虛谷號(hào)”是一個(gè)板載單片機(jī)的迷你電腦,很適合用來(lái)完成高中信息技術(shù)課程中的“傳感與控制”的實(shí)驗(yàn)。虛谷號(hào)的工作原理如圖1所示。
從圖1中可以看出,虛谷號(hào)其實(shí)由兩個(gè)部分組成,對(duì)傳感器和執(zhí)行器的連接,都是通過(guò)板載的ATmega328單片機(jī)(Arduino UNO同款芯片)來(lái)完成。Arduino相當(dāng)于是一個(gè)“代理”,它和虛谷號(hào)的底層Linux系統(tǒng)之間的通訊借助標(biāo)準(zhǔn)的串口協(xié)議來(lái)連接。目前絕大多數(shù)的單片機(jī)與電腦連接都是用串口協(xié)議的,這方面的案例資源非常豐富,技術(shù)非常也很成熟。
為了幫助Python的初學(xué)者編寫(xiě)傳感與控制方面的代碼,虛谷號(hào)提供了名為“xugu”的Python庫(kù)。這個(gè)庫(kù)中有Pin(引腳)、Servo(舵機(jī))和SerialMgt(串口)等幾個(gè)常用的類(lèi)。借助這個(gè)庫(kù),幾行代碼就能完成基本的輸入輸出控制,即GPIO(General-purpose input/output)。
● 傳感實(shí)驗(yàn)
1.實(shí)驗(yàn)?zāi)繕?biāo)
能編程讀取開(kāi)源硬件的指定引腳的電平狀態(tài),通過(guò)常見(jiàn)的數(shù)字、模擬傳感器獲取物理世界的各種環(huán)境信息。
2.實(shí)驗(yàn)器材
①虛谷號(hào)*1;②虛谷號(hào)厚物擴(kuò)展板*1,或者Arduino UNO擴(kuò)展板*1;③按鈕傳感器*1,光線傳感器*1。
3.裝置搭建
將擴(kuò)展板插入虛谷號(hào),然后把按鈕傳感器接到擴(kuò)展板D4,把光線傳感器接到擴(kuò)展板A0。
4.實(shí)驗(yàn)過(guò)程
給虛谷號(hào)設(shè)置Wi-Fi信息,然后訪問(wèn)Jupyter服務(wù)。新建一個(gè)Python文件,輸入相關(guān)代碼,再運(yùn)行代碼查看效果,在網(wǎng)頁(yè)上查看虛谷號(hào)的串口信息,如圖2所示。
(1)數(shù)字輸入,參考代碼如圖3所示。
(2)模擬輸入,參考代碼如圖4所示。
在虛谷號(hào)的系統(tǒng)中,已經(jīng)提供了用Jupyter寫(xiě)的學(xué)習(xí)筆記,在網(wǎng)頁(yè)上即可完成傳感實(shí)驗(yàn)的所有操作。
● 控制實(shí)驗(yàn)
1.實(shí)驗(yàn)?zāi)繕?biāo)
能編程控制開(kāi)源硬件的指定引腳輸出高低電平信號(hào),能夠驅(qū)動(dòng)LED燈、蜂鳴器和舵機(jī)之類(lèi)的執(zhí)行器。
2.實(shí)驗(yàn)器材
①虛谷號(hào)*1;②虛谷號(hào)厚物擴(kuò)展板*1,或者Arduino UNO擴(kuò)展板*1;③LED燈*1,有源蜂鳴器*1,180度舵機(jī)*1。
3.裝置搭建
將擴(kuò)展板插入虛谷號(hào),然后把LED燈接到擴(kuò)展板D6,有源蜂鳴器接到擴(kuò)展板D10,舵機(jī)接到D4。
4.實(shí)驗(yàn)過(guò)程
給虛谷號(hào)設(shè)置Wi-Fi信息,然后訪問(wèn)Jupyter服務(wù)。新建一個(gè)Python文件,輸入相關(guān)代碼,再運(yùn)行代碼查看效果。
(1)數(shù)字輸出,參考代碼如上頁(yè)圖5所示。
(2)模擬輸出,參考代碼如上頁(yè)圖6所示。
(3)舵機(jī)控制,參考代碼如圖7所示。
注意:①有源蜂鳴器的控制和LED基本一致,在代碼中修改引腳號(hào)即可。②Jupyter提供了網(wǎng)頁(yè)小控件,如文本框、選擇框和滑桿等,可以借助小控件來(lái)控制執(zhí)行器的動(dòng)作。③控制實(shí)驗(yàn)中的參考代碼,在Jupyter中要分段執(zhí)行,才能看清楚效果,如圖8所示。
● 總結(jié)
新課標(biāo)中提出,信息技術(shù)實(shí)驗(yàn)室是學(xué)生學(xué)習(xí)信息技術(shù)、實(shí)踐信息技術(shù)的重要場(chǎng)所。相對(duì)于普通機(jī)房而言,信息技術(shù)實(shí)驗(yàn)室除了必備的電腦外,還要配置一些供學(xué)生做各種信息技術(shù)實(shí)驗(yàn)的器材,如攝像頭、開(kāi)源硬件、常見(jiàn)的傳感器和執(zhí)行器等。
對(duì)于信息技術(shù)實(shí)驗(yàn)室的建設(shè),學(xué)??梢栽谠瓩C(jī)房等基礎(chǔ)上改造,也可以新建。相對(duì)來(lái)說(shuō),在普通機(jī)房增加類(lèi)似虛谷號(hào)、掌控板之類(lèi)的開(kāi)源硬件,完成新課標(biāo)中規(guī)定的“傳感與控制”的實(shí)驗(yàn),無(wú)論從經(jīng)費(fèi)投入還是技術(shù)難度來(lái)說(shuō),門(mén)檻都是很低的。
需要強(qiáng)調(diào)的是,虛谷號(hào)的系統(tǒng)中已經(jīng)提供了用Jupyter寫(xiě)的學(xué)習(xí)筆記(如圖9),在網(wǎng)頁(yè)上即可完成“傳感與控制”實(shí)驗(yàn)的所有操作。此外,虛谷號(hào)還提供了通過(guò)U盤(pán)模式執(zhí)行Python代碼的功能,哪怕沒(méi)有Wi-Fi,也能夠完成常見(jiàn)的信息技術(shù)實(shí)驗(yàn)。
本文是江蘇省教育科學(xué)“十三五”規(guī)劃專(zhuān)項(xiàng)課題“江蘇省高中STEM教育基地實(shí)驗(yàn)項(xiàng)目的設(shè)計(jì)與實(shí)踐研究”階段性成果,課題批準(zhǔn)文號(hào):C-a/2018/02/19。