• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于嵌入式和Web技術(shù)的智慧循環(huán)水處理系統(tǒng)設(shè)計與實現(xiàn)

      2022-07-29 14:12:30王自強
      計算機時代 2022年7期
      關(guān)鍵詞:頁面水質(zhì)傳感器

      王自強

      (上海理工大學(xué)機械工程學(xué)院,上海 200093)

      0 引言

      近年來,水處理問題已經(jīng)成為我國環(huán)保領(lǐng)域的熱點問題之一。目前很多位于二三線城市的水處理企業(yè)仍然采用傳統(tǒng)的工作模式,工人師傅需要每天定時定點進行水質(zhì)檢測、開泵加藥、設(shè)備維護等工作,由此造成了企業(yè)管理成本高、工作效率低等問題。

      為了解決上述問題,筆者針對江蘇某水處理企業(yè)設(shè)計了一套循環(huán)水處理系統(tǒng)。該系統(tǒng)采用Quartz實現(xiàn)設(shè)備定時任務(wù)的調(diào)度,采用Websocket 實現(xiàn)設(shè)備遠程控制和實時數(shù)據(jù)的傳輸,采用ActiveMQ 實現(xiàn)本地應(yīng)用間的異步通信。另外,本系統(tǒng)主要以React 作為Web 前端開發(fā)框架,后臺部分主要使用Django 框架進行搭建,使用MySQL 和InfluxDB 數(shù)據(jù)庫進行數(shù)據(jù)持久化,使用Qt框架進行人機交互界面的開發(fā),實現(xiàn)了設(shè)備定時控制、水質(zhì)數(shù)據(jù)實時監(jiān)測、水質(zhì)數(shù)據(jù)圖表化、水質(zhì)異常警告等功能。測試與應(yīng)用結(jié)果表明,反饋效果較好。

      1 需求分析

      1.1 核心需求分析

      通過與企業(yè)管理人員和工人代表的交流討論,以及在企業(yè)生產(chǎn)實地進行走訪調(diào)研后,將企業(yè)訴求總結(jié)為水質(zhì)監(jiān)測、設(shè)備控制和設(shè)備監(jiān)控三大核心需求,具體需求詳情如圖1所示。

      圖1 用例圖

      1.2 其他需求分析

      為了降低企業(yè)及企業(yè)下屬客戶的管理成本,提高用戶在使用本系統(tǒng)過程中的可靠性和安全性,將管理和安全需求總結(jié)為:固定資產(chǎn)管理、賬戶管理和權(quán)限配置三個部分,需求說明如表1所示。

      表1 管理和安全需求說明

      2 系統(tǒng)模塊設(shè)計

      根據(jù)前述六大需求,筆者將系統(tǒng)分為運維、基本信息、固定資產(chǎn)、賬戶與權(quán)限四大模塊進行模塊化設(shè)計。下面,針對于這四大模塊進行介紹。

      2.1 運維模塊

      運維模塊主要由設(shè)備監(jiān)控、設(shè)備控制、設(shè)備維護以及水質(zhì)監(jiān)測四大子模塊組成,如圖2所示。

      圖2 運維模塊圖

      如圖3 所示,區(qū)別于之前工人需要去設(shè)備上挨個讀取水質(zhì)數(shù)據(jù),用戶在設(shè)備詳情頁面就可以輕松讀取到當(dāng)前的實時水質(zhì)數(shù)據(jù)。通過選擇設(shè)備上已配置的傳感器,就可以將所選時間段內(nèi)的傳感器數(shù)據(jù)以圖表的形式在頁面上顯示,也可以將所選時段的數(shù)據(jù)以Excel文件的形式下載到本地。另外,當(dāng)水質(zhì)數(shù)據(jù)超過閾值時,系統(tǒng)會以水質(zhì)警告的方式在頁面和設(shè)備上對用戶給予提醒。

      圖3 設(shè)備詳情頁面

      設(shè)備控制模塊是本系統(tǒng)的重要子模塊之一,它主要包含設(shè)備遠程控制和設(shè)備操作日志查看兩大功能。用戶在進入設(shè)備詳情頁面后,可以在頁面上遠程控制設(shè)備,也可以配置定時任務(wù),實現(xiàn)設(shè)備的自動化運行。另外,通過頁面上的設(shè)備使用日志選項,設(shè)備負責(zé)人可以清楚地看到設(shè)備操作歷史和配置人,方便檢查工作執(zhí)行情況,以及意外情況下的責(zé)任追查。

      2.2 基本信息模塊

      基本信息模塊主要由客戶信息和設(shè)備信息兩大子模塊組成??蛻粜畔⒛K主要用于對購買或租用企業(yè)設(shè)備的客戶信息進行維護,企業(yè)可以在基本信息模塊下的客戶信息頁面對客戶信息進行維護。設(shè)備信息模塊主要用于對企業(yè)設(shè)備的管理,主要包含設(shè)備信息查看、設(shè)備調(diào)撥和設(shè)備報廢等功能。

      2.3 固定資產(chǎn)模塊

      固定資產(chǎn)模塊主要用于對企業(yè)設(shè)備的配置、調(diào)撥及報廢流程進行跟蹤與記錄,能夠讓企業(yè)對其所擁有的設(shè)備資產(chǎn)現(xiàn)狀有直觀的了解。用戶可以在頁面?zhèn)冗厵诘墓潭ㄙY產(chǎn)模塊下選擇查看設(shè)備的配置、調(diào)撥和報廢記錄。

      2.4 賬戶與權(quán)限模塊

      賬戶與權(quán)限模塊主要分為賬戶管理和角色權(quán)限兩個子模塊。賬戶管理模塊主要包含賬戶創(chuàng)建、賬戶信息維護以及賬戶權(quán)限配置三大功能。系統(tǒng)管理員可以在賬戶管理頁面為不同職位的員工選擇對應(yīng)的角色并創(chuàng)建對應(yīng)的賬號,也可以為已有賬號進行信息更新和角色更換,實現(xiàn)了賬號權(quán)限可配置。角色權(quán)限模塊主要服務(wù)于企業(yè)管理員,管理員可以通過該模塊創(chuàng)建不同的角色,并給不同的角色配置不同的權(quán)限。

      3 軟件系統(tǒng)功能實現(xiàn)

      3.1 網(wǎng)頁前端實現(xiàn)

      系統(tǒng)的網(wǎng)頁前端部分主要使用React 框架進行搭建,React 框架通過虛擬DOM 技術(shù)的使用,減少與DOM之間的交互,具有速度快、性能好等優(yōu)點。同時,虛擬DOM 技術(shù)能夠有效解決跨瀏覽兼容問題,開發(fā)人員在開發(fā)過程中可以使用模塊化的UI 組件來提高代碼的復(fù)用率,并使程序具有較好的可維護性。

      3.2 后端實現(xiàn)

      本系統(tǒng)后臺部分使用Django 框架進行搭建,Django 框架是一款基于Python 語言編寫,使用MTV架構(gòu)的開源Web 應(yīng)用框架。在MTV 架構(gòu)中,M 代表模型層,負責(zé)處理業(yè)務(wù)對象和數(shù)據(jù)庫表之間的映射關(guān)系,T 代表模板層,主要負責(zé)將頁面展示給用戶;V 代表視圖層,是模型層與模板層之間的橋梁。

      3.3 水質(zhì)數(shù)據(jù)監(jiān)測與警報

      與之前水質(zhì)監(jiān)測員需要到現(xiàn)場進行數(shù)據(jù)采集不同,用戶使用本系統(tǒng)可以直觀地在頁面上獲取實時的水質(zhì)數(shù)據(jù)。傳感器在測得水質(zhì)數(shù)據(jù)后,設(shè)備端將實時數(shù)據(jù)通過Websocket 發(fā)送至服務(wù)器,以此實現(xiàn)水質(zhì)數(shù)據(jù)的實時監(jiān)測。為了防止Websocket 連接中斷,在相應(yīng)的程序中加入心跳機制,將傳感器所測得的數(shù)據(jù)以心跳包的形式發(fā)送給服務(wù)器,這樣即實現(xiàn)了水質(zhì)數(shù)據(jù)實時監(jiān)測的功能,也防止了因連接中斷而產(chǎn)生系統(tǒng)問題。另外,當(dāng)傳感器檢測到水質(zhì)異常時,設(shè)備端會發(fā)送水質(zhì)異常信息至服務(wù)器,用戶在網(wǎng)頁端和設(shè)備人機交互界面上就能看到系統(tǒng)所發(fā)出的警報信息,提醒用戶及時處理。

      3.4 水質(zhì)數(shù)據(jù)圖表化

      用戶在設(shè)備詳情頁面可以通過選擇設(shè)備上配置的不同傳感器查看所選時間范圍內(nèi)水質(zhì)數(shù)據(jù)圖表,也可以通過鼠標(biāo)點擊獲取圖標(biāo)上任一時間點的數(shù)據(jù)信息。該功能使用戶可以便捷地查看當(dāng)前水質(zhì)的變化趨勢,及時進行加藥防止水質(zhì)出現(xiàn)異常。在本系統(tǒng)中,主要使用InfluxDB數(shù)據(jù)庫進行水質(zhì)數(shù)據(jù)的存儲。InfluxDB作為一款被廣泛使用的高性能時序型數(shù)據(jù)庫,因其具有高性能的寫入、沒有其他依賴、查詢效率高、能自動處理過期數(shù)據(jù)等優(yōu)點,常被用于涉及大量時間戳數(shù)據(jù)的后端存儲。

      3.5 定時任務(wù)配置

      通過設(shè)備端的人機交互界面或是網(wǎng)頁端頁面,用戶只需要登錄具有權(quán)限的賬號并確定設(shè)備處于正確的運行模式,就可以非常便捷地完成定時任務(wù)的創(chuàng)建,其流程如圖4 所示。在定時任務(wù)配置中,使用了ActiveMQ 中間件實現(xiàn)了設(shè)備端應(yīng)用與本地Java 服務(wù)之間的異步通信。ActiveMQ 是Apache 開發(fā)的一款消息中間件,是JMS 規(guī)范的具體實現(xiàn),具有適應(yīng)性強、速度快、支持多種語言編寫等諸多優(yōu)點。本系統(tǒng)中,使用了點對點的消息模式,通過在不同客戶端建立隊列,實現(xiàn)了Java 客戶端與C++設(shè)備端之間的異步消息通信。同時,未被消費者接收到的消息會存儲于ActiveMQ 服務(wù)器之中,等待對應(yīng)的消費者上線接收,解決了異常情況下的消息丟失問題。

      圖4 定時任務(wù)創(chuàng)建流程

      3.6 定時任務(wù)調(diào)度

      為了實現(xiàn)設(shè)備定時任務(wù)調(diào)度,設(shè)備開機時會自動運行集成了Quartz 框架以及ActiveMQ 中間件的本地Java 服務(wù)。Quartz 是一款由Java 語言編寫的開源任務(wù)框架,其框架的主要核心分為調(diào)度器(Scheduler)、任務(wù)(Job)和觸發(fā)器(Trigger)三大核心組件。在任務(wù)注冊過程中,首先會創(chuàng)建觸發(fā)器對象Trigger。之后根據(jù)實際需求,選擇相應(yīng)的任務(wù)類創(chuàng)建Job 對象并為Trigger 對象和Job 對象設(shè)置相關(guān)屬性,最后通過調(diào)度器Scheduler完成任務(wù)注冊流程。在任務(wù)執(zhí)行流程中,一但到達預(yù)先設(shè)定的時間,調(diào)度器就會調(diào)用觸發(fā)器,觸發(fā)器會調(diào)用任務(wù)注冊的Job對象,并自動執(zhí)行Job對象中的相應(yīng)方法,實現(xiàn)任務(wù)執(zhí)行自動化。

      4 嵌入式硬件系統(tǒng)設(shè)計

      4.1 系統(tǒng)總體設(shè)計

      智慧循環(huán)水處理硬件系統(tǒng)主要模塊包括:RK3288開發(fā)板,傳感器模塊,繼電器模塊,上位機監(jiān)測控制模塊等。RK3288 開發(fā)板是嵌入式系統(tǒng)的關(guān)鍵,主要使用Linux+Qt 來完成主要功能的開發(fā)。本系統(tǒng)使用Qt上位機進行人機交互界面設(shè)計,通過串口與傳感器進行通信,實現(xiàn)數(shù)據(jù)的采集,并將采集的數(shù)據(jù)保存到數(shù)據(jù)庫,進行部分數(shù)據(jù)的展示以及完成相應(yīng)的泵操作。傳感器模塊主要通過RS485 串口與上位機進行通訊。另外,為了保證測量的準確性,需要通過標(biāo)定來對傳感器進行校正。為了實現(xiàn)泵的控制,因此采用了繼電器模塊,通過多路的繼電器對多個泵進行控制,通過發(fā)送指令來控制繼電器的開閉來實現(xiàn)不同泵的開關(guān)。上位機監(jiān)控頁面可以顯示實時的數(shù)據(jù),每隔一段時間對獲取的實時數(shù)據(jù)進行保存,并且用曲線來顯示水質(zhì)數(shù)據(jù)的變化趨勢。

      4.2 硬件電路設(shè)計

      在本系統(tǒng)中,使用了很多的用電設(shè)備,而且不同設(shè)備所使用的電源有所差異,因此配備了多個開關(guān)電源,此外泵的接線需要形成一個完整的回路。其實際電路連接如圖5所示。

      圖5 實際電路連接

      4.3 人機交互界面設(shè)計

      本系統(tǒng)需要實現(xiàn)較好的人機交互,支持觸控等操作。在Qt中提供了強大的信號和槽,用來實現(xiàn)信息之間的交互,本系統(tǒng)使用了Qt Widget 的編程方式來實現(xiàn)所有的功能,使用Qt 的版本為5.9.2。因為需要跨平臺也就是在Linux 下編寫代碼,最后運行的平臺為ARM Linux。由于RK3288 上處理器各方面參數(shù)都不如本地參數(shù)快,編譯速度很慢,因此選擇在本地使用交叉編譯工具鏈進行編譯,然后移植到RK3288,提高了移植的速度,減少了不必要的時間等待。

      4.4 人機交互界面展示與功能介紹

      本系統(tǒng)設(shè)計的主界面如圖6所示。在左邊顯示了整個需要監(jiān)測的區(qū)域,有酸堿度、濁度、ORP、電導(dǎo)率、腐蝕率、溫度。右邊主要是泵的管理模塊,可以實時查看每個泵的狀態(tài)并手動切換泵的運行模式。此外,右下角的液位計模塊還可以實時顯示藥液余量,判斷是否需要補充。

      圖6 主頁面

      5 結(jié)束語

      針對傳統(tǒng)水處理企業(yè)管理成本高、工作效率低等問題,基于嵌入式和Web 技術(shù)開發(fā)設(shè)計了具有運維模塊、固定資產(chǎn)模塊、基本信息模塊和賬戶與權(quán)限模塊四大功能模塊的智慧循環(huán)水處理系統(tǒng),實現(xiàn)了實時水質(zhì)監(jiān)測、異常水質(zhì)警報、設(shè)備自動控制等功能。整體系統(tǒng)部署上線后運行穩(wěn)定,達到了預(yù)期目標(biāo),滿足了水處理企業(yè)的基本需求,推進了企業(yè)的數(shù)字化。下一步考慮在設(shè)備數(shù)量較多的情況下,通過引入快速排序算法,加快設(shè)備對象的搜索速度,進一步完善本系統(tǒng)功能。

      猜你喜歡
      頁面水質(zhì)傳感器
      大狗熊在睡覺
      水質(zhì)抽檢豈容造假
      環(huán)境(2023年5期)2023-06-30 01:20:01
      刷新生活的頁面
      康奈爾大學(xué)制造出可拉伸傳感器
      簡述傳感器在物聯(lián)網(wǎng)中的應(yīng)用
      電子制作(2019年22期)2020-01-14 03:16:52
      “傳感器新聞”會帶來什么
      傳媒評論(2019年5期)2019-08-30 03:50:18
      一月冬棚養(yǎng)蝦常見水質(zhì)渾濁,要如何解決?這9大原因及處理方法你要知曉
      跟蹤導(dǎo)練(三)2
      水質(zhì)總磷測定存在的問題初探
      河南科技(2014年23期)2014-02-27 14:19:07
      水質(zhì)總氮測定方法改進探究
      河南科技(2014年18期)2014-02-27 14:14:54
      罗田县| 枞阳县| 清镇市| 阿图什市| 五指山市| 博客| 额济纳旗| 全椒县| 湾仔区| 和平县| 福鼎市| 岗巴县| 遂川县| 台中县| 尚义县| 奈曼旗| 北辰区| 德安县| 五常市| 金溪县| 鲁山县| 梁山县| 突泉县| 启东市| 集安市| 如皋市| 怀安县| 南安市| 宜兴市| 衡南县| 株洲县| 昌图县| 耒阳市| 长治县| 韶关市| 星座| 且末县| 乐至县| 莱西市| 曲阳县| 南宁市|