系統(tǒng)設(shè)計(jì)流程
首先通過添加軟件包的形式為HMI_borad添加rw007、onenet及AHT10的配置文件,然后更改配置使其順利聯(lián)網(wǎng),之后在onenet平臺(tái)上上線設(shè)備,初步工作完成
其次設(shè)計(jì)RTT系統(tǒng)流程,首先創(chuàng)建優(yōu)先級(jí)較低的線程entry_tem使其獲取AHT10的實(shí)時(shí)數(shù)據(jù),同時(shí)由于采集數(shù)據(jù)較為波動(dòng),采用滑動(dòng)濾波的方式將數(shù)據(jù)進(jìn)一步處理,并完成數(shù)據(jù)更新
entry_tem代碼如下:
void hal_entry(void)
{
rt_kprintf("nHello RT-Thread!n");
float humidity, temperature;
aht10_device_t dev;
/ 開啟總線 /
const char i2c_bus_name = "i2c1";
int count=0;
rt_thread_mdelay(2000);//等待傳感器正常工作
dev = aht10_init(i2c_bus_name);//初始化aht10
if(dev == RT_NULL)
{
rt_kprintf("The sensor initializes failure");
return 0;
}
while (1)
{
rt_pin_write(LED_PIN, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(LED_PIN, PIN_LOW);
rt_thread_mdelay(500);
/ 循環(huán)讀取溫度和濕度的值 /
humidity = aht10_read_humidity(dev);
rt_kprintf("濕度 : %d.%d %%n ", (int)humidity, (int)(humidity10)%10);
temperature = aht10_read_temperature(dev);
rt_kprintf("溫度 : %d.%dn ", (int)temperature, (int)(temperature*10)%10);
rt_thread_mdelay(1000);
}
}
信號(hào)量的使用:在滑動(dòng)濾波完成之后使標(biāo)志位flag = 1;當(dāng)flag = 1時(shí)釋放信號(hào)量
//此處輸入信號(hào)量相關(guān)代碼
滑動(dòng)濾波算法如下所示:
int32 update(int32 data )
{
int i = 0;
int32 sum = 0;
for(i = 0; i <= depth - 2; i++)
{
buffer_fiter[i] = buffer_fiter[i + 1];
sum += buffer_fiter[i];
}
sum += data;
buffer_fiter[depth - 1] = data;
return sum/depth;
}
最后通過創(chuàng)建較高優(yōu)先級(jí)的線程entry_sent使其在接受到tem的信號(hào)量之后完成數(shù)據(jù)發(fā)送,完成整個(gè)溫濕度檢測(cè)裝置
static void onenet_upload_entry(void *parameter)
{
int value = 0;
while (1)
{
value = rand() % 100;
if (onenet_mqtt_upload_digit("temperature", value) < 0)
{
LOG_E("upload has an error, stop uploading");
break;
}
else
{
LOG_D("buffer : {"temperature":%d}", value);
}
rt_thread_delay(rt_tick_from_millisecond(5 * 1000));
}
}
系統(tǒng)使用前景
室內(nèi)環(huán)境監(jiān)測(cè):溫濕度檢測(cè)可用于室內(nèi)環(huán)境監(jiān)測(cè),例如家庭、辦公室、商店和工廠等場(chǎng)所。通過監(jiān)測(cè)溫度和濕度,可以調(diào)節(jié)空調(diào)、加濕器或除濕器等設(shè)備,提供舒適的室內(nèi)環(huán)境。
農(nóng)業(yè)和溫室:溫濕度檢測(cè)對(duì)于農(nóng)業(yè)和溫室種植非常重要。合適的溫濕度水平有助于植物的生長(zhǎng)和發(fā)育。通過監(jiān)測(cè)溫度和濕度,可以實(shí)現(xiàn)自動(dòng)控制系統(tǒng),確保植物在適宜的環(huán)境條件下生長(zhǎng)。
食品貯存和運(yùn)輸:在食品行業(yè)中,溫濕度檢測(cè)對(duì)于食品貯存和運(yùn)輸至關(guān)重要。惡劣的溫濕度條件可能導(dǎo)致食品變質(zhì)和腐敗。監(jiān)測(cè)溫度和濕度可以幫助確保食品在安全的條件下保存和運(yùn)輸。
醫(yī)療保?。涸卺t(yī)療保健領(lǐng)域,溫濕度檢測(cè)可用于監(jiān)測(cè)醫(yī)院、實(shí)驗(yàn)室和藥品存儲(chǔ)區(qū)域的環(huán)境條件。合適的溫濕度水平有助于維持病人的舒適和保持藥品的有效性。
環(huán)境監(jiān)測(cè):溫濕度檢測(cè)在環(huán)境監(jiān)測(cè)方面也具有重要作用。通過監(jiān)測(cè)溫度和濕度,可以評(píng)估氣候變化、火災(zāi)風(fēng)險(xiǎn)、洪水預(yù)警等方面的情況,并采取相應(yīng)的措施來(lái)保護(hù)環(huán)境和人類安全。
-
濾波器
+關(guān)注
關(guān)注
161文章
7795瀏覽量
177990 -
智能檢測(cè)儀
+關(guān)注
關(guān)注
0文章
10瀏覽量
7528 -
OneNET
+關(guān)注
關(guān)注
1文章
51瀏覽量
12800 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
40859 -
HMI系統(tǒng)
+關(guān)注
關(guān)注
0文章
20瀏覽量
1025
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論