侯寶峰,楊臘梅,劉長(zhǎng)俊,王秀春
(中國(guó)人民解放軍理工大學(xué) 國(guó)防工程學(xué)院,江蘇 南京 210007)
基于樹莓派的水源地水質(zhì)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
侯寶峰,楊臘梅,劉長(zhǎng)俊,王秀春
(中國(guó)人民解放軍理工大學(xué) 國(guó)防工程學(xué)院,江蘇 南京210007)
針對(duì)供水水源地遠(yuǎn)離市區(qū)、水質(zhì)監(jiān)測(cè)取樣成本高等問(wèn)題,設(shè)計(jì)了傳感器+樹莓派+云服務(wù)器的水質(zhì)實(shí)時(shí)監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)了水廠工作人員遠(yuǎn)程對(duì)水源地水體重金屬、pH值、濁度等參數(shù)的監(jiān)測(cè),并可以在水體受到污染后提供郵箱報(bào)警功能,減小了突發(fā)事件出現(xiàn)的風(fēng)險(xiǎn)。
樹莓派;水質(zhì)監(jiān)測(cè);物聯(lián)網(wǎng);Yeelink
安全的飲水是人們生產(chǎn)和生活中必不可少的一部分,但隨著城鎮(zhèn)化進(jìn)程的加速,我國(guó)城市和郊區(qū)周邊的河流污染越來(lái)越嚴(yán)重,供水廠不得不從遠(yuǎn)離城市的河流上游取水,甚至跨區(qū)域調(diào)水[1]。對(duì)水源地水質(zhì)進(jìn)行有效的監(jiān)測(cè),不僅可以了解水源地水質(zhì)的特征,還可以為水廠處置突發(fā)污染情況預(yù)留充分的時(shí)間。但由于水源地遠(yuǎn)離市區(qū),且傳統(tǒng)的水質(zhì)監(jiān)測(cè)是在水源地進(jìn)行人工取樣,不能實(shí)時(shí)地對(duì)水質(zhì)進(jìn)行監(jiān)控,因此亟需提高水質(zhì)監(jiān)測(cè)的實(shí)時(shí)性[2]。
隨著傳感器技術(shù)、互聯(lián)網(wǎng)技術(shù)的發(fā)展,使水質(zhì)的實(shí)時(shí)遠(yuǎn)程監(jiān)測(cè)成為可能。PLC使用簡(jiǎn)單可靠,傳統(tǒng)的水質(zhì)監(jiān)測(cè)多采用PLC作為控制核心,但是PLC體積較大,數(shù)據(jù)共享組網(wǎng)成本較高[3]。為了克服這一缺點(diǎn),徐亞峰等人結(jié)合無(wú)線網(wǎng)絡(luò)和GPRS技術(shù)建立了遠(yuǎn)程水質(zhì)監(jiān)測(cè)系統(tǒng)[4-5],但其系統(tǒng)搭建較復(fù)雜,不適合大范圍使用。近年來(lái),樹莓派(Raspberry Pi,R Pi)由于其高性價(jià)比、多樣的接口類型在物聯(lián)網(wǎng)領(lǐng)域大量應(yīng)用,被稱為“卡片式計(jì)算機(jī)”[6]。因此本文將樹莓派應(yīng)用到水質(zhì)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)中,不僅可以提高系統(tǒng)的監(jiān)測(cè)控制能力,還可以減小系統(tǒng)建設(shè)的成本。
樹莓派最初是英國(guó)的Raspberry Pi基金會(huì)為幫助學(xué)校推廣計(jì)算機(jī)教育而開發(fā)的廉價(jià)設(shè)備,正是其低成本、小體積、接口豐富以及性能強(qiáng)大的特點(diǎn)使其迅速被應(yīng)用到物聯(lián)網(wǎng)等領(lǐng)域[7-8]。自2012年第一代樹莓派面世,現(xiàn)已更新到第三代,其銷量已經(jīng)超過(guò)一千萬(wàn)臺(tái)。樹莓派在物聯(lián)網(wǎng)上的應(yīng)用優(yōu)勢(shì)主要包括硬件和軟件兩方面。
樹莓派分為A、B兩個(gè)版本,相較于A版,B版內(nèi)置了互聯(lián)網(wǎng)接口以及USB接口,因此這里主要介紹B版,其硬件配置參數(shù)信息如表1所示。樹莓派設(shè)計(jì)之初是按照個(gè)人計(jì)算機(jī)所設(shè)計(jì),所以其擁有強(qiáng)大的運(yùn)算性能,再加上其價(jià)格便宜,因此得到了廣泛的關(guān)注和應(yīng)用。其豐富的接口類型為其在物聯(lián)網(wǎng)的應(yīng)用提供了便利,大量的GPIO針腳可以連接各種類型的傳感器,同時(shí)還內(nèi)置了音視頻接口、4 個(gè) USB 2.0 端口以及集成的WiFi和藍(lán)牙芯片,使其能夠輕松地接入互聯(lián)網(wǎng),降低了物聯(lián)網(wǎng)的組網(wǎng)門檻。
表1 第三代樹莓派B版主要性能參數(shù)表
樹莓派作為“開源硬件”,其操作系統(tǒng)版本已經(jīng)有幾十種。這款微型的計(jì)算機(jī)除了支持Linux發(fā)行版本和Windows 10物聯(lián)網(wǎng)版本,其Android操作版本也已經(jīng)開發(fā)。而在官方推薦的基于Linux的Raspbian操作系統(tǒng)中其擁有的軟件包的數(shù)量已經(jīng)超過(guò)35萬(wàn),并在不斷地增加。同時(shí)其支持多種編譯語(yǔ)言,包括Python、Java、C等被廣泛應(yīng)用的語(yǔ)言,這為軟件包的開發(fā)提供了很大的便利[9-10]。
基于樹莓派的水源地水質(zhì)監(jiān)測(cè)系統(tǒng)依據(jù)物聯(lián)網(wǎng)架構(gòu)設(shè)計(jì),采用面向?qū)ο蟮姆治龊驮O(shè)計(jì)方法。系統(tǒng)主要分為傳感器、樹莓派、云服務(wù)器三部分。傳感器負(fù)責(zé)實(shí)時(shí)采集水質(zhì)參數(shù),并將數(shù)據(jù)返回到樹莓派中。樹莓派負(fù)責(zé)指令的收發(fā)、處理,并將采集的數(shù)據(jù)收集處理后推送到云服務(wù)器,同時(shí)接收來(lái)自云服務(wù)器的指令,對(duì)傳感器進(jìn)行相應(yīng)的控制。云服務(wù)器負(fù)責(zé)將數(shù)據(jù)進(jìn)行存儲(chǔ)展示,并根據(jù)獲得的水質(zhì)參數(shù)與預(yù)先設(shè)定的閾值進(jìn)行比較,當(dāng)超過(guò)閾值時(shí),云服務(wù)器向預(yù)設(shè)賬戶發(fā)送郵件進(jìn)行提醒。云服務(wù)器使用免費(fèi)的Yeelink平臺(tái)[11],水廠工作人員可以隨時(shí)隨地通過(guò)登錄手機(jī)客戶端、瀏覽器網(wǎng)頁(yè)對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行訪問(wèn)。樹莓派與傳感器等監(jiān)測(cè)系統(tǒng)采用太陽(yáng)能+蓄電池方式進(jìn)行供電,通過(guò)內(nèi)置的的USB接口,安裝免驅(qū)動(dòng)的150 Mb/s的EDUP無(wú)線網(wǎng)卡,接入互聯(lián)網(wǎng)。從而構(gòu)成了一套由傳感器+樹莓派+云服務(wù)器的水質(zhì)監(jiān)測(cè)平臺(tái)。系統(tǒng)的總體結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
河流水質(zhì)監(jiān)測(cè)指標(biāo)除溫度、pH、溶解氧的含量DO、濁度等傳統(tǒng)水質(zhì)參數(shù),還包括還原性有機(jī)物COD、重金屬等有毒污染類指標(biāo)。其傳感器類型如下:
(1)水體溫度的測(cè)量采用接觸式熱電偶傳感器,相比非接觸遙感測(cè)溫具有較好的精度,且對(duì)使用環(huán)境要求不高。
(2)水體pH反映水體的酸堿性,通過(guò)pH電極傳感器(T255 或T335 pH傳感器)可以精確地測(cè)定水中的氫離子濃度。
(3)溶解氧的含量DO在水體中保持恒定,只有當(dāng)水體發(fā)生惡化時(shí)才發(fā)生改變,比如發(fā)生富營(yíng)養(yǎng)化時(shí),水中的DO含量會(huì)降低,因此通過(guò)氧敏感膜電極傳感器對(duì)水體的DO含量進(jìn)行測(cè)定,可以對(duì)水體的水質(zhì)變化進(jìn)行監(jiān)測(cè)。
(4)水體濁度的監(jiān)測(cè),采用光學(xué)測(cè)量法的(WQ750)濁度傳感器,具有較高精度。
圖2 光纖重金屬傳感器測(cè)定原理
(5)COD、重金屬用來(lái)指示水體的污染情況,主要包括農(nóng)藥、鎘等有毒污染物,這些有毒物可以通過(guò)光纖化學(xué)傳感器來(lái)測(cè)定[12]。光纖化學(xué)傳感器主要由光源、傳感探頭、光纖構(gòu)成,其原理如圖2所示。利用重金屬和不飽和芳香烴在特定波長(zhǎng)下會(huì)產(chǎn)生相應(yīng)的吸收峰特性,將光源產(chǎn)生的光經(jīng)過(guò)光纖傳遞到傳感探頭與被測(cè)物質(zhì)發(fā)生作用,然后對(duì)吸收后光波進(jìn)行分析即可測(cè)出相應(yīng)污染物的濃度。
上述傳感器均可以直接與樹莓派自帶的GPIO接口連接,實(shí)現(xiàn)傳感器與樹莓派之間的信息交換。除上述傳感器外,還將利用樹莓派自帶的視頻接口連接一攝像頭,實(shí)時(shí)采集水面情況。
Raspbian系統(tǒng)專為樹莓派打造,并對(duì)樹莓派的硬件做了優(yōu)化,因此使用基于Linux的Raspbian操作系統(tǒng),并利用其中的Rpi.GPIO Python庫(kù)對(duì)各類傳感器設(shè)備進(jìn)行訪問(wèn);樹莓派與傳感器之間采用請(qǐng)求/應(yīng)答方式的通信協(xié)議,樹莓派通過(guò)GPIO接口向傳感器發(fā)出請(qǐng)求數(shù)據(jù)命令,傳感器返回測(cè)量值。樹莓派支持?jǐn)?shù)據(jù)自動(dòng)定時(shí)采集和命令采集兩種模式,自動(dòng)采集周期可以進(jìn)行設(shè)定,樹莓派最多可同時(shí)支持32臺(tái)不同類型的傳感器進(jìn)行數(shù)據(jù)采集。
以溫度傳感器為例,解釋其與樹莓派GPIO接口的連接。將傳感器的2號(hào)數(shù)據(jù)針腳與樹莓派GPIO針腳相連以進(jìn)行數(shù)據(jù)傳輸;1號(hào)供電針腳與樹莓派正極供電針腳連接;4號(hào)針腳連接樹莓派GND針腳,作為地線。連接成功后,輸入代碼查看是否連接成功,代碼如表2所示。結(jié)果中出現(xiàn)的12-00000554cb65為外接的溫度傳感器設(shè)備編號(hào),表明連接成功。
表2 傳感器連接校驗(yàn)代碼
Yeelink是一個(gè)免費(fèi)的通用物聯(lián)網(wǎng)平臺(tái),能夠同時(shí)完成海量的傳感器數(shù)據(jù)接入和存儲(chǔ)任務(wù),并提供數(shù)據(jù)分析和報(bào)警功能,使得硬件和制造業(yè)者能夠在不關(guān)心服務(wù)器實(shí)現(xiàn)細(xì)節(jié)和運(yùn)維的情況下,隨時(shí)通過(guò)計(jì)算機(jī)或手機(jī)訪問(wèn)Yeelink服務(wù)器實(shí)現(xiàn)對(duì)設(shè)備運(yùn)行數(shù)據(jù)的監(jiān)測(cè)。
具體操作如下:注冊(cè)Yeelink,進(jìn)入用戶中心,獲取API Key,API Key用來(lái)授權(quán)用戶對(duì)設(shè)備、傳感器、 數(shù)據(jù)等的操作。然后將樹莓派添加進(jìn)設(shè)備欄,并添加相應(yīng)的傳感器,對(duì)傳感器類型、參數(shù)報(bào)警閾值、數(shù)據(jù)采集時(shí)間、報(bào)警方式(郵箱推送)進(jìn)行設(shè)定保存。
樹莓派從傳感器獲取的水質(zhì)參數(shù)數(shù)據(jù)儲(chǔ)存在/home/pi/下,要將樹莓派的數(shù)據(jù)傳送到Y(jié)eelink服務(wù)器,通過(guò)下面三個(gè)步驟實(shí)現(xiàn):
第一步:利用Python,將溫度值用JSON格式保存到一個(gè)文本文件/home/pi/datafile.txt。
第二步:在文件位置:/home/pi/yeelink.sh新增yeelink.sh腳本。將URL替換為自己申請(qǐng)的傳感器URL,并將U-API Key替換為自已賬戶的API Key(即通過(guò)用戶中心查看獲得)。
第三步:添加數(shù)據(jù)采集計(jì)劃任務(wù),執(zhí)行腳本文件,設(shè)定采集周期為10 min。
參考Yeelink平臺(tái)的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
第三步 添加到計(jì)劃任務(wù)
1sudo chmod +x yeelink.sh(為腳本增加可執(zhí)行權(quán)限)
2sudo crontab-e(將腳本加入cronjob計(jì)劃任務(wù))
3*/10 * * * */home/pi/yeelink.sh(數(shù)字10表示10分鐘執(zhí)行一下腳本,時(shí)間可自行修改)
完成上述操作后,即可實(shí)現(xiàn)樹莓派與Yeelink數(shù)據(jù)之間的傳輸。
本文基于傳感器+樹莓派+云服務(wù)器的方案設(shè)計(jì)實(shí)現(xiàn)了遠(yuǎn)程水源地水質(zhì)實(shí)時(shí)在線監(jiān)測(cè)系統(tǒng),可根據(jù)水質(zhì)的變化提供報(bào)警功能。水廠工作人員可隨時(shí)隨地通過(guò)瀏覽器或手機(jī)客戶端訪問(wèn)Yeelink服務(wù)器,查看監(jiān)測(cè)數(shù)據(jù),然后根據(jù)水源地水質(zhì)的變化確定相應(yīng)的水處理方案。Yeelink還提供水質(zhì)污染郵箱報(bào)警功能,大大了減小出現(xiàn)突發(fā)事故的風(fēng)險(xiǎn)?;跇漭傻谋O(jiān)測(cè)系統(tǒng)設(shè)計(jì)簡(jiǎn)單、組網(wǎng)靈活、成本低廉、功耗和發(fā)熱極低,更適于野外環(huán)境使用,采用開源Linux 操作系統(tǒng),可根據(jù)實(shí)際需要開發(fā)其他功能模塊,因此具有良好的擴(kuò)展性和實(shí)用價(jià)值。
[1] 莫莉,陳麗華. 地表水水質(zhì)監(jiān)測(cè)指標(biāo)體系現(xiàn)狀綜述[J]. 南昌工程學(xué)院學(xué)報(bào),2014,33(4):71-73.
[2] 陸璐. 地表水水質(zhì)監(jiān)測(cè)指標(biāo)體系現(xiàn)狀綜述和總結(jié)[J]. 河南水利與南水北調(diào),2015(19):62-64.
[3] 張偉,戴建坤,許春蓮,等.基于PLC的在線水質(zhì)監(jiān)測(cè)系統(tǒng)[J].化工自動(dòng)化及儀表,2014(5):501-505.
[4] 樊杰,郭勇. 基于物聯(lián)網(wǎng)技術(shù)的成都沙河水質(zhì)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 物聯(lián)網(wǎng)技術(shù),2013(6):16-19.
[5] 劉捷,官洪運(yùn),王志亮. 基于GPRS的在線水質(zhì)監(jiān)測(cè)系統(tǒng)的研究[J]. 微型機(jī)與應(yīng)用,2010,29(20):29-32.
[6] 靳祺楨. 芻議樹莓派在物聯(lián)網(wǎng)技術(shù)中的應(yīng)用[J]. 電子技術(shù)與軟件工程,2016(11):19.
[7] 郝林煒,梁穎. 基于樹莓派+云服務(wù)器的網(wǎng)絡(luò)監(jiān)控及家居控制系統(tǒng)的研究與實(shí)際應(yīng)用[J]. 物聯(lián)網(wǎng)技術(shù),2016,6(9):45-47.
[8] 唐俊,蔣健,謝申喜,等. 基于樹莓派的能耗數(shù)據(jù)采集網(wǎng)關(guān)設(shè)計(jì)[J]. 測(cè)控技術(shù),2017,36(3):98-100.
[9] 陶曉玲,伍欣,亢蕊楠. 基于樹莓派的隱蔽式滲透測(cè)試方法[J]. 電子技術(shù)應(yīng)用,2016,42(6):94-97.
[10] 呂海東,陸永林. 異步響應(yīng)式集群實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用,2016,42(2):74-77.
[11] 余佳賓,陽(yáng)泳,鄒陸華,等. 基于yeelink網(wǎng)絡(luò)平臺(tái)的智能農(nóng)業(yè)遠(yuǎn)程控制[J]. 電子技術(shù)與軟件工程,2015(1):18.
[12] 徐艷平,顧錚先,陳家璧. 光化學(xué)傳感器及其最新進(jìn)展[J]. 光學(xué)儀器,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
侯寶峰,楊臘梅,劉長(zhǎng)俊,等.基于樹莓派的水源地水質(zhì)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)J.微型機(jī)與應(yīng)用,2017,36(24):92-94.
2017-06-30)
侯寶峰(1992-),男,碩士研究生,主要研究方向:水環(huán)境監(jiān)測(cè)。
楊臘梅(1963-),女,碩士生導(dǎo)師,副教授,主要研究方向:水處理理論與技術(shù)
劉長(zhǎng)俊(1993-),男,碩士研究生,主要研究方向:地下工程通風(fēng)空調(diào)節(jié)能技術(shù)。