韓旭威 石崟 楊春艷 張渤雨 佟維妍
摘 要 本文提出了一種在5G移動(dòng)網(wǎng)絡(luò)下基于NB-IOT的環(huán)境感知系統(tǒng)的設(shè)計(jì)方案,介紹了系統(tǒng)總體結(jié)構(gòu)及工作過(guò)程,簡(jiǎn)述了基于NB-IOT的環(huán)境感知系統(tǒng)的硬軟件設(shè)計(jì)。該系統(tǒng)大大縮短了數(shù)據(jù)傳送時(shí)間,提高了空氣檢測(cè)的準(zhǔn)確度。
關(guān)鍵詞 環(huán)境感知;NB-IOT;STM32
引言
隨著人們對(duì)于美好環(huán)境的需求日益增強(qiáng),環(huán)境保護(hù)的意識(shí)正在逐步提高,室內(nèi)空氣質(zhì)量管理受到了社會(huì)各界的廣泛關(guān)注。近年來(lái),在智能家居、智慧農(nóng)業(yè)和智慧工廠等領(lǐng)域?qū)o予互聯(lián)網(wǎng)的環(huán)境監(jiān)測(cè)系統(tǒng)的需求越來(lái)越多。在家居生活中,利用NB-IOT無(wú)線信息傳輸技術(shù),使人們?cè)谏习?、外出、旅游時(shí),也可以實(shí)時(shí)監(jiān)測(cè)到家中空氣是否異常,是否發(fā)生煤氣泄漏或火災(zāi)等情況,擺脫了以往只能在家中才能得知家中空氣情況的尷尬情況。
1NB-IOT通信介紹
窄帶物聯(lián)網(wǎng)(NB-IOT)構(gòu)建于蜂窩網(wǎng)絡(luò),適用于低功耗廣域覆蓋的物聯(lián)網(wǎng)場(chǎng)景;BC95-B5是一款高性能、低功耗的NB-IOT模塊,支持六個(gè)頻段。通過(guò)NB-IOT無(wú)線電通信協(xié)議(3GPP Rel.14),BC95-B5模塊可與網(wǎng)絡(luò)運(yùn)營(yíng)商的基礎(chǔ)設(shè)備建立通信。
2硬件電路設(shè)計(jì)
2.1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)包含溫度傳感器、酒精傳感器、有機(jī)氣體傳感器和PM2.5傳感器等多種傳感器。多點(diǎn)控制器分別接收傳感器的信息,通過(guò)通信芯片將信息傳遞給云端,云端將信息傳遞給顯示端并且對(duì)危險(xiǎn)數(shù)據(jù)進(jìn)行報(bào)警。系統(tǒng)組成如圖1所示。
2.2 STM32主控芯片
STM32F103RCT6是32位ARM微控制器,具有高性能、低成本、低功耗的特點(diǎn)。主頻是72MHz,程序存儲(chǔ)器為256KBFLASH,RAM容量是48K,工作電壓為2~3.6V。
2.3 數(shù)據(jù)采集
室內(nèi)空氣溫濕度傳感器選用了DS18B20數(shù)字溫濕度傳感器,其具有體積小、功耗低、抗干擾能力強(qiáng)、測(cè)量精度高的特點(diǎn),適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域[1]。酒精傳感器、有機(jī)氣體傳感器和PM2.5傳感器的DO引腳隨著濃度不同,輸出不同的數(shù)字量信號(hào)。根據(jù)不同空間的酒精含量、有機(jī)氣體含量和PM2.5含量要求的不同,在控制器中設(shè)定最高閾值[2]。當(dāng)DO引腳輸出值高于高閾值時(shí),通信板塊向云端發(fā)出指令,云端通過(guò)釘釘APP發(fā)出報(bào)警信息。傳感器與控制器的接線圖如圖2所示。
2.4 LCD顯示
本設(shè)計(jì)中STM32F103RCT6直接驅(qū)動(dòng)1.44寸彩色液晶屏,顯示檢測(cè)數(shù)據(jù)。兩者間的通信,采用6位連接法。LCD彩色液晶屏接線圖如圖3所示。
2.5 云端、APP、釘釘
開(kāi)發(fā)基于Android系統(tǒng)、阿里云和釘釘?shù)囊苿?dòng)控制終端軟件,解決遠(yuǎn)程控制中空間受限的問(wèn)題。阿里云物聯(lián)網(wǎng)平臺(tái),具有極高的安全性,提供多重防護(hù),可保障設(shè)備數(shù)據(jù)安全。
3軟件設(shè)計(jì)
本系統(tǒng)軟件利用Keil5開(kāi)發(fā)環(huán)境進(jìn)行編程。程序由系統(tǒng)主程序、顯示控制子程序、檢測(cè)子程序等模塊組成,其中PM2.5檢測(cè)流程如圖5所示。
部分PM2.5檢測(cè)子程序如下:
void ADC2x_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
ADC_InitTypeDef? ? ? ?ADC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_ADC2,ENABLE);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC2, &ADC_InitStructure);
ADC_Cmd(ADC2, ENABLE);
ADC_ResetCalibration(ADC2);
while(ADC_GetResetCalibrationStatus(ADC2));
ADC_StartCalibration(ADC2);
while(ADC_GetCalibrationStatus(ADC2));
ADC_SoftwareStartConvCmd(ADC2, ENABLE);
}
u16 Get2_ADC_Value(u8 ch,u8 times)
{
u32 temp_val=0;
u8 t;
ADC_RegularChannelConfig(ADC2, ch, 1, ADC_SampleTime_239Cycles5);
for(t=0;t { ADC_SoftwareStartConvCmd(ADC2, ENABLE); while(!ADC_GetFlagStatus(ADC2, ADC_FLAG_EOC )); temp_val+=ADC_GetConversionValue(ADC2); delay_ms(5); } return temp_val/times; } short JIU_Get_Temp() { u16 value=0; float vol; value=Get2_ADC_Value(ADC_Channel_12,20); vol=(float)value*(3.3/4096); return vol; } 4結(jié)束語(yǔ) 本設(shè)計(jì)利用溫度傳感器、空氣酒精傳感器、空氣有機(jī)氣體濃度傳感器、空氣PM2.5傳感器,采用多點(diǎn)實(shí)時(shí)監(jiān)測(cè)室內(nèi)空氣質(zhì)量,STM32處理器根據(jù)檢測(cè)數(shù)據(jù),采用NB-IOT通信技術(shù)快速傳遞數(shù)據(jù)。該環(huán)境感知系統(tǒng)的設(shè)計(jì)思想可以拓展到智能家居,車(chē)內(nèi)氣體檢測(cè)和智能農(nóng)業(yè)空氣環(huán)境監(jiān)控等多方面。 參考文獻(xiàn) [1] 裴君君.基于ZigBee和NB-IoT的環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].深圳:深圳大學(xué),2018. [2] 劉火良、楊森.STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南(第2版)[M].北京:機(jī)械工業(yè)出版社,2017. 作者簡(jiǎn)介 韓旭威(2000-),遼寧遼陽(yáng)人;沈陽(yáng)工業(yè)大學(xué),學(xué)歷:本科,學(xué)校在讀,研究方向:建筑電氣與智能化。 通訊作者: 石崟(1983-),遼寧錦州人;畢業(yè)院校:沈陽(yáng)化工大學(xué),專(zhuān)業(yè):電氣工程及其自動(dòng)化,學(xué)歷:本科,職稱:助理工程師;現(xiàn)就職單位:沈陽(yáng)工業(yè)大學(xué)遼陽(yáng)分校,研究方向:創(chuàng)新創(chuàng)業(yè)教育。