【某基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)的軟件設(shè)計(jì)案例3200字】_第1頁(yè)
【某基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)的軟件設(shè)計(jì)案例3200字】_第2頁(yè)
【某基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)的軟件設(shè)計(jì)案例3200字】_第3頁(yè)
【某基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)的軟件設(shè)計(jì)案例3200字】_第4頁(yè)
【某基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)的軟件設(shè)計(jì)案例3200字】_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

某基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)的軟件設(shè)計(jì)案例某基于單片機(jī)的智能火災(zāi)報(bào)警系統(tǒng)的軟件設(shè)計(jì)案例 11.1系統(tǒng)軟件總體框架 1 31.3云平臺(tái)介紹 71.4應(yīng)用層軟件設(shè)計(jì) 8本系統(tǒng)程序設(shè)計(jì)中感知層(硬件)使用Windows操作系統(tǒng)和keil5軟件。KeilC51是8051系列全新的兼容于單片機(jī)C語(yǔ)言的匯編代碼軟件開發(fā)系統(tǒng),在提供新的開發(fā)環(huán)境的硬件調(diào)試器等功能組合在一起錯(cuò)誤!未找到引用源。無(wú)線方式不受限制地查看和取得數(shù)據(jù)信息,并實(shí)現(xiàn)網(wǎng)絡(luò)化、簡(jiǎn)單化的遠(yuǎn)程管應(yīng)用層(APP)使用Andriodstudio軟件,它是一款基于IDEA開發(fā)軟件,專為Andriod應(yīng)用1.1系統(tǒng)軟件總體框架應(yīng)轉(zhuǎn)換和單片機(jī)進(jìn)一步處理,并顯示采集數(shù)據(jù)到液晶屏上。當(dāng)火焰?zhèn)鞲衅鳈z測(cè)到火焰時(shí),繼電器連接的水泵啟動(dòng)自動(dòng)噴水,并更改液晶屏標(biāo)志位顯示;當(dāng)煙模塊通過(guò)路由器或手機(jī)熱點(diǎn)將數(shù)據(jù)上傳至云平臺(tái),由云平臺(tái)將過(guò)分析比對(duì)接收數(shù)據(jù),超過(guò)閾值顯示報(bào)警提示。如果未發(fā)生異常情況,則直接上傳煙霧濃度數(shù)據(jù)。主程序流程圖如圖4-1所示。開始開始WiFi模塊初始化數(shù)據(jù)采集與顯示開啟風(fēng)扇、更改結(jié)束傳報(bào)警數(shù)據(jù)是否檢測(cè)到火焰1.1.2中斷函數(shù)流程圖若是接收到從遠(yuǎn)程端發(fā)送來(lái)的數(shù)據(jù),首先判斷是否為控制請(qǐng)求,如果是控制指令,云平臺(tái)轉(zhuǎn)發(fā)相關(guān)指令至單片機(jī),對(duì)相應(yīng)的終端控制器件進(jìn)行操作,例如:?jiǎn)?dòng)或停止風(fēng)扇、打開或關(guān)閉繼電器或是對(duì)單片機(jī)內(nèi)部閾值做更改等。完成一系列操作后結(jié)束中斷,返回主函數(shù)。如果沒(méi)有接收到控制請(qǐng)求,則上傳數(shù)據(jù)后直接返回。中斷函數(shù)流程圖如圖4-2所示。是1.2子程序1.1.1煙霧采集子程序煙霧采集模塊啟動(dòng)后,首先對(duì)傳感器進(jìn)行預(yù)熱,采集環(huán)境的模擬數(shù)據(jù)使得其輸出準(zhǔn)確地電壓和電阻,通過(guò)ADC轉(zhuǎn)換為數(shù)字量并讀取并通過(guò)WiFi模塊通信。煙霧采集與轉(zhuǎn)換流程圖及關(guān)鍵代碼如圖4-3、4-4和4-5所示。在煙霧采集的關(guān)鍵代碼中通過(guò)GetMQ2采集模擬電壓值,經(jīng)過(guò)調(diào)用GetValue0832(方法進(jìn)行一定的計(jì)算將模擬電壓轉(zhuǎn)換為煙霧數(shù)字量。如果采集到模擬電壓值則通過(guò)通道0進(jìn)入A/D轉(zhuǎn)換模式,通過(guò)for循環(huán)讀取數(shù)據(jù),比較兩次得到的數(shù)據(jù),相同則輸出。圖4-3煙霧采集及轉(zhuǎn)換流程圖圖4-4煙霧采集關(guān)鍵代碼Di0832=1;if(Dat1==Dat2)圖4-5A/D轉(zhuǎn)換關(guān)鍵代碼1.1.2LCD1602顯示子程序?qū)懼噶罨蚴菙?shù)據(jù),高電平情況下RS完成寫數(shù)據(jù)操作,低電平情況下RS完成寫指令操作。但當(dāng)寫入指令時(shí)會(huì)導(dǎo)致錯(cuò)誤出現(xiàn)。在LCD1602延時(shí)的過(guò)程中,采集模塊開始采集和轉(zhuǎn)換容數(shù)據(jù),然后返回等待下一次數(shù)據(jù)的讀取。LCD1602顯示模塊流程圖及關(guān)鍵代碼如圖4-6開始開始}voidlcdwrdata(uchardalcdwrdata(FlagAlarm2打開通過(guò)串口調(diào)試助手,發(fā)送AT指令對(duì)串□進(jìn)行配置,當(dāng)串□回復(fù)OK時(shí)即設(shè)置成塊可以接收來(lái)自無(wú)線路由器發(fā)出的信號(hào)并連接互聯(lián)網(wǎng);在AP模式下WiFi模塊與熱點(diǎn)類似,可以通過(guò)手機(jī)或電腦連接從而實(shí)現(xiàn)無(wú)線通無(wú)縫切換,使其他設(shè)備接入遠(yuǎn)程服務(wù)器并保存到Flash,將采集的數(shù)據(jù)由無(wú)線方式傳送至云平臺(tái),同時(shí)能夠收到返回?cái)?shù)據(jù)。通過(guò)AT+CWMODE指令,若值為1,表明連接到STA模式;值為2,連接到AP模式;值為3,工作在STA+AP模式。通過(guò)AT+CWJAP指令設(shè)置WiFi模塊名稱及密碼;而在連接至路由器之后需要通過(guò)AT+CIPSTART=181.230.40.39,6002指令連接云1.3云平臺(tái)介紹本系統(tǒng)采用OneNET云平臺(tái)中的多協(xié)議接入服務(wù),它為開發(fā)者提供面向各種行業(yè)或場(chǎng)景的設(shè)備協(xié)議接入服務(wù),具有海量接入、數(shù)據(jù)存儲(chǔ)、設(shè)模塊組成,平臺(tái)域是物聯(lián)網(wǎng)開放平臺(tái),大量服務(wù)終端構(gòu)成應(yīng)用域錯(cuò)誤!未找到引用源。。本系統(tǒng)的設(shè)備域主要是硬件終端的MQ-2煙霧傳感器、火焰?zhèn)鞲衅?、風(fēng)扇、繼電器和單片機(jī),將數(shù)據(jù)信息打包上傳至平臺(tái)域。平臺(tái)域通過(guò)WiFi接入MQTT通信協(xié)議將傳輸?shù)臄?shù)據(jù)進(jìn)行存儲(chǔ)與接口連接到第三方應(yīng)用,本系統(tǒng)的應(yīng)用端是APP。其架構(gòu)圖如圖4-8所示。云平臺(tái)火焰?zhèn)鞲袩熿F傳感單片機(jī)繼電器風(fēng)扇消息隊(duì)列遠(yuǎn)距離監(jiān)測(cè)傳輸協(xié)議簡(jiǎn)稱為MQTT協(xié)議,能夠進(jìn)行實(shí)時(shí)通信,是物聯(lián)網(wǎng)的重寬環(huán)境下、運(yùn)行于不可靠連接中的遠(yuǎn)程傳感器和控制器件能夠正常通訊。它是一種基于息發(fā)布,將數(shù)據(jù)推送到應(yīng)用,解決不同應(yīng)用程序之間交叉耦合的問(wèn)題。適用于智慧能源、資源利用率低等優(yōu)點(diǎn)錯(cuò)誤!未找到引用源。。MQTT協(xié)議是基于TCP/IP協(xié)議連入互聯(lián)網(wǎng)并進(jìn)行數(shù)據(jù)推言,存放在項(xiàng)目工程的res文件夾中l(wèi)ayout目錄下的xml文件中。設(shè)計(jì)中的顯示界面采用線性布局和相對(duì)布局相互嵌套使用的方式,并且在線性和相對(duì)布局中添加了一些文本提示框、輸入編輯框和按鈕組件來(lái)實(shí)現(xiàn)系統(tǒng)顯示界面的設(shè)計(jì)。由線性布局設(shè)置水平排列每個(gè)子組件水平排列,按鈕、文本框、編輯框的排列通過(guò)相對(duì)布局來(lái)實(shí)現(xiàn)。本設(shè)計(jì)的顯示界面如圖4-9所示。啟動(dòng)水泵啟動(dòng)水泵本系統(tǒng)中的APP是基于Java語(yǔ)言在Andriodstudio平臺(tái)上進(jìn)行開發(fā)的,采用MQTT協(xié)議,該協(xié)議中有兩個(gè)很重要的組成部分,分別是app和mcu,app需要向服務(wù)器端訂閱接收到該話題,本系統(tǒng)中APP采用這種方式獲取信息,客戶端APP即對(duì)應(yīng)的app,作為消息的發(fā)布者。因此在進(jìn)行通信之前,首先用戶要連接云平臺(tái)中的服務(wù)器,添加權(quán)鑒信息和相關(guān)訂閱操作,接入前所需填寫的設(shè)備信息包括:服務(wù)器IP或域名、服務(wù)器端口號(hào)、設(shè)備ID為云平臺(tái)中app的設(shè)備號(hào)、產(chǎn)品號(hào)為云平臺(tái)的產(chǎn)品ID,密碼為app,訂閱的主題為mcu即讓mcu上傳信息到云平臺(tái),發(fā)布者為app。該頁(yè)面通過(guò)點(diǎn)擊頂部的按鈕即可彈出,當(dāng)所有信息配置完成點(diǎn)擊確定按鈕即成功將APP接入云平臺(tái)。登錄界面如圖4-10所示。遠(yuǎn)程智能火災(zāi)報(bào)警系統(tǒng)遠(yuǎn)程智能火災(zāi)報(bào)警系統(tǒng)服務(wù)器端口號(hào):產(chǎn)品號(hào):發(fā)布者:1.1.3提示報(bào)警程序設(shè)計(jì)關(guān)鍵代碼中由for循環(huán)接收單片機(jī)上傳的數(shù)據(jù)并存放在數(shù)據(jù)緩沖區(qū)。緩沖區(qū)數(shù)據(jù)的固定幀頭是在程序內(nèi)部設(shè)定的,是數(shù)據(jù)分類的標(biāo)識(shí)。通過(guò)不斷循環(huán)檢測(cè)每一個(gè)數(shù)據(jù)緩沖區(qū)的數(shù)據(jù),如果接收到幀頭,則幀頭后面是所需的數(shù)據(jù),能夠?qū)ζ溥M(jìn)行采集。若幀頭后第二、第三位的數(shù)據(jù)不為零,則顯示相應(yīng)的報(bào)警提示。報(bào)警信息提示界面顯示圖以及主要代碼如圖4-11、4-12所示。報(bào)警信息:有火焰,請(qǐng)注意!煙霧濃度:74%報(bào)警信息:煙霧濃度過(guò)高,請(qǐng)注str1="有火焰,請(qǐng)注意!";str2="煙霧濃度過(guò)高,請(qǐng)注意!";"煙霧濃度:"+temp1/10+temp1%10+"%\r\n"+"報(bào)警信息:"+"\r\n"+str1+str21.1.4下發(fā)指令程序設(shè)計(jì)本系統(tǒng)通過(guò)Button控件實(shí)現(xiàn)下發(fā)指令控制的功能。由于按鈕較多,通過(guò)外部類實(shí)現(xiàn)監(jiān)聽(tīng),使用接□OnClickListener。當(dāng)監(jiān)聽(tīng)到按鈕點(diǎn)擊事件時(shí),將取得的字符“FD11”轉(zhuǎn)換為數(shù)組并啟動(dòng)發(fā)布消息的線程將指令轉(zhuǎn)發(fā)至單片機(jī)。單片機(jī)根據(jù)讀取到的數(shù)據(jù)判斷執(zhí)行相關(guān)操作。這里以啟動(dòng)風(fēng)扇的按鈕為例,按鍵樣式及關(guān)鍵實(shí)現(xiàn)代碼如圖4-13、4-14和4-15所示。publicvoidonClick(V圖4-14按鍵實(shí)現(xiàn)監(jiān)聽(tīng)事件voidvoiduart_rx(void)interrupt4RI=0;elseif((RxdBuf[e]=='F')88(RxdBuf[1Flag

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論