李媛 楊加 林泳免
摘 要:本文根據(jù)C語言、Java、C#和Android等技工院校信息類專業(yè)常開設的程序設計課程,探討研發(fā)基于物聯(lián)網(wǎng)技術的教學設備、應用于程序設計的教學課程,讓學生輕松學習計算機編程語言,享受學習編程語言的樂趣,從而提高學生的編程能力水平,挖掘學生的內在潛力。
關鍵詞:物聯(lián)網(wǎng)技術 編程教學 創(chuàng)新
計算機程序設計課程是技工院校信息類專業(yè)的核心課程,通過程序設計課程的教學,能夠讓學生掌握一門或者多門程序設計語言,養(yǎng)成分析問題、解決問題的基本能力,并且加深對計算機系統(tǒng)結構的理解。
程序設計課程邏輯性較強,內容枯燥,艱澀難懂,技工院校的學生在學習編程時,常常處于一種機械、被動、不自信的狀態(tài),程序設計水平長期徘徊不前,進而失去學習的興趣,教學效果很不理想。
探索新的教學方法,為技工院校信息類專業(yè)學生解決編程學習難的問題,已迫在眉睫。
一、物聯(lián)網(wǎng)技術在編程教學中的創(chuàng)新應用
結合筆者學校學生特點和當前開設的程序設計課程,筆者通過大量實驗,測試市面上各種相關物聯(lián)網(wǎng)芯片和電子零件的功能和穩(wěn)定性,選取符合技工院校程序設計教學特點的零件,進行硬件組裝和軟件加工設計,研發(fā)基于物聯(lián)網(wǎng)技術的教學設備,將其應用于程序設計課程教學,讓枯燥乏味的編程課程變得輕松有趣。具體步驟如下。
第一,基于物聯(lián)網(wǎng)技術研發(fā)教學設備,選擇合適的主控芯片和網(wǎng)絡芯片來控制設備和接入網(wǎng)絡,為硬件編寫一套代碼,實現(xiàn)通過網(wǎng)絡傳輸?shù)男问絹戆l(fā)送參數(shù)和解析外部傳入的命令,內部封裝嚴謹,外部交互接口參數(shù)豐富,操作直觀易用,學生無須學習額外的知識就可以快速入門,有助于學生對物聯(lián)網(wǎng)技術的理解和認識,同時提升教師的專業(yè)能力。
第二,通過采取軟硬件結合的編程學習方法,可以很好地鍛煉學生的思維能力、動手能力以及創(chuàng)造創(chuàng)新能力,對個人專業(yè)技能提升有很大幫助。
第三,物聯(lián)網(wǎng)技術的編程教學方法可運用于C語言、Java、C#和Android等多種編程語言的教學,有助于學生從基礎編程課程向進階課程的學習升級。
第四,搭建實驗教學環(huán)境——物聯(lián)網(wǎng)平臺。設計開發(fā)基于MQTT協(xié)議及WebSocket協(xié)議的物聯(lián)網(wǎng)云平臺,下面以“基于物聯(lián)網(wǎng)技術編程讀取溫濕度的實驗”為例進行分析。
(一)實驗目的
本實驗主要通過物聯(lián)網(wǎng)技術,讓學生通過編寫簡單的程序遠程讀取硬件模塊溫濕度的值。實驗采用團隊自行設計的軟硬件平臺,簡化復雜的編程過程,而且支持多個編程環(huán)境平臺。傳統(tǒng)的編程學習主要是使用顯示屏幕進行互動,而本實驗能讓學生在編程入門學習中直接與硬件模塊互動,從而培養(yǎng)其學習的興趣,掌握編程的技巧。
(二)物聯(lián)網(wǎng)云平臺軟硬件介紹(見圖1)
1.學生編程環(huán)境工具
Visual Studio? ?AndroidStudio? ?Dreamweaver.
2.實驗使用自行設計的溫濕度模塊(見圖2、圖3)。
(三)實驗過程
1.準備工作
(1)先打開物聯(lián)網(wǎng)平臺,在平臺上注冊一個用戶名,并設置好密碼。
(2)在物聯(lián)網(wǎng)平臺登錄用戶后臺,創(chuàng)建一個溫濕度設備,設置好設備ID。
(3)使用已經編寫好的設備固件源代碼,修改設備要接入的Wifi信號和密碼,再修改設備ID、用戶名和密碼等內容,使其與物聯(lián)網(wǎng)平臺注冊的用戶及設備ID一致(見圖4、圖5)。
(4)為設備接入供電電源,設備啟動并自動聯(lián)網(wǎng),接入物聯(lián)網(wǎng)平臺。
2.不同編程課程的學習及代碼
以《C#.Net程序設計》代碼讀取顯示溫濕度為例。
(1)先導入命名空間。
using MyWlw.User; //導入會員操作命名空間
using MyWlw.Devices.Wsd; //導入設備命名空間
(2)拖放三個Label控件,分別命名為label1,label2,label3。
(3)在窗口加載時編寫以下代碼:
聲明對象變量:
User usr;
Wsd w1;
Form_Load事件中:
usr=new User(“用戶名”,“密碼”); //使用在平臺注冊的會員創(chuàng)建一個用戶對象
w1=new Wsd(usr , “設備ID”); //使用用戶對象和設備ID創(chuàng)建一個溫濕度設備
w1.SetCallBack(GetData);? //設置好數(shù)據(jù)返回的回調函數(shù)
w1.Connect(); //連接物聯(lián)網(wǎng)平臺
用于返回數(shù)據(jù)的回調函數(shù):
Private void GetData(string type, string data)? //當平臺有數(shù)據(jù)返回時,自動調用該函數(shù)
{
//判斷每次返回的數(shù)據(jù)類型,顯示數(shù)據(jù)到窗體上
if (type==”ds18b20”)? label1.Text=”溫度1:”+data+”度”;
if (type==”dht11_wd”)? label2.Text=”溫度2:”+data+”度”;
if (type==”dht11_sd”)? label3.Text=”濕度:”+data+”%”;
}
在窗體上拖放一個定時器,設置每隔3秒執(zhí)行以下代碼:
private void timer1_Tick(object sender, EventArgs e)
{
w1.Get (); //每隔3秒向物聯(lián)網(wǎng)平臺發(fā)送一個獲取溫濕度數(shù)據(jù)的指令。
}
(4)運行效果(見圖6)。
二、取得的效果
一是近幾年信息類專業(yè)招生率逐年上升。2018年筆者學校計劃招生200人,實際招生220人,比原計劃提高10%;2019年計劃招生250人,實際招生280人,比原計劃提高12%;2020年計劃招生 250人,實際招生 300人,比原計劃提高20%。
二是近幾年參加校內集訓的人數(shù)逐年遞增,學生參加省級比賽取得的名次逐年靠前。2018年筆者學校選手參加第45屆世界技能大賽省屬技工院校選拔賽,1人獲得了三等獎;2019年筆者學校參加第四屆廣東省技工院校職業(yè)技能大賽,獲得了總分第3名;2020年筆者學校選手參加第46屆世界技能大賽廣東省選手選拔賽,有兩名學生分別獲得了二等獎和三等獎。
三是自主創(chuàng)業(yè)的學生逐年增多。自2017年以來自主創(chuàng)業(yè)人數(shù)每年都在遞增,公司業(yè)務類型越來越多樣化,公司員工人數(shù)逐年增多。
三、小結
在程序設計課程教學中運用物聯(lián)網(wǎng)技術,采用一體化的教學手段,使學生在課堂上體驗如何拼裝程序小車、組裝智能機器人、安裝各類燈組模塊和傳感器,通過遠程錄入指令,完成特定功能,以多元化的方式來直觀展示程序運行結果,改變了以往程序設計課堂嚴肅、乏味的現(xiàn)狀,為學生進一步學習打下堅實的基礎。
參考文獻:
[1]丁曉波,蔡政英.物聯(lián)網(wǎng)專業(yè)人才培養(yǎng)實踐體系探索與實踐[J]. 物聯(lián)網(wǎng)技術,2020(4).
[2]陳崎峙.經濟發(fā)展中物聯(lián)網(wǎng)的意義與作用[J].環(huán)渤海經濟瞭望,2020(2).
[3]趙宏林,廉小親,郝寶智,羅旭,龔永罡.基于物聯(lián)網(wǎng)云平臺的空調遠程控制系統(tǒng)[J].計算機工程與設計,2017(8).
[4]肖清旺,王錦華,朱易翔. 物聯(lián)網(wǎng)智能終端設備識別方法[J].電信科學,2017(8).
(作者單位:廣東省粵東技師學院)