系統(tǒng)設(shè)計流程
首先通過添加軟件包的形式為HMI_borad添加rw007、onenet及AHT10的配置文件,然后更改配置使其順利聯(lián)網(wǎng),之后在onenet平臺上上線設(shè)備,初步工作完成
其次設(shè)計RTT系統(tǒng)流程,首先創(chuàng)建優(yōu)先級較低的線程entry_tem使其獲取AHT10的實時數(shù)據(jù),同時由于采集數(shù)據(jù)較為波動,采用滑動濾波的方式將數(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);
}
}
信號量的使用:在滑動濾波完成之后使標(biāo)志位flag = 1;當(dāng)flag = 1時釋放信號量
//此處輸入信號量相關(guān)代碼
滑動濾波算法如下所示:
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)先級的線程entry_sent使其在接受到tem的信號量之后完成數(shù)據(jù)發(fā)送,完成整個溫濕度檢測裝置
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)測:溫濕度檢測可用于室內(nèi)環(huán)境監(jiān)測,例如家庭、辦公室、商店和工廠等場所。通過監(jiān)測溫度和濕度,可以調(diào)節(jié)空調(diào)、加濕器或除濕器等設(shè)備,提供舒適的室內(nèi)環(huán)境。
農(nóng)業(yè)和溫室:溫濕度檢測對于農(nóng)業(yè)和溫室種植非常重要。合適的溫濕度水平有助于植物的生長和發(fā)育。通過監(jiān)測溫度和濕度,可以實現(xiàn)自動控制系統(tǒng),確保植物在適宜的環(huán)境條件下生長。
食品貯存和運輸:在食品行業(yè)中,溫濕度檢測對于食品貯存和運輸至關(guān)重要。惡劣的溫濕度條件可能導(dǎo)致食品變質(zhì)和腐敗。監(jiān)測溫度和濕度可以幫助確保食品在安全的條件下保存和運輸。
醫(yī)療保健:在醫(yī)療保健領(lǐng)域,溫濕度檢測可用于監(jiān)測醫(yī)院、實驗室和藥品存儲區(qū)域的環(huán)境條件。合適的溫濕度水平有助于維持病人的舒適和保持藥品的有效性。
環(huán)境監(jiān)測:溫濕度檢測在環(huán)境監(jiān)測方面也具有重要作用。通過監(jiān)測溫度和濕度,可以評估氣候變化、火災(zāi)風(fēng)險、洪水預(yù)警等方面的情況,并采取相應(yīng)的措施來保護(hù)環(huán)境和人類安全。
-
濾波器
+關(guān)注
關(guān)注
158文章
7598瀏覽量
176621 -
智能檢測儀
+關(guān)注
關(guān)注
0文章
10瀏覽量
7515 -
OneNET
+關(guān)注
關(guān)注
1文章
45瀏覽量
12697 -
RTThread
+關(guān)注
關(guān)注
7文章
132瀏覽量
40684 -
HMI系統(tǒng)
+關(guān)注
關(guān)注
0文章
20瀏覽量
1018
發(fā)布評論請先 登錄
相關(guān)推薦
評論