侯寶峰,楊臘梅,劉長俊,王秀春
(中國人民解放軍理工大學 國防工程學院,江蘇 南京 210007)
基于樹莓派的水源地水質監測系統設計
侯寶峰,楊臘梅,劉長俊,王秀春
(中國人民解放軍理工大學 國防工程學院,江蘇 南京210007)
針對供水水源地遠離市區、水質監測取樣成本高等問題,設計了傳感器+樹莓派+云服務器的水質實時監測系統,實現了水廠工作人員遠程對水源地水體重金屬、pH值、濁度等參數的監測,并可以在水體受到污染后提供郵箱報警功能,減小了突發事件出現的風險。
樹莓派;水質監測;物聯網;Yeelink
安全的飲水是人們生產和生活中必不可少的一部分,但隨著城鎮化進程的加速,我國城市和郊區周邊的河流污染越來越嚴重,供水廠不得不從遠離城市的河流上游取水,甚至跨區域調水[1]。對水源地水質進行有效的監測,不僅可以了解水源地水質的特征,還可以為水廠處置突發污染情況預留充分的時間。但由于水源地遠離市區,且傳統的水質監測是在水源地進行人工取樣,不能實時地對水質進行監控,因此亟需提高水質監測的實時性[2]。
隨著傳感器技術、互聯網技術的發展,使水質的實時遠程監測成為可能。PLC使用簡單可靠,傳統的水質監測多采用PLC作為控制核心,但是PLC體積較大,數據共享組網成本較高[3]。為了克服這一缺點,徐亞峰等人結合無線網絡和GPRS技術建立了遠程水質監測系統[4-5],但其系統搭建較復雜,不適合大范圍使用。近年來,樹莓派(Raspberry Pi,R Pi)由于其高性價比、多樣的接口類型在物聯網領域大量應用,被稱為“卡片式計算機”[6]。因此本文將樹莓派應用到水質遠程監測系統中,不僅可以提高系統的監測控制能力,還可以減小系統建設的成本。
樹莓派最初是英國的Raspberry Pi基金會為幫助學校推廣計算機教育而開發的廉價設備,正是其低成本、小體積、接口豐富以及性能強大的特點使其迅速被應用到物聯網等領域[7-8]。自2012年第一代樹莓派面世,現已更新到第三代,其銷量已經超過一千萬臺。樹莓派在物聯網上的應用優勢主要包括硬件和軟件兩方面。
樹莓派分為A、B兩個版本,相較于A版,B版內置了互聯網接口以及USB接口,因此這里主要介紹B版,其硬件配置參數信息如表1所示。樹莓派設計之初是按照個人計算機所設計,所以其擁有強大的運算性能,再加上其價格便宜,因此得到了廣泛的關注和應用。其豐富的接口類型為其在物聯網的應用提供了便利,大量的GPIO針腳可以連接各種類型的傳感器,同時還內置了音視頻接口、4 個 USB 2.0 端口以及集成的WiFi和藍牙芯片,使其能夠輕松地接入互聯網,降低了物聯網的組網門檻。

表1 第三代樹莓派B版主要性能參數表
樹莓派作為“開源硬件”,其操作系統版本已經有幾十種。這款微型的計算機除了支持Linux發行版本和Windows 10物聯網版本,其Android操作版本也已經開發。而在官方推薦的基于Linux的Raspbian操作系統中其擁有的軟件包的數量已經超過35萬,并在不斷地增加。同時其支持多種編譯語言,包括Python、Java、C等被廣泛應用的語言,這為軟件包的開發提供了很大的便利[9-10]。
基于樹莓派的水源地水質監測系統依據物聯網架構設計,采用面向對象的分析和設計方法。系統主要分為傳感器、樹莓派、云服務器三部分。傳感器負責實時采集水質參數,并將數據返回到樹莓派中。樹莓派負責指令的收發、處理,并將采集的數據收集處理后推送到云服務器,同時接收來自云服務器的指令,對傳感器進行相應的控制。云服務器負責將數據進行存儲展示,并根據獲得的水質參數與預先設定的閾值進行比較,當超過閾值時,云服務器向預設賬戶發送郵件進行提醒。云服務器使用免費的Yeelink平臺[11],水廠工作人員可以隨時隨地通過登錄手機客戶端、瀏覽器網頁對監測數據進行訪問。樹莓派與傳感器等監測系統采用太陽能+蓄電池方式進行供電,通過內置的的USB接口,安裝免驅動的150 Mb/s的EDUP無線網卡,接入互聯網。從而構成了一套由傳感器+樹莓派+云服務器的水質監測平臺。系統的總體結構圖如圖1所示。

圖1 系統總體結構圖
河流水質監測指標除溫度、pH、溶解氧的含量DO、濁度等傳統水質參數,還包括還原性有機物COD、重金屬等有毒污染類指標。其傳感器類型如下:
(1)水體溫度的測量采用接觸式熱電偶傳感器,相比非接觸遙感測溫具有較好的精度,且對使用環境要求不高。
(2)水體pH反映水體的酸堿性,通過pH電極傳感器(T255 或T335 pH傳感器)可以精確地測定水中的氫離子濃度。
(3)溶解氧的含量DO在水體中保持恒定,只有當水體發生惡化時才發生改變,比如發生富營養化時,水中的DO含量會降低,因此通過氧敏感膜電極傳感器對水體的DO含量進行測定,可以對水體的水質變化進行監測。
(4)水體濁度的監測,采用光學測量法的(WQ750)濁度傳感器,具有較高精度。

圖2 光纖重金屬傳感器測定原理
(5)COD、重金屬用來指示水體的污染情況,主要包括農藥、鎘等有毒污染物,這些有毒物可以通過光纖化學傳感器來測定[12]。光纖化學傳感器主要由光源、傳感探頭、光纖構成,其原理如圖2所示。利用重金屬和不飽和芳香烴在特定波長下會產生相應的吸收峰特性,將光源產生的光經過光纖傳遞到傳感探頭與被測物質發生作用,然后對吸收后光波進行分析即可測出相應污染物的濃度。
上述傳感器均可以直接與樹莓派自帶的GPIO接口連接,實現傳感器與樹莓派之間的信息交換。除上述傳感器外,還將利用樹莓派自帶的視頻接口連接一攝像頭,實時采集水面情況。
Raspbian系統專為樹莓派打造,并對樹莓派的硬件做了優化,因此使用基于Linux的Raspbian操作系統,并利用其中的Rpi.GPIO Python庫對各類傳感器設備進行訪問;樹莓派與傳感器之間采用請求/應答方式的通信協議,樹莓派通過GPIO接口向傳感器發出請求數據命令,傳感器返回測量值。樹莓派支持數據自動定時采集和命令采集兩種模式,自動采集周期可以進行設定,樹莓派最多可同時支持32臺不同類型的傳感器進行數據采集。
以溫度傳感器為例,解釋其與樹莓派GPIO接口的連接。將傳感器的2號數據針腳與樹莓派GPIO針腳相連以進行數據傳輸;1號供電針腳與樹莓派正極供電針腳連接;4號針腳連接樹莓派GND針腳,作為地線。連接成功后,輸入代碼查看是否連接成功,代碼如表2所示。結果中出現的12-00000554cb65為外接的溫度傳感器設備編號,表明連接成功。

表2 傳感器連接校驗代碼
Yeelink是一個免費的通用物聯網平臺,能夠同時完成海量的傳感器數據接入和存儲任務,并提供數據分析和報警功能,使得硬件和制造業者能夠在不關心服務器實現細節和運維的情況下,隨時通過計算機或手機訪問Yeelink服務器實現對設備運行數據的監測。
具體操作如下:注冊Yeelink,進入用戶中心,獲取API Key,API Key用來授權用戶對設備、傳感器、 數據等的操作。然后將樹莓派添加進設備欄,并添加相應的傳感器,對傳感器類型、參數報警閾值、數據采集時間、報警方式(郵箱推送)進行設定保存。
樹莓派從傳感器獲取的水質參數數據儲存在/home/pi/下,要將樹莓派的數據傳送到Yeelink服務器,通過下面三個步驟實現:
第一步:利用Python,將溫度值用JSON格式保存到一個文本文件/home/pi/datafile.txt。
第二步:在文件位置:/home/pi/yeelink.sh新增yeelink.sh腳本。將URL替換為自己申請的傳感器URL,并將U-API Key替換為自已賬戶的API Key(即通過用戶中心查看獲得)。
第三步:添加數據采集計劃任務,執行腳本文件,設定采集周期為10 min。
參考Yeelink平臺的API文檔,主要代碼如下:
第一步用Python將溫度值寫入 /home/pi/datafile.txt
1#/home/pi/temperature.py
2tfile= open("/sys/bus/w1/devices/28-00000494cb79/w1_slave")
3text= tfile.read()
4tfile.close()
5secondline= text.split(" ")[1]
6temperaturedata= secondline.split(" ")[9]
7temperature= float(temperaturedata[2:])
8temperature= temperature/ 1000
9res= '{"value":%f}' %temperature
10output= open('/home/pi/datafile.txt','w')
11output.write(res)
12output.close
第二步 新增yeelink.sh腳本
1sudo python/home/pi/temperature.py
2curl--request POST --data-binary @"/home/pi/datafile.txt" --header"
U-ApiKey:XXXXXXXXXXXXXXXX"
http://api.yeelink.net/v1.0/device/1969/sensor/2533/datapoints
第三步 添加到計劃任務
1sudo chmod +x yeelink.sh(為腳本增加可執行權限)
2sudo crontab-e(將腳本加入cronjob計劃任務)
3*/10 * * * */home/pi/yeelink.sh(數字10表示10分鐘執行一下腳本,時間可自行修改)
完成上述操作后,即可實現樹莓派與Yeelink數據之間的傳輸。
本文基于傳感器+樹莓派+云服務器的方案設計實現了遠程水源地水質實時在線監測系統,可根據水質的變化提供報警功能。水廠工作人員可隨時隨地通過瀏覽器或手機客戶端訪問Yeelink服務器,查看監測數據,然后根據水源地水質的變化確定相應的水處理方案。Yeelink還提供水質污染郵箱報警功能,大大了減小出現突發事故的風險。基于樹莓派的監測系統設計簡單、組網靈活、成本低廉、功耗和發熱極低,更適于野外環境使用,采用開源Linux 操作系統,可根據實際需要開發其他功能模塊,因此具有良好的擴展性和實用價值。
[1] 莫莉,陳麗華. 地表水水質監測指標體系現狀綜述[J]. 南昌工程學院學報,2014,33(4):71-73.
[2] 陸璐. 地表水水質監測指標體系現狀綜述和總結[J]. 河南水利與南水北調,2015(19):62-64.
[3] 張偉,戴建坤,許春蓮,等.基于PLC的在線水質監測系統[J].化工自動化及儀表,2014(5):501-505.
[4] 樊杰,郭勇. 基于物聯網技術的成都沙河水質實時監測系統設計[J]. 物聯網技術,2013(6):16-19.
[5] 劉捷,官洪運,王志亮. 基于GPRS的在線水質監測系統的研究[J]. 微型機與應用,2010,29(20):29-32.
[6] 靳祺楨. 芻議樹莓派在物聯網技術中的應用[J]. 電子技術與軟件工程,2016(11):19.
[7] 郝林煒,梁穎. 基于樹莓派+云服務器的網絡監控及家居控制系統的研究與實際應用[J]. 物聯網技術,2016,6(9):45-47.
[8] 唐俊,蔣健,謝申喜,等. 基于樹莓派的能耗數據采集網關設計[J]. 測控技術,2017,36(3):98-100.
[9] 陶曉玲,伍欣,亢蕊楠. 基于樹莓派的隱蔽式滲透測試方法[J]. 電子技術應用,2016,42(6):94-97.
[10] 呂海東,陸永林. 異步響應式集群實時監控系統設計[J]. 電子技術應用,2016,42(2):74-77.
[11] 余佳賓,陽泳,鄒陸華,等. 基于yeelink網絡平臺的智能農業遠程控制[J]. 電子技術與軟件工程,2015(1):18.
[12] 徐艷平,顧錚先,陳家璧. 光化學傳感器及其最新進展[J]. 光學儀器,2004,26(4):57-61.
Control system for parameter water quality monitor based on Raspberry Pi in the water source
Hou Baofeng,Yang Lamei,Liu Changjun,Wang Xiuchun
(National Defense Engineering College,PLA University of Science and Technology,Nanjing 210007,China)
Aiming at the problems that the water source is far away from the urban area and it has high cost for water quality monitoring and sampling,the water quality real-time monitoring system of the sensor+Raspberry Pi+Cloud server is designed to monitor the parameters of water such as the heavy metal,pH value,turbidity and so on. And the mailbox alarm function is provided if the water is polluted,reducing the risk of emergencies.
Raspberry Pi; water quality monitoring; Internet of Things; Yeelink
P273
A
10.19358/j.issn.1674-7720.2017.24.026
侯寶峰,楊臘梅,劉長俊,等.基于樹莓派的水源地水質監測系統設計J.微型機與應用,2017,36(24):92-94.
2017-06-30)
侯寶峰(1992-),男,碩士研究生,主要研究方向:水環境監測。
楊臘梅(1963-),女,碩士生導師,副教授,主要研究方向:水處理理論與技術
劉長俊(1993-),男,碩士研究生,主要研究方向:地下工程通風空調節能技術。