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