林淼焱
科學(xué)課程標(biāo)準(zhǔn)中明確指出,學(xué)生的科學(xué)學(xué)習(xí)不能僅僅局限在課堂上,大自然是培養(yǎng)學(xué)生科學(xué)素質(zhì)的最佳場所。科學(xué)觀察活動的實施讓學(xué)生走近大自然,為課堂教學(xué)延伸到課外提供了很好的切入點和落腳點??茖W(xué)觀察活動要求學(xué)生記錄下較為完整、具有一定科學(xué)依據(jù)的實驗數(shù)據(jù),如實驗采集數(shù)據(jù)、周圍環(huán)境監(jiān)測數(shù)據(jù)以及相關(guān)照片等內(nèi)容。
科學(xué)教材中有很多關(guān)于觀察植物的探究活動,但學(xué)生只能通過觀察植物每天的生長情況,以文字的形式記錄下來,無法提供較為具體的監(jiān)測數(shù)據(jù)。如果要探究植物的生長情況與土壤濕度的關(guān)系,不僅需要定時拍攝照片,還要同步記錄濕度信息,二者結(jié)合才能夠更加直觀地看到植物在不同濕度下的生長情況,才有助于學(xué)生分析并了解植物的習(xí)性特點。為此,開發(fā)一個能夠同步記錄圖像和傳感器數(shù)據(jù)的系統(tǒng)對科學(xué)觀察活動來說尤為重要。
● 設(shè)計分析
筆者將這個信息系統(tǒng)命名為“科學(xué)記錄助手”。為了方便采集,筆者選擇了物聯(lián)網(wǎng)技術(shù)來開發(fā),只要有Wi-Fi信號就能定時記錄。由于MQTT協(xié)議無法直接傳輸圖片,所以圖片需要編碼成特定格式的數(shù)據(jù),傳輸至MQTT服務(wù)器,再利用PC端將數(shù)據(jù)解碼還原成圖片,查看收集到的數(shù)據(jù)并形成圖表,達到遠程監(jiān)控并記錄數(shù)據(jù)的功能。
綜合各方面的技術(shù),筆者對“科學(xué)記錄助手”涉及到的編程語言、MQTT服務(wù)器和開源硬件分別做了如下選擇:編程語言擇選Python,MQTT服務(wù)器擇選SIoT,開源硬件擇選虛谷號。
因為虛谷號已經(jīng)板載了Arduino,能夠方便地接入各種傳感器,同時虛谷號又是一個迷你電腦,預(yù)裝了SIoT,并且能夠處理攝像頭信息,內(nèi)置的OpenCV能夠?qū)鞲衅餍畔⒑蛨D片合并起來,所以用它來做科學(xué)記錄非常適合?!翱茖W(xué)記錄助手”的工作流程如上頁圖1所示。
● 硬件搭建
筆者選擇了普通的USB攝像頭及Arduino兼容的土壤傳感器(Dfrobot生產(chǎn)),材料清單如下:①虛谷號*1;②攝像頭*1;③土壤濕度傳感器*1;④Arduino UNO擴展板*1。
虛谷號的接口與Arduino UNO完全兼容,可使用Arduino的拓展板連接各種傳感器。筆者將土壤濕度傳感器連接虛谷號的A0口,將攝像頭的USB端連接虛谷號, 如上頁圖2所示。
這個實驗裝置的搭建很簡單,只要將攝像頭固定好即可。為了避免干擾,筆者選擇了在創(chuàng)客空間的室內(nèi)觀察植物,具體效果如圖3所示。
● 代碼實現(xiàn)
葉下珠類似于含羞草,葉片變化情況明顯,易于觀察。因此,筆者選擇葉下珠作為本次實驗的研究對象,定時(每六分鐘)對植物進行一次拍攝,拍攝照片的同時記錄下傳感器所監(jiān)測的數(shù)值,并通過代碼將數(shù)值記錄在照片上。
1.數(shù)據(jù)采集代碼(虛谷號)
通過攝像頭拍攝植物照片,讀取傳感器數(shù)值并寫入圖片信息,再將圖片編碼為base64格式上傳到物聯(lián)網(wǎng)平臺SIoT。這個代碼要運行在虛谷號上,核心代碼如圖4所示。
需要說明的是,將這個Python文件放入vvBoard的Python文件夾下,命名為mian.py,即可實現(xiàn)開機自動運行。
2.數(shù)據(jù)呈現(xiàn)代碼
另外,可以設(shè)置一臺或者多臺電腦作為數(shù)據(jù)觀察端,同樣利用Python代碼訂閱虛谷號的SIoT服務(wù)器消息,在json字符串中解析出圖片信息,然后保存圖片并將傳感器信息保存在數(shù)據(jù)庫中。核心代碼如下頁圖5所示。
為了觀察方便,筆者還通過Python的Flask庫,設(shè)計了一個Web服務(wù),用戶只需要在瀏覽器中輸入127.0.0.1:5000,即可進入一個自動刷新的頁面,方便學(xué)生查看當(dāng)前的攝像頭畫面和傳感器信息。
在PC端訂閱MQTT信息,只能得到訂閱期間的信息。如果想得到全部的觀察信息,那就需要借助SIoT的WebAPI,獲取之前的信息。也可以直接讀取SIoT的數(shù)據(jù)庫,因為SIoT采用的也是Sqlite數(shù)據(jù)庫,用Python讀出很方便。
● 數(shù)據(jù)分析
通過一段時間的監(jiān)測,筆者收集到了大量的照片以及土壤濕度數(shù)據(jù),為了更好地進行觀察以及分析,將數(shù)據(jù)進行了一定處理后,得到了一段植物變化情況的視頻。通過視頻筆者意外地發(fā)現(xiàn),在恒定的光照下,葉下珠的葉片會在每天的22:00閉合,在每天清晨5:00時葉面展開。同時,在葉片舒張時,土壤濕度值略微降低,隨即恢復(fù)到穩(wěn)定值(如圖6)。這說明當(dāng)葉片舒張時,植物會向土壤中攝取一定水分,隨后土壤濕度的回升,有可能是土壤間水分傳遞及植物與土壤中的相互作用造成的,其具體原因還需要進一步觀察研究。
● 總結(jié)
“科學(xué)觀察助手”實現(xiàn)了在線實時記錄實驗數(shù)據(jù)以及拍攝照片的功能,能夠?qū)χ参锏纳L進行觀測以及分析,能將具象的植物與抽象的傳感器數(shù)值有趣地結(jié)合在一起,是一種全新的觀測工具。通過實踐發(fā)現(xiàn),采用這樣的方式做探究實驗,能夠?qū)旧峡菰锏奈淖洲D(zhuǎn)換成生動有趣的實驗探究經(jīng)歷,提升了學(xué)生的學(xué)習(xí)興趣。另外,用這種方式也能夠有效提升學(xué)生搜集數(shù)據(jù)、處理數(shù)據(jù)、分析數(shù)據(jù)的能力,讓科學(xué)觀察活動更加精彩有效。
基金項目:本文為2018年度溫州市中小學(xué)??萍紕?chuàng)新項目“‘物聯(lián)網(wǎng)與科學(xué)探究創(chuàng)意實驗課程的開發(fā)”的階段性成果(項目編號:2018ZXX01)。