徐 航,李 迅,艾廣心,于家浩,呂冬宜
(佳木斯大學(xué)信息電子技術(shù)學(xué)院,黑龍江 佳木斯 154000)
2017-07-24
黑龍江省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(201710222065)
徐 航(1995- ),男,安徽巢湖人,本科,研究方向,電氣工程及其自動(dòng)化。
田思慶(1965- ),男,碩士生導(dǎo)師,教授,研究方向:計(jì)算機(jī)控制與應(yīng)用。
1674- 4578(2017)05- 0020- 03
WEB訪問(wèn)單片機(jī)數(shù)據(jù)技術(shù)在多肉大棚中的應(yīng)用*
徐 航,李 迅,艾廣心,于家浩,呂冬宜
(佳木斯大學(xué)信息電子技術(shù)學(xué)院,黑龍江 佳木斯 154000)
提出了一種基于WEB訪問(wèn)單片機(jī)數(shù)據(jù)的應(yīng)用設(shè)計(jì),旨在快速低成本地搭建一個(gè)便于移植且適應(yīng)性較強(qiáng)的數(shù)據(jù)訪問(wèn)系統(tǒng),可以不受時(shí)間地域的限制對(duì)單片機(jī)采集到的數(shù)據(jù)進(jìn)行無(wú)線或有線的訪問(wèn),在本次設(shè)計(jì)中,我們以多肉植物智能溫室大棚為例,詳細(xì)介紹了該項(xiàng)目各部分的組成結(jié)構(gòu)以及對(duì)該種應(yīng)用技術(shù)的使用。
單片機(jī);微處理器;互聯(lián)網(wǎng);WEB訪問(wèn)
第七屆中國(guó)互聯(lián)網(wǎng)產(chǎn)業(yè)年會(huì)上發(fā)布的《2016年中國(guó)互聯(lián)網(wǎng)產(chǎn)業(yè)綜述與2017年發(fā)展趨勢(shì)》指出,在2017年,新一代信息基礎(chǔ)設(shè)施將成為網(wǎng)絡(luò)強(qiáng)國(guó)戰(zhàn)略的關(guān)鍵支撐,伴隨著“寬帶中國(guó)”戰(zhàn)略的推進(jìn)和提速降費(fèi)措施的落實(shí),寬帶提速效果日益顯著,寬帶覆蓋面積日益增加。以電信為例,普遍服務(wù)試點(diǎn)的實(shí)施,支持全國(guó)27個(gè)省(區(qū)、市)的10萬(wàn)個(gè)行政村開(kāi)展網(wǎng)絡(luò)光纖到村建設(shè)和升級(jí)改造,解決3.1萬(wàn)個(gè)貧困村網(wǎng)絡(luò)覆蓋建設(shè)問(wèn)題,為網(wǎng)絡(luò)扶貧、縮小城鄉(xiāng)“數(shù)字鴻溝”提供了重要手段,為網(wǎng)絡(luò)強(qiáng)國(guó)建設(shè)提供了有力支撐。據(jù)工業(yè)和信息化部有關(guān)數(shù)據(jù),8 Mbps及以上接入速率的寬帶用戶總數(shù)達(dá)到2.59億戶,20 Mbps及以上寬帶用戶總數(shù)2.11億戶,光纖接入FTTH/0用戶總數(shù)達(dá)到2.15億戶,比去年同期分別增長(zhǎng)121%、262%和95%,占寬帶用戶總數(shù)的比重分別達(dá)88.1%、71.7%和73%。乘著“寬帶中國(guó)”戰(zhàn)略的順風(fēng)車,互聯(lián)網(wǎng)行業(yè)依舊保持持續(xù)上升的勢(shì)頭。利用現(xiàn)有廣泛的互聯(lián)網(wǎng)基礎(chǔ),可以很容易地?cái)U(kuò)大系統(tǒng)(或設(shè)施)覆蓋面積,降低信息傳遞的成本?;诨ヂ?lián)網(wǎng)我們研究開(kāi)發(fā)了很多實(shí)際的應(yīng)用,本文提出了一種基于WEB訪問(wèn)單片機(jī)數(shù)據(jù)的應(yīng)用設(shè)計(jì),旨在快速低成本地搭建一個(gè)便于移植且適應(yīng)性較強(qiáng)的系統(tǒng),可以不受時(shí)間地域的限制對(duì)單片機(jī)采集到的數(shù)據(jù)進(jìn)行無(wú)線或有線的訪問(wèn),從而大大縮減產(chǎn)品開(kāi)發(fā)周期,降低維護(hù)難度。
在本次設(shè)計(jì)中,我們選擇多肉植物溫室大棚作為控制對(duì)象,采集多肉大棚內(nèi)各項(xiàng)環(huán)境參數(shù)以及電氣設(shè)備運(yùn)行狀態(tài),作為WEB訪問(wèn)顯示的單片機(jī)數(shù)據(jù)。
整個(gè)系統(tǒng)由上位機(jī)、下位機(jī)和數(shù)據(jù)網(wǎng)絡(luò)組成。微處理器作為溫室大棚的控制芯片,與外圍各傳感器(溫度傳感器,濕度傳感器,光照傳感器等采集環(huán)境參數(shù))以及各項(xiàng)執(zhí)行機(jī)構(gòu)(溫度升降,濕度增減,光照增加或遮陽(yáng),通風(fēng)控制,澆水排水等各電氣設(shè)備)共同組成溫室大棚自動(dòng)控制裝置(稱為下位機(jī))。下位機(jī)與一臺(tái)PC(稱為上位機(jī))相連,把采集到的數(shù)據(jù)存儲(chǔ)在PC中,該P(yáng)C可作為第一個(gè)監(jiān)控節(jié)點(diǎn),在棚中就可作為終端顯示當(dāng)前多肉大棚內(nèi)各項(xiàng)環(huán)境參數(shù)以及電氣設(shè)備運(yùn)行狀態(tài)(單片機(jī)采集到的數(shù)據(jù))。數(shù)據(jù)通過(guò)以太網(wǎng)上傳服務(wù)器(數(shù)據(jù)網(wǎng)絡(luò)),更多用戶可以使用移動(dòng)終端(手機(jī)、電腦、平板等)通過(guò)互聯(lián)網(wǎng)進(jìn)行WEB訪問(wèn),在特定網(wǎng)站上不受時(shí)間地域的限制監(jiān)測(cè)大棚中的情況。數(shù)據(jù)網(wǎng)絡(luò)示意簡(jiǎn)圖如圖1所示。
圖1 數(shù)據(jù)網(wǎng)絡(luò)示意簡(jiǎn)圖
多肉植物溫室大棚自動(dòng)控制系統(tǒng)屬于精細(xì)農(nóng)業(yè)的范疇。傳統(tǒng)的多肉植物大棚自動(dòng)化程度較低,很多都只具備簡(jiǎn)單的自動(dòng)控溫,為了提高大棚的自動(dòng)化程度,節(jié)省勞力,我們?cè)O(shè)計(jì)開(kāi)發(fā)了自動(dòng)控溫、控濕、植物補(bǔ)光、通風(fēng)、灌溉澆水的功能(本文主要討論數(shù)據(jù)網(wǎng)絡(luò),具體的大棚內(nèi)裝置不再贅述),這些功能基本上涵蓋了多肉植物生長(zhǎng)所需要控制的必要環(huán)境因素。多肉植物溫室大棚自動(dòng)控制系統(tǒng)結(jié)構(gòu)示意圖如圖2所示。
圖2 多肉植物溫室大棚自動(dòng)控制系統(tǒng)結(jié)構(gòu)圖
微處理器(可以使用51,32等)搭建最小系統(tǒng),外圍電路包括18B20溫度傳感器、DHT11濕度傳感器、光照強(qiáng)度傳感器等采集環(huán)境參數(shù)的傳感器。而MCU根據(jù)預(yù)先燒錄的算法自動(dòng)控制各項(xiàng)執(zhí)行機(jī)構(gòu),實(shí)現(xiàn)包括控溫、控濕、補(bǔ)光、通風(fēng)、澆排水等功能。MCU與上位機(jī)相連,發(fā)送包括大棚環(huán)境信息和電氣設(shè)備工作狀態(tài)的數(shù)據(jù)給上位機(jī)。
上位機(jī)方面可以使用任何可以聯(lián)網(wǎng)的智能設(shè)備,在這里我們以PC機(jī)為例,當(dāng)然,除此之外,我們也可以用MAC,手機(jī),甚至是微型電腦等任何的可以運(yùn)行JAVA程序的設(shè)備,上位機(jī)與微處理器(MCU)通過(guò)無(wú)線模塊或者USB直接相連,通過(guò)JAVA程序采集MCU發(fā)送的數(shù)據(jù),并在上位機(jī)進(jìn)行編碼并通過(guò)JDBC上傳至服務(wù)器端數(shù)據(jù)庫(kù)。
附:鏈接數(shù)據(jù)庫(kù)部分程序
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://dbserver? useUnicode=true&characterEncoding=UTF8";
String password = "password";
String user = "username";
System.out.println("正在連接數(shù)據(jù)庫(kù)----");
Connection connection
= DriverManager.getConnection(url, user, password);
System.out.println("數(shù)據(jù)庫(kù)鏈接:"+connection);
System.out.println("數(shù)據(jù)庫(kù)鏈接成功----");
String sql = "INSERT INTO db(data) VALUES(?) ";
ps = connection.prepareStatement(sql)。
數(shù)據(jù)庫(kù)端我們使用MySQL作為數(shù)據(jù)存儲(chǔ)軟件,MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),之所以選擇MySQL作為我們的數(shù)據(jù)庫(kù)軟件,是因?yàn)樗敲赓M(fèi)的,開(kāi)源的,而且關(guān)系型數(shù)據(jù)庫(kù)在我們的項(xiàng)目中發(fā)揮的作用更大,在數(shù)據(jù)庫(kù)存儲(chǔ)方面,由于我們的數(shù)據(jù)是經(jīng)過(guò)編碼的,所以我們不需要復(fù)雜的表結(jié)構(gòu),我們只需要三列,第一列是id列,該列數(shù)據(jù)自增,并設(shè)置id列為主鍵,以方便后續(xù)查看的時(shí)候數(shù)據(jù)整理;第二列為time列,用來(lái)記錄數(shù)據(jù)產(chǎn)生的時(shí)間,在后續(xù)用戶的監(jiān)控中,可以更清晰地了解當(dāng)前的大棚內(nèi)的情況;第三列為data列,為我們真正用來(lái)存儲(chǔ)數(shù)據(jù)的列,我們把經(jīng)過(guò)編碼的數(shù)據(jù)信息存儲(chǔ)在該列。
附:數(shù)據(jù)庫(kù)方面表結(jié)構(gòu)
網(wǎng)頁(yè)監(jiān)視端,我們使用JAVA語(yǔ)言進(jìn)行網(wǎng)站后端的編寫(xiě),使HTML作為前端編寫(xiě)語(yǔ)言??蚣芊矫?,我們使用bootstrap作為前段框架,bootstarp是一個(gè)非常優(yōu)秀的使用人數(shù)非常多的前端框架,我們通過(guò)它可以快速部署我們的頁(yè)面。前端頁(yè)面上,我們通過(guò)js頁(yè)面實(shí)時(shí)更新,使用Jquery作為頁(yè)面的js框架,并對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)展示。網(wǎng)站后端我們使用maven構(gòu)建項(xiàng)目,使用pom文件對(duì)jar包進(jìn)行管理,并使用springboot對(duì)整體項(xiàng)目進(jìn)行管理。由于springboot的便捷性,使得我們可以輕松地構(gòu)建出一個(gè)SSM(springmvc,spring,mybatis)項(xiàng)目,模板框架我們使用thymeleaf作為模板框架,與JAVA-WEB原生的JSP相比,他有著很多的優(yōu)點(diǎn),例如,他可以把VIEW層和Controller層完全分割,再例如,他可以以原生html格式進(jìn)行編輯使用,這就可以實(shí)現(xiàn)前后端分離開(kāi)發(fā),而不像JSP一樣一定要在Server啟動(dòng)的時(shí)候再進(jìn)行渲染視圖。
具體的訪問(wèn)邏輯如下:用戶通過(guò)網(wǎng)址或ip訪問(wèn)服務(wù)器端的網(wǎng)站,頁(yè)面從服務(wù)器端下載對(duì)應(yīng)的html,js,css頁(yè)面模板數(shù)據(jù),并向服務(wù)器發(fā)送AJAX請(qǐng)求,隨后用戶瀏覽器獲取到該請(qǐng)求的json字符串,對(duì)該json進(jìn)行解析,并構(gòu)建出對(duì)應(yīng)的完整頁(yè)面,隨后,當(dāng)我們定時(shí)的時(shí)間到了以后,用戶瀏覽器重新發(fā)送AJAX請(qǐng)求并重新獲取json字符串,隨后清理當(dāng)前頁(yè)面已經(jīng)過(guò)期的信息,重新通過(guò)js構(gòu)建頁(yè)面,這樣我們就實(shí)現(xiàn)了頁(yè)面的實(shí)時(shí)更新。
本文是對(duì)單片機(jī)數(shù)據(jù)進(jìn)行WEB訪問(wèn)的技術(shù)探討,同時(shí)也是對(duì)現(xiàn)代智能農(nóng)業(yè),精細(xì)農(nóng)業(yè)方面觀賞植物溫室大棚自動(dòng)控制系統(tǒng)的研究,在本系統(tǒng)中,環(huán)境數(shù)據(jù)的采集、分析、上服務(wù)器都可以很好的完成,并且對(duì)各執(zhí)行機(jī)構(gòu)的控制也較為理想,實(shí)現(xiàn)了遠(yuǎn)端訪問(wèn)實(shí)時(shí)監(jiān)控的目的。從植物種植方面來(lái)講,確實(shí)達(dá)到了降低人工提高容錯(cuò)率的目的。
對(duì)于本文提出的溫室大棚智能控制系統(tǒng)還存在可以改進(jìn)完善的地方,例如采用PC作為上位機(jī)成本較高,不利于家庭小規(guī)模使用,且整體占地較大。在后續(xù)的研究中,我們將會(huì)嘗試使用樹(shù)莓派等微電腦作為上位機(jī)上傳數(shù)據(jù),降低整體造價(jià)并提高系統(tǒng)的穩(wěn)定性,實(shí)現(xiàn)小型化低成本。
ApplicationofWebAccessMicrocontrollerDataTechnologyinSucculentGreenhouse
Xu Hang, Li Xun,Ai Guangxin,Yu Jiahao,Lv Dongyi
(InformationandElectronicTechnologyInstitute,JiamusiUniversity,JiamusiHeilongjiang154000,China)
This paper presents a Web-based single-chip microcomputer data application design, which can quickly and cost-effectively builds a portable and adaptable data access system, and cannot be limited by the time domain for wireless or wired access on the data collected by microcontroller. In this design, it makes detailed introduction on the structure of each part of the project and the use of the application technology in the intelligent greenhouse as an example.
microcontrollers; microprocessors; internet; WEB access
TP368.1;TP393
A