張浩華, 張夢瑤, 趙小姝, 潘慶超, 馬世軍
(沈陽師范大學 物理科學與技術學院, 沈陽 110034)
隨著社會的進步已經工業的發展,環境問題受到人們的重視。因此能夠及時的了解到周圍環境的實時情況便成為了人們的迫切需求。環境的情況逐在物聯網高速發展的今天,為環境的實時監控提供了技術支持,人們可以通過無線網絡獲取自己周圍環境的實時信息。基于Arduino校園環境檢測智能設備利用現有相對較為成熟的傳感器技術和物聯網技術來獲取校園內的實時環境信息。
隨著人民生活獲得條件不斷進行優化提升,社會環境中使用的環境監測系統種類越來越多,越來越智能化現代化,隨之而來的是人們對于這些環境監測系統使用舒適度的要求也漸漸提升,同時也需要提供更高效的使用體驗和更便捷的操作方式。我們在對環境監控的同時對采集到進行大量的數據分析,能夠讓人們隨時隨地的對于自己身處的環境有一定的了解,同時進行一些措施保護自身身體健康。
最近幾年,專家學者針對實時環境監測系統有大量的研究與發現。但是在這些研究中很大一部分只是對單一的方面進行監測。本次設計的智能設備,在以往專家學者研究的基礎上加以改進,將Arduino智能控制板和Yeelink網絡加入到環境監測的設計中,令智能設備在檢測使用方面更加簡單。
本次設計通過各個硬件連接傳輸到Arduino UNO控制板,再對各個傳感器模塊以及Arduino UNO控制板進行系統的調試,最后將采集到的數據進行系統的分析,傳輸到Yeelink網絡平臺進行實時監控,讓學生通過平臺對校園周邊的環境有一定的了解。
設計基于Arduino UNO板,Arduino輸入端分別將溫濕度傳感器DHT11,灰塵傳感器DSM501A以及聲音傳感器采集到數據進行傳輸和處理,既能夠檢測到城市主要街道的溫濕度和灰塵污染程度,同時還能對街道的噪音情況加以監控。通過無線通信模塊連入智能控制板將傳感器采集到的實時數據上傳至Yeelink網絡平臺進行實時監控數據變化,與此同時能夠將保存到網絡平臺的數據進行分析和處理[1]。此外,將傳感器的設計進行模塊化處理,在發生故障時不需要全部的檢測,只需要逐一進行檢查排除故障,具有很強的實用性[2]。
Arduino UNO是基于Atmega328單片機的開源性的開發板,具有高度的模塊化。Arduino的主控板采用AVR單片機,把Atmega328編程為一個USB設備,核心設備是Atmega328的微控制器,具有32KB Flash,1KB EEPROM,14路數據I/O口(其中6路可作為PWM輸出)和6路模擬輸入口,具有多種的開發庫和常用傳感器測量的庫函數,簡化了開發步驟讓使用者使用起來更加方便,讓Arduino有更廣泛的應用價值[3]。圖2為Arduno控制板結構圖。

圖2 ArduinoUNO控制板結構圖Fig.2 Structure diagram of the arduinouno control panel
溫濕度傳感器具有能夠對周邊環境溫度以及濕度數據進行采集的功能,能夠靈敏的檢測出校園周邊環境的溫濕度變化,讓使用者能夠更好的對校園周邊環境的溫濕度變化有一定的了解,并能夠及時的做出增減衣物的反應。市面上很多種溫濕度傳感器,通過對比,本次環境監測系統設計采用 DHT11溫濕度傳感器,DHT11溫濕度傳感器具有數字模塊采集功能,有著高度的準確性和穩定性[4]。溫濕度傳感器在空氣中相對的檢測結果的范圍為20%RH~90%RH,精度為1%RH,濕度±5%RH, 溫度±2 ℃。溫濕度傳感器在2次數據的采集周期間隔不低于1 s 。傳感器具有反應靈敏,使用方便,數據采集傳輸距離遠等特點,能夠滿足智能設備的設計要求。圖3為溫濕度傳感器測量圖[5]。

圖3 溫濕度測量圖Fig.3 Temperature and humidity measurement circuit
灰塵傳感器能夠對周邊環境灰塵情況進行數據采集,能夠較為精確的檢測出校園周邊環境灰塵粒子的數量水平,以及環境中灰塵的數量變化,讓使用者對于環境中的灰塵數量級別有一定的了解。灰塵傳感器的種類眾多,我們選擇的是DSM501A傳感器,DSM501A能夠實現吸入空氣的功能,利用灰塵計數的原理,能夠檢測到灰塵的范圍為直徑為1 μm以上[6]。加入電阻在控制引腳1與GND,可調整粒子最小檢出水平(靈敏度),當所接入電阻值為100 kΩ時,Vout輸出為半敏感(2 μm以上);DSM501A灰塵傳感器通過PWM調制方式波形進行數據的輸出與顯示,通過低脈沖率來代表粒子的數量與灰塵粒子的水平,低脈沖率計算公式為:RT=Lt/Ut×100%。圖4為灰塵測量電路圖[7]。

圖4 灰塵測量電路圖Fig.4 Dust measurement circuit diagram
聲音傳感器的主要功能是對校園周邊所處的聲音環境進行實時的監控,噪音污染是一種看不見但是對人身心影響巨大的環境污染,以前人們只關注空氣中的灰塵污染,隨著人們的生活水平不斷提高人們對于所處環境的噪音污染越來越關注。聲音傳感器種類眾多我們選擇MIC聲音傳感器,MIC聲音傳感器是使用麥克風將周圍環境的聲音信號進行收集并檢測的傳感器,并且對于周圍環境產生的聲音有著高度的敏感性。通過對周圍環境聲音信號進行采集,同時利用內部具有的300倍放大器將信號進行放大處理[8]。輸出的模擬信號使用3.3 V和5 V為基準AD。當周圍環境的聲音強度到達閾值時,聲音傳感器輸出低電平,反之輸出高電平,并且用ArduinoUNO來顯示[9]。測量范圍:30~120 dB(A),頻率范圍:20 Hz~8 kHz。
無線通信模塊主要作用是將溫濕度傳感器,灰塵傳感器,聲音傳感器所采集到的數據信號進行網上的傳輸,傳輸到Yeelink網絡平臺,讓使用者能夠實時的了解到傳感器所采集到的數據。無線通訊模塊是一種搭載處理器的Arduino拓展模塊,能夠直接連接在Arduino控制板中,通過編譯對其進行控制。市面上無線通信模塊的種類有很多,設計采用了W5100tEhenetShield。W5100無線通信模塊是一種多功能的單片無線網絡接口芯片,內部集成以太網控制器,可以實現Internet連接,與IEEESO 2.3,10BASE一TX兼容。程序中加入Arduino官方庫Etherneth,利用Arduino板進行網絡模塊的初始化程序,在確保Arduino和無線通信模塊連接的同時,將其他傳感器收集到的信息進行傳送,并保存到Yeelink網絡平臺上,以便日后進行分析[10]。
Arduino編程語言是以C/C++語言為基礎,在此基礎上加以改良和完善。Arduino編程語言令系統的參數設置進行參數化,使使用者不需要深入學習到最底層。Arduino編寫語言需要包括setup和loop基礎的函數。setup函數是當系統上電或復位時運行的,一般情況下會用來進行初始化的設置和一次性的程序的設計。loop函數是Arduino編程語言開發的主要程序。系統在setup函數完成之后,就開始無限循環進行loop函數[11]。
Yeelink網絡平臺為家庭設備采集到的上傳數據提供統一的物聯網數據服務接口,對數據模塊信息存儲實行監測和預警。Yeelink網絡平臺能夠同時對數據進行接入以及對大量傳感器數據進行存儲,Yeelink網絡平臺能夠在本次設計中滿足存儲要求。同時,Yeelink網絡平臺能夠提供給用戶大量的存儲空間用于存儲傳感器數據,并且能夠滿足用戶的一系列要求并且在此基礎上進行一系列的動作[12]。
ArduinoUNO關鍵程序對服務器發送數據。定義函數sendData()向服務器發送數據。thisData存放傳感器數據,DEVICEID存放設備識別號,SENSORID存放傳感器識別號。定義server對象為http:api.yeelink.com[13]。
Void send Data(ints Data int DEVIEID.int ENSORID)
{
If(client.connect(server,80))
{
Serial println(″connecting″);
client.print(″POST v1.0 device″);
client.print(DEVICEID);
client.print(″sensor″);
client.print(SENSORID);
client.print(″datapoints″);
client.print(″Accept:*″);
client.println(″*″);
int this Length=10+get Length(this Data);
application x-www-form-urlencoded″);
client.println(″Connection:close″);
client.print({"{”value”·");
client.println("}");
}
clse{
Serial.Println("connection failed");
Serial.Println();
Client.Stop();
}
通過Arduino向Yeelink網絡平臺發送數據。

表1 Yeelink網絡平臺創建設備Tab.1 The Yeelink network platform creates devices

表2 通過yeelink網絡平臺創建傳感器Tab.2 The yeelink network platform creates sensors
Yeelink網絡平臺是一種數據上傳,處理以及存儲的網絡服務,對于Yeelink網絡平臺,本次設計中溫濕度傳感器,灰塵傳感器,聲音傳感器,采集到的數據通過Arduino控制板進行編譯處理,運用W5100無線通訊模塊將數據上傳至Yeelink網絡平臺。

圖5 yeelink網絡平臺監控圖像Fig.5 Monitoring image yeelink network platform
在對校園周邊環境檢測的系統設計中,使用了溫濕度傳感器模塊,灰塵傳感器模塊,聲音傳感器模塊,無線通信模塊,Arduino UNO控制板模塊以及Yeelink網絡平臺對所采集到的數據進行上傳存儲。本次設計主要通過Arduino UNO主控板對其他傳感器進行編譯和控制,使傳感器能夠在一定的范圍內進行對環境的實時監測和數據采集,通過無線傳輸模塊將采集到的數據傳輸到Yeelink網絡平臺讓使用者能夠了解自身所處的環境。
本次智能設備設計的特點是在傳統的傳感器檢測的系統上加入了網絡通信模塊[14],通過網絡通信模塊將數據上傳到Yeelink網絡平臺,而且利用多種傳感器同時進行檢測,對校園環境的監測提供了數據支持,能夠實時的反映出校園環境情況。本次設計還加入了網絡通信模塊,通過Yeelink網絡平臺實現了環境狀態的遠距離、實時監測,為環境監測者提供了方便[15]。圖5為yeelink網絡平臺監控圖像,橫坐標為時間縱坐標為溫度。
隨著人們生活水平的提高,對于周圍環境的要求也不斷的提高,在科技高速發展的今天,各種各樣的環境監測系統進入到我們的生活。在傳統的環境監測過程中,監測系統通常測量功能單一,并且需要長時間的測量,在使用方面需要人力的投入。當發生功能性問題是要對整個監測系統進行檢查,而且無法達到對檢測數據的上傳。本次設計是利用Arduino UNO控制板和智能傳感器結合物聯網技術設計出能夠實時監控校園環境的智能設備,能夠同時檢測多種指標,使監測者能夠掌握實施校園環境情況。此外設計將Arduino UNO 板與網絡模塊相連接,使用網絡模塊實現數據的傳送,利用Yeelink網絡平臺實現對周邊環境狀態遠距離的實時監控,減少了技術人員的投入。除此之外可以通過連入更多樣的傳感器進行拓展,使其具有更加多樣化的功能。對于本次設計,在檢測到各種數據的同時,能夠對采集到的數據進行分析與存儲,能夠讓使用者隨時隨地的對環境有一定的了解。