鄭祥
● 物聯(lián)網(wǎng)技術(shù)及其原理
物聯(lián)網(wǎng)技術(shù)分為感知、傳輸和控制三個方面。一個典型的物聯(lián)網(wǎng)應(yīng)用是通過感知技術(shù)獲取數(shù)據(jù),再傳輸、存儲到物聯(lián)網(wǎng)服務(wù)器上,最后物聯(lián)網(wǎng)根據(jù)這些外界環(huán)境的數(shù)據(jù)做出相應(yīng)的控制,從而實現(xiàn)與外界環(huán)境的“互動”,如圖1所示。
1.物聯(lián)網(wǎng)感知技術(shù)
物聯(lián)網(wǎng)的感知技術(shù)涉及的領(lǐng)域非常廣泛,主要包括傳感器技術(shù)、射頻識別技術(shù)、GPS定位技術(shù)等,所有能夠?qū)⑼饨绛h(huán)境或物品的狀態(tài)信息轉(zhuǎn)化為計算機(jī)能處理的數(shù)字信號的技術(shù)都屬于感知技術(shù)。
2.物聯(lián)網(wǎng)傳輸技術(shù)
物聯(lián)網(wǎng)的傳輸技術(shù)主要負(fù)責(zé)將物聯(lián)網(wǎng)終端感知到的環(huán)境數(shù)據(jù)傳輸至物聯(lián)網(wǎng)服務(wù)器,主要借助于互聯(lián)網(wǎng)技術(shù)。物聯(lián)網(wǎng)應(yīng)用場景的多樣性,決定了物聯(lián)網(wǎng)終端設(shè)備的不同傳輸方案的部署。
3.物聯(lián)網(wǎng)控制技術(shù)
物聯(lián)網(wǎng)控制技術(shù),顧名思義就是通過物聯(lián)網(wǎng)對某一物品或電器實現(xiàn)控制的目的,在一些智能家居產(chǎn)品上能看到物聯(lián)網(wǎng)技術(shù)在控制方面的應(yīng)用。
● 物聯(lián)網(wǎng)課程的教學(xué)現(xiàn)狀
據(jù)調(diào)研,國內(nèi)中小學(xué)開設(shè)物聯(lián)網(wǎng)課程的寥寥無幾,真正讓學(xué)生自行完成物聯(lián)網(wǎng)實驗的學(xué)校更是少之又少。以江蘇省為例,雖然最早將“物聯(lián)網(wǎng)技術(shù)”作為拓展模塊納入義務(wù)教育信息技術(shù)課程指導(dǎo)綱要,但是教材卻停留在“紙上談兵”階段,幾乎沒有機(jī)會開展物聯(lián)網(wǎng)相關(guān)的基礎(chǔ)實驗,更別說動手實踐設(shè)計一個簡單的物聯(lián)網(wǎng)作品了。分析其原因,有如下兩點:①開展物聯(lián)網(wǎng)實驗需要硬件支持。②物聯(lián)網(wǎng)編程的技術(shù)門檻太高。雖然常見的開源硬件降低了硬件成本,但是所支持的編程語言卻不適合初中學(xué)生。如下頁表1所示,除了圖形化編程語言外,可選的只有C++、JavaScript、MicroPython。圖形化的編程只能在小學(xué)階段使用,而C/C++和JavaScript語言對初中學(xué)生而言難度太高。至于MicroPython,雖然其語法風(fēng)格與Python語言一致,但是缺少各種Python擴(kuò)展庫的支持后,很多創(chuàng)意被限制了。
● 用Python語言設(shè)計物聯(lián)網(wǎng)實驗的可行性
隨著計算思維成為新課程核心素養(yǎng)的重要組成部分,Python語言也作為統(tǒng)一的編程語言納入各個版本的高中新教材。浙江省2020年版初中信息技術(shù)教材中,也將Python語言完全取代了VisualBasic語言的編程教學(xué),并將物聯(lián)網(wǎng)的相關(guān)內(nèi)容作為主要部分納入八年級下冊新教材,如表2所示。
相較C/C++、JavaScript語言,Python語言語法風(fēng)格簡單。與此同時,Python語言又擁有十分龐大的模塊和庫,非常適合初中學(xué)生編寫與網(wǎng)絡(luò)、人工智能相關(guān)的應(yīng)用。雖然借助pyserial庫,Python能夠通過串口控制各種開源硬件,并與之交互,但是開源硬件端需要編寫相應(yīng)程序(燒錄固件),相對來說難度還是太高,不適合推廣。
當(dāng)pinpong庫出現(xiàn)后,Python導(dǎo)入庫并建立對象后,就能自動給開源硬件“燒錄”固件,還能完美地兼容掌控板和micro:bit等開源硬件。就連不支持網(wǎng)絡(luò)連接的Arduino,也可以在pinpong庫的支持下通過計算機(jī)串口實現(xiàn)聯(lián)網(wǎng)。這樣一來,物聯(lián)網(wǎng)終端硬件的選擇范圍擴(kuò)大了,編程的技術(shù)門檻也大幅度降低。Python的庫非常豐富,結(jié)合MQTT或者siot庫,完成一個物聯(lián)網(wǎng)實驗非常簡單。
● 初中物聯(lián)網(wǎng)實驗的設(shè)計范例
感知和控制是物聯(lián)網(wǎng)中的核心內(nèi)容。本文選擇了兩個經(jīng)典的物聯(lián)網(wǎng)實驗,即感知溫度和遠(yuǎn)程控制,展示基于Python和pinpong庫的物聯(lián)網(wǎng)實驗設(shè)計。實驗的硬件采用Arduino,物聯(lián)網(wǎng)服務(wù)器選擇SIoT,物聯(lián)網(wǎng)協(xié)議采用MQTT,并使用siot庫。SIoT服務(wù)器和siot庫都是開源的,屬于“虛谷計劃”中虛谷物聯(lián)項目中的組成部分。從難度上看,小學(xué)高年級和初中學(xué)生完全可以理解和掌握。
1.物聯(lián)網(wǎng)采集實驗:感知溫度
實驗內(nèi)容:通過Arduino定時采集環(huán)境溫度,然后上傳到物聯(lián)網(wǎng)服務(wù)器。
硬件清單:ArduinoUno、擴(kuò)展板、LM35溫度傳感器。
將ArduinoUno與擴(kuò)展板連接起來,再將LM35溫度傳感器連接到擴(kuò)展板的A0引腳,如圖2所示。具體代碼掃描下方二維碼。
運(yùn)行代碼后,計算機(jī)將自動給Arduino刷寫一個“固件”,隨后就每隔0.5秒上傳溫度數(shù)據(jù)到SIoT服務(wù)器,Topicid為“tiyan2/temp”。感知溫度代碼運(yùn)行及siot平臺溫度數(shù)據(jù)掃描下頁二維碼。
2.物聯(lián)網(wǎng)控制實驗:LED燈遠(yuǎn)程控制
實驗內(nèi)容:通過物聯(lián)網(wǎng)平臺SIoT,發(fā)送MQTT指令,實現(xiàn)對LED燈的控制。
硬件清單:Arduino Uno、擴(kuò)展板、LED燈模塊。
將ArduinoUno與擴(kuò)展板連接起來,再將LED燈連接到擴(kuò)展板的D8引腳上,如圖3所示。具體代碼掃描下方二維碼。
運(yùn)行程序代碼。當(dāng)收到物聯(lián)網(wǎng)平臺上的消息為“on”時,點亮LED燈;當(dāng)收到物聯(lián)網(wǎng)平臺上的消息為“off”時,則熄滅LED燈。
注:MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是一種基于發(fā)布/訂閱模式的“輕量級”物聯(lián)網(wǎng)通信協(xié)議。它可以用極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實時可靠的消息服務(wù),也就是說它可以在較差的網(wǎng)絡(luò)環(huán)境下使用。目前,國內(nèi)外主要的云計算服務(wù)商,如阿里云、AWS、百度云、Azure以及騰訊云等都支持MQTT協(xié)議。
● 基于Python語言的初中物聯(lián)網(wǎng)課程設(shè)計
隨著物聯(lián)網(wǎng)技術(shù)的普及,智能家居也逐漸走進(jìn)了人們的生活。智能家居是物聯(lián)網(wǎng)應(yīng)用的拓展,也是學(xué)生對物聯(lián)網(wǎng)應(yīng)用的最直觀感受。因此,初中的物聯(lián)網(wǎng)課程可以與智能家居相結(jié)合,初中物聯(lián)網(wǎng)課程可按如表3所示的參考目錄進(jìn)行開設(shè)。
這兩個單元,除了增加相應(yīng)的物聯(lián)網(wǎng)實驗外,還可以采用項目式學(xué)習(xí)的方式,讓學(xué)生分組真正動手制作物聯(lián)網(wǎng)應(yīng)用。例如,第一單元可以選擇制作“搭建一個簡單的物聯(lián)網(wǎng)應(yīng)用模型”,第二單元可以選擇“改造家里的智能家居應(yīng)用”。除了可以完成課程中的各種實驗,還可以開發(fā)物聯(lián)網(wǎng)方面的創(chuàng)客作品。
● 結(jié)語
信息技術(shù)在高速發(fā)展,中小學(xué)的信息技術(shù)課程也要與時俱進(jìn)。物聯(lián)網(wǎng)課程的開設(shè),既需要一系列硬件、軟件的支持,也需要設(shè)計一系列貼近學(xué)生生活的經(jīng)典實驗,以此來激發(fā)學(xué)生的實踐能力和創(chuàng)造意識。語法簡潔而功能強(qiáng)大的Python語言、價格低廉而擴(kuò)展豐富的開源硬件,是物聯(lián)網(wǎng)課程的最佳選擇。在pinpong庫的支持下,二者完美地結(jié)合在一起,大大降低了物聯(lián)網(wǎng)的技術(shù)門檻,期望在越來越多的物聯(lián)網(wǎng)課程中加入實驗活動,讓學(xué)生能夠真正駕馭物聯(lián)網(wǎng)技術(shù)。