999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Arduino和LabVIEW的家居環境測量報警系統

2023-06-25 17:24:43吳越孫海春
現代信息科技 2023年10期

吳越 孫海春

摘? 要:基于Arduino和LabVIEW的家居環境測量報警系統旨在實現室內溫濕度和二氧化碳濃度的實時采集、監測與報警,以保證家居環境維持在一個安全、舒適的狀態。以Arduino為下位機測量采集實時數據;通過上位機LabVIEW軟件設計出測量報警系統的人機交互界面。所設計的家居環境測量報警系統經過現場測試,能夠穩定運行,具有響應迅速、數據準確和可擴展性好等特點,具有一定的實際應用價值。

關鍵詞:Arduino;LabVIEW;智能家居;溫濕度;二氧化碳濃度

中圖分類號:TP274 文獻標識碼:A? 文章編號:2096-4706(2023)10-0150-05

Abstract: The home environment measurement and alarm system based on Arduino and LabVIEW aims to achieve real-time collection, monitoring and alarming of indoor temperature, humidity and carbon dioxide concentration to ensure that the home environment is maintained in a safe and comfortable state. The Arduino is used as the lower computer to measure and collect real-time data, and the man-machine interaction interface of the measurement and alarm system is designed by LabVIEW software of the upper computer. The designed home environment measurement and alarm system can run stably after field test. It has the characteristics of rapid response, accurate data and good scalability, and has certain practical application value.

Keywords: Arduino; LabVIEW; smart home; temperature and humidity; carbon dioxide concentration

0? 引? 言

隨著經濟社會不斷發展,人們的生活質量顯著提高,對生活環境提出了更高要求,“舒適”與“健康”的理念逐漸深入人心。科技進步為健康的家居環境提供了必要保障,將智能家居融入了人們的生活。

室內環境參數測量報警系統正成為智能家居系統中重要組成部分,實現室內環境參數測量,可以滿足人們對健康生活環境追求。對此,本文將利用開放源碼開發平臺Arduino作為下位機,以虛擬儀器程序開放軟件LabVIEW作為上位機進行智能家居產品設計。上下位機通過串口通信,以及VISA 配置相關參數,將下位機采集到環境數據以圖形化分析方法直觀地顯示在上位機界面,家庭用戶登錄系統后可以查看。同時利用Access數據庫保存數據,用戶可以隨時回訪歷史數據。

1? 系統總體設計方案

1.1? 系統主要組成

本設計由下位機和上位機組成家居環境參數測量報警系統及用戶登錄系統,其中測量報警系統為主要系統,用戶登錄系統為輔助系統,系統功能通過相應模塊來實現,如圖1所示。

Arduino Uno作為下位機,代替NI公司官方的數據采集卡,負責對傳感器信息進行讀寫和數據傳輸,主要包括溫度傳感器、濕度傳感器和二氧化碳濃度傳感器及LCD12864顯示屏。LabVIEW作為上位機,通過人機交互界面實現數據顯示、聲光報警以及數據回放等功能。上位機和下位機之間利用串口實現通信,滿足設計需求,實現設計目的。

1.2? 系統模塊規劃

整個系統有上下位機兩大主線,系統的模塊圖如圖2所示。下位機Arduino Uno對應數據測量模塊,數據測量模塊又分為溫濕度傳感器模塊和二氧化碳濃度傳感器模塊,它們的功能是準確檢測出家庭室內溫濕度和二氧化碳濃度,通過串口將數據傳給電腦,然后利用電腦的LabVIEW軟件編寫在人機交互界面上進行數據的實時顯示和記錄。

上位機包括兩大功能模塊,用戶登錄系統和數據測量報警系統。用戶登錄系統分為用戶注冊、用戶登錄、修改密碼、用戶管理四大模塊。通過用戶登錄系統進入測量報警系統后,即能顯示出數據顯示模塊、聲光報警模塊和顯示歷史數據模塊。

登錄界面可進行用戶的注冊、登錄和登錄數據顯示,登錄用戶分為管理員與測試員(一般用戶)兩類。管理員與測試員均為家庭成員,名稱不同只是為了區分權限。為了確保使用者的個人隱私和家庭環境測量系統的安全,測試員只能更改此使用者的用戶密碼;管理員具有管理用戶的權限,包括添加、刪除、更改用戶信息。

上位機LabVIEW系統以數值和波形圖表的形式,顯示出測量采集到的數據。聲光報警模塊功能是在測量采集到的數據超出設定值時,立即發出聲音和燈光警告以實現報警功能。用戶可以通過顯示歷史數據模塊回訪指定時間段內的數據,以達到進一步整合并有效利用歷史數據的目的。

2? 硬件設計

2.1? DHT11傳感器

DHT11是一款數字信號輸出傳感器,集濕度、溫度測量為一體,濕度精度為±5 %RH,濕度量程為20 %RH~

90 %RH;溫度精度為±2 ℃,溫度量程為0~+50 ℃。傳感器包含電阻式濕度傳感器和NTC溫度傳感器,具有相對濕度和相對溫度可測量、抗干擾能力強、輸出精準和功耗低等優點,因此廣泛應用于智能家庭系統。

DTH11采取了一種被動的工作模式,等待處理器發送命令。在接收到命令后,傳感器就會從睡眠模式轉換為工作模式,發出響應信號,并進行一次信號采集,將數據傳輸出去。一次采集結束后,回到睡眠狀態,等待下一次指令。DHT11接線方式如表1所示。

2.2? CCS811傳感器

CCS811空氣質量傳感器為一款低功耗數字氣體傳感器,與傳統氣體傳感器相比,CCS811傳感器從啟動到正常運行所需時間非常短,可以快速進入運行狀態,具有響應靈敏、功耗低、閾值中斷報警等優點。

2.3? LCD12864顯示屏

點數為128×64點的位圖圖形液晶模塊簡稱LCD12864,共有20個引腳。該顯示屏的顯示成本相對較低,能夠顯示多種圖形類型,包括數字、字母和漢字等。顯示屏圖形顯示時,通過寫入垂直地址和水平地址來進行圖形顯示的設定。LCD12864接線方式如表2所示。

在搭建完基本模塊電路后,對各模塊進行測試分析,確定系統能正常運行后,將各部分組合,整體電路圖如圖3所示。

3? 軟件設計

軟件設計分為兩大部分,即下位機程序設計和上位機程序設計。

3.1? 下位機Arduino軟件設計

Arduino是一個在世界范圍內非常受歡迎的開放源碼開發平臺。下位機使用微控制器 Arduino UNO,該型號單片機擁有豐富的硬件資源,同時Arduino將不利于理解的單片機底層邏輯代碼封裝起來,提供簡單實用、易于理解的接口。Arduino可以使用自帶的IDE環境進行編程,風格簡潔,使用方便,本設計即采用Arduino IDE環境編程。

Arduino是一個開源平臺,為開發人員提供了一個討論社區,大多數開發人員樂意將其 Arduino庫共享到開源社區。正是由于大量的 Arduino開放源碼庫,使得開發人員不需要花費大量的時間來理解學習處理器的底層邏輯,可以快速實現產品原型。如果在Arduino庫中沒有所需傳感器的庫資源,就需要開發者添加或者自定義的庫文件。本設計中,需要添加溫濕度、二氧化碳濃度傳感器和顯示屏相對應的庫文件。

定義傳感器以及顯示屏的引腳,初始化與上位機一致的串口波特率。為使CCS811傳感器預熱后快速且正確顯示二氧化碳濃度,減少等待時間,需要編寫sensor.writeBaseLine()函數寫入基線值。初始化與傳感器設置完成后,編寫LCD12864顯示函數,在恰當的位置分三行顯示溫濕度、二氧化碳濃度數據。

3.2? 上位機LabVIEW軟件設計

3.2.1? 用戶登錄系統

本設計是將使用者數據存入Access數據庫,通過LabVIEW調用實現的。

傳統測試中使用的儀器性能及功能在出廠時已被定義,用戶多變的要求和使用需求受到較大限制。虛擬儀器的出現改變了儀器功能定義的方式,變為從儀器制造商到用戶,虛擬儀器逐漸成為當前測試領域的熱點技術。LabVIEW就是一款優秀的虛擬儀器程序開放軟件,目前在我國已經得到了廣泛應用。

LabVIEW是美國國家儀器(NI)公司研制的程序開發系統,不同于傳統使用編程語言的軟件,LabVIEW的編程環境更加直觀、生動,使用圖形化編輯語言進行程序編寫,具有函數庫和開發工具,滿足系統開發和維護。由于虛擬儀器的外形、運行方式與真實的物理設備非常接近,滿足了實際情況和開發人員的操作習慣。LabVIEW提供了兩個部分:前面板和程序框圖。前面板是VI的用戶交互界面,模擬實際物理儀器的操作按鈕;程序框圖是VI的源代碼,工具有函數和連線等多種選擇,可以添加前面板沒有的控件。

數據庫的建立是功能模塊構建的基礎,是人機信息交流的場所。由于LabVIEW本身不能直接訪問數據庫,所以使用LabSQL數據庫訪問工具套件將LabVIEW連接到數據庫,執行訪問、數據查詢、日志操作、數據修改、日志刪除等功能。LabSQL VIs劃分成四類,第一類是Command Vis,實現一些基本操作,例如構建、消除數據或是讀寫數據庫中某段數據;第二類是Connection VIs,管理LabVIEW和數據庫之間的銜接關系;第三類是Recordset VIs,記錄數據庫中各種數據的操作;第四類是Top Level Vis,對某些性能進行封裝。

LabSQL通過ODBC與數據庫連接,ODBC是微軟定義的一種數據訪問標準,只有在ODBC中指定數據源名稱和驅動程序,才可實現連接訪問。LabVIEW與數據庫建立連接后,便可對數據庫中的用戶數據進行操作。本系統所創建的Access 數據庫包含相關數據表格,其中包含用戶名、用戶密碼、用戶權限、最后登錄時間和登錄次數5項數據。用戶登錄系統利用事件結構來持續響應前面板中不同的用戶事件,通過不斷的循環來執行不同事件源激發的事件。

注冊成功后,用戶可以通過登錄本系統進行操作。用戶憑用戶名和密碼登錄,登錄成功后,面板會根據用戶的權限打開相應的按鍵。一般的用戶登錄后只能修改密碼或者直接進入數據測量報警系統,但是管理員還可以管理用戶。登錄時,保證在輸入框內輸入的用戶名不為空且用戶存在;不為空后程序從數據庫記錄集(Recordset)中讀記錄,和輸入的密碼和權限進行比較。比較成功后,數據庫中的登錄次數和最后一次登錄時間將被更新。管理員登錄后,單擊“進入系統”“用戶管理”等不同按鈕將觸發事件,也可直接單擊“退出系統”按鈕結束程序。

3.2.2? 串口通信

串口通信指傳數據只有一根線,一次只能傳輸一位,在對速率要求不高的情況下,使用串口通信,通信線路簡單,實用價值高,適合短距離通信。Arduino和 LabVIEW之間多種通信方法,其中一種是利用LabVIEW Interface for Arduino Toolkit(LIAT)工具包進行連接,另外一種則是串口控制方式,利用VISA插件實現。

利用LIAT工具包進行連接,其包中庫函數的數量有限,傳感器類型單一。如果官方的傳感器庫中沒有實驗所需的傳感器,則無法編程,存在一定的局限性。同時因為利用LIAT工具包不需要對Arduino進行編程,這對了解Arduino硬件邏輯和把握整體思維邏輯不利。所以本系統中使用串口控制方式,利用VISA插件實現連接。

進行上下位機通信前要掌握串口通信的總體流程。串口通信首先需要調用串口配置(VISA Configure Serial Port)函數完成參數設置,為避免數據接收失敗或出現錯誤幀需對錯誤輸入進行設置。初始化成功后,利用該串口進行數據收發。LabVIEW串口配置流程圖如圖4所示。發送數據使用VISA寫函數,接收數據使用VISA讀函數,讀取函數中“字節總數”接線端子應該讀取在串口緩沖區的字節總數。在完成數據傳輸任務后,將串行端口關閉,對話終止,并釋放出串行資源。

3.2.3? 主界面設計

為能夠在LabVIEW界面上清晰地反映數據,需要選擇正確且占用內存小的程序結構。本設計中LabVIEW用戶登錄系統主體部分選擇事件結構,事件結構一般不會被單獨地用于“while”循環,而是嵌套在其中。事件結構主要用于對前面板進行響應來實現用戶界面交互,使用事件結構不僅可以降低程序的CPU需求,還可以簡化框圖代碼,保證了在響應過程中的所有交互。同時,本設計利用移位寄存器來實現用戶信息的改變,利用移位寄存器可以將I循環的結果作為I+1循環的輸入。在周期的每次迭代結束后,移位寄存器的右端存儲周期結束時的數據,在下一個周期開始時,數據出現在左端。

Arduino通過串口將室內環境的數據按照二氧化碳濃度、濕度和溫度的順序傳輸給上位機。由于從Arduino Uno經串口發送過來的字符串并未轉換成所對應的物理量。因此,上位機讀取串口緩沖區中的數據后,通過“匹配模式”節點,把收到的數據一分為三,分為三份子字符串,二氧化碳濃度、溫度、濕度數值顯示。

該系統采用LabVIEW記錄數據,將實時數據錄入到數據表中,同時將數據的獲取日期和具體的數據一一對應,使歷史數據可以快速、準確地查看。寫入的數據既可以在前面板查看,又保存在本地文件測量數據.txt中,如圖5所示。點擊前面板的“查看歷史數據”按鈕,打開子VI。輸入指定時間段后,在歷史數據表格中顯示出相應時間段的數據,表頭包含時間、二氧化碳濃度和溫濕度。

4? 結? 論

本文完成了基于LabVIEW和Arduino的家居環境參數測量報警系統設計,通過用戶登錄模塊、數據測量顯示模塊、聲光報警模塊等,實現了數據采集及超限報警功能。該系統各模塊相互連接,設計出了方便快捷、易于操作、準確度高的家居智能小幫手。

Arduino與LabVIEW都具有操作便捷、易于上手、可拓展性好的特點,兩者結合使測量更加系統便捷高效、易于操作,也便于后續完善修復,編輯添加新功能。本系統運行平穩,測量結果較準確,達到了設計目的。

本設計仍存在不足之處,僅實現了家居環境中溫濕度和二氧化碳濃度的測量報警功能,設計范圍較窄。實驗中使用的CCS811空氣質量傳感器可以進行空氣質量的全方位檢測,不僅限于二氧化碳濃度測量。在今后的研究設計中,可以多加入一些參數的采集測量,如甲醛濃度等。

同時,本設計還沒有形成真正的產品實物,后續設計可以利用3D打印技術,打印一個美觀、實用、有設計感的外型。還可以增加聯網功能,設計一款手機APP,利用系統測量的數據真正實現智能互聯,例如室內二氧化碳濃度過高,系統自動開啟風扇、空調或者是新風系統等。

參考文獻:

[1] 鄭玲玲,張金,劉芳,等.基于LabVIEW和Arduino的溫濕度采集系統設計 [J].中國科技信息,2021(6):81-83.

[2] 侯偉,張小潔,耿凡娜,等.基于LabVIEW的土壤溫濕度實時監測系統設計 [J].電子測量技術,2019,42(4):141-145.

[3] 劉凱多,陳振宇,袁洪喜,等.基于機器視覺的學習環境及狀態監測裝置 [J].電子制作,2021(14):66-67+75.

[4] 王維剛,李偉,張穎,等.基于LabSQL的LabVIEW與Access數據庫的通信 [J].教育教學論壇,2012(36):158-159.

[5] 田彬.試析基于LabSQL的LabVIEW數據庫訪問技術 [J].電子科學技術,2017,4(2):42-44+68.

[6] 劉宏達,聞子俠,馬忠麗.基于虛擬儀器技術的遠程測控實驗系統開發 [J].實驗技術與管理,2009,26(11):75-79.

作者簡介:吳越(2001—),女,漢族,江西贛州人,碩士研究生在讀,研究方向:通信工程、自然語言處理;孫海春(1985—),女,漢族,山東聊城人,碩士生導師,副教授,博士,研究方向:人工智能。

主站蜘蛛池模板: 国产成人午夜福利免费无码r| 日本午夜影院| 黄色网站在线观看无码| 另类重口100页在线播放| 亚洲青涩在线| 国产精品手机在线播放| 秋霞午夜国产精品成人片| 国产新AV天堂| 国产视频大全| 久久99热这里只有精品免费看| 亚洲二三区| 欧美久久网| 国产精品天干天干在线观看| www.99在线观看| 一区二区影院| 免费女人18毛片a级毛片视频| 国产精品永久免费嫩草研究院| 一边摸一边做爽的视频17国产| 国产精品乱偷免费视频| 亚洲精品黄| 欧美精品影院| 久久婷婷五月综合97色| 九九久久精品免费观看| 精品国产www| 99性视频| 欧美中日韩在线| 国产国语一级毛片| 欧美在线精品怡红院| 亚洲免费人成影院| 亚洲天堂首页| 国产欧美日韩另类精彩视频| 国产美女精品一区二区| 2022国产无码在线| 一本久道热中字伊人| 91亚洲精选| 亚洲欧美日本国产综合在线| 国产成人免费| 久久国产精品嫖妓| 亚洲综合精品第一页| 福利一区在线| 国产精欧美一区二区三区| 99精品国产电影| 国产毛片基地| 亚洲第七页| 中国美女**毛片录像在线| 国产精品永久不卡免费视频| 亚洲日韩精品无码专区97| 免费在线视频a| hezyo加勒比一区二区三区| 无码国产偷倩在线播放老年人| 亚洲高清无在码在线无弹窗| 免费人成网站在线高清| 欧洲亚洲一区| 亚洲天堂高清| 暴力调教一区二区三区| 欧美不卡在线视频| 久久精品中文字幕免费| 欧美激情视频一区| 成人va亚洲va欧美天堂| 国产国产人成免费视频77777| 日韩123欧美字幕| 日韩第一页在线| 在线中文字幕网| 漂亮人妻被中出中文字幕久久| 国产哺乳奶水91在线播放| 国产免费精彩视频| 亚洲日本韩在线观看| 国产精品九九视频| 一级爱做片免费观看久久| 久久不卡精品| 91精品啪在线观看国产91| 久久精品一品道久久精品| 青青草国产精品久久久久| 久久特级毛片| 国产一区二区在线视频观看| 欧美综合区自拍亚洲综合绿色| 亚洲精品视频网| 成人国产精品网站在线看| 婷婷综合色| 亚洲天堂精品视频| 一级毛片免费播放视频| 色天堂无毒不卡|