糧庫存儲條件監(jiān)控系統(tǒng)_第1頁
糧庫存儲條件監(jiān)控系統(tǒng)_第2頁
糧庫存儲條件監(jiān)控系統(tǒng)_第3頁
糧庫存儲條件監(jiān)控系統(tǒng)_第4頁
糧庫存儲條件監(jiān)控系統(tǒng)_第5頁
已閱讀5頁,還剩224頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

摘要近幾年來,人們對糧食的存儲越來越關(guān)注,尤其在新冠疫情期間更為關(guān)心。在很多政府以及企業(yè)糧食儲藏庫,需要對環(huán)境等各種狀態(tài)進行采集,來確保倉庫的安全性。本系統(tǒng)基于物聯(lián)網(wǎng)技術(shù)設(shè)計了糧庫存儲條件監(jiān)控系統(tǒng)。感知層由STM32、溫濕度傳感器DHT11、可燃?xì)怏w傳感器MQ-9以及光照強度數(shù)字檢測模塊GY-30進行數(shù)據(jù)的采集;傳輸層通過無限節(jié)點ZigBee技術(shù)和WiFi技術(shù)將采集到的環(huán)境數(shù)據(jù)上傳至服務(wù)器并存儲在MySQL數(shù)據(jù)庫中;使用SpringBoot微服務(wù)框架搭建應(yīng)用服務(wù)器端,完成在通訊設(shè)備上分析和展示實時性與可靠性的數(shù)據(jù),同時對不利于存儲的環(huán)境通過短信與頁面提醒的方式通知用戶。本文首先闡述了題目要研究的背景及實際意義;其次介紹了設(shè)計的方案的選擇;再次詳細(xì)的介紹了系統(tǒng)硬件設(shè)計與軟件設(shè)計,最后對此次設(shè)計進行了硬件與軟件調(diào)試,保證了系統(tǒng)的可靠性與穩(wěn)定性。關(guān)鍵詞:環(huán)境監(jiān)測,ZigBee,WiFi,STM32,SpringBootAbstractInrecentyears,peoplehavepaidmoreandmoreattentiontothestorageoffood.especiallyduringtheoutbreakofnewcoronavirus.Inmanygovernmentandenterprisegrainstoragewarehouses,itisnecessarytocollectvariousconditionssuchastheenvironmenttoensurethesafetyofthewarehouse.BasedonthetechnologyofInternetofthings,themonitoringsystemofgrainstorageconditionsisdesigned.Inthesensinglayer,STM32,DHT11,MQ-9andgy-30areusedtocollectdata;inthetransmissionlayer,ZigBeetechnologyandWiFitechnologyareusedtouploadthecollectedenvironmentdatatotheserverandstoreitinMySQLdatabase;inaddition,springbootmicroserviceframeworkisusedtobuildapplicationserverandcompleteitoncommunicationequipmentAnalyzeanddisplayreal-timeandreliabledata,andinformusersthroughSMSandpageremindersinanenvironmentthatisnotconducivetostorage.Thisarticlefirstdescribesthebackgroundandpracticalsignificanceofthetopictobestudied;secondlyintroducesthechoiceofdesignscheme;againintroducesthesystemhardwaredesignandsoftwaredesignindetail,andfinallyperformshardwareandsoftwaredebuggingonthedesigntoensurethesystem'sReliabilityandstability.Keywords:EnvironmentalMonitoring,ZigBee,WiFi,STM32,SpringBoot第1章緒論本章對系統(tǒng)的開發(fā)背景、設(shè)計目標(biāo)、目的和意義進行了綜述,主要分析了國內(nèi)外基于物聯(lián)網(wǎng)的糧庫存儲條件監(jiān)控系統(tǒng)的發(fā)展情況。1.1選題的目的和意義食品安全問題關(guān)系到國家政策和消費者福利,受到各國的高度重視REF_Ref41389111\r\h[1]。其中,糧食存儲過程中的品質(zhì)安全是需要著力保證的重要一環(huán)。其中,糧食食品儲藏過程中的保證質(zhì)量安全是重要組成部分。如何用科學(xué)有效的方法保證食品的安全是目前食品儲藏中的一個重要課題。在中國,由于食品的儲存方法不科學(xué),倉庫陳舊,濕度大,食品的儲存狀況無法實時監(jiān)測,食品的儲存損耗率居高不下。在食品儲藏過程中,溫度和濕度直接決定著食品的質(zhì)量。為了保證食品儲存質(zhì)量,減少食品損失,必須及時準(zhǔn)確地監(jiān)測食品儲存過程中溫度、濕度等食品狀態(tài)參數(shù)的變化,發(fā)現(xiàn)影響食品安全的因素,采取有效的干預(yù)措施。如今,國內(nèi)大部分糧倉選用PC監(jiān)控體系,主要依靠線纜進行信息發(fā)送REF_Ref41389210\r\h[2]。但是,經(jīng)過若干年使用發(fā)現(xiàn),這種線纜式的監(jiān)控方式仍然存在一些問題:一、測溫電纜布線雜亂,不僅安裝困難,并容易造成線纜機械損傷。比如,老鼠咬斷線纜。二、從主機到分機,從分機到主機之間的大量線纜造成了監(jiān)測成本的增加。三、溫濕度節(jié)點易受潮濕和熏蒸影響,導(dǎo)致電路腐蝕。四、布線繁雜,易引入雷擊,從而引起火災(zāi)或系統(tǒng)故障事件。隨著物聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)時代的到來,無線傳感器網(wǎng)絡(luò)的普遍使用,移動終端的普及,微電子技術(shù)的發(fā)展,以無線方式代替有線進行數(shù)據(jù)的匯集,以更為廉價的嵌入式設(shè)備代替?zhèn)鹘y(tǒng)PC進行監(jiān)控,以遠(yuǎn)程監(jiān)控代替本地監(jiān)控成為主流的解決思路和方案REF_Ref41389227\r\h[3]。研究下一代的無線糧情遠(yuǎn)程監(jiān)控系統(tǒng)方案,使得人工管理高效,系統(tǒng)集成耗費低廉,系統(tǒng)運作穩(wěn)定,用新的無線技術(shù)和嵌入式技術(shù)替代落后的監(jiān)測系統(tǒng)勢在必行。1.2國內(nèi)外發(fā)展現(xiàn)狀由于本系統(tǒng)采用了WiFi和微服務(wù)技術(shù)以及相關(guān)的物聯(lián)網(wǎng)硬件技術(shù),所以在查找資料的時候重點查看了與此相關(guān)的論文和科技期刊,由此發(fā)現(xiàn)物聯(lián)網(wǎng)及環(huán)境監(jiān)測技術(shù)在國內(nèi)外的發(fā)展方面上,有著十分巨大的區(qū)別。最早糧倉中溫濕度等環(huán)境的檢測一般采用人工測量的方法,由工作人員攜帶溫度計等相關(guān)設(shè)備進行測量,但是這種測量方法往往由于人工的誤差和物理位置的不全面導(dǎo)致測量的不準(zhǔn)確和時間的不及時REF_Ref41389290\r\h[4]。隨著溫濕度傳感器、模擬轉(zhuǎn)換器、報警器等各種技術(shù)的迅速發(fā)展,人們開始將糧食研究轉(zhuǎn)化為一個智能化的監(jiān)測系統(tǒng)。最早的測試系統(tǒng)由電阻傳感器采集,由三個模塊組成:模擬轉(zhuǎn)換和報警。在測量中,靈敏度不高,智能測量系統(tǒng)的實時性不高,測量效果不是很好。20世紀(jì)末,隨著單片機科技,數(shù)字化電路和傳感器技術(shù)的進一步發(fā)展,傳感器采用半導(dǎo)體和熱電偶技術(shù),使用串行傳輸技術(shù),在一定程度上提高了測量的可靠性REF_Ref41389401\r\h[5]。國外的糧食倉庫經(jīng)營模式使其對糧食的儲備檢測要求更為迫切,智能化系統(tǒng)廣泛應(yīng)用于國外糧倉設(shè)備中,系統(tǒng)也日趨成熟。通過考察糧倉溫濕度情況和對國內(nèi)外研發(fā)狀態(tài)的比較,在糧倉外部進行實時監(jiān)測是非常有必要的REF_Ref41389420\r\h[6]。首先,為了保證糧倉內(nèi)部空氣的全封閉性,人員不可能隨時出入;其次,糧倉要定期蒸熏高腐蝕性的藥物來達(dá)到防蟲的目的,另外人員頻繁的進出糧倉也會影響身體的健康。因此,若將測量、顯示及報警等設(shè)備均安置在糧倉外部是非常便利的REF_Ref41389429\r\h[7]。目前國內(nèi)外的監(jiān)測系統(tǒng)中采集端與計算機都通過串口實現(xiàn)通信REF_Ref41389563\r\h[8],雖然在一定程度上能夠?qū)崿F(xiàn)集中控制,但是由于有線設(shè)備布線的損耗和傳輸速度的緩慢,導(dǎo)致在大型糧倉中不能保證采集的準(zhǔn)確性和可靠性REF_Ref41389576\r\h[9]。因此,需要將糧倉內(nèi)部的信息通過無線網(wǎng)絡(luò)傳達(dá)到身邊。隨著單片機技術(shù)、無線傳輸技術(shù)和傳感技術(shù)等電子技術(shù)的快速發(fā)展,如何基于無線傳輸網(wǎng)絡(luò)技術(shù),研究出一套高效可靠的智能化糧倉測量監(jiān)控系統(tǒng)是本論文研究的主要內(nèi)容REF_Ref41389548\r\h[10]。1.3設(shè)計目標(biāo)本系統(tǒng)擬采用溫濕度傳感器DHT11、可燃?xì)怏w傳感器MQ-9、ZigBee模塊CC2530、光照強度數(shù)字檢測模塊GY-30,軟件系統(tǒng)、控制系統(tǒng)、預(yù)警系統(tǒng)、加密系統(tǒng)等組成。硬件系統(tǒng)主要為,根據(jù)ZigBee無線傳感器網(wǎng)絡(luò)構(gòu)成的特點,結(jié)合糧倉環(huán)境需要監(jiān)測的數(shù)據(jù),研究設(shè)計硬件電路原理圖STM32主控系統(tǒng)集成了溫濕度傳感器DHT11、可燃?xì)怏w傳感器MQ-9和光照強度數(shù)字檢測模塊GY-30負(fù)責(zé)環(huán)境數(shù)據(jù)的監(jiān)測以及ZigBee模塊CC2530。軟件系統(tǒng)可以對數(shù)據(jù)進行收集和存儲,也能為用戶查看數(shù)據(jù)提供方便,用戶也可以在軟件系統(tǒng)的數(shù)據(jù),并且對數(shù)據(jù)進行統(tǒng)計數(shù)據(jù)、分析數(shù)據(jù);控制系統(tǒng)作為控制端而存在,能夠在得到軟件服務(wù)端系統(tǒng)發(fā)出的命令之后對糧倉內(nèi)的進行溫濕度的調(diào)節(jié)與控制;移動通信設(shè)備AndroidApp是可以使相關(guān)人員在異地可以輕松通過移動通信設(shè)備,例如手機等觀察、控制數(shù)據(jù)和管理糧食存儲環(huán)境。本設(shè)計是運用物聯(lián)網(wǎng)技術(shù),設(shè)計一款糧食存儲條件監(jiān)控系統(tǒng),本套系統(tǒng)可以對采集的數(shù)據(jù)進行收集整理的全自動,不僅可以減少不必要的人力,而且檢測到的數(shù)值誤差也相對較小,將物聯(lián)網(wǎng)的思想引入到糧食存儲的環(huán)境控制之中,其實現(xiàn)功能指標(biāo)如下:(1)溫度范圍:15~22℃

精度:0.1℃(以干藏庫為例,38℃緊急預(yù)警);(2)濕度范圍:50~60%RH

精度:20%RH(以干藏庫為例);(3)可燃?xì)怏w濃度范圍:100~10000ppm

;(4)光照強度范圍:0~500lx誤差:±2%lx;(5)無線傳輸模塊:傳輸距離10~15米;(6)加密算法:數(shù)字簽名(公鑰加密);(7)運用ZigBee和WiFi模塊數(shù)據(jù)交互;(8)通過微服務(wù)技術(shù)實現(xiàn)對采集數(shù)據(jù)進行處理。第2章系統(tǒng)總體設(shè)計系統(tǒng)總體設(shè)計由三部分組成。第一部分是由STM32的ARM內(nèi)核,以CC2530無線射頻芯片為核心,采用星型網(wǎng)絡(luò)結(jié)構(gòu),由一個協(xié)調(diào)器和一個終端節(jié)點組成。節(jié)點采用模塊化設(shè)計思想,主要包括電源模塊、無線射頻模塊、數(shù)據(jù)采集模塊和處理器模塊。終端節(jié)點主要功能是采集數(shù)據(jù),通過將溫濕度傳感器測量采集到的溫濕度數(shù)據(jù),對數(shù)據(jù)信息進行處理REF_Ref41390819\r\h[11]。第二部分是通信部分,通過CC2530無線射頻芯片發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器主要的功能是組建網(wǎng)絡(luò)和加入節(jié)點,采用WiFi技術(shù)使PC端與底層硬件通信交互REF_Ref41390844\r\h[12]。第三部分是以上位機WEB端和AndroidAPP形式實現(xiàn)的軟件部分。本系統(tǒng)主要采用MySQL數(shù)據(jù)庫,與其它大型數(shù)據(jù)庫的設(shè)置和管理相比,其復(fù)雜程度較低,易于使用。可移植性強REF_Ref41390884\r\hREF_Ref41390884\r\h[13]。MySQL能夠運行與多種系統(tǒng)平臺上,如Windows、Linux。2.1系統(tǒng)總體結(jié)構(gòu)糧庫存儲條件監(jiān)控系統(tǒng)的由三部分組成,包括三種傳感器、無線節(jié)點、WiFi網(wǎng)關(guān)、服務(wù)器以及多客戶端。系統(tǒng)架構(gòu)拓?fù)浞抡鎴D和系統(tǒng)框架結(jié)構(gòu)圖,如下圖2-1所示:圖2-1系統(tǒng)框架拓?fù)浞抡鎴D數(shù)據(jù)的傳遞與系統(tǒng)的整體架構(gòu),如系統(tǒng)框架結(jié)構(gòu)圖2-2所示。圖2-2系統(tǒng)框架結(jié)構(gòu)圖糧食存儲條件監(jiān)測及預(yù)警是本設(shè)計的主要功能實現(xiàn),使用各類傳感器檢測糧食儲藏環(huán)境中的環(huán)境參數(shù)并將檢測到的信號集中傳給STM32。通過WiFi傳輸模塊,傳輸?shù)椒?wù)器端的數(shù)據(jù)庫MySQL中REF_Ref41390912\r\h[14]。WEB模塊和AndroidAPP通過統(tǒng)一的服務(wù)器端讀取數(shù)據(jù)庫MySQL中的數(shù)據(jù),在客戶端顯示移動通信界面和電子計算器頁面中,當(dāng)檢測到的數(shù)據(jù)異常時,同時提示管理糧庫的公務(wù)人員。該系統(tǒng)具備存儲功能,所以通過存量數(shù)據(jù)科技進行信息的分析,例如當(dāng)環(huán)境中溫度過高時,會通過移動通信設(shè)備進行報警,同時上述頁面提示管理人員,對于管理人員可根據(jù)當(dāng)時情況做出相應(yīng)的操作對策,確保糧庫穩(wěn)定、安全、可靠等。系統(tǒng)總體框架如圖2-3所示。圖2-3系統(tǒng)總體框架感知層由各傳感器分別檢測溫度、濕度、可燃?xì)怏w濃度、光照強度等,不同的傳感器組成,并將檢測的數(shù)據(jù)上傳至STM32單片機。傳輸層利用WiFi實現(xiàn)傳輸功能,對采集到的數(shù)據(jù)進行傳輸。STM32接收從傳感器收集的數(shù)據(jù),并由STM32通過WiFi模塊將數(shù)據(jù)傳輸?shù)椒?wù)器端數(shù)據(jù)庫。應(yīng)用層為Web端和Android端APP設(shè)計,主要是讀取數(shù)據(jù)庫中的數(shù)據(jù),并將其顯示在界面中,當(dāng)數(shù)據(jù)異常時,發(fā)出提示。主要的設(shè)計為以下三個方面:(1)硬件設(shè)計,本系統(tǒng)需要采集環(huán)境參數(shù)和傳輸數(shù)據(jù),所以根據(jù)這些功能選擇硬件。(2)傳輸設(shè)計,主要為通信協(xié)議的設(shè)計,需要在底層硬件和Java服務(wù)器之間建立通信,保證通信效率。(3)軟件設(shè)計主要包括應(yīng)用程序的界面設(shè)計,配置頁面、用戶注冊頁面、用戶登錄頁面和主頁。實時顯示檢測的各項環(huán)境參數(shù),展示歷史環(huán)境數(shù)據(jù)、設(shè)置功能以及提示功能。2.2設(shè)計方案本章主要對整個系統(tǒng)設(shè)計做出合理的設(shè)計方案,主要有數(shù)據(jù)采集模塊、處理器模塊、無限傳輸模塊、應(yīng)用層數(shù)據(jù)庫、服務(wù)器等。根據(jù)設(shè)計需要,采用不同的設(shè)計方案。利用不同的設(shè)計思想,對每個模塊做出詳細(xì)的敘述,然后對比每個模塊的功能、耗材、價格,為本次畢業(yè)設(shè)計采取最佳的元器件。2.2.1溫濕度傳感器模塊設(shè)計方案傳感器是測量和控制的第一部分,是測量系統(tǒng)的重要組成部分,如果沒有傳感器,就無法準(zhǔn)確可靠地捕獲和轉(zhuǎn)換原始測量信號,從而無法實現(xiàn)所有精確的測量和控制。工業(yè)生產(chǎn)過程自動化測控主要是通過各種傳感器對生產(chǎn)過程的各種參數(shù)進行檢測和控制,使設(shè)備和系統(tǒng)處于最佳狀態(tài),以保證生產(chǎn)的效率和質(zhì)量。1、方案一:采用SHT11單片全校準(zhǔn)溫濕度傳感器。SHT11不同的“微結(jié)構(gòu)”探測電極系統(tǒng)的保護和聚合物涂層形成傳感器芯片的容量,不僅能恢復(fù)電容性水分的原始性能,而且還能抵抗其他方面的影響。溫度傳感器與濕度傳感器的組合表現(xiàn)出一個單個的個體,能夠改進測量精度和準(zhǔn)確捕獲點,而不因溫度傳感器與濕度傳感器之間的溫度梯度變化而造成誤差。轉(zhuǎn)換器,OTP校準(zhǔn)數(shù)據(jù)存儲器,串行總線和其它電路功能部件在芯片中的CMOS技術(shù)、溫度和濕度傳感器。傳感器和放大器是集成的,不僅增加了信號強度,而且還增加了長期穩(wěn)定性,這對于傳感器系統(tǒng)非常重要。同時,模/數(shù)轉(zhuǎn)換也在一個芯片內(nèi)同時完成,這可使信號對噪聲不敏感,尤其重要的是,在傳感器芯片數(shù)據(jù)存儲器內(nèi)裝載的針對每一只傳感器的校準(zhǔn)數(shù)據(jù)保證了每一只傳感器都有相同的功能,可以實現(xiàn)100%的互換REF_Ref41391344\r\h[15]。另外,傳感器具有快速反應(yīng)、高精度和低功率消耗的優(yōu)勢。2、方案二:采用DHT90數(shù)字溫濕度傳感器。DHT90系列溫濕度傳感器采用進口濕度傳感器芯片,主軸為為標(biāo)準(zhǔn)2.54mm插針。該傳感器質(zhì)量高,速度快,抗干擾能力強,性價比高。自由液壓加工,開發(fā)時間短,開發(fā)效率提高,相對濕度、溫度、輸出精確測量,滿標(biāo)度輸出,采用無重定向,長度穩(wěn)定性好,高精度二線制數(shù)字接口,直接連接單片機,要求測量超功率,沒有其他外部因素,自動睡眠。3、方案三:采用DHT11作為測溫電路的溫濕度傳感器。DHT11數(shù)字溫濕度傳感器是一種具有校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。采用特殊的數(shù)字模塊檢測技術(shù)和溫濕度傳感器技術(shù),確保高可靠性和良好的長期穩(wěn)定性。傳感器由電阻式濕度傳感器和NTC溫度測量元件組成,并配有強大的8位單片機。這就是為什么產(chǎn)品具有質(zhì)量優(yōu)良、反應(yīng)速度快、堅固性強、成本效益高等優(yōu)點。DHT11傳感器在極其精確的濕度校準(zhǔn)室內(nèi)進行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)REF_Ref41391331\r\hREF_Ref41391331\r\h[16]。綜合以上三種方案,本系統(tǒng)選擇了第三種方案的線性輸出比較好的DHT11來作為溫度檢測。2.2.2光照強度傳感器的方案選擇1、方案一:TSL2581FN環(huán)境光線傳感器TSL2581FN對數(shù)字轉(zhuǎn)換系統(tǒng)具有高度的視覺敏感性,它可以改變光強度,并能夠根據(jù)I2C標(biāo)準(zhǔn)進行數(shù)字標(biāo)記。該器件包含一個寬帶光伏(紅外可見)和一個CMOS總循環(huán)的紅外響應(yīng),可以提供一個16位的有源移動范圍(16位分辨率)的光電二極管,它可以通過I2C接口檢測環(huán)境的光強度和曝光。2、方案二:GY-30數(shù)字光強度檢測模塊GY-30光強數(shù)字測量模塊,采用原BH1750FVI芯片,電源:3-5V,照明范圍:0-65535lx,內(nèi)置傳感器16位AD轉(zhuǎn)換器,直接數(shù)字輸出,跳過復(fù)雜運算,通過校準(zhǔn),環(huán)境光二極管不易分辨,接近視覺靈敏度感知,可用于確定高亮精度1lx,標(biāo)準(zhǔn)NXPIC通信協(xié)議,模塊包含通信電平轉(zhuǎn)換。其提供的串口特性可以與本系統(tǒng)STM32單片機IO直接連接REF_Ref41391943\r\h[17]。綜合以上方案,本系統(tǒng)選擇了第二種方案中的與系統(tǒng)高度適配的數(shù)字光強度檢測模塊GY-30模塊。2.2.3可燃?xì)怏w傳感器的方案選擇1、方案一:MQ-5傳感器MQ-5氣體傳感器對丁烷、丙烷、甲烷的靈敏性較高該傳感器對天然氣的檢測特別靈敏,是一款多功能低成本傳感器。2、方案二:MQ-9傳感器MQ-9氣體傳感器對一氧化碳、甲烷、液化氣的靈敏度較高,這種傳感器可檢測多種含一氧化碳及可燃?xì)怏w,是一款多應(yīng)用低成本的傳感器REF_Ref41393512\r\h[18]。結(jié)論:考慮到實際應(yīng)用場景,火災(zāi)主要由液化氣泄漏、燃燒爆炸引起的,所以本設(shè)計采用MQ-9氣體傳感器。2.2.4處理器主控板模塊的選擇1、方案一:STC15系列STC15系列的單片機是深圳宏晶公司生產(chǎn)的單片機,該單片機在低端單片機市場有很大的空間,具有很強的抗干擾能力,防輻射能力,價格便宜REF_Ref41392287\r\h[19]。但是該系列的單片機功耗比較高,運行速度很慢,內(nèi)部的可用資源比較少,只有一個串口。另外可用的引腳也較少,要想用SPI、IIC等功能只能通過復(fù)雜的軟件模擬來實現(xiàn),在系統(tǒng)開發(fā)過程中會耗費大量的時間。2、方案二:STM32F103X系列STM32F103X系列的單片機,是ST公司利用ARM公司Cortex-M3架構(gòu)開發(fā)的芯片REF_Ref41392300\r\h[20]。該芯片具有多達(dá)5個串口,并且片上集成了非常多的硬件SPI以及硬件IIC,使得開發(fā)者可以不必花費大量的時間在處理各種通信協(xié)議上。并且該芯片擁有多達(dá)256KBRAM完全滿足網(wǎng)絡(luò)通信對于大內(nèi)存的需求。結(jié)論:本系統(tǒng)采用STM32F103X系列的單片機,該單片機由于擁有豐富的硬件資源如SPI,IIC,ADC等非常有利于設(shè)計開發(fā)。并且該芯片的處理速度塊,抗干擾性也強,相比STC15系列的單片機要好很多。2.2.5傳輸模塊設(shè)計的方案1、方案一GPRS傳輸模塊GPS無線電設(shè)備主要用于工業(yè)應(yīng)用。它是以GSM/GPRS為核心單元,以GSM/GPRS網(wǎng)絡(luò)為通信手段,以工業(yè)通信終端為基礎(chǔ),在移動GPS平臺上運行的無線調(diào)制解調(diào)器和GPRS數(shù)據(jù)。如果該模塊包含運營商的電話卡,則將創(chuàng)建移動互聯(lián)網(wǎng)以滿足電信設(shè)計的需要。該模塊采用標(biāo)準(zhǔn)工業(yè)規(guī)范,提供標(biāo)準(zhǔn)RS232接口,直接與用戶設(shè)備相連,具有中英文文本信息、彩色信息功能、網(wǎng)絡(luò)通訊功能。2、方案二ESP8266WiFi模塊無線熱點是一個創(chuàng)建于IEEE802.11標(biāo)準(zhǔn)的無線局域網(wǎng)技術(shù),由于其價格便宜傳輸速率高,丟幀率底,而且還能有3種工作模式,并且能夠組網(wǎng)。3、方案三CC2530模塊隨著集成電路技術(shù)的發(fā)展,很多公司都提供有符合IEEE802.15.4的IC解決方案,再加上一個通用的MCU就能完成這兩部分的設(shè)計?,F(xiàn)在很多公司把MCU和射頻收發(fā)芯片集成在一塊SOC(SystemOnChip)之上,該方案和單獨的MCU加射頻收發(fā)模塊的方案原理相同。因為,單個SOC的方案已經(jīng)相當(dāng)成熟,而且比較來說其體積更小,同時,TI公司的協(xié)議棧是部分開源并且完全免費的,使用該方案的成本更低REF_Ref41392287\r\h[21],實現(xiàn)定制更多自我的功能。最后的選擇是SOC。下表3-1為市面上較為常用的三種ZigBee硬件平臺的對比表。表2-1ZigBee芯片的對比(Freescale)MC13202(MicroChip)MRF24J40(TI)CC2530硬件協(xié)議802.15.4802.15.4802.15.4工作電壓(V)2~3.42.4~3.61.8~3.8發(fā)射功率-2.7dBm~+3dBm可編程-3.0~0dBm可編程-3~+5dBm可編程相鄰信道抑制比(dB)313049接收靈敏度(dBm)最大-95最大-95最大-98功耗休眠最小1uA空閑800uA發(fā)送35mA接收42mA休眠2uA接收19mA發(fā)送23mA休眠<1uA接收18.5mA發(fā)送25.8mA&33.6mA是否有MCU+RF集成SOC是是是ZigBee協(xié)議棧不開源不開源不開源安全AES-128AES-128AES-128從上表3-1可以看出三款2.4GHzZigBee/IEEE802.15.4射頻收發(fā)器都具有低功耗的特性,而且都提供片上“系統(tǒng)+協(xié)議?!钡慕鉀Q方案,使得對其開發(fā)變的相對容易;從安全的角度來看,這三種晶體芯片都具有AES-128加密的標(biāo)準(zhǔn)功能。然而,橫向比較表明,其他晶體的性能與相鄰的CC2530信道相比,CC2530區(qū)域的發(fā)射信道更小,接收靈敏度更高,因此CC2530的特性更為重要。結(jié)論:考慮到糧庫環(huán)境比較穩(wěn)定,以及結(jié)合價格等因素綜合考慮本設(shè)計采用方案二WiFi模塊和方案三中的CC2530模塊作為傳輸數(shù)據(jù)方式。2.2.6數(shù)據(jù)庫的設(shè)計方案1、方案一:SQLite數(shù)據(jù)庫SQLite數(shù)據(jù)庫是一個自己的手機數(shù)據(jù)庫,速度非???,不需要連接到多個開發(fā)環(huán)境。它是一個獨立的數(shù)據(jù)庫,沒有服務(wù)器,沒有SQL數(shù)據(jù)庫的配置和維護。另外,這個數(shù)據(jù)庫是免費開放的,節(jié)省了成本,如果數(shù)據(jù)量不夠高,就用SQLite來處理數(shù)據(jù)。2、方案二:MySQL關(guān)系型數(shù)據(jù)庫與Redis非關(guān)系型數(shù)據(jù)庫MySQL使用的SQL語言是訪問數(shù)據(jù)庫最常用的標(biāo)準(zhǔn)語言。MySQL數(shù)據(jù)庫規(guī)模小、增長快、價格便宜、開放性一般,它有著廣泛的應(yīng)用,另外MySQL是整個網(wǎng)站的數(shù)據(jù)庫。憑借其社區(qū)版以及Java和Apache服務(wù)器的優(yōu)異性能,可以使其成為一個良好的開發(fā)環(huán)境API和其他語言。低使用多流和進程資源已滿。優(yōu)化的SQL請求算法,有效提高了問題的質(zhì)量和速度??梢允强蛻艟W(wǎng)絡(luò)環(huán)境中使用的獨立應(yīng)用程序,也可以是嵌入在其他軟件中的庫。多語言支持允許表和數(shù)據(jù)列表的共同編碼,如中文GB2312和UTF-8。安全訪問不同的數(shù)據(jù)庫,如TCP/IP、ODBC和JDBC。提供用于管理、檢查和優(yōu)化數(shù)據(jù)庫業(yè)務(wù)的管理工具。它可以是一個處理數(shù)億條目的大型數(shù)據(jù)庫,底部使用多個B+tree存儲系統(tǒng)。redis存儲數(shù)據(jù)庫速度快,支持?jǐn)?shù)據(jù)的一致性,重啟時可以存儲在磁盤上。Redis不僅支持鍵值數(shù)據(jù),還提供了列表、語句、散列等安全數(shù)據(jù)結(jié)構(gòu)。支持?jǐn)?shù)據(jù)備份,這是一個很好的例子。支持服務(wù)性能很高。Redis能讀的速度是十萬多次/s,寫的速度是八萬多次/s。所有回收的操作都是內(nèi)核的。redis支持多個操作后,它們被合并可以保證原子性。事務(wù)等豐富的特性,Redis還支持publish/subscribe,通知key過期等等特性REF_Ref41392287\r\h[22]。由于糧庫體積巨大,面積巨大,結(jié)合系統(tǒng)中ZigBee的模塊的設(shè)計,對海量數(shù)據(jù)量的分析與展示,故選擇傳輸性能與速度、穩(wěn)定性能更好的MySQL數(shù)據(jù)庫與Redis非關(guān)系型數(shù)據(jù)庫,選擇方案二。2.2.7服務(wù)器端的設(shè)計方案由于糧庫體積巨大,面積巨大,結(jié)合系統(tǒng)中ZigBee的模塊的設(shè)計,對海量數(shù)據(jù)量的分析與展示,故選擇傳輸性能與速度、穩(wěn)定性能更好的MySQL數(shù)據(jù)庫與Redis非關(guān)系型數(shù)據(jù)庫,選擇方案二。1、方案一:JavaServlet服務(wù)連接器JavaServlet服務(wù)連接器中JSP、Servlet、JavaBean的開發(fā)模式,需要編寫大量重復(fù)的代碼,如固定的doGet()方法等。然而,眾所周知,它的控制跳轉(zhuǎn)并不靈活,通常需要兩個java文件來處理一個問題。而且,采用MVC模式進行開發(fā)時,還存在很大程度的耦合,這對于以后的維護是沒有幫助。它的好處是,適合于初學(xué)者,對于理解其中的交互過程很適合,便于以后對企業(yè)級框架的理解。2、方案二:SpringBoot微服務(wù)分布式應(yīng)用服務(wù)器Spring4.0內(nèi)嵌SpringBoot,SpringBoot由此而生的,因此它繼承了一個優(yōu)秀的基因,在SpringBoot中,只需要在工程中pom文件中添加Starter-Web依賴即可。因此服務(wù)器三層相互解耦。多工具等封裝類,大大提高了開發(fā)效率。只需要將項目中的main()方法運行,即使用一鍵式啟動項目。SpringBoot服務(wù)是未來的發(fā)展趨勢。項目將逐步從傳統(tǒng)的向不同的小微服務(wù)結(jié)構(gòu)轉(zhuǎn)變,而且,支持各種RESTAPI的實現(xiàn)方式。SpringBoot也是官方大力推薦的技術(shù),可以看出,SpringBoot是未來發(fā)展的一個大趨勢REF_Ref41392287\r\h[23]。故選擇方案二,為本次設(shè)計的應(yīng)用層服務(wù)連接器。2.3系統(tǒng)開發(fā)環(huán)境系統(tǒng)硬件主要使用C語言開發(fā)底層,軟件開發(fā)基于Java的服務(wù)微服務(wù)SpringBoot框架,WiFi傳輸技術(shù)連接相關(guān)的軟硬件。2.3.1系統(tǒng)軟件開發(fā)環(huán)境本系統(tǒng)軟件采用的是Spring平臺,開發(fā)環(huán)境是IntelliJIDEA2018.2.6x64集成開發(fā)環(huán)境。IntelliJIDEA把很多工具集成在一個里面,JavaWeb是Spring軟件開發(fā)工具包,可以在IntelliJIDEA中下載安裝。Android開源的代碼可以開發(fā)原生的應(yīng)用,同時Android還可以給使用者提供自帶的功能,例如通話、瀏覽器、短信等等。為部署SpringBoot項目,需要的工具有:IntelliJIDEA工具包,JDK安裝包;如果需要部署的項目需連接數(shù)據(jù)庫的話還需要:MySQL安裝包,NavicatPremium。因為IDEA不用額外配置云端jar包Maven依賴,方便使用。2.3.2系統(tǒng)硬件開發(fā)環(huán)境硬件的STM32單片機所需要的編程語言是C語言,利用C語言編寫單片機程序,不用考慮程序的初始化地址,不用考慮ACC,PSW以及工作寄存器的保護,不用考慮溢出進位CY。本設(shè)計中所涉及的主要為I/O控制、時間函數(shù)、數(shù)學(xué)函數(shù)等。第3章系統(tǒng)詳細(xì)設(shè)計本章重點對系統(tǒng)的各個部分進行了詳細(xì)的設(shè)計。主要完成了硬件電路的連接設(shè)計,重點講解硬件功能和原理;軟件部分詳細(xì)說明了UI設(shè)計、算法流程和應(yīng)用接口。3.1系統(tǒng)感知層的詳細(xì)設(shè)計3.1.1MUC核心板模塊設(shè)計本設(shè)計圍繞STM32單片機建立最小系統(tǒng)。實物如圖3-1所示,電路原理圖如圖3-1所示,。1、晶振電路晶振電路主要用于控制程序的運行節(jié)奏,MUC晶振電路,如圖3-3所示。圖3-1STM32實物圖圖3-2STM32電路圖圖3-3晶振電路圖2、復(fù)位電路設(shè)計復(fù)位電路利用了電容電壓不會突然變化的特性。通電后,電容電壓為零,芯片復(fù)位。電源從C1到R10充電,芯片開始正常工作,直到電容電壓上升到高電平。復(fù)位電路如圖3-4所示。圖3-4復(fù)位電路圖3.1.2溫濕度信號采集模塊設(shè)計1、DHT11特點每個DHT11傳感器都在一個非常精確的溫濕度校準(zhǔn)室內(nèi)進行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式存儲在OTP存儲器中,在傳感器內(nèi)部的檢測信號處理過程中調(diào)用這些校準(zhǔn)系數(shù)。單線串行接口,使系統(tǒng)集成方便快捷。DHT11數(shù)字溫濕度傳感器為4針單排針封裝。但是只有三個連接,VCC(電源)、GND(接地)和data(數(shù)據(jù))。在通信過程中,主機通過數(shù)據(jù)線向DHT11發(fā)送啟動信號,DHT11接收到信號后返回響應(yīng)信號。2、DHT11的接口設(shè)計DHT11的接口設(shè)計,為溫濕度采集模塊的核心設(shè)計,引腳的連接是首要注意事項,故引腳原理圖,如下圖3-5所示。圖3-5DHT11原理圖圖3-5中,很明顯看出DHT11僅僅有三個引腳可以用,DHT11其實是有四個引腳的,由于3腳懸空,封裝的時候就將3腳去掉了。右腳接VCC,中間腳接數(shù)據(jù),左腳接地。3.1.3可燃?xì)怏w信號采集模塊設(shè)計1、可燃?xì)怏w信號模塊硬件設(shè)計適用于家庭或工廠的氣體泄漏監(jiān)測裝置,適宜于液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧等監(jiān)測裝置??扇?xì)怏w信號模塊電路圖,如圖3-6所示。 圖3-6MQ-9傳感器電路圖 MQ-9模塊引腳接線說明表3-1,所示。表3-1MQ-9模塊引腳接線說明表濁度傳感器引腳Stm32主板連接引腳說明VCCVCC5V供電GNDGND接地線DOUTPA5采集數(shù)據(jù)2、可燃?xì)怏w信號模塊軟件設(shè)計MQ-9可燃?xì)怏w傳感器軟件工作流程圖,如圖3-7所示。圖3-7MQ-9可燃?xì)怏w傳感器軟件工作流程圖3.1.4光照強度信號采集模塊設(shè)計1、GY-30的特點及電路設(shè)計I2C總線接口(f/s模式支持),光譜的范圍是人眼相近,照度數(shù)字轉(zhuǎn)換器,寬范圍和高分解(1-65535勒克斯),低電流關(guān)斷功能,50Hz/60Hz光噪聲抑制功能,1.8V邏輯輸入接口,無任何外部部件,光源依賴性?。ㄈ绨谉霟?、熒光燈、LED),可選擇2類IC從站地址,可調(diào)光窗測量結(jié)果(可檢測分鐘)。使用此功能0.11勒克斯,最大100000勒克斯),變化?。?/-20%),紅外線影響小。GY-30接線原理圖,如3-8所示。圖3-8GY-30接線原理圖3.2系統(tǒng)傳輸層的詳細(xì)設(shè)計系統(tǒng)傳輸層由終端節(jié)電裝置與CC2530芯片網(wǎng)關(guān)節(jié)點裝置之間的通信、網(wǎng)關(guān)ESP8266串口WiFi模塊與服務(wù)器之間的通信組成。糧庫環(huán)境數(shù)據(jù)遠(yuǎn)程采集設(shè)備通過TCP/IP協(xié)議通信將采集到的監(jiān)控數(shù)據(jù)上傳到應(yīng)用服務(wù)器,實現(xiàn)監(jiān)控數(shù)據(jù)的遠(yuǎn)程傳輸和監(jiān)控管理功能。3.2.1通信結(jié)構(gòu)設(shè)計1、終端的節(jié)電設(shè)備與CC2530芯片的網(wǎng)關(guān)節(jié)點的設(shè)計CC2530是一個40引腳的芯片,芯片引腳如圖3-9所示。圖3-9CC2530RF射頻板圖CC2530是集成了8051內(nèi)核的MCU和2.4G的無線射頻模塊,該芯片具有21個IO引腳,P0、P1、P2;一般來說P2口的P2.2和P2.1加上芯片上的VDD、GND、RESET_N五個引腳作為下載調(diào)試接口用。Zigebe節(jié)點與STM32通訊設(shè)計,如圖3-10,所示。圖3-10Zigebe節(jié)點與STM32通訊設(shè)計圖Zigbee節(jié)點在感知節(jié)點上的電氣連接如表3-2。表3-2Zigbee節(jié)點在感知節(jié)點上的電氣接口說明接口名稱功能UARTTX串口發(fā)送UARTRX串口接收GND接地VCC電源正端P0口集成有AD輸入功能。該芯片有兩個外接晶振,一個32.726KHz;一個32MHz,32MHz的晶振主要是2.4G無線收發(fā)模塊使用。2、網(wǎng)關(guān)節(jié)點ESP8266串口WiFi模塊與服務(wù)器之間通信的設(shè)計本系統(tǒng)的數(shù)據(jù)傳輸主要采用WiFi傳輸,電路圖如圖3-17所示。ESP8266串口WiFi模塊的接口1和8分別連接STM32的PB11/USART_RX和PB10/USART_TX接口,接口2接地,接口3、4、6、7接模擬電源。數(shù)據(jù)傳輸軟件流程圖如圖3-10所示。圖3-11數(shù)據(jù)傳輸軟件流程圖WiFi模塊電路圖,如圖3-12所示。圖3-12WiFi模塊電路圖3.2.2通信協(xié)議1、終端的節(jié)電設(shè)備與CC2530芯片網(wǎng)關(guān)節(jié)點的通信協(xié)議Z-stack協(xié)議棧是一種基于輪詢的嵌入式多任務(wù)操作系統(tǒng)。在該操作系統(tǒng)中,實現(xiàn)了ZigBee協(xié)議的基本硬件配置和操作、MAC訪問和信息路由。其中,ZigBee的大部分原語并以API的形式提供給用戶,提供了相對靈活而簡單的開發(fā)機制,協(xié)議棧的工作流程如圖3-13所示。圖3-13Z-Stack工作流程上圖3-12為Z-Stack工作流程。進入系統(tǒng)前,協(xié)議棧啟動后需要進行各種初始化工作,如圖左側(cè)所示。初始化后,協(xié)議棧進入事件輪詢和事件處理過程。圖的中間部分是輪詢機制的簡單表示。在Z-stack中,所有要處理的任務(wù)都稱為任務(wù)。每個任務(wù)由兩個數(shù)組決定:tasksEvents和tasksarr。前者稱為事件數(shù)組,后者稱為事件處理程序數(shù)組。事件數(shù)組元素為無符號的短整型,而事件處理函數(shù)的元素為函數(shù)指針REF_Ref41393249\r\hREF_Ref41393249\r\h[24]。Z-stack的每個級別對應(yīng)一系列事件中的單個元素,因此理論上,每個級別的最大任務(wù)數(shù)可以是65536個事件;存儲在任務(wù)組中的系統(tǒng)請求一組事件發(fā)生后,指定一個事件處理函數(shù),該函數(shù)應(yīng)與數(shù)組的每個元素、對應(yīng)的函數(shù)一致打電話給taskar。Z-stack的開發(fā)是一個定義的事件和事件處理函數(shù),當(dāng)需要操作系統(tǒng)調(diào)用給定的處理函數(shù)時,一旦在正確的時間安裝了一組事件,就會執(zhí)行該函數(shù)。ZigBee通信協(xié)議幀結(jié)構(gòu)如表3-3。表3-3信標(biāo)幀結(jié)構(gòu)表屬性格式幀控制2字節(jié)序列碼1字節(jié)尋址信息4-10字節(jié)數(shù)據(jù)載荷N字節(jié)FCS2字節(jié)2、網(wǎng)關(guān)節(jié)點ESP8266串口WiFi模塊與服務(wù)器之間通信協(xié)議連接到本地服務(wù)器的主面板通過WiFi模塊。目前,無線技術(shù)在市場上得到了廣泛的應(yīng)用,如GSM、GPRS、3G、4G等,系統(tǒng)支持串行RS232端口,方便了STM32主控晶體的串行連接,并提供了直通功能,大大提高了無需多次連接的實時數(shù)據(jù)傳輸能力。ESP8266模塊有一個內(nèi)置的AT元素,這使得開發(fā)人員可以很容易地使用at指令來調(diào)整他們的工作模式。包括靜態(tài)模式、AP模式、AP+站模式,支持網(wǎng)絡(luò)的功能透明?;诰W(wǎng)絡(luò)級IP協(xié)議的TCP傳輸協(xié)議。盡管這些包的實現(xiàn)細(xì)節(jié)無關(guān)緊要,但只需要使用系統(tǒng)提供的相應(yīng)接口,如網(wǎng)絡(luò)編程中的Socket。此外,在ESP8266模塊中實現(xiàn)了TCP/IP協(xié)議,方便了用戶使用AT命令啟動TCP連接到工作結(jié)束。AT指令表,如表3-4所示。表3-4AT指令表指令描述AT+CIPSTATUS查詢網(wǎng)絡(luò)連接信息AT+CIPMUX設(shè)置多連接模式AT+CIPSTART建立TCP連接UDP傳輸或者SSL連接AT+CIPCLOSE關(guān)閉TCP/UDP/SSL傳輸AT+CIPMODE設(shè)置透傳模式AT+CIPSEND發(fā)送數(shù)據(jù)在連接到TCP服務(wù)器和打開數(shù)據(jù)傳輸模式后,數(shù)據(jù)將通過TCP連接傳送到串行端口,這將使數(shù)據(jù)從計算機到程序通過網(wǎng)絡(luò)通過一個串行過程傳輸完成,以確保連接平穩(wěn)。協(xié)議傳輸數(shù)據(jù)幀格式如下:{"flag":"01","granaryId":"0001","eqId":"000001","status":"1","time":"2019-7-2815:30:56","temperatureData":"m0","humidityData":"m1","concentrationData":"m2","illuminationData":"m3"}各鍵值對的具體含義,如表3-5所示:表3-5協(xié)議傳輸數(shù)據(jù)幀各鍵值對具體含義表鍵值說明flag自定義值,如:01采集數(shù)據(jù)上傳標(biāo)識granaryId自定義值,如:0001糧庫編號eqId自定義值,如:000001設(shè)備編號status1或0設(shè)備狀態(tài)time如:2020-01-0100:00:00當(dāng)前時間temperatureDatam0溫度humidityDatam1濕度concentrationDatam2可燃?xì)怏w濃度illuminationDatam3光照強度3.3系統(tǒng)應(yīng)該用層的詳細(xì)設(shè)計本章主要講的是應(yīng)用層軟件部分。系統(tǒng)中首先要將底層采集到的數(shù)據(jù)信息通過Socket協(xié)議發(fā)送到服務(wù)器端,服務(wù)器端在接收到數(shù)據(jù)之后會將數(shù)據(jù)存到MySQL數(shù)據(jù)庫中,當(dāng)客戶端通過HTTP協(xié)議向服務(wù)器端發(fā)送監(jiān)測請求時服務(wù)器端再把從數(shù)據(jù)庫中取出來的數(shù)據(jù)轉(zhuǎn)成Json數(shù)組格式反饋給客戶端用以顯示。不過,在顯示之前要先將取到的數(shù)據(jù)進行判斷,如果沒問題,就直接顯示,如果有問題的話那么就在實時數(shù)據(jù)界面會顯示“某某數(shù)據(jù)異常”,主界面顯示的是當(dāng)前設(shè)備、產(chǎn)品與數(shù)據(jù)等匯總信息,點擊進去后界面顯示歷史數(shù)據(jù)。本系統(tǒng)系統(tǒng)總體框架,如圖3-14所示。圖3-14系統(tǒng)總體框架3.3.1數(shù)據(jù)庫設(shè)計1、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計本系統(tǒng)中數(shù)據(jù)庫的實體構(gòu)成如下:用戶:用戶id、用戶名、用戶賬號、密碼、郵箱、創(chuàng)建時間;產(chǎn)品:產(chǎn)品id、產(chǎn)品名、產(chǎn)品類別、產(chǎn)品簡介、創(chuàng)建時間、用戶id;控制設(shè)備:設(shè)備id、設(shè)備名、設(shè)備編號、設(shè)備描述、設(shè)備狀態(tài)、創(chuàng)建時間、產(chǎn)品id;數(shù)據(jù)流模板:模板id、模板名、單位名稱、單位符號、創(chuàng)建時間、設(shè)備id;數(shù)據(jù)流實例數(shù)據(jù):數(shù)據(jù)id、數(shù)據(jù)參數(shù)、創(chuàng)建時間、模板id。系統(tǒng)流程為:首先,其中一個工作人員是可以負(fù)責(zé)監(jiān)控多個糧食倉庫,糧食倉庫里面的很多個產(chǎn)品都可以是由一個工作人員來監(jiān)控的,也就是他們之間是一對多、多對一的關(guān)系;糧食倉庫里面的產(chǎn)品使用的傳感器是一對多的關(guān)系,傳感器所監(jiān)測到的數(shù)據(jù)之間的關(guān)系是一對多的關(guān)系;再有糧食倉庫內(nèi)的工作人員和控制設(shè)備之間的關(guān)系是一對多、多對一的關(guān)系,因為當(dāng)發(fā)生異常的時候糧食倉庫里面的一個工作人員是可以控制很多個控制設(shè)備的。系統(tǒng)全局E-R圖如圖3-15所示。圖3-15系統(tǒng)全局E-R圖2、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計本系統(tǒng)中采用了MySQL數(shù)據(jù)庫來進行設(shè)計。服務(wù)端通過調(diào)用數(shù)據(jù)庫中的信息與前端交互,驗證用戶的信息,以及實時數(shù)據(jù),歷史數(shù)據(jù)的展示,和繼電器控制等功能,在本系統(tǒng)中的數(shù)據(jù)庫中重要的表有五張。這五張表分別為用戶信息表user、產(chǎn)品信息表product、設(shè)備信息表equipment、數(shù)據(jù)模板單位表model、數(shù)據(jù)采集表entity。(1)用戶信息表在用戶的信息表中主要存儲用戶注冊時添加的用戶名、密碼、郵箱、創(chuàng)建時間,用戶信息表如表3-6所示。表3-6用戶信息表user列名數(shù)據(jù)類型約束說明idint(20)NotNULL,Primary用戶idnamevarchar(255)NotNULL用戶名phonevarchar(255)NotNULL用戶手機passwordvarchar(255)NotNULL用戶密碼emailvarchar(255)用戶郵箱createtimetimestampNotNULL創(chuàng)建時間(2)產(chǎn)品信息表在產(chǎn)品信息表中主要存儲產(chǎn)品的狀態(tài)信息,產(chǎn)品信息表如表3-7所示。表3-7產(chǎn)品信息表product列名數(shù)據(jù)類型約束說明idintNotNULL,Primary產(chǎn)品IDnamevarchar(255)NotNULL產(chǎn)品名industryvarchar(255)產(chǎn)品行業(yè)categoryvarchar(255)產(chǎn)品類別introductionvarchar(255)產(chǎn)品簡介createtimetimestampNotNULL創(chuàng)建時間uidintNotNULL用戶id(3)設(shè)備信息表在房間內(nèi)的信息表中主要存儲了設(shè)備名、產(chǎn)品的ID、設(shè)備的控制狀態(tài)信息,設(shè)備信息表如表3-8所示。表3-8設(shè)備信息表room_info列名數(shù)據(jù)類型約束說明idInt(20)NotNULL,Primary設(shè)備idnamevarchar(255)NotNULL設(shè)備名codevarchar(255)NotNULL設(shè)備編號describevarchar(255)設(shè)備描述stateInt(1)NotNULL設(shè)備狀態(tài)createtimetimestampNotNULL創(chuàng)建時間pidInt(20)NotNULL產(chǎn)品id(4)數(shù)據(jù)流模板信息表在房間內(nèi)的信息表中主要存儲了監(jiān)測值的單位名稱、單位符號、設(shè)備的id,數(shù)據(jù)流模板信息表如表3-9所示。表3-9數(shù)據(jù)流模板信息表data_stream_model列名數(shù)據(jù)類型約束說明idIntNotNULL,Primary數(shù)據(jù)流模板idnamevarchar(255)NotNULL數(shù)據(jù)流模板idunitnamevarchar(255)NotNULL單位名稱unitsymbolvarchar(255)NotNULL單位符號createtimetimestampNotNULL創(chuàng)建時間eidint(20)NotNULL設(shè)備id(5)房間內(nèi)信息表在房間內(nèi)的信息表中主要存儲了監(jiān)測的房間的ID值、用戶的ID、控制設(shè)備的ID信息,房間內(nèi)的信息表如表3-10所示。表3-10數(shù)據(jù)流信息表room_info列名數(shù)據(jù)類型約束說明idInt(20)NotNULL,Primary數(shù)據(jù)idparameterdouble(255,5)數(shù)據(jù)參數(shù)createtimetimestampNotNULL創(chuàng)建時間didint(20)NotNULL模板id3.3.2功能模塊設(shè)計1、用戶登錄模塊(1)UI設(shè)計在該登錄模塊中使用了簡單的線性布局LinearLayout,整體是垂直分布的,而每一行又是TableLayout布局,這其中包含的控件有TextView、EditText、Button,在Text框中有“用戶賬號”、“密碼”等友好的中文提示。糧庫以及企業(yè)糧倉管理人員信息至關(guān)重要,所以系統(tǒng)采用MD5加密的方式對管理員的敏感信息進行加密。同理用戶注冊的UI也是這樣實現(xiàn)的,如圖3-16所示為登錄界面圖。圖3-16登錄移動端界面圖(2)算法流程

MD5是一個安全的散列算法,輸入兩個不同的明文不會得到相同的輸出值,根據(jù)輸出值,不能得到原始的明文,即其過程不可逆。所以能保證落庫的管理員信息是完全的保密的REF_Ref41393273\r\h[25]。當(dāng)用戶打開AndroidAPP和Web瀏覽器時,進入系統(tǒng)無信息的首頁,首頁左上方有登錄和注冊的超鏈接接口,當(dāng)點擊查看設(shè)備信息或數(shù)據(jù)信息時,系統(tǒng)會自動提示“請先登錄”的友好中文提示,如果沒有賬號則回退頁面到系統(tǒng)首頁,點擊注冊的超鏈接接口,當(dāng)用戶注冊完成時會自動跳轉(zhuǎn)到登錄界面。用戶輸入錯誤的用戶賬號和密碼時,數(shù)據(jù)庫校驗失敗,提示“登錄失敗”,當(dāng)用戶輸入正確無誤的用戶賬號和密碼時,數(shù)據(jù)庫校驗成功登錄成功系統(tǒng)返回系統(tǒng)首頁。圖3-17用戶登錄流程如圖所示。圖3-17用戶登錄界面軟件流程圖(3)應(yīng)用接口表3-11用戶登錄接口名稱/login_user說明本接口驗證用戶名和密碼是否存在輸入username:登錄用戶名password:登錄密碼輸出0:登錄失敗1:登錄成功2、用戶注冊模塊(1)UI設(shè)計用戶注冊的UI設(shè)計與登錄UI類似,是在res文件夾下的資源文件中實現(xiàn),需要在Layout布局在.jsp文件中,對注冊界面設(shè)計。同時,在TEXT中會對用戶有非常友好的“設(shè)置用戶名”、“設(shè)置賬號”、“設(shè)置密碼”提示標(biāo)語。如圖3-18,用戶注冊移動端頁面UI圖,所示。圖3-18注冊移動端界面圖(2)算法流程該接口的入口在系統(tǒng)首頁,用戶可以在注冊接口打開AndroidAPP和Web瀏覽器的注冊界面。注冊流程會提示用戶設(shè)置用戶名、賬號、密碼等信息,當(dāng)點擊注冊信息時,系統(tǒng)會率先對用戶賬號等敏感信息進行加密,自頂向下傳遞數(shù)據(jù),在數(shù)據(jù)庫MySQL中對用戶賬號的字符進行檢查,前面提到,為了加開查詢效率,用戶賬號添加了唯一索引index,如果用戶賬號重復(fù),系統(tǒng)會給用戶提示“該賬號已被注冊”的友好中文信息。用戶輸入設(shè)置的用戶名、用戶賬號和密碼時,數(shù)據(jù)庫添加失敗,系統(tǒng)返回注冊頁面,提示“注冊失敗”,當(dāng)用戶輸入正確無誤的用戶賬號和密碼時,數(shù)據(jù)庫添加成功后,系統(tǒng)直接返回登錄頁面,使用設(shè)置的賬號和密碼登錄成功后,返回系統(tǒng)首頁。圖3-18用戶注冊流程如圖所示。圖3-18用戶注冊界面軟件流程圖(3)應(yīng)用接口表3-12用戶注冊接口名稱/register_user說明本接口驗證用戶名是否存在,并添加注冊新的用戶輸入username:登錄用戶名phone:用戶賬號password:登錄密碼輸出msg:改手機號已被注冊0:登錄失敗1:登錄成功3、修改用戶信息模塊(1)UI設(shè)計用戶個人信息的UI設(shè)計在系統(tǒng)主頁,是在用戶名出設(shè)置下拉框,下拉框首位為,個人信息接口頁面的入口。該設(shè)計符合大眾審美,并且主流APP向類似,使管理員有良好的用戶體驗。如個人信息移動端入口界面圖3-19,所示。圖3-19個人信息移動端入口界面圖用戶個人信息的UI設(shè)計集合在系統(tǒng)主頁內(nèi)部,上邊欄為首頁展示的個人信息內(nèi)容,下邊提示用戶現(xiàn)在在系統(tǒng)中的位置。修改用戶信息模塊在數(shù)據(jù)庫中獲取當(dāng)前用戶的個人信息,展示在文本框中,唯一索引的手機號碼為灰色不可修改狀態(tài),如用戶想修改個人信息點擊“修改”按鈕即可,修改成功直接跳轉(zhuǎn)到系統(tǒng)主頁。圖3-20個人信息移動與Web端界面圖(2)算法流程用戶點擊個人信息接口的超鏈接,頁面跳轉(zhuǎn)到個人信息界面,頁面顯示從Session中獲取的用戶信息,其中手機號是真實的手機號碼,非數(shù)據(jù)庫中的MD5加密字段,查詢前對此字段進行加密。如MySQL中user表存儲情況圖,所示。圖3-21MySQL中user表存儲情況圖用戶不可以修改唯一索引字段,當(dāng)用戶提交修改個人信息申請的時候,系統(tǒng)通過不可能更改的賬號,在數(shù)據(jù)庫中查詢用戶信息,并進行更新操作,數(shù)據(jù)庫更新成功后,更新緩存,用戶當(dāng)即在頁面看到修改的信息。如圖3-22個人信息算法流程圖,所示。圖3-22個人信息算法流程圖(3)應(yīng)用接口表3-13修改用戶信息接口名稱/update_user說明本接口驗證用戶名是否存在,并更新用戶信息輸入username:登錄用戶名phone:用戶賬號(自動生成)password:登錄密碼email:電子郵件輸出0:更新失敗1:更新成功4、歷史數(shù)據(jù)顯示模塊(1)UI設(shè)計歷史數(shù)據(jù)顯示模塊對應(yīng)不同傳感器的數(shù)據(jù),實現(xiàn)歷史數(shù)據(jù)的展示。用戶在主頁可以看到數(shù)據(jù)流信息,數(shù)據(jù)流信息中展示歷史數(shù)據(jù)。歷史數(shù)據(jù)分為三部分。第一部分?jǐn)?shù)據(jù)流數(shù)據(jù),第二部分?jǐn)?shù)據(jù)流產(chǎn)生的時間,第三部分所屬的終端設(shè)備。當(dāng)用戶觸發(fā)歷史數(shù)據(jù)顯示接口時。系統(tǒng)根據(jù)用戶下的數(shù)據(jù)設(shè)備,查詢該設(shè)備下具有的數(shù)據(jù)實體。數(shù)據(jù)庫將查詢到的數(shù)據(jù)保存在順序表中,并將順序表封裝成model返回給前端頁面。界面的效果圖,如圖3-23傳感器歷史數(shù)據(jù)模塊移動端UI,所示。圖3-23傳感器歷史數(shù)據(jù)模塊移動端UI圖(2)算法流程用戶點擊“物聯(lián)網(wǎng)終端管理”里下拉框中的數(shù)據(jù)流信息,數(shù)據(jù)流信息中展示歷史數(shù)據(jù)。歷史數(shù)據(jù)分為三部分,第一部分?jǐn)?shù)據(jù)流數(shù)據(jù),第二部分?jǐn)?shù)據(jù)流產(chǎn)生的時間,第三部分所屬的終端設(shè)備。當(dāng)用戶觸發(fā)歷史數(shù)據(jù)顯示接口時,系統(tǒng)根據(jù)用戶下的數(shù)據(jù)設(shè)備。查詢該設(shè)備下具有的數(shù)據(jù)實體。數(shù)據(jù)庫將查詢到的數(shù)據(jù),保存在順序表中,并將順序表封裝成model返回給前端頁面。如圖3-24歷史數(shù)據(jù)模塊流程,所示。圖3-24歷史數(shù)據(jù)模塊流程圖(3)應(yīng)用接口表3-14歷史數(shù)據(jù)顯示接口名稱/entity_info說明本接口獲取是數(shù)據(jù)庫中歷史數(shù)據(jù)信息輸入username:登錄用戶名phone:用戶賬號(自動生成)輸出List<DataStreamEntity>:數(shù)據(jù)封裝成線性表null:數(shù)據(jù)為空5、實時數(shù)據(jù)顯示模塊(1)UI設(shè)計實時數(shù)據(jù)展示模塊分為兩部分。第一部分,由一個表格構(gòu)成表格,內(nèi)部具有“數(shù)據(jù)流模板ID”、“數(shù)據(jù)流模板名稱”、“數(shù)據(jù)流模板單位”、“單位符號”、“創(chuàng)建時間”和對其修改的操作組成實時數(shù)據(jù)顯示頁面。點擊修改操作可以修改數(shù)據(jù)的單位及符號與數(shù)據(jù)名稱等信息。第二部分為實時數(shù)據(jù)的展示輪播圖。橫坐標(biāo)為時間軸,縱坐標(biāo)為數(shù)據(jù)軸。當(dāng)鼠標(biāo)停留在表中結(jié)點時,會彈出該節(jié)點產(chǎn)生的時間、該結(jié)點的數(shù)據(jù)和該節(jié)點的名稱。實時數(shù)據(jù)每十秒,進行一次變化。實時數(shù)據(jù)圖采用黑色作為底面與系統(tǒng)白色主題形成鮮明對比??梢灾庇^的看出實時數(shù)據(jù)的波動情況。當(dāng)環(huán)境參數(shù)(溫濕度、可燃?xì)怏w濃度、光照強度)到達(dá)警戒值的時候,環(huán)境系統(tǒng)會在環(huán)境數(shù)據(jù)展示頁面彈出一個警示框,提示用戶環(huán)境值超標(biāo)了。便于用戶更快捷的得到報警信息并方便及時采取相應(yīng)的應(yīng)對措施,。界面效果圖,如圖3-25所示。圖3-25實時數(shù)據(jù)顯示模塊客戶端UI圖(2)算法流程用戶點擊設(shè)備信息,實時數(shù)據(jù)時,系統(tǒng)跳轉(zhuǎn)到實時數(shù)據(jù)超鏈接頁面。從進入頁面的當(dāng)前時間開始計算實時數(shù)據(jù)的數(shù)據(jù)值。每十秒會發(fā)送一個AJAX的請求由后端。進行對請求的解析,經(jīng)解析出來的代碼。根據(jù)設(shè)備ID在數(shù)據(jù)庫中查詢該設(shè)備ID的最新的一條數(shù)據(jù),并封裝成一個數(shù)據(jù)流實體對象,返回給AJAX方法,并通過前端解析與展示。如圖3-26實時數(shù)據(jù)與閾值報警模塊算法流程圖,所示。圖3-26實時數(shù)據(jù)與閾值報警模塊算法流程圖(3)應(yīng)用接口表3-15實時數(shù)據(jù)顯示模塊接口名稱/model_date說明本接口獲取該設(shè)備的實時數(shù)據(jù)信息輸入eid:設(shè)備ID輸出parameter:實時數(shù)據(jù)createtime:創(chuàng)建時間did:所屬設(shè)備6、遠(yuǎn)程控制實時預(yù)警模塊(1)UI設(shè)計遠(yuǎn)程控制與實時預(yù)警模塊主要分為三個部分,第一部分會實時分析當(dāng)前數(shù)據(jù)情況并對數(shù)據(jù)的異常情況,進行手機發(fā)送短信預(yù)警來提醒管理人員。第二部分在網(wǎng)站上UI界面實時提醒,當(dāng)實際值超過閾值時,頁面彈出提示框提示用戶“當(dāng)前實時數(shù)據(jù)超過閾值,請盡快聯(lián)系管理員處理”。界面效果圖如圖3-27所示。圖3-27實時數(shù)據(jù)與閾值報警模塊客戶端UI由于使用SMS接口API發(fā)送短信會有一定時間的延遲。用戶率先看到前端的提示框,隨后用戶注冊時候的手機號,會收到一條內(nèi)容為“提醒您當(dāng)前采集的環(huán)境數(shù)據(jù)不利于儲存,請盡快與管理人員核實”的預(yù)警短信。如圖,3-28短信閾值報警圖,所示。圖3-28短信閾值報警展示(2)算法流程AJAX

是與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁的藝術(shù),在不重新加載整個頁面的情況下。ajax()方法用于執(zhí)行AJAX(異步HTTP)請求。所有的jQueryAJAX方法都使用ajax()方法。該方法通常用于其他方法不能完成的請求。中國網(wǎng)建,在上海、廣州都設(shè)有辦事機構(gòu),主要從事企業(yè)上網(wǎng)、互聯(lián)應(yīng)用、互聯(lián)網(wǎng)產(chǎn)品開發(fā)、網(wǎng)絡(luò)工程架構(gòu)、計算機網(wǎng)絡(luò)維護服務(wù)的高新技術(shù)公司。系統(tǒng)首先發(fā)送AJAX請求,后臺服務(wù)器根基設(shè)備ID,會在數(shù)據(jù)表中查詢當(dāng)前設(shè)備的最新數(shù)據(jù),如果當(dāng)前數(shù)值通過計算,超過事先設(shè)置的閾值。那么系統(tǒng)會調(diào)用SMS網(wǎng)建短信通平臺接口API。通過發(fā)送gbk格式的預(yù)警信息。獲取當(dāng)前賬號的用戶信息,將短信信息封裝成短信對象,屆時管理員將收到預(yù)警短信。圖3-29實時數(shù)據(jù)與閾值報警模塊算法流程圖(3)應(yīng)用接口表3-16實時預(yù)警模塊接口名稱/model_date說明本接口獲取該設(shè)備的實時數(shù)據(jù)信息輸入phone:用戶手機號輸出0:發(fā)送短信失敗1:發(fā)送短信成功7、基礎(chǔ)信息管理模塊(1)UI設(shè)計用到j(luò)Query前段框架,頁面布局和格式用到前段框架BootStrap,以及EL表達(dá)式,頁面數(shù)據(jù)圖標(biāo)來自阿里巴巴的icon網(wǎng)站。界面的效果圖,如圖3-30所示。圖3-30iotCloud首頁客戶端UI圖手機App客戶端在具體的功能實現(xiàn)上主要是接收服務(wù)器發(fā)來的請求并將用戶下最新的產(chǎn)品數(shù)據(jù)、設(shè)備數(shù)據(jù)、模板數(shù)據(jù)、歷史數(shù)據(jù)展示在頁面上。用戶可以添加產(chǎn)品信息、傳感器信息、數(shù)據(jù)的單位模板信息等,當(dāng)用戶想要增加傳感器、修改傳感器信息、控制傳感器工作、控制數(shù)據(jù)單位時,點擊“修改”到便于用戶更快捷的得到更新信息措施。控制部分當(dāng)UI界面設(shè)置設(shè)備狀態(tài)為0時,實時數(shù)據(jù)展示圖將不會展示該設(shè)備的數(shù)據(jù),起到反向控制的作用。界面效果圖如圖3-31所示。圖3-31iotCloud基礎(chǔ)信息管理客戶端UI圖(2)算法流程用戶可以輸入產(chǎn)品信息,如“產(chǎn)品名”、“產(chǎn)品行業(yè)”、“產(chǎn)品類別”,點擊添加。系統(tǒng)會封裝成HTTP協(xié)議的包,在后端解析成產(chǎn)品對象。由數(shù)據(jù)庫對產(chǎn)品對象進行持久化操作。設(shè)備信息包括“設(shè)備名”、“設(shè)備編號”、“設(shè)備描述”和“設(shè)備狀態(tài)”等信息,展示時會展示設(shè)備的創(chuàng)建時間以及屬于產(chǎn)品,上面所說的四個屬性。具體流程與產(chǎn)品信息相似。系統(tǒng)可以修改社會狀態(tài),當(dāng)進行修改操作時,設(shè)備狀態(tài)由1變成0的時候,設(shè)備將不再接收數(shù)據(jù)。圖3-32基礎(chǔ)信息管理算法流程圖(3)應(yīng)用接口表3-17實時預(yù)警模塊接口名稱/dataStreamMode_infrom說明本接口對基礎(chǔ)信息進行管理操作輸入dataStreamMode:基礎(chǔ)信息對象輸出0:更新失敗1:更新成功8、行業(yè)資訊信息模塊(1)UI設(shè)計用戶進入云物聯(lián)網(wǎng)云平臺首頁左邊欄有行業(yè)資訊,點擊“行業(yè)資訊”跳轉(zhuǎn)到行業(yè)資訊頁面。頁面中具有最新最全的糧食及糧食存儲類的國家官方網(wǎng)站。通過線性排列呈現(xiàn)給用戶,用戶點擊會跳轉(zhuǎn)到國家官方網(wǎng)站中。界面效果圖如圖3-12所示。圖3-33行業(yè)資訊模塊客戶端UI(2)算法流程用戶點擊行業(yè)資訊,系統(tǒng)查詢用戶緩存信息,如果用戶具有緩存信息則保存在行業(yè)資訊頁面,如果用戶未登錄則直接進入行業(yè)資訊。在行業(yè)資訊頁面點擊各類的行業(yè)資訊,則跳轉(zhuǎn)其頁面。如圖3-34行業(yè)資訊算法流程圖,所示。圖3-34行業(yè)資訊算法流程圖(3)應(yīng)用接口表3-18行業(yè)資訊模塊接口名稱/iotcloud_news說明本接口獲取行業(yè)資訊信息數(shù)據(jù)輸入無輸出0:跳轉(zhuǎn)失敗1:跳轉(zhuǎn)成功第4章系統(tǒng)測試與分析本章主要分為三個部分,第一部分是感知層的數(shù)據(jù)是否可以獲取,測試三種傳感器能否進行正常工作。第二部分是傳輸層通信環(huán)節(jié),測試硬件底層與傳輸模塊,傳輸模塊與服務(wù)器端能否進行正常通信。第三部分是應(yīng)用層測試,測試移動通信段AndroidAPP和Web端能否正常完成相應(yīng)設(shè)計,實現(xiàn)相關(guān)功能。4.1感知層測試感知層實現(xiàn)底層硬件,以STM32單片機作為核心,DHT11溫濕度傳感器、GY-30光照強度傳感器、MQ-9可燃?xì)怏w傳感器需要采集數(shù)據(jù),并將數(shù)據(jù)傳送至STM32。系統(tǒng)運行開始后,STM32驅(qū)動三種傳感器采集數(shù)據(jù),通過MySQL數(shù)據(jù)庫查看數(shù)據(jù),通過數(shù)據(jù)的值,判斷各傳感器是否正常工作。測試結(jié)果如圖5-1所示。圖5-1STM32采集數(shù)據(jù)保存在MySQL中的狀態(tài)圖4.2傳輸層測試傳輸層建立在通信協(xié)議的基礎(chǔ)上,通信協(xié)議主要包括建立通信鏈路和斷開通信鏈路,建立通信協(xié)議需要通過開啟Socket通信,斷開通信鏈路主要通過關(guān)閉Socket通信實現(xiàn)。采用TCP/IP協(xié)議,通過TCP進行相同局域網(wǎng)內(nèi)的信息傳輸。主機的每個服務(wù)器都會打開并且綁定Socket到端口上REF_Ref41393331\r\hREF_Ref41393331\r\h[26]。通過測試發(fā)現(xiàn),服務(wù)器可以通過WiFi與底層硬件進行Socket通信,數(shù)據(jù)正常。如圖5-2所示。圖5-2Socket通信輸出4.3應(yīng)用層測試運用軟件工程中軟件測試的單元測試、確認(rèn)測試和系統(tǒng)測試REF_Ref41393343\r\h[27]。登錄界面進行身份驗證,系統(tǒng)本身的密碼為用戶注冊時設(shè)置的密碼,正確密碼可以登錄系統(tǒng),輸入錯誤密碼,點擊登錄,顯示密碼錯誤。測試用戶如表5-1所示。表5-1測試密碼表用戶名序號密碼物聯(lián)網(wǎng)終端用戶011234567899912345678999物聯(lián)網(wǎng)終端用戶0212345678888abc123...主頁對產(chǎn)品信息、設(shè)備信息、數(shù)據(jù)模板和歷史數(shù)據(jù),進行了分析與展示。產(chǎn)品信息下分為各種設(shè)備,對設(shè)備信息的正確性,進行測試。實時數(shù)據(jù)通過傳輸,獲取實時數(shù)據(jù),并正確展示,數(shù)據(jù)超過預(yù)先設(shè)定的閾值時,給予發(fā)短信的操作進行測試。數(shù)據(jù)監(jiān)控需要采集相關(guān)的參數(shù)為溫度、濕度、可燃?xì)怏w濃度、光照強度的正確性進行測試。結(jié)論本設(shè)計是一套性價比較高,可靠性較強,具有高性能高穩(wěn)定高可靠的基于物聯(lián)網(wǎng)的糧庫存儲環(huán)境檢測系統(tǒng)。采用以STM32單片機作為核心,DHT11溫濕度傳感器、GY-30光照強度傳感器、MQ-9可燃?xì)怏w傳感器作為物聯(lián)網(wǎng)感知層。WiFi模塊和ZigBee等硬件器材與服務(wù)器的Socket通信構(gòu)成物聯(lián)網(wǎng)傳輸層。進行相應(yīng)的軟件工程系統(tǒng)程序編程,確保底層硬件的正常工作。使用WiFi通信傳輸,實現(xiàn)硬件底層與軟件上層的通信與交互。用戶可以連接網(wǎng)絡(luò)即可打開系統(tǒng),也可以安裝APP對數(shù)據(jù)與環(huán)境進行檢測,提高對糧庫的管理和控制,降低糧庫管理成本。本設(shè)計完成的工作如下:(1)底層硬件實時采集環(huán)境的溫度、濕度、可燃?xì)怏w濃度、光照強度等參數(shù),并將數(shù)據(jù)由ZigBee傳輸至STM32單片機進行數(shù)據(jù)分析與處理。(2)本設(shè)計為管理人員提供實時的環(huán)境數(shù)據(jù)與短信預(yù)警功能,通過WiFi通信模塊,將終端收集的數(shù)據(jù)傳輸?shù)椒?wù)器端,通過平臺查看數(shù)據(jù),有利于數(shù)據(jù)統(tǒng)計與分析,同時WiFi傳輸距離遠(yuǎn),傳輸速率快且穩(wěn)定,穿透性強,適合儲糧倉與管理人員辦公區(qū)域的傳輸,對地形沒有限制。(3)本設(shè)計中的設(shè)置功能,可為用戶提供操作簡單方便的自定義設(shè)置,根據(jù)用戶自身的需求設(shè)定相關(guān)參數(shù)上限,并且修改設(shè)置十分方便快捷,提高系統(tǒng)對于不同需求的不同功能,當(dāng)數(shù)據(jù)超過用戶設(shè)置的上限時,進行報告和提示。使用戶快速做出反應(yīng)。本系統(tǒng)實現(xiàn)了用戶的基本需求,可以滿足大部分化學(xué)實驗室的環(huán)境監(jiān)測,但是也存在一些不足,由于缺少APP界面的設(shè)計經(jīng)驗,APP的界面比較簡潔簡單,可能缺少一些美觀,在UI的設(shè)計上可能比較簡單粗糙,系統(tǒng)中主要是環(huán)境的監(jiān)測,缺少對硬件設(shè)備的控制。后續(xù)的改進上,可以添加對底層硬件的控制,例如加濕,降溫等功能,使系統(tǒng)更加完善。致謝行文至此,三幾易其稿,不斷完善,終成之際,靜下心來顧于本科四年之學(xué)事、生活,心中思緒萬千,不覺風(fēng)云,但是更多的是感激。感謝范老師,從選題到論文完成,再到本設(shè)計的完成,范老師態(tài)度認(rèn)真負(fù)責(zé),指導(dǎo)我完成了設(shè)計的各個部分。感謝系主任馮老師,為我提供了許多技術(shù)方案,對我的設(shè)計有著巨大的幫助。感謝四年里幫助我的班主任老師、任課教師、輔導(dǎo)員老師悉心指導(dǎo)。最后感謝黨和國家,感謝挺身而出的工作者,感謝全國人民萬眾一心打贏新冠疫情防控的總體戰(zhàn),阻擊戰(zhàn),保護了全國人民的生命安全。四年之中,有太多的人幫助、支持。自入學(xué)至今,向四年時光致謝,感謝青澀的我成長路上離不開的人,離不開父母支持我的每一次選擇,離不開朋友對我的幫助,離不開與我朝夕相處了四年室友和基地每天一起學(xué)習(xí)的同學(xué)。2020年沒有畢業(yè)典禮、沒有畢業(yè)照、沒有散伙飯,也沒能給朝夕相處的同學(xué)當(dāng)面送上一句祝好和再見,就這么畢業(yè)了,對于這四年不算完美,但很美好。這些經(jīng)歷都是我人生路上寶貴的財富??上銈兾鍌€看不到我抱著你們哭的樣子了。愿我們六個各自努力,某年某月某日再相見。參考文獻(xiàn)張紅宇.從公共衛(wèi)生事件到糧食安全——由新冠肺炎疫情引發(fā)的相關(guān)問題思考[J].中國農(nóng)墾,2020(05):29-34.張紅宇.高度重視國家糧食安全問題[N].企業(yè)家日報,2020-05-15(005).鄭冰石.糧食企業(yè)倉儲管理現(xiàn)狀及科學(xué)保糧發(fā)展[J].區(qū)域治理,2020(03):99-101.KookanaRaiS.,DrechselPay,JamwalPriyanka,VanderzalmJoanne.Urbanisationandemergingeconomies:Issuesandpotentialsolutionsforwaterandfoodsecurity[J].ScienceofTheTotalEnvironment,2020(prepublish).LauraScherer,Jens-ChristianSvenning,JingHuang,ColleenL.Seymour,BrodySandel,NathanielMueller,MattiKummu,MateeteBekunda,HelgeBruelheide,ZviHochman,StefanSiebert,OscarRueda,PeterM.vanBodegom.Globalprioritiesofenvironmentalissuestocombatfoodinsecurityandbiodiversityloss[J].ScienceoftheTotalEnvironment,2020,730.TomJBechman.Checkgraininon-farmstoragenow[J].FarmIndustryNews,2019.TomJBechman.Grainstorageproblems:Whattolookfor,howtofixthem[J].FarmIndustryNews,2019.陳禮元.淺析糧食主銷區(qū)糧食儲備管理中存在的問題及機制創(chuàng)新——以甲地區(qū)為例[J].新西部,2019(20):49+42.羅貴華.糧食安全問題與對策研究[J].糧食科技與經(jīng)濟,2019,44(04):43-45.王威.智能糧庫通風(fēng)系統(tǒng)的控制研究[D].上海電機學(xué)院,2019.舒泰歌,游乾乾,李慕凡,王瀚澤,張藝鼎.基于STM32無線信息采集系統(tǒng)設(shè)計[J].科技風(fēng),2020(15):120-121.李宇松.基于ZigBee和CC2530的農(nóng)業(yè)大棚溫濕度采集系統(tǒng)設(shè)計[J].農(nóng)家參謀,2020(14):285-286.聶琿,陳海峰,周豪.基于NB-IoT的環(huán)境監(jiān)測系統(tǒng)[J/OL].實驗技術(shù)與管理,2020(05):89-93+110[2020-05-26]./10.16791/ki.sjg.2020.05.019.張問松,荊黎明,田思慶.基于ZigBee和ESP8266的遠(yuǎn)程灌溉控制平臺設(shè)計[J].山西電子技術(shù),2020(01):12-14.龐岳峰,朱巍巍,謝克佳,羅義.基于SHT11傳感器的測控設(shè)備溫濕度監(jiān)測系統(tǒng)設(shè)計[J].無線電通信技術(shù),2018,44(05):526-530.LiangXiao.DesignofIntelligentIlluminationControllerforAgriculturalGreenhouseBasedonArduinoBoard[C].InternationalInformationandEngineeringAssociation.Proceedingsof20187thInternationalConferenceonAdvancedMaterialsandComputerScience(ICAMCS2018).InternationalInformationandEngineeringAssociation:計算機科學(xué)與電子技術(shù)國際學(xué)會(ComputerScienceandElectronicTechnologyInternationalSociety),2018:319-323.劉美麗,李曰陽,李震.基于嵌入式的農(nóng)作物生長環(huán)境的監(jiān)測控制系統(tǒng)設(shè)計[J].自動化與儀器儀表,2019(12):141-143.潘祥生.礦用煙霧傳感器檢測系統(tǒng)的設(shè)計與分析[J].電子世界,2016,(09):147-148.陳林.基于STC15單片機的四驅(qū)智能小車循跡設(shè)計[J].數(shù)字通信世界,2020(03):69+88.齊明志,周莉.基于STM32單片機驅(qū)動的實時顯示研究[J].電子世界,2020(08):13-14.梁福和.基于ZigBee的煤礦中央變電站監(jiān)控系統(tǒng)設(shè)計[J].煤炭技術(shù),2019,38(06):167-169.寧方美,賀雪梅,牟晉娟.SpringBoot集成Redis緩存技術(shù)在企業(yè)一卡通系統(tǒng)中的應(yīng)用[J].電子技術(shù)與軟件工程,2019(24):133-134.顏治平.基于SpringBoot和Vue框架的教代會提案系統(tǒng)的設(shè)計與實現(xiàn)[J].科技創(chuàng)新與應(yīng)用,2020(03):91-93+95.魏凡皓,王惠中.基于ZigBee技術(shù)的糧庫監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)[J].工業(yè)儀表與自動化裝置,2020(02):70-73.靳燕.基于MD5算法的文件完整性檢測系統(tǒng)分析及設(shè)計[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(11):36-38.顧雨田.計算機軟件測試方法及應(yīng)用分析[J].計算機產(chǎn)品與流通,2020(08):25.劉睿,張彤,丁慧.信息安全軟件測試的復(fù)用測試用例技術(shù)的研究與應(yīng)用[J].電子技術(shù)與軟件工程,2019(24):184-185.附錄設(shè)計系統(tǒng)部分源代碼硬件部分源代碼:intmain(void){

u16adcx;u16adcx1;u16adcx2;

floatdensity,GP2Y;

u16set=500;

unsignedintRH_Value,TEMP_Value;

unsignedcharRH_H,RH_L,TP_H,TP_L;

charNumber[10]={

'0','1','2','3','4','5','6','7','8','9'

};

floattemp;floattemp1;floattemp2;

delay_init();

NVIC_Pr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論