基于CAT1的智能回收屋監測管理系統_第1頁
基于CAT1的智能回收屋監測管理系統_第2頁
基于CAT1的智能回收屋監測管理系統_第3頁
基于CAT1的智能回收屋監測管理系統_第4頁
基于CAT1的智能回收屋監測管理系統_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要隨著科學技術的發展和計算機技術的廣泛應用,數據采集監測已經成為不可或缺的監測技術。在現代社會中,多路數據采集已經被廣泛應用于各個行業及場合。本文以數據采集系統為核心展開,描述了智能回收屋數據采集的現實環境下的通信網絡組成,重點研究了服務器與單片機之間的通信技術。舊衣物回收箱是慈善與環保相結合的事物,所以對它的管理也極為重要。如果不能很好的對其監測管理,那么可能會失去其原有的價值,甚至被不法分子利用而制造非法利益鏈。本文針對舊衣物回收箱數據采集這種控制系統的實際需求,使用了單片機、交換機和PC機等設備構成通信網絡,實現一個無線數據采集系統軟件,解決了PC機對其現場的控制問題。論文首先介紹了通信網絡中各種設備特性、總線結構及傳輸技術,然后介紹根據單片機與PC機之間的串行通信原理,基于CAT1(4G)進行下位機的開發,本系統硬件模塊主要對屋內衣服高度狀態的實時監測,同時檢測屋內溫濕度、煙霧濃度等參數。各個傳感器采集回來的數據經過單片機處理后,通過AT指令把CAT1模組喚醒、入網、數據組包發送等。關鍵詞:數據采集系統;串行通信;CAT1;單片機IIMonitoringandManagementSystemofIntelligentRecyclingHouseBasedonCAT1AbstractWiththedevelopmentofscienceandtechnologyandthewideapplicationofcomputertechnology,dataacquisitionandmonitoringhasbecomeanindispensablemonitoringtechnology.Inmodernsociety,multi-channeldataacquisitionhasbeenwidelyusedinvariousindustriesandoccasions.Thispaperfocusesonthedatacollectionsystem,describesthecompositionofcommunicationnetworkintherealenvironmentofdatacollectioninintelligentrecyclinghouse,andfocusesonthecommunicationtechnologybetweenserverandMCU.Theoldclothesrecyclingbinisacombinationofcharityandenvironmentalprotection,soitsmanagementisextremelyimportant.Ifitcan'tbewellmonitoredandmanaged,itmayloseitsoriginalvalueandevenbeusedbycriminalstocreateillegalinterestchains.Inthispaper,accordingtotheactualdemandofthedatacollectioncontrolsystemoftheusedclothesrecyclingbin,acommunicationnetworkiscomposedofsinglechipmicrocomputer,switches,PCandotherdevices,andawirelessdatacollectionsystemsoftwareisrealized,whichsolvesthecontrolproblemofthePConthespot.Firstly,thispaperintroducesthecharacteristicsofvariousdevicesinthecommunicationnetwork,busstructureandtransmissiontechnology,andthenintroducesthedevelopmentofthelowercomputerbasedonCAT1(4G)accordingtotheprincipleofserialcommunicationbetweensinglechipmicrocomputerandPC.Thehardwaremoduleofthissystemmainlymonitorstheheightofclothesinthehouseinrealtime,andsimultaneouslydetectsthetemperatureandhumidity,smokeconcentrationandotherparametersinthehouse.Afterthedatacollectedbyeachsensorisprocessedbysinglechipmicrocomputer,theCAT1moduleisawakened,connectedtothenetwork,andthedatapacketissentbyATcommand.Keywords:dataacquisitionsystem;Serialcommunication;CAT1;Single-ChipMicrocomputerII

目錄IITOC\o"1-2"\h\z\uTOC\o"1-2"\h\u28975第一章前言 第一章前言TA\s"第一章前言"\c11.1項目背景TA\s"1.1項目背景"\c1隨著居民經濟收入的不斷提高,服裝更新速度越來越快,大量的廢舊衣怎么處理,已經成了不少家庭難以解決的問題[1]。舊衣服大量占據了家中的空間而且如何有效的進行消毒處理成為了人們生活中的一大難題。因此舊衣物回收箱應運而生,其具有方便,應用范圍廣特性,所以對它的管理顯得極為重要。舊衣物回收箱的出現是為了避免衣物等物品的浪費,對衣物進行回收進行二次利用的同時,將回收的衣物發放給一些有需要的人。但是對于這些回收箱的交互性存在著一些問題,比如說負責取衣服的管理人員無法知道小屋內衣物是否堆滿,而且廢舊的衣物放在小屋中會因為天氣影響(比如說空氣過于潮濕)而發生發霉和腐爛。基于這一現象,我設計一個基于CAT1的智能回收屋監測管理系統,這樣能夠方便管理者對衣物實現智能化監測管理。本課題主要利用GPS定位技術收集回收屋的位置,通過CAT1(4G)網絡將下位機采集的數據上傳到安卓移動客戶端,實現對回收屋的衣物高度、溫濕度、煙霧濃度等參數的實時監測。1.2國內發展情況及存在問題現階段,居民對服裝的消費日益增加,從而導致居民產生的廢舊衣物量也迅速增加,這對自然生態環境帶來巨大的威脅。國內先后出現了一些政府支持的慈善組織、機關單位甚至企業對廢舊衣物進行回收處理,但由于該產業在國內起步較晚,發展緩慢,所以目前還沒有形成合力搞笑的回收體系,回收模式也僅限于公益組織募集、回收箱回收的傳統模式以及仍處于探索階段的“互聯網+”回收模式。[2]目前國內對于環境的保護相當的重視,舊衣物的處理成為了亟待解決的難題,目前的許多捐贈方式都出現了諸多問題,如:不方便、信息不公開、不普及等。將物聯網與舊衣物的收集結合起來,既可以讓商家得到更多的經過明確分類的材料進行回收處理,降低了材料的成本,使企業獲得更大的利潤,同時也更加完善了舊衣物的捐贈系統,將更多干凈的衣物更有效的運送到貧困地區迫切需要的人手中,最主要的是對垃圾的分類起到了很大的作用,將分揀后不可再生的衣物進行分類后運輸至環保部門進行綠色降解,避免對大氣天空、土壤等環境污染。需求與分析由于環境因素的影響等,舊衣物回收箱分布范圍廣,所以對于人力監控管理上造成了比較大的難度,如若不能及時知曉回收箱內舊衣物的情況并及時清理,可能會造成資源浪費,從而失去其原有的意義。故本章詳細對于系統所需的需求進行剖析。2.1系統的整體架構登錄登錄主界面連接衣物回收箱風扇模塊4G模塊GPS模塊超聲波模塊NYN上傳圖2-1智能回收屋功能流程圖開始結束登錄登錄主界面連接環境監測節點空氣溫度空氣濕度煙霧濃度NYN圖2-2環境監測節點功能流程圖結束開始開啟繼電器開啟繼電器溫濕度傳感器風扇開關打開關閉閉合圖2-3風扇模塊功能流程圖啟動結束啟動登錄啟動登錄注冊主界面設備列表設備控制數據查看設備信息表圖2-4C#窗體應用功能流程圖結束基于4G網絡下的的智能回收小屋系統具體所需的功能分析如下所示:由于管理人員的知識水平參差不齊,所以系統中基于手機安卓系統下搭建C#窗口進行人機交互,且界面簡潔,操作容易。傳統的舊衣物回收箱智能定期的由人去實地檢查箱子內部的情況,所以基于此,系統內設置了數據采集節點,采集空氣溫度、空氣濕度、煙霧濃度等數據,并且將數據組包,通過4G模塊上傳到程序界面上并進行存儲,以日統計顯示到界面上供監管人員查看。用溫濕度傳感器來檢測回收小屋內的溫濕度,當回收屋內的溫度或濕度超過某一設定的閾值時,風扇模塊自行開始工作,對小屋進行降溫和除濕,防止衣物發生霉變。監管人員可通過手機APP控制紫外線燈消毒模塊對小屋進行消毒殺菌,以保證回收屋內無霉菌產生。本文所設計的智能衣物回收箱系統由數據采集傳感器、功能實現設備、數據查看平臺、信息設置平臺、數據發送與接收模塊等組成。按照所需的功效,可以將系統分為四個部分。其中這四個部分的具體功能,可以從智能回收屋功能流程圖(見圖2-1)、環境監測節點功能流程圖(見圖2-2)、風扇模塊功能流程圖(見圖2-3)、C#窗體應用程序功能流程圖(見圖2-4)所知。2.2用戶界面及其他需求分析為了使程序更人性化,界面上需要有一個登錄界面、注冊界面、設備展示界面、設備列表界面、設備控制界面。當程序運行時,首先進入登錄界面,輸入準確的賬號和密碼即可進入主界面,如無賬號和密碼,可在登錄界面進入注冊界面進行注冊再返回登錄。在設備展示界面的菜單欄上可添加設備信息,包括:名稱、經度、緯度、地址,進入設備列表可以對設備的閾值進行調控,包括:溫度,濕度,煙霧濃度,高度和紫外線開關。為了實現系統的功能,需使用數據庫對數據的貯存。數據庫需貯存用戶信息、設備控制信息、app控制信息、環境監測數據信息,所以建立四個信息表進行存儲。2.3主要研究內容基于CAT1(4G)進行下位機的開發,本系統硬件模塊主要對屋內衣服高度狀態的實時監測,同時檢測屋內溫濕度、煙霧濃度等參數。各個傳感器采集回來的數據經過單片機處理后,通過AT指令把Cat.1模組喚醒、入網、數據組包發送等。研究基于TCP/IP協議下socket通信技術以及Cat.1;研究嵌入式技術下的STM32F103C8T6單片機的原理與使用;研究系統所用到的傳感器模塊的工作原理與使用方式,以及所用到IIC、單總線、AD轉換的通訊方式;研究APP應用程序界面的搭建與編程;研究數據庫的搭建和使用以及與APP程序的連接。系統通訊技術及硬件模塊介紹3.1CAT1技術的發展4G是第四代移動通信及技術的簡稱,是集3G與WLAN于一體并能夠傳輸高質量視頻圖像以及圖像傳輸質量與高清晰度電視不相上下的技術產品[3]。4G網絡理論上可以以峰值100Mbps的速度下載,速度可達3G網絡速度的十幾倍到幾十倍,比撥號上網快2000倍,上傳的速度也能達到50Mbps,并可以滿足幾乎所有用戶對于無線服務的要求。隨著科技的進步發展,4G不僅可更好地滿足移動用戶高速無線上網的需求,而且將促進移動互聯網業務應用持續深入,推動移動智慧家庭、生產辦公、移動電子商務等行業信息化服務不斷擴展,并將催生更多的業務形態和服務模式。本系統的接收端采用Cat.1模組實現數據接收。Cat.1是4G通信LTE網絡下用戶終端類別的一個標準,其上下行峰值速率分別為5Mbit/s和10Mbit/s[4],盡管NB-IoT在當下物聯網市場中發展迅速[5],但其上、下行速率只有100Kbps,而4GCat1憑借中速率、低延時、廣覆蓋、低功耗、較低成本等特點而被市場看好[6],因而非常適合應用于本系統。4G技術之所以能被廣大人民群眾的接受,主要源于4G網絡的以下優點:通信速度快:從移動通信系統數據傳輸速率作比較,第一代模擬式僅提供語音服務;第二代數位式移動通信系統傳輸速率也只有9.6Kbps,最高可達32Kbps,如PHS;第三代移動通信系統數據傳輸速率可達到2Mbps;而第四代移動通信系統傳輸速率可達到20Mbps,甚至最高可以達到高達100Mbps,這種速度會相當于2009年最新手機的傳輸速度的1萬倍左右,第三代手機傳輸速度的50倍。網絡頻譜寬:要使4G通信達到100Mbps,需要在原3G通信網絡的基礎上,將4G網絡的帶寬提高,使每個4G信道占有100MHz的頻譜,相當于3G網絡的20倍。通信靈活:如今的4G網絡存在于無形之中,又植入到有形之內,手機、電視、手表、冰箱等,只要你想得到的都有可能成為4G終端[7]。智能性能高:隨著科技的發展,人們對于網絡的智能性要求越來越高,而4G通信的終端設備的設計和操作具有智能化。兼容性好:具有全球漫游,接口開放,能夠和多種網絡互聯互通,終端多樣化。提供增值服務:4G移動通信系統技術是以正交多任務分頻技術,它能夠實現例如無線區域環路(WLL)、數字音訊廣播(DAB)等方面的無線通信增值服務。高質量通信:可以容納市場上成千累萬的用戶數、改善現有通信品質有損,以及達到高速傳輸數據的條件。(8)頻率效率高:第四代移動通信技術在開發研制過程中使用和引入許多功能強大的突破性技術,例如一些光纖通信產品公司為了進一步提高無線因特網的主干帶寬寬度,引入了交換層級技術,這種技術能同時涵蓋不同類型的通信接口,也就是說第四代主要是運用路由技術(Routing)為主的網絡架構[8]。源于使用了幾項不同的技術,故無線頻率的應用比第二代和第三代系統高效得多。3.2硬件模塊的選型3.2.1STM32F103C8T6單片機STM32F103C8T6是一款由意法半導體公司(ST)推出的基于Cortex-M3內核的32位微控制器,硬件采用LQFP48封裝,屬于ST公司微控制器中的STM32系列。STM32F103C8T6這個命名中:STM32代表STM32家族,32位MCU;F代表產品類型為基礎型;103代表特定功能為STM32基礎型;C代表引腳數為48&49引腳;8代表內存容量為64KB;T代表封裝為QFP;6代表溫度范圍為-40到+85℃。STM32F103C8T6單片機的寬電壓實際供電范圍保持在2.0V~3.6V之內,其最大CPU功率為72MHz,配備有單周期的硬件除法以及乘法指令,還配備有中斷系統,具備編程功能。同時,該單片機還裝備有兩種存儲器,一種是FLash存儲器,容量為64KB,一種是SRAM存儲器,容量為20KB。另外,該單片機還具備多種類型的片內外設,諸如定時器、DMA控制器、IIC接口等[9]。其實物圖如圖3-1所示,電路圖如圖3-2所示。圖3-1STM32F103C8T6單片機圖3-2STM32F103C8T6電路圖3.2.2溫濕度模塊隨著電子技術的不斷發展,溫濕度的測量技術也得到了迅猛的提升。常見的溫濕度測量方法有動態法,靜態法,露點法,干濕球法以及電子式傳感器法。在繁多的測量方法中,選擇最多的是電子式傳感器法。本系統中溫濕度監測模塊選取的是DHT11溫濕度傳感器,DHT11數字溫濕度傳感器,是一款含有已校準數字信號輸出的溫濕度復合傳感器。該傳感器主要運用了數字模塊采集技術和溫濕度傳感技術,具備了極高的可靠性以及穩定性。傳感器包含電阻式感濕元件和NTC測溫元件,并與一個高性能8位單片機相連接。具有響應快、抗干擾能力強、性價比高、低功耗、體積小以及信號傳輸距離遠等優點[10],鑒于DHT11的諸多優點,因此選擇其作為系統的測量溫濕度的模塊。系統使用的DHT11傳感器,如圖3-3所示。DHT11傳感器的規格參數如表3-1所示。圖3-3DHT11溫濕度傳感器模塊表3-1DHT11規格參數[11]型號測量范圍測量精度分辨率輸出DHT11溫度0-50℃,濕度20-90%溫度±2℃,濕度±5%RH溫度1℃濕度1%RH單總線數字信號DHT11傳感器應用于系統中的回收箱內溫濕度的檢測,傳感器所采集到的箱內溫濕度數據通過串口傳輸到STM32中,其主要的工作原理如圖3-4所示。DHT11溫濕度傳感器是系統設計中選做檢測溫濕度的較為理想的傳感器。圖3-4DHT11工作原理圖3.2.3煙霧傳感器模塊系統所采用的煙霧傳感器MQ-2的主要作用是檢測室內的煙霧濃度檢測,以實現預防小屋內火災發生的目的。而煙霧傳感器不僅在煙霧濃度方面可以進行較為精準的檢測,也可以檢測出易燃氣體如甲烷等氣體,同時也可預防室內火災的發生。MQ-2的應用較為廣泛,可用于家庭和工廠的氣體泄漏監測,對于存放易燃物品的倉庫方面也有很大的應用市場。系統中所用的MQ-2煙霧傳感器是煙霧傳感器系列中的其中一種,其實物圖如圖3-5所示。圖3-5MQ-2煙霧傳感器實物圖圖3-6MQ-2煙霧傳感器原理圖MQ-2煙霧傳感器屬于二氧化錫半導體氣敏材料,屬表面離子式N型半導體。其工作原理是當處于200-300℃時,二氧化硅吸附空氣中的氧,形成氧的負離子吸附,使半導體中的電子密度減少,從而使其電阻增加。在與煙霧接觸的時候,表面導電率隨著接觸到的煙霧濃度的變化而變化。當煙霧濃度越大,導電率也隨之增大,輸出的電阻反而變小,模擬信號的輸出則就變大[12]。MQ-2煙霧傳感器的原理圖如圖3-6[13]所示。MQ-2煙霧傳感器具有靈敏度高,可靠的穩定性以及快速響應等特點,具有較大的實用性,因此是系統中作為檢測煙霧濃度的較為理想的傳感器。3.2.4CAT1模塊本系統在CAT1模塊采用的是ML305模塊板,它是最新推出的4GCAT1頻段產品。ML305是移動物聯網公司推出的低速率CAT1模塊,可以在2G逐漸退網的情況下,來替換2G模塊。ML305模塊用戶可以通過USB或者串口來調試設備,使用起來很便利。此外模塊也支持基站定位獲取信息,方便了用戶室內定位沒有GPS信號的痛點,可以實現定位功能獲取與數據傳輸。其實物圖如3-7所示。ML305模塊板引腳對應說明如表3-2所示。圖3-7CAT1模塊ML305開發板圖3-7CAT1模塊ML305開發板左邊名稱功能右邊名稱功能1RXDTTL主串口輸入1GND電源地2TXDTTL主串口輸出2GND電源地31V8模塊對外輸出1.8v3VBAT對外輸出3.8v4GP2預留GPIO4PWR控制模塊開機腳5GP3預留GPIO5GND電源地6GP4預留GPIO6GND電源地7GP5預留GPIO7VIN電源輸入5v表3-2ML305模塊板引腳對應說明3.2.5超聲波測距模塊超聲波是震動頻率高于20kHz的機械波。它具有頻率高、波長短、繞射現象小、方向好、能夠成為涉嫌而定向傳播等特點。本系統采用的HC-SR04超聲波傳感器,如圖3-8所示。其工作原理是:(1)采用IO觸發測距,給至少10us的高電平信號;(2)模塊自動發送8個40khz的方波,自動檢測是否有信號返回;(3)有信號返回,通過IO輸出一高電平,高電平持續的時間就是(4)超聲波從發射到返回的時間.測試距離=(高電平時間*聲速(340M/S))/2。圖3-8HC-SR04超聲波傳感器圖3-9超聲波時序圖時序圖(見圖3-9)表明:只需要提供一個10uS以上脈沖觸發信號,該模塊內部將發出8個40kHz周期電平并檢測回波。一旦檢測到有回波信號則輸出回響信號。回響信號的脈沖寬度與所測的距離成正比。由此通過發射信號到收到的回響信號時間間隔可以計算得到距離。公式:uS/58=厘米或者uS/148=英寸。3.2.5GPS模塊GPS定位模塊用來定位回收屋的具體位置,方便用戶定位出回收屋的具體位置。采集回來的GPS信息如何轉換成通用國際坐標系,方便在地圖上顯示真實位置。本系統選擇的是ATGM336H-5N模塊ATGM336H-5N模塊(見圖3-10),它是小尺寸高性能BDS/GNSS全星座定位導航模塊系列的總稱。其具有高靈敏度、低功耗、低成本等優勢,適用于車載導航、手持定位、可穿著的裝備。支持BDS/GPS/GLONASS/衛星導航系統的單系統定位,以及任意組合的多系統聯合定位,并支持QZSS和SBAS系統。其主要參數如表3-3所示。圖3-10ATGM336H-5N模塊表3-3ATGM336H-5N產品參數特率9600(默認),可用軟件設置可用衛星GPS和北斗雙模輸出協議NMEA-0183TXD/RXD電平串口TTL電平超小尺寸15mm*13mm3.2.6電磁繼電器模塊本系統采用的是1路5v繼電器(見圖3-11),它的工作原理為:在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產生電磁效應,先貼就會在電磁吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)釋放[14]。這樣吸合、釋放,從而達到了在電路中的導通、切斷的目的。其電氣參數如表3-4所示。電壓版本(V)靜態電流(mA)工作電流(mA)觸發電壓(V)觸發電路(mA)54650-3.5295450-43125.5420-432412400-123繼電器觸點容量:250V10A(AC)或30V10A(DC)表3-4電氣參數圖3-111路5v繼電器第四章系統功能設計與實現4.1系統的總體設計基于CAT1(4G)進行智能回收屋的監測管理系統的開發,本系統硬件模塊主要對屋內衣服高度狀態的實時監測,同時檢測屋內溫濕度、煙霧濃度等參數。通過串口通信的將各個傳感器采集回來的數據傳輸到STM32單片機,經其處理后,通過AT指令把CAT1模組喚醒、入網、數據組包發送,將數據傳輸到上位機Android端。從而實現Android端對智能小屋內各個參數的監測。系統的整體工作流程如圖4-1所示。4G無線模塊4G無線模塊溫濕度模塊GPS模塊超聲波測距模塊煙霧模塊STM32物聯網平臺阿里云服務器MySQL數據庫存儲客戶端對接圖4-1智能回收小屋系統工作流程圖4.2下位機軟件的設計下位機軟件設計所采用的軟件是MDK5進行編程,MDK5的集成開發環境是uVision5IDE,該開發環境在ARM處理器方面編程應用廣泛。MDK5主要由MDKCore和SoftwarePacks組成,MDKCore主要是對編碼的編譯,而SoftwarePacks則是提供開發過程中驅動等。MDK5中使用的編程語言是C語言,C語言編程具有一定的靈活性,因而MDK5在嵌入式的設計中應用較為廣泛。創建一個工程名為lovehome的系統下位機程序,在lovehome的工程之下,主要針對系統中所使用到的傳感器以及通信模塊進行軟件部分的設計。4.2.1溫濕度模塊的設計

溫濕度傳感器DHT11在系統中的主要功能是采集室內的溫濕度情況,意思就是說溫濕度傳感器需要采集兩個數據,即溫度的數據和濕度的數據。DHT11的數據輸出是未進行編碼的二進制數,一次完整的溫濕度數據如表4-1所示。表4-1一次完整的溫濕度數據byte4byte3byte2byte1byte00010110100000000000111000000000001001001整數部分小數部分整數部分小數部分校驗和濕度溫度校驗和由表4-1可得知,溫度的數據由整數部分的byte2和小數部分的byte1組成,濕度的數據由整數部分的byte4和小數部分的byte3組成。只要讀取出DHT11溫濕度傳感器的一個周期的數據出來,分別計算溫度和濕度,從而可得出溫濕度的值出來。系統中的DHT11溫濕度傳感器主要有3個引腳,為檢測出溫度和濕度的值,將傳感器上的VCC引腳利用杜邦線,連接到STM32開發板的3.3V;接地的引腳通過杜邦線,連接到GEND上;最后的數據引腳連接到開發板的PG11引腳上,讀取數據。其主要的讀取DHT11溫濕度傳感器采集數據的流程圖4-2所示。圖4-2溫濕度傳感器數據采集流程圖讀取了DHT11的數據之后,在主函數中對DHT11進行初始化,即對DHT11的引腳進行初始化,當DHT11模塊的函數在初始化成功之后,便開始讀取DHT11上的值DHT11_Read_Data(&temperature,&humidity);將讀取到的數據發送到TFTLCD上,在進行數據解析后,TFTLCD便可以顯示所采集到的數據,即能夠顯示DHT11的溫度值LCD_ShowNum(95,55,temperature,2,24);同理,DHT11上所采集到的濕度的值顯示為LCD_ShowNum(95,80,humidity,2,24)。其中,讀取溫濕度數據的主要的核心代碼如下://從DHT11讀取一次數據//temp:溫度值(范圍:0~50°)//humi:濕度值(范圍:20%~90%)//返回值:0,正常;1,讀取失敗u8DHT11_Read_Data(u8*temp,u8*humi){ u8buf[5]; u8i; DHT11_Rst(); if(DHT11_Check()==0) { for(i=0;i<5;i++)//讀取40位數據 { buf[i]=DHT11_Read_Byte(); } if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4]) { *humi=buf[0]; *temp=buf[2]; } }elsereturn1; return0; }//初始化DHT11的IO口,DQ同時檢測DHT11的存在//返回1:不存在;返回0:存在u8DHT11_Init(void){ GPIO_InitTypeDefGPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); GPIO_InitStructure.GPIO_Pin=DHT11_PIN; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(DHT11_IO,&GPIO_InitStructure); GPIO_SetBits(DHT11_IO,DHT11_PIN); DHT11_Rst(); returnDHT11_Check();}4.2.2煙霧傳感器模塊的設計MQ-2煙霧傳感器在智能家居、倉庫管理等預防火災發生方面應用較為廣泛。系統中所采用的MQ-2煙霧傳感器,其使用原理與智能家居中的煙霧傳感器的使用目的是一樣的,都是能夠預防火災的發生。煙霧傳感器MQ-2連接開發板,主要使用到了MQ-2中的3個引腳。其中使用模塊的VCC、GND和AO引腳,VCC和GND分別接開發板的電源和接地口,煙霧傳感器的AO引腳則連接開發板上ADC信道傳輸引腳的PA1口。通過PA1口,讀取出煙霧傳感器的電壓值,再通過煙霧傳感器的電壓值轉換成煙霧濃度值得計算公式mq2=Get_Adc_Average(1,3)*0.0625,即可得出煙霧傳感器采集到的數據,其數據采集的流程圖如圖4-3所示。圖4-3煙霧傳感器數據采集流程圖煙霧傳感器利用ADC模式獲取電信號,并取多次平均值的主要代碼如下:u16Get_Adc(u8ch){ //設置指定ADC的規則組通道,設置它們的轉化順序和采樣時間 ADC_RegularChannelConfig(ADC1,ch,1,ADC_SampleTime_239Cycles5); //ADC1,ADC通道3,規則采樣順序值為1,采樣時間為239.5周期 ADC_SoftwareStartConvCmd(ADC1,ENABLE);//使指定的ADC1的軟件轉換啟動功能 while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));//等待轉換結束 returnADC_GetConversionValue(ADC1); }u16Get_Adc_Average(u8ch,u8times){ u32temp_val=0; u8t; for(t=0;t<times;t++) { temp_val+=Get_Adc(ch); delay_ms(5); } returntemp_val/times;}u16Smog_Get_Vol(void){ chartemp[10]; uint16_ttemp_val; floatSmoke_val; u8t; for(t=0;t<10;t++) { temp_val+=Get_Adc(1);//讀取ADC值 delay_ms(5); } temp_val/=10;//得到平均值 Smoke_val=temp_val*3.3/4096;// printf("μ??1?μ:%f\r\n", Smoke_val); sprintf(temp,"%1.3f",Smoke_val); if(Smoke_val>=3.0) { //printf("注意,發現煙霧!!!\r\n"); smoke_state=1; } else { smoke_state=0; } returnSmoke_val;}4.2.3超聲波測距模塊的設計超聲傳感器測距的原理是依據超聲波在空氣中傳播的速度,通過計算源聲波發送時刻和回波信號接收時刻的時間間隔來獲取障礙物的距離信息[15]。HC-SR04超聲波距離傳感器的核心是兩個超聲波傳感器。一個用作發射器,將電信號轉換為40KHz超聲波脈沖。接收器監聽發射的脈沖。如果接收到它們,它將產生一個輸出脈沖,其寬度可用于確定脈沖傳播的距離。該傳感器體積小,易于在任何項目中使用,并提供2厘米至400厘米(約1英寸至13英尺)之間出色的非接觸范圍檢測,精度為3mm。該傳感器含有4個引腳(見圖4-4),其中VCC、GND接上5V電源;Trig(控制端)控制發出的超聲波信號,用于觸發超聲波脈沖;Echo(接收端)接收反射回來的超聲波信號,回聲當接收到反射信號時,引腳產生一個脈沖,脈沖的長度與檢測發射信號所需的時間成正比。圖4-4HC-SR04超聲波距離傳感器引腳其主要核心代碼為:floatHcsr04GetLength(void){u32t=0; inti=0; floatlengthTemp=0; floatsum=0; while(i!=5) { TRIG_Send=1;//發送口高電平輸出 delay_us(20); TRIG_Send=0; while(ECHO_Reci==0);//等待接收口高電平輸出 OpenTimerForHc();//打開定時器 i=i+1; while(ECHO_Reci==1); CloseTimerForHc();//關閉定時器 t=GetEchoTimer();//獲取時間,分辨率為IUS lengthTemp=((float)t/58.0);//cm sum=lengthTemp+sum; } lengthTemp=sum/5.0; returnlengthTemp;}4.2.4GPS模塊設計目前,GPS定位技術已經足夠成熟,能夠滿足大部分人在室外對位置服務的要求,其定位精度高,覆蓋面積廣,通過衛星的星歷數據計算四顆衛星的坐標從而確定GPS接收設備的位置[16]。將ATGM336H模塊設置為GPS定位模式,通過GPS定位采集到的位置信息通過處理器,并上傳到數據庫,可以在手機上顯示智能回收箱的位置。GPS定位流程圖如圖4-5所示。地理環境位置地理環境位置ATGM336H模塊接收數據STM32F103C8T6核心控制面板位置顯示圖4-5GPS定位流程圖其主要核心代碼為:voiderrorLog(intnum){ while(1) { printf("ERROR%d\r\n",num); }}voidparseGpsBuffer(){ char*subString; char*subStringNext; chari=0; if(Save_Data.isGetData) { Save_Data.isGetData=false; for(i=0;i<=6;i++) { if(i==0) { if((subString=strstr(Save_Data.GPS_Buffer,","))==NULL) errorLog(1); //解析錯誤 } else { subString++; if((subStringNext=strstr(subString,","))!=NULL) { charusefullBuffer[2]; switch(i) { case1:memcpy(Save_Data.UTCTime,subString,subStringNext-subString);break; //獲取UTC時間 case2:memcpy(usefullBuffer,subString,subStringNext-subString);break; //獲取UTC時間 case3:memcpy(Save_Data.latitude,subString,subStringNext-subString);break; //獲取緯度信息 case4:memcpy(Save_Data.N_S,subString,subStringNext-subString);break; //獲取N/S case5:memcpy(Save_Data.longitude,subString,subStringNext-subString);break; //獲取經度信息 case6:memcpy(Save_Data.E_W,subString,subStringNext-subString);break; //獲取E/W default:break; } subString=subStringNext; Save_Data.isParseData=true; if(usefullBuffer[0]=='A') Save_Data.isUsefull=true; elseif(usefullBuffer[0]=='V') Save_Data.isUsefull=false; } else { errorLog(2); } } } }}4.2.54G無線模塊4G網絡使用通信分組無線服務技術,擁有高速率、寬帶傳輸、兼容性高等特點,在數據穩定傳輸性能上比較優良[17]。STM32采集到的數據信息通過4G通信將處理后的數據傳輸到互聯網的服務器上,4G物聯網模塊通信支持HTTPRESTAPI和MQTT協議。兩款協議主要特點的比較(見表4-2)。表4-2HTTP/RESTAPI和MQTT協議特點比較協議REST/HTTPMQTT抽象請求/響應發布/訂閱性能100req/s1000msg/sub服務質量(QoS)可靠性有限(通過TCP傳輸協議保證)3種(QoS0,QoS1,QoS2)報頭大小未定義2BHTTP/RESTAPI方式雖然可以支持向多個服務器轉發數據信息,但是傳輸到服務器的數據僅是單向的。MQTT協議實現方式如圖4-6所示。發布者發布者代理訂閱者發布信息推送消息訂閱消息圖4-6MQTT協議實現方式系統采用的MQTT協議基于TCP/IP協議棧而構架的,由于MQTT采用發布/訂閱模式,能夠實現物聯網在空間上松耦合和時間上松耦合以及同步松耦合[18]。4G模塊實現將數據發送的主要程序設計代碼:voidML302_TCPSend(uint8_t*data,uint8_tlen){printf("AT+MIPSEND=1,%d\r\n",len);delay_ms(300);printf("%s",data); delay_ms(300); strx=strstr((constchar*)RxBuffer,(constchar*)"1,SENDOK"); while(strx==NULL) { strx=strstr((constchar*)RxBuffer,(constchar*)"1,SENDOK"); }Clear_Buffer();}4.3Android端的設計隨著手機的出現,手機成為現代人們的生活中必不可少的一部分,同時,使用的時間也占據了人們每天的大部分時間。隨著Symbian、Windowphone等系統的衰落,Android和IOS系統迅速興起。目前,Android系統成為手機系統中占據使用率的最大部分,緊接其后的則是IOS系統。根據IDC今年發布的數據,可以看出Android在近年來各個手機系統中占據了很大市場份額,因此,Android應用開發成為了現代軟件開發中一個熱門的職業。Android的應用,目前已不僅僅使用在娛樂方面,現在有更多的Android開發人員往智能方面發展。其中,嵌入式便是其中一個熱受人們追捧的就業方向。智能化的設計,更大地便利了人們的生活。在智能回收小屋系統中,所使用的上位機便是Android客戶端,Android客戶端能夠實現遠距離地監測小屋內的環境情況。Android端主要的工作流程,如圖4-7所示。輸入IP和端口號輸入IP和端口號IP和端口號是否正確連接,創建線程連接線程獲取數據數據顯示結束開始NY圖4-7Android端的工作流程在Android端的設計中,其主要的技術核心是使用套接字Socket進行通信,使用線程接收下位機發送的數據,然后將其顯示在Android端相應的顯示位置上。通過Socket來連接上位機的代碼如下:voidML302_CreateTCPSokcet(void)//創建sokcet{ printf("AT+MIPMODE=0,1\r\n");//設置緩存模式 delay_ms(300); Clear_Buffer(); printf("AT+MIPOPEN=1,\"TCP\",\"70\",8094\r\n");//連接服務器,透傳模式接入delay_ms(300);strx=strstr((constchar*)RxBuffer,(constchar*)"CONNECT");//返回CONNECT,TCP可以判斷出是否有服務器存在while(strx==NULL){strx=strstr((constchar*)RxBuffer,(constchar*)"1,CONNECT");//返回CONNECT}Clear_Buffer(); }上位機共建立有5個界面,包括登錄界面、注冊界面、設備展示界面、設備列表、設備控制界面。Android端APP實現的結果平面圖,如圖4-8所示。圖4-8Android端APP實現的結果平面圖4.4數據庫的實現系統中需要數據庫4個數據表對數據進行存儲與查詢,數據表分別為用戶信息表、app控制信息表、設備控制信息表、環境監測數據信息表,在本小節中對這4個信息表的創建與數據類型說明進行介紹。4.4.1用戶信息表在IOT_love_home數據庫下,新建一個用戶信息表命名為user,可存儲五列數據,其用戶信息表的列名與數據類型如表4-3所示。表4-3用戶信息表列名數據類型允許Null值userName(用戶名)nchar(15)否passWord(密碼)nchar(15)否Sex(性別)nchar(15)否Email(郵箱)nchar(15)否telePhone(電話)nchar(15)否4.4.2app控制信息表在IOT_love_home數據庫下,新建一個用戶信息表命名為app_control,可存儲五列數據,其用戶信息表的列名與數據類型如表4-4所示。表4-4app控制信息表列名數據類型允許Null值humControl(濕度)nchar(15)否coControl(煙霧)nchar(15)否heightControl(高度)nchar(15)否hexControl(紫外線燈)nchar(15)否tempControl(溫度)nchar(15)否4.4.3設備控制信息表在IOT_love_home數據庫下,新建一個用戶信息表命名為control,可存儲十列數據,其用戶信息表的列名與數據類型如表4-5所示。表4-5設備控制信息表列名數據類型允許Null值IMEI(設備名)nchar(10)否Tempupper(溫度上限)nvarchar(MAX)是Templower(溫度下限)nvarchar(MAX)是Humupper(濕度上限)nvarchar(MAX)是Humlower(濕度下限)nvarchar(MAX)是Coupper(煙霧上限)nvarchar(MAX)是Colower(煙霧下限)nvarchar(MAX)是Heightupper(高度上限)nvarchar(MAX)是Heightlower(高度下限)nvarchar(MAX)是Hex(紫外線燈)nchar(10)否4.4.4環境監測數據信息表在IOT_love_home數據庫下,新建一個用戶信息表命名為equip,可存儲八列數據,其用戶信息表的列名與數據類型如表4-6所示。表4-6環境監測數據信息表列名數據類型允許Null值IMEInchar(10)否tempnvarchar(MAX)是humnvarchar(MAX)是convarchar(MAX)是heightnvarchar(MAX)是latnchar(10)否Ingnchar(10)否addressnvarchar(MAX)否recordTimenvarchar(MAX)否第五章系統的測試將系統的各個傳感器以及4G模塊結合在一起,為該系統的下位機端,實現在衣物回收箱內的環境檢測,同時可以通過屏幕上接收的數據,直接查看小屋的環境情況。系統的客戶端Android端通過通訊模塊接收下位機發出的數據,用戶可根據Android端接收到的數據,對小屋內的環境所處范圍做進一步的規范工作。5.1上位機整體功能測試5.1.1登錄功能測試啟動上位機應用程序首先進入登錄界面,當賬號或密碼文本框為空時,點擊登錄按鈕,彈出“用戶名和密碼不能為空”提示框(見圖5-1),當賬號或密碼其中一個輸入錯誤時,彈出“用戶名或密碼錯誤”提示框(見圖5-2),如若沒有賬號,可以單擊注冊按鈕,進入注冊界面。圖5-1賬號或用戶名為空圖5-2賬號或用戶名錯誤5.1.2注冊功能測試注冊界面從登錄界面中跳轉過來,注冊界面包括用戶名,密碼,性別,電話和郵箱,在注冊界面中輸入如圖5-3所示的內容,單擊注冊按鈕,如相關信息填寫正確,彈出“注冊成功!”提示框,并將用戶信息存儲到數據庫如圖5-4所示。圖5-3用戶信息注冊圖5-4數據庫用戶信息表5.1.3設備配置功能測試連接好下位機,打開軟件sscom51,點擊“打開串口”,顯示“CONNECTOK”則表示服務器連接成功,顯示“SENDOK”則表示數據發送成功,且單片機STM32F103上綠燈亮起,如圖5-5所示。圖5-5設備配置成功5.1.4數據查看功能測試進入數據庫,可以查看設備名稱,溫度,濕度,煙霧濃度,高度,經緯度,地址和記錄時間,數據以組包形式定時發送上傳到數據庫,如圖5-6所示。圖5-6數據庫查看界面5.2智能回收屋功能測試當上位機與下位機連接好時,會發送組包形式的數據到數據庫(見圖5-7),此時進入Android端程序。當小屋內溫度和濕度超過上限時,繼電器會發送指令,小風扇會自行打開;當溫度和濕度沒有達到上限時,小風扇會關閉(見圖5-8)。當小屋內煙霧濃度超過上限時,會向手機發送提示(見圖5-9);當小屋內高度超過上限時,程序主界面會變成警報的圖樣,同時向手機發送提示信息(見圖5-10)。圖5-7數據組包發送圖5-8小風扇開關命令圖5-9煙霧濃度超高提示圖5-10高度超高提示總結與展望6.1總結在此次課題《基于CAT1智能回收屋監測管理系統》的設計過程中,從課題的構思到系統的設計研究過程中,花費了大量的精力。尤其是在實現系統的通信技術方面,花費了較多的精力來實現上位機與下位機的通訊。系統主要的研究內容下位機數據采集,CAT1模塊通過無線通信技術將下位機采集到的數據傳輸到上位機

溫馨提示

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

評論

0/150

提交評論