苓樹奇,王佳星,邊浩然
(中南大學(xué)信息科學(xué)與工程學(xué)院,410000)
傳統(tǒng)的污染檢測產(chǎn)品專業(yè)性強(qiáng),只能應(yīng)用在特定的場合;價格昂貴,使用步驟繁瑣,不適合家庭使用。然而人們對自身的健康情況越來越重視,當(dāng)前室內(nèi)污染物種類多,危害大,人們亟需一款可以準(zhǔn)確快捷地檢測出室內(nèi)污染物的裝置。隨著電子技術(shù)的發(fā)展和智能手機(jī)的普及,費(fèi)用低、速度快、效果好的室內(nèi)污染解決方案成為了可能。
設(shè)計出了一款可以檢測多種家居污染物的裝置。本裝置分為軟硬件兩部分,硬件部分是一款對家庭環(huán)境中眾多污染物進(jìn)行檢測的裝置,要求做到對污染物的濃度、含量以及波動性進(jìn)行科學(xué)準(zhǔn)確的計量檢測;軟件部分是一款基于Android 平臺的手機(jī)軟件,這款軟件可以通過家庭局域網(wǎng)與硬件檢測裝置實(shí)現(xiàn)數(shù)據(jù)傳輸,實(shí)現(xiàn)了實(shí)時地將檢測數(shù)據(jù)顯示在手機(jī)上。
本裝置由信號采集與處理模塊、單片機(jī)控制模塊、Wi-Fi 通訊模塊、路由器和APP 構(gòu)成,信號采集與處理模塊采集室內(nèi)環(huán)境中粉塵污染物、有毒有害氣體污染物的模擬信號放大,濾波,AD轉(zhuǎn)換。然后將處理數(shù)據(jù)傳輸給單片機(jī)處理。單片機(jī)收到從信號采集與處理模塊傳輸?shù)男盘柡髮@些信號進(jìn)行分析,分析處理完之后將得到的最終信息通過Wi-Fi 通訊模塊傳輸至路由器構(gòu)成的家庭局域網(wǎng)。與之配套的Android APP 從局域網(wǎng)中獲取數(shù)據(jù)并與用戶交互。系統(tǒng)結(jié)構(gòu)框圖如圖1 所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
2.1.1 MQ-135 空氣質(zhì)量傳感器
MQ135 氣體傳感器所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫。當(dāng)傳感器所處環(huán)境中存在污染氣體時,傳感器的電導(dǎo)率隨空氣中污染氣體濃度的增加而增大。使用簡單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對應(yīng)的輸出信號??蓹z測的有害氣體有氨氣、硫化物、苯系蒸汽等,測試濃度范圍為10-1000ppm。
2.2.2 TLN13UA06 Wi-Fi 模塊
TLN13UA06 軟、硬件接口全面,體積小,功耗低。本產(chǎn)品采用UART 接口,內(nèi)置IEEE802.1 協(xié)議棧以及TCP/IP 協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口到無線網(wǎng)絡(luò)之間的轉(zhuǎn)換。TTLN13UA06 模塊支持串口透明數(shù)據(jù)傳輸模式,使傳統(tǒng)的串口裝置可輕松接入無線網(wǎng)絡(luò)。
2.2.3 AT91SAM7S128-AU 單片機(jī)
單片機(jī)作為產(chǎn)品的控制中心,考慮到與所選傳感器之間的配合,采用AT91SAM7S128-AU 芯片,其存儲器大小、及數(shù)據(jù)總線寬度和接口類型上均可滿足產(chǎn)品設(shè)計要求。
本文重點(diǎn)分析穩(wěn)壓模塊和Wi-Fi 傳輸模塊功能模塊的設(shè)計思想及實(shí)現(xiàn)原理。
穩(wěn)壓模塊由LM2940 和LM1117 組成,其中LM2940 和濾波電路組成5V 穩(wěn)壓電路,LM1117 和濾波電路組成3.3V 穩(wěn)壓電路。[2]LED1 與LED2 分別指示兩個穩(wěn)壓電路是否正常工作。其中5V穩(wěn)壓電路給傳感器模塊供電; 3.3V 穩(wěn)壓電路給MCU、WIFI、JLINK 供電。此外還需要一個1.8V 的電源給MCU 的核心電路供電,由于AT91SAM7S128-AU 單片機(jī)的VDDOUT 引腳,就是一個1.8V的穩(wěn)壓輸出引腳,所以不再設(shè)計1.8V 穩(wěn)壓電路,直接使用該引腳。在MULTISIM 上對5V 穩(wěn)壓電路如圖2 所示,其仿真結(jié)果為5.007V。
TLN13UA06 Wi-Fi 通訊模塊電路如圖3 所示,其中6、7 管腳用于和MCU 直接的通訊;3、4 管腳用于多種模式設(shè)置命令的輸入;2 號管腳是信號燈輸出管腳,與LED3 相連表征工作方式。
本設(shè)計軟件系統(tǒng)采用模塊化的設(shè)計結(jié)構(gòu),分為初始化模塊、采集模塊、傳輸模塊。初始化模塊的作用的是對單片機(jī)中的ADC、總線時鐘、串口模式和定時器進(jìn)行初始設(shè)定;采集模塊完成對ADC 轉(zhuǎn)換的數(shù)字量進(jìn)行采集和存儲;傳輸模塊對采集來的數(shù)據(jù)用串行的方式傳輸至局域網(wǎng)絡(luò)。流程圖如圖4 所示。
圖2 穩(wěn)壓模塊仿真圖
圖3 Wi-Fi 通訊模塊
圖4 軟件系統(tǒng)流程圖
為了提高系統(tǒng)可靠性,軟件必需對系統(tǒng)是否正常工作進(jìn)行檢測。初始化對硬件工作方式進(jìn)行設(shè)置以后,檢測系統(tǒng)工作信號,判斷系統(tǒng)正常工作后,才能進(jìn)行數(shù)據(jù)采集。為了保證數(shù)據(jù)采集的靈敏度,總線速度要足夠高,這里我們設(shè)置為50MHz。配合APP 收到數(shù)據(jù)后的回執(zhí),可以是系統(tǒng)軟件更為可靠。
手機(jī)軟件實(shí)現(xiàn)實(shí)時地將硬件裝置采集到的數(shù)據(jù)接收并顯示在手機(jī)上。同時根據(jù)數(shù)值大小給出用戶優(yōu)秀,良好,輕污染,不健康,危險,有毒害六種提示。本文重點(diǎn)分析數(shù)據(jù)接收與顯示功能的實(shí)現(xiàn)。
手機(jī)軟件與硬件裝置的通訊采用的是套接字(Socket)方法,即二者通過一個雙向的通信連接實(shí)現(xiàn)數(shù)據(jù)的交換。硬件裝置中的TLN13UA06 模塊本身可以設(shè)定為充當(dāng)套接字的服務(wù)器端SocketServer,將數(shù)據(jù)以ASCII 碼的格式通過字節(jié)流的形式發(fā)送出去。此過程TLN13UA06 模塊可以自行完成。
為了接收數(shù)據(jù),手機(jī)軟件創(chuàng)建了一個Socket 實(shí)例,即將手機(jī)設(shè)定為套接字的客戶端,同時在構(gòu)造方法中指定硬件裝置的IP地址與端口號,這樣手機(jī)和局域網(wǎng)絡(luò)連接。連接成功后,為了實(shí)時地接收數(shù)據(jù),軟件將進(jìn)行不斷的循環(huán),同時為了便于后續(xù)的數(shù)據(jù)顯示,軟件還把接收到的數(shù)據(jù)轉(zhuǎn)換為普通的字符串形式。為了增強(qiáng)用戶體驗(yàn),接收數(shù)據(jù)的過程都在新建的一個線程中完成,這是因?yàn)樘捉幼值倪B接是一個耗時操作,在UI 線程中接收數(shù)據(jù)的話,可能會造成應(yīng)用界面的卡死甚至整個程序的崩潰。
在安卓機(jī)制中,只有在UI 線程中才可以更新UI 界面,這就意味著不可以將數(shù)據(jù)直接在接收數(shù)據(jù)的線程中顯示。為了顯示數(shù)據(jù),需要通過Java 中的SendMessage 將數(shù)據(jù)傳遞到UI 線程,再將其顯示到UI 界面中的TextView 控件中。
在2015 年3 月11 日至3 月20 日對湖南師范大學(xué)進(jìn)行跟蹤檢測數(shù)據(jù),并與該地區(qū)的國際空氣質(zhì)量指數(shù)(AQI)中國標(biāo)準(zhǔn)進(jìn)行比較,得出結(jié)果如圖5 所示。對兩組數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,可得到其相對誤差為0.76%。
圖5 檢測結(jié)果對比
實(shí)現(xiàn)了一款基于Android 平臺的污染檢測裝置。硬件系統(tǒng)通過傳感器采集數(shù)據(jù),單片機(jī)控制模塊將采集到的數(shù)據(jù)進(jìn)行處理,并實(shí)時地通過Wi-Fi 模塊傳輸至局域網(wǎng)絡(luò)。與之配套的Android終端APP 實(shí)時地從局域網(wǎng)絡(luò)中獲取數(shù)據(jù)并顯示。結(jié)合傳感器的檢測參數(shù),將檢測到的空氣質(zhì)量數(shù)據(jù)可分級顯示。通過反復(fù)試驗(yàn),該裝置檢測結(jié)果與國際污染空氣質(zhì)量指數(shù)有較好的契合度,可作為普通家庭使用。
[1] 周洪 胡文山 智能家居控制系統(tǒng) 北京:中國電力出版社
[2] 涂時亮 單片機(jī)控制技術(shù) 上海:復(fù)旦大學(xué)出版社
[3] 李剛 瘋狂Android 講義 北京:電子工業(yè)出版社
[4] Eric Freeman Head First 設(shè)計模式 北京:中國電力出版社