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