劉文杰, 朱 明, 覃振權(quán)
(大連理工大學(xué) 軟件學(xué)院, 遼寧 大連 116621)
基于Arduino的物聯(lián)網(wǎng)溫控實驗設(shè)計
劉文杰, 朱 明, 覃振權(quán)
(大連理工大學(xué) 軟件學(xué)院, 遼寧 大連 116621)
基于Arduino平臺和Zigduino控制器,實現(xiàn)物聯(lián)網(wǎng)無線溫控高級實驗教學(xué)。采用模塊化的實驗過程,把物聯(lián)網(wǎng)實驗的知識點直觀展現(xiàn)在學(xué)生面前。實驗通過網(wǎng)絡(luò)傳感器、溫度傳感器、時鐘模塊與液晶顯示屏聯(lián)動,讓學(xué)生在實際操作和編程過程中深刻理解單片機總線工作原理。同時,針對高校學(xué)生的基本情況,設(shè)計了理論完善、操作性強的實驗流程。
溫度控制實驗; 物聯(lián)網(wǎng); Arduino
在傳統(tǒng)的物聯(lián)網(wǎng)教學(xué)體系中,常以結(jié)課考核結(jié)果作為教學(xué)評價標(biāo)準(zhǔn),而授課過程中的考核僅作為輔助性評價[1]。這種教學(xué)評價,使學(xué)生的創(chuàng)新思想、在實踐過程中的交流、改進和實現(xiàn)等無法在考核中完全體現(xiàn)[2]。為此,將Arduino應(yīng)用到物聯(lián)網(wǎng)工程專業(yè)實踐教學(xué)中,利用Arduino平臺的優(yōu)勢,創(chuàng)新物聯(lián)網(wǎng)工程專業(yè)實踐教學(xué),并在軟件工程物聯(lián)網(wǎng)專業(yè)教學(xué)的軟硬件整合方面進行深入的探索和改進[3],在培養(yǎng)學(xué)生自主意識、創(chuàng)新意識與能力等方面,取得良好的教學(xué)效果。
在傳統(tǒng)的物聯(lián)網(wǎng)實踐教學(xué)體系中,講授物聯(lián)網(wǎng)底層技術(shù)開發(fā),有諸多不足。一方面,需要用很多時間講授51-STM32嵌入式開發(fā)體系[4];另一方面,傳統(tǒng)的嵌入式實驗教學(xué)平臺體積龐大、體系復(fù)雜,無法適應(yīng)創(chuàng)新實踐教學(xué)模式的開放性[5]。為了激發(fā)學(xué)生的學(xué)習(xí)興趣、培養(yǎng)學(xué)生的創(chuàng)新思維,必須突破傳統(tǒng)教學(xué)中實驗室的限制,用開放實驗教學(xué)的思路鼓勵學(xué)生利用開源平臺完成實驗[6]。在開放性實驗平臺中,使用簡便、靈活的開發(fā)平臺,進行物聯(lián)網(wǎng)感知、識別和控制中外圍功能模塊的講解,讓學(xué)生在有限的基礎(chǔ)知識上提高學(xué)習(xí)效率、快速進行實驗開發(fā)。
Arduino實驗平臺的結(jié)構(gòu)如圖1所示,基于Arduino的物聯(lián)網(wǎng)工程實踐教學(xué)過程如下:
(1) 從Arduino開放平臺硬件接口引入,從最簡單的Arduino工程入手,由淺入深地介紹Arduino開發(fā)環(huán)境、語法、接口等基本技術(shù)。
(2) 學(xué)習(xí)用Arduino進行物聯(lián)網(wǎng)創(chuàng)新實踐學(xué)習(xí)過程。Arduino的開發(fā)板和ZigBee、以太網(wǎng)通信等功能模塊體積小、重量輕、采用USB供電,并有多種開源傳感器可供使用,一般不受時間、地點的限制,可在教學(xué)過程中可將任務(wù)布置在課后,由學(xué)生獨立完成[7]。
(3) 在高級實驗中,包括開發(fā)環(huán)境的基本操作、常用函數(shù)、GPIO的讀寫、UART通信接口、AD接口等,還有基本傳感器與控制元件的使用,如LED、按鍵、與計算機通信、溫濕度傳感器、超聲波距離傳感器、繼電器、舵機各類擴展功能等[8]。

圖1 Ardiuno實驗平臺結(jié)構(gòu)
2.1 實驗平臺搭建
使用Ardiuno平臺硬件接口,從最簡單的Arduino工程(包括Blink、ASCII Table等基本的工程)入手,由淺入深介紹Arduino開發(fā)環(huán)境、語法、接口等基本技術(shù)。采用Zigduino控制器來實現(xiàn)溫度數(shù)據(jù)的ZigBee無線傳輸。Zigduino是帶有ZigBee無線傳輸功能的Arduino兼容控制器,具有集成化程度高、體積小、性價比高的優(yōu)點[9]。
Arduino開發(fā)環(huán)境相對于其他嵌入式開發(fā)平臺,具有極好的跨平臺性。在任意操作系統(tǒng)上,下載對應(yīng)的Arduino IDE,按照操作提示安裝即可。
Zigduino的開發(fā)環(huán)境是基于Aduino的開發(fā)環(huán)境開發(fā)而來,可以使用Zigduino完整版或Arduino IDE擴展包來實現(xiàn)Zigduino的開發(fā)。將擴展包內(nèi)2個文件夾復(fù)制到原IDE的根目錄下,替換提示重復(fù)的文件后,再次運行arduino.exe即可正常使用[10]。
2.2 配置Zigduino平臺與溫度測量實驗
溫度測量實驗采用Zigduino控制器和溫度傳感器DS18B20來實現(xiàn)[11]。將DS18B20的VDD和GND分別接至Zigduino控制器的+5 V和GND,數(shù)據(jù)引腳DQ接至Zigduino控制器的數(shù)字端口D2,并且在數(shù)據(jù)引腳DQ與+5 V之間連接阻值為4.7 kΩ的電阻,以保證溫度傳感器DS18B20能夠正常工作[12]。主要功能使用第三方函數(shù)庫DallasTemperature來實現(xiàn),將帶有兩位小數(shù)的溫度數(shù)據(jù)先放大100倍以去除小數(shù)點,再提取出溫度數(shù)據(jù)的整數(shù)部分和小數(shù)部分,具體代碼如下:
#include
2.3 Zigduino平臺的溫度實驗顯示
時鐘和顯示部分采用Zigduino控制器和DS3231實時時鐘模塊、LCD1602液晶顯示屏模塊來實現(xiàn)。將DS3231的5 V和GND分別接至Zigduino控制器的5 V和GND,信號引腳SCL、SDA分別接至Zigduino控制器的端口SCL、SDA;將LCD1602液晶顯示屏模塊的VCC、GND、R/W分別接至Zigduino控制器的5V、GND和GND,對比度調(diào)節(jié)引腳VEE通過10 kΩ的電位器來調(diào)節(jié)分壓值,信號控制引腳RS、E分別接至Zigduino控制器數(shù)字端口D7和D6,數(shù)據(jù)輸入引腳D4、D5、D6、D7分別接至Zigduino控制器數(shù)字端口D5、D4、D3、D2。程序如下:
#include
結(jié)合不同專業(yè)方向的本科教學(xué)特點,使用開源的Zigduino控制器設(shè)計了基于Arduino開放平臺的高級實驗課程,使學(xué)生學(xué)習(xí)到的物聯(lián)網(wǎng)知識能夠在高級實驗過程中通過工程應(yīng)用的方法實現(xiàn)。該實驗設(shè)計降低了物聯(lián)網(wǎng)實驗的難度。為了充實物聯(lián)網(wǎng)開放性實驗平臺,還需對課程內(nèi)容、教學(xué)模式、培養(yǎng)方式等方面進行更多的探索。
References)
[1] Creasy R. The Origin of the VM/370 Time-Sharing System[J].IBM Journal of Research and Development, 2010(25):483-490.
[2] 劉文杰,江賀.基于VMware的桌面虛擬化實驗設(shè)計[J].實驗技術(shù)與管理.2015,32(1):127-128.
[3] Miller K, Pegah M. Virtually at the Desktop[C]//35th Annual ACM SIGUCCS Conference on User Services. USA: Orlando, 2007:255-260.
[4] 劉文杰,王善坤.網(wǎng)絡(luò)仿真技術(shù)在校園網(wǎng)網(wǎng)絡(luò)實驗中的應(yīng)用[J].實驗技術(shù)與管理,2016,33(1):132-134.
[5] 崔貫勛.基于云計算技術(shù)的計算機實驗教學(xué)平臺[J].實驗室研究與探索,2013,32(10):447-450.
[6] Miller K, Pegah M. Virtualization, Virtually at the Desktop[C]//35th Annual ACM SIGUCCS Conference on User Services. Orlando, Florida,USA,2007:255-260.
[7] Liu Wenjie, Feng Bin , Wang Yongjian. A dynamic trust value based on the recommended solution[C]//2012 IEEE 2nd International Conferences on Cloud Computing and Intelligence Systems.Hangzhou, 2012.
[8] 吳良,鄒志宏,吳文華.智能實驗室管理系統(tǒng)的開發(fā)與實踐[J].實驗室研究與探索,2012,31(5):169-172.
[9] 劉紅,王成林,馬向國,等.智能實驗室管理設(shè)想[J].物理與工程,2008,18(5):34-36.
[10] 鄧超.桌面虛擬化在數(shù)字化校園中的應(yīng)用研究[J].教育信息技術(shù),2010(12):47-49.
[11] 崔煒榮.桌面虛擬化在高校公共機房中的應(yīng)用探討[J].電子世界,2012(6):8-9.
[12] Baratto R A, Potter S, Su G, et al. MobiDesk: Mobile Virtual Desktop Computing[C]//Tenth Annual ACM International Conference on Mobile Computing and Networking (MobiCom).2004:1-15.
Design of IoT temperature control experiment based on Arduino
Liu Wenjie, Zhu Ming, Qin Zhenquan
(School of Software Technology, Dalian University of Technology, Dalian 116621, China)
Based on the Arduino platform and Zigduino controller, this paper realizes the Internet of things integration wireless network experiment courses, which can let students quickly understand the hierarchical structure of the Internet of things, develop the students’ ability of agile development. Experiment through the network of sensors, temperature sensors, clock module and LCD display, can let the students in the process of actual operation and programming deeply understand the working principle of the single chip microcomputer bus. According to the basic situation of college students, the experimental process shows that the theory is perfect and feasible in experimental process.
temperature control experiment; Internet of things(IoT); Arduino
10.16791/j.cnki.sjg.2017.01.035
2016-07-21 修改日期:2016-09-26
國家自然科學(xué)基金青年科學(xué)基金項目(61202442)
劉文杰(1979—),男,河北保定,碩士,工程師,主要研究方向為網(wǎng)絡(luò)安全和物聯(lián)網(wǎng)工程.
E-mail:liuwj@dlut.edu.cn
TP393;G642.4
A
1002-4956(2017)1-0150-03