![](http://img.2748.net/2023/0706/20230706013656466.jpg)
1.前言:
(資料圖片僅供參考)
在信心化數(shù)字化高度發(fā)達的今天,各種監(jiān)控、生產(chǎn)設備都逐步走向數(shù)字化。如何將數(shù)據(jù)及時準確地獲取并能夠被多種設備訪問同時以直觀地形式呈現(xiàn),是當今數(shù)字化設備發(fā)展的重要命題。借助RT-Thread的實時操作系統(tǒng)以及OneNET物聯(lián)網(wǎng)開放平臺,我們能夠將上述目標高效實現(xiàn)。
2.項目簡介:
2.1. 項目名稱:具備物聯(lián)網(wǎng)功能的溫濕度報警器
2.2. 設計思路:本項目使用RT-Thread系統(tǒng)和以STM32F407為主控的開發(fā)板“星火一號”,實現(xiàn)一個溫濕度報警器,報警器通過wifi連接將數(shù)據(jù)上傳至OneNET云端,實現(xiàn)數(shù)據(jù)可視化,并顯示在LCD屏上。
2.3. 主要解決的問題:當下對智能家居設備需求不斷增加,本組實現(xiàn)的集成化溫濕度報警器通過配置物聯(lián)網(wǎng)功能,有助于在實時監(jiān)測家庭環(huán)境溫濕度的同時,將數(shù)據(jù)進一步可視化,提升家用設備智能性和居住環(huán)境安全性。
2.4. 項目創(chuàng)新點:通過設備端傳感器件和控制設備、顯示設備的集成式直連,提高生活質量,降低運營成本和維護費用。
3.系統(tǒng)設計說明:
3.1 硬件部分:
星火一號主控選用了目前行業(yè)中比較常用且學習門檻較低的STM32F407,具有眾多的板載資源(Flash 存儲、WIFI 通信、多個傳感器),支持豐富的擴展接口。使用外設資源如下: A. AHT20 溫濕度傳感器B. 19 燈等距全彩 LEDC. 蜂鳴器 D. 240x240 并行 LCD E. RW007 WIFI
3.2 軟件部分:
4.項目實施過程
4.1. LED+蜂鳴器:
在RT-ThreadSetting中下載AHT10軟件包,用于溫濕度傳感器并加入頭文件"ath10.h"。在板載驅動選項中開啟i2c3功能后即可;通過rt_thread_mdelay和rt_pin_write語句實現(xiàn)延時和引腳輸入輸出控制。通過aht10_read_humidity和aht10_read_temperatur語句讀取濕度和溫度。
4.2. LCD:
在程序中加入兩個線程,一個用于接收傳感器的數(shù)據(jù),另一個用于把數(shù)據(jù)顯示到LCD上;美觀方面,顯示圖標。在網(wǎng)上下載圖片,用工具轉換成十六進制的數(shù)組然后在程序中用庫函數(shù)輸出到LCD上;個性化方面,為溫度、濕度設置閾值。在main中定義幾個函數(shù),通過邏輯代碼實現(xiàn)
4.3. OneNET及其數(shù)據(jù)可視化:
在RT-Thread Setting中下載rw007軟件包,用于將星火一號開發(fā)板與wifi連接,在板載驅動對spi2使能完成配置。同時還需要下載onenet軟件包,聯(lián)網(wǎng)成功后通過mqtt協(xié)議將檢測到的溫濕度數(shù)據(jù)上傳到onenet云端,并對采集到的數(shù)據(jù)進行處理,完成數(shù)據(jù)可視化。
5.項目效果展示
5.1 功能描述:
LED+蜂鳴器: 實現(xiàn)溫度濕度后臺終端實時顯示,并可在溫濕度達到設定閾值時通過LED和蜂鳴器實現(xiàn)報警;溫度閾值為30攝氏度,濕度閾值為90%(兩者同時超過閾值時,蜂鳴器長鳴同時LED紅黃燈常亮;僅濕度超過閾值時,蜂鳴器雙鳴同時黃燈雙閃;僅溫度超過閾值時,蜂鳴器單鳴同時紅燈單閃;若都在正常范圍內則紅黃燈交替閃亮)。
LCD: LCD實時顯示溫濕度數(shù)據(jù),并顯示各自的圖標;當溫度和濕度都沒有超過閾值,顯示笑臉,代表舒適的狀態(tài),當溫度超過閾值(30℃)一段時間(避免在閾值附近波動),顯示hot和熱的表情,當濕度超過閾值(70%)一段時間,顯示wet和濕的表情。
OneNET及其數(shù)據(jù)可視化: 在RT-Thread Setting中下載rw007軟件包,用于將星火一號開發(fā)板與wifi連接,在板載驅動對spi2使能完成配置。使用wifi join和wifi scan指令來完成聯(lián)網(wǎng)操作。成功聯(lián)網(wǎng)之后,我們需要將設備接到云端服務器進行數(shù)據(jù)傳送。我們需要下載onenet軟件包,聯(lián)網(wǎng)成功后通過mqtt協(xié)議將檢測到的溫濕度數(shù)據(jù)上傳到onenet云端,并對采集到的數(shù)據(jù)進行處理,完成數(shù)據(jù)可視化。使用onenet_mqtt_init以及onenet_upload_cycle指令,將溫濕度數(shù)據(jù)上傳到onenet,并將數(shù)據(jù)流進行可視化處理。
5.2 展示:
正常狀態(tài):紅黃燈交替亮
過濕狀態(tài):黃燈雙閃,蜂鳴器雙鳴
過熱狀態(tài):紅燈單閃,蜂鳴器單鳴
OneNET物聯(lián)網(wǎng)可視化
標簽: