艾廣心+李迅+周虹+王晨+楊曉宇+于家浩
摘要:該文提出了一種基于單片機的人工造景智能系統(tǒng),該系統(tǒng)具備WEB訪問單片機數(shù)據(jù)的功能,包括采集數(shù)據(jù)和各設(shè)備的運行狀態(tài)信息等,模塊化的設(shè)計也便于系統(tǒng)進行升級、維護以及移植。在保證造景缸中環(huán)境等穩(wěn)定的同時,減少了人工干預(yù)和操作的過程,把飼養(yǎng)變成了單純的觀賞享受。本項目來源于智能化熱帶水族箱的設(shè)計與開發(fā)項目(2016年黑龍江省大學(xué)生創(chuàng)新創(chuàng)業(yè)省級項目,項目編號:201610222053),介紹了系統(tǒng)各組成部分的軟硬件構(gòu)成。
關(guān)鍵詞:單片機;物聯(lián)網(wǎng);自動控制;人工造景
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2017)35-0266-03
Control System of Artificial Scene Based on Single Chip Microcomputer
AI Guang-xin, LI Xun, ZHOU Hong, WANG Chen,YANG Xiao-yu,YU Jia-hao
(Information and Electronic Technology Institute,Jiamusi University,Jiamusi 154000,China)
Abstract: This paper presents an intelligent system Based on single-chip microcomputer. The system has the functions of WEB access to the data of the single-chip microcomputer, including collecting data and running information of each device. The modular design also facilitates the system to upgrade, maintain and transplant. In the environment to ensure that the environment and other stable at the same time, reducing the manual intervention and operation of the process, the feeding into a simple ornamental enjoyment (2016 Heilongjiang provincial Undergraduate Training Programs for Innovation and Entrepreneurship , 201610222053). The project is derived from the design and development project of intelligent tropical aquarium, and introduces the hardware and software composition of each component of the system.
Key words: Microcontrollers; Internet of things; automatic control; artificial landscaping
1 項目功能簡介
在本設(shè)計中實現(xiàn)的是一個物聯(lián)網(wǎng)的人工造景控制系統(tǒng),通過各個傳感器采集缸(包括淡水缸、汽水缸、海水缸等可以作為草缸、龜缸等應(yīng)用,我們這里以最簡單的淡水草缸為例)內(nèi)部的各項參數(shù)以及各項設(shè)備的運行狀態(tài),單片機作為處理器根據(jù)采集的數(shù)據(jù)對人工造景進行自動控制(例如實現(xiàn)自動投喂,定時打氧或通入二氧化碳,自動換水等),并通過網(wǎng)絡(luò)將數(shù)據(jù)上傳到服務(wù)器端數(shù)據(jù)庫,用戶通過瀏覽器訪問的形式隨時隨地對數(shù)據(jù)進行監(jiān)控。
2 系統(tǒng)結(jié)構(gòu)
整個系統(tǒng)由上位機、下位機、服務(wù)端數(shù)據(jù)網(wǎng)絡(luò)以及客戶端瀏覽器組成。51 單片機技術(shù)自發(fā)展以來已走過了近 20 年的發(fā)展路程。單片機技術(shù)的發(fā)展以微處理器(MPU)技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域拉動,表現(xiàn)出較微處理器更具個性的發(fā)展趨勢,小到電子遙控玩具,大到航空航天技術(shù)等電子行業(yè)都有單片機應(yīng)用的影子[1]。STC89C52單片機作為淡水草缸的邏輯控制處理芯片,與外圍各個傳感器(如溫度傳感器)以及各項執(zhí)行機構(gòu)(如加溫開關(guān)繼電器,定時投喂繼電器等)共同組成淡水草缸的自動控制系統(tǒng),該自動控制系統(tǒng)也組成了整體物聯(lián)網(wǎng)系統(tǒng)的下位機。該下位機與一臺上位機相連,在該項目中,單片機負(fù)責(zé)將數(shù)據(jù)定時傳到指定USB端口,采用樹莓派(微型計算機)作為該系統(tǒng)的上位機,在樹莓派上構(gòu)建JAVA環(huán)境,通過運行程序定時掃描與單片機連接的USB端口來獲取實時數(shù)據(jù)[2],該上位機通過連接顯示器可作為第一個監(jiān)控節(jié)點,在淡水草缸本地就即可作為終端展示淡水草缸中由單片機采集到的實時狀態(tài)信息以及實時數(shù)據(jù)信息[3]。同時數(shù)據(jù)通過外部網(wǎng)絡(luò)環(huán)境(Wifi環(huán)境或者實體網(wǎng)線)上傳到服務(wù)端數(shù)據(jù)網(wǎng)絡(luò),存儲在服務(wù)器(采用任何可聯(lián)網(wǎng)的且擁有公網(wǎng)IP的服務(wù)器)數(shù)據(jù)庫中,使用者可以使用任何可以訪問網(wǎng)絡(luò)的終端(手機、電腦、平板,甚至是kindle)對服務(wù)器上的數(shù)據(jù)進行監(jiān)控,以便于及時發(fā)現(xiàn)問題,在特定網(wǎng)站上不受時間地域的限制監(jiān)測淡水草缸中的情況[4]。淡水草缸數(shù)據(jù)網(wǎng)絡(luò)示意簡圖如圖1所示。
2.1 單片機采集控制系統(tǒng)
在日常運行過程中,單片機通過用戶對溫度上限以及溫度下限的設(shè)定,實時讀取溫度傳感器(ds18b20溫度傳感器)實現(xiàn)對加溫棒開關(guān)繼電器的開關(guān)設(shè)定,從而實現(xiàn)對淡水草缸內(nèi)部整體溫度的控制。用戶還可以設(shè)定每次投喂的間隔時間(單位為小時),由單片機內(nèi)部的定時器進行定時,并在規(guī)定的時間內(nèi)開啟自動投喂繼電器開關(guān),實現(xiàn)對自動投喂的智能控制。出于節(jié)能以及避免資源浪費考慮[5],該系統(tǒng)還實現(xiàn)的間隔打氧功能,由用戶設(shè)置打氧的間隔時間,以及每次打氧的持續(xù)時間(單位為分鐘),而淡水草缸還涉及二氧化碳溶解度的問題,故添加了二氧化碳細(xì)化器,配合氧氣泵共同作為缸內(nèi)水生生物(包括生產(chǎn)者和消費者),同時,考慮到淡水草缸換水的問題,該系統(tǒng)[6]還設(shè)置了一鍵換水的功能,用戶在安裝的時候?qū)⑷胨谶B接到水龍頭上,出水孔連接到排放設(shè)備上,安裝好后,用戶只需要按下一個按鈕,單片機將開啟排水的電磁閥,將水位排放到最低水位線(最低、最高水位線由單片機檢測),隨后關(guān)閉排水電磁閥,開啟入水電磁閥,將水位加至最高水位線,隨后關(guān)閉入水電磁閥,至此,一次換水過程結(jié)束。整個系統(tǒng)各個部分既可以獨立運行,也可以整體自動控制。當(dāng)用戶設(shè)置好各功能運行狀態(tài)以及停啟時間后,系統(tǒng)便會按照機器時間自動進行循環(huán)運行,該功能可以滿足部分客戶不能及時照料或疏于管理情況下的需求。系統(tǒng)結(jié)構(gòu)圖如圖2所示,proteus部分仿真圖如圖3所示。endprint
2.2 上位機
上位機使用任何可以聯(lián)網(wǎng)的微電腦設(shè)備,PC、MAC、linux、甚至可以使用樹莓派,所有的設(shè)備的操作大致相同,本文中提供的數(shù)據(jù)在左右設(shè)備中均適用,上位機通過WIFI模塊相連或者通過USB與微處理器(MCU)直接連接,該項目中使用USB端口連接為例,JAVA程序上使用rxtxcomm.jar工具包實現(xiàn)串口信息讀取,環(huán)境配置上在該上位機中構(gòu)建JAVA環(huán)境,通過運行事先編譯好的JAVA程序采集MCU發(fā)送到指定端口的數(shù)據(jù),并在上位機將數(shù)據(jù)進行編碼并將數(shù)據(jù)上傳到服務(wù)器端數(shù)據(jù)庫[7]。
附:鏈接數(shù)據(jù)庫部分程序
2.3 數(shù)據(jù)庫
在該項目中使用mysql作為數(shù)據(jù)存儲軟件,該數(shù)據(jù)庫是一個關(guān)系型數(shù)據(jù)庫軟件,在數(shù)據(jù)表的設(shè)計上,由于發(fā)送到數(shù)據(jù)庫的數(shù)據(jù)是經(jīng)過編碼的[8],所以數(shù)據(jù)表的設(shè)計上只需要三列,第一列記錄數(shù)據(jù)的id,即用來標(biāo)識數(shù)據(jù)的唯一性,該列數(shù)據(jù)在每次插入時自動增加1,同時此id為該數(shù)據(jù)表的主鍵,方便以后數(shù)據(jù)的操作和整理,第二列用來記錄數(shù)據(jù)產(chǎn)生的時間,讓用戶更加清晰的觀測到當(dāng)前的淡水草缸狀態(tài),第三列用來存放編碼好的數(shù)據(jù),是真正用來存儲數(shù)據(jù)的列,通過該列的數(shù)據(jù),我們能夠讀取到淡水草缸內(nèi)的所有信息
附:數(shù)據(jù)庫方面表結(jié)構(gòu)
2.4 網(wǎng)頁監(jiān)控端
網(wǎng)頁監(jiān)控端,即用戶查看淡水草缸信息時展示的網(wǎng)站,該網(wǎng)站存放在外網(wǎng)服務(wù)器中,既可以與數(shù)據(jù)庫存放在同一個服務(wù)器也可以和數(shù)據(jù)庫存放在不同的服務(wù)器,該網(wǎng)站服務(wù)端使用java語言編寫,部分java程序如圖4所示[9],客戶端使用html語言編寫,網(wǎng)站前端使用bootstrap框架,以提高網(wǎng)站的觀賞性,通過ajax技術(shù)實現(xiàn)頁面的實時更新,以提高網(wǎng)站的實用性,使用JQuery作為js框架[10],以提高開發(fā)的簡易性,項目搭建上使用maven構(gòu)建項目,通過pom文件對jar包進行管理,并使用springboot對整體項目進行部署,展示端模板框架使用thymeleaf,該框架可以實現(xiàn)前后端的開發(fā)完全分離,可脫離工程以html的格式進行渲染。
該網(wǎng)站的具體運行邏輯如下:用戶根據(jù)事先設(shè)置好的網(wǎng)址或ip通過瀏覽器訪問網(wǎng)站,瀏覽器從服務(wù)端下載客戶端頁面(html頁面,js,css等數(shù)據(jù)),并向服務(wù)端發(fā)送ajax請求并獲得請求返回的json數(shù)據(jù),隨后,客戶端對該json數(shù)據(jù)進行解析,并構(gòu)建出完整的html頁面[11],當(dāng)我們定時的時間到了以后,用戶瀏覽器重新發(fā)送AJAX請求并重新獲取json字符串,隨后清理當(dāng)前頁面已經(jīng)過期的信息,重新通過js構(gòu)建頁面,這樣我們就實現(xiàn)了頁面的實時更新。
3 結(jié)束語
在本設(shè)計中,首次采用了樹莓派作為上位機。在以往我們設(shè)計的自動控制系統(tǒng)中,例如多肉植物溫室大棚自動控制系統(tǒng)項目開發(fā)過程中采用PC作為上位機,如果PC機只是單純作為家用多肉大棚的上位機而言,價格略高,若是應(yīng)用在多肉農(nóng)場等大規(guī)模商業(yè)苗圃中,則采用工控機更為合適。而為了更加適用于家庭用戶,也是考慮到價格和空間的問題,我們在本次開發(fā)中選擇使用樹莓派作為上位機,在一定程度上節(jié)省了產(chǎn)品的造價,同時也為用戶提供了更加多樣化的選擇,也更加便于系統(tǒng)進行移植和維護。
參考文獻:
[1] 陳麗霞.基于51單片機的綜合開發(fā)板設(shè)計[J].科技經(jīng)濟市場,2011(8):3.
[2] 肖洪兵. 跟我學(xué)用單片機[M].北京:北京航空航天大學(xué)出版社,2002.
[3] 趙曉安.MCS-51單片機原理及應(yīng)用[M].天津:天津大學(xué)出版社,2001.
[4] 李廣第.單片機基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1999.
[5] 夏繼強. 單片機實驗與實踐教程[M].北京:北京航空航天大學(xué)出版社, 2001.
[6] 陳志強 胡輝. 單片機應(yīng)用系統(tǒng)設(shè)計實踐指南[M].自編教材
[7] Eric. Java編程思想[M]. 4版. 機械工業(yè)出版社, 2011.
[8] 杜波依斯. MySQL技術(shù)內(nèi)幕[M].4版. 人民郵電出版社 , 2011.
[9] Metsker S J. Java設(shè)計模式[M]. 2版. 電子工業(yè)出版社, 2012.
[10] 孫衛(wèi)琴. Tomcat與Java Web開發(fā)技術(shù)詳解[M]. 2版. 電子工業(yè)出版社, 2009.
[11] 劉京華. Java Web整合開發(fā)王者歸來[M]. 清華大學(xué)出版社, 2010.endprint