freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng)本科畢業(yè)設(shè)計(jì)論文-資料下載頁(yè)

2025-06-27 21:08本頁(yè)面
  

【正文】 。//輸出模式標(biāo)志 unsigned short c_cflag。//控制模式標(biāo)志 unsigned short c_lflag。//本地模式標(biāo)志 unsigned char c_line。//控制協(xié)議 unsigned char c_cc[NCC]。//控制模式字符}。幾乎對(duì)串口的操作都是通過(guò)結(jié)構(gòu)體struct termios和幾個(gè)函數(shù)實(shí)現(xiàn),其中最重要的是tcgetattr()和tcsetattr(),剛開(kāi)始程序通過(guò)tcgetattr()函數(shù)獲取設(shè)備當(dāng)前的設(shè)置,然后修改這些設(shè)置,最后用tcsetattr()使設(shè)置生效。在使用串口時(shí),波特率設(shè)置成b9600,無(wú)校驗(yàn)位,8位數(shù)據(jù)位和一位停止位。設(shè)置好串口之后,就可以通過(guò)把串口當(dāng)作文件讀寫(xiě)了。發(fā)送數(shù)據(jù):char buffer[1024]。int Length=1024。int nbyte。nbyte = write(fd,buffer,Length)。接受數(shù)據(jù):char buffer[1024]。int Len=1024。int readbyte= read(fd,buff,Len)。 通過(guò)串口發(fā)送短信前面已經(jīng)簡(jiǎn)單介紹過(guò)TC35模塊,TC35模塊有40個(gè)引腳,通過(guò)一個(gè)ZIF(ZeroInsertionForce,零阻力插座)連接器引出。這40個(gè)引腳可以劃分為5類(lèi),即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控制。在開(kāi)發(fā)中我們用的是GSM集成模塊,模塊把我們需要使用的引腳都接了出來(lái),開(kāi)發(fā)時(shí)只有提供電源和接上MAX232電路即可。由于開(kāi)發(fā)板上輸出的電平是TTL電平,TC35模塊輸入輸出的是RS232電平,因而開(kāi)發(fā)時(shí)需要自己外接MAX232電路進(jìn)行電平轉(zhuǎn)換。讓TC35工作的過(guò)程主要是通過(guò)開(kāi)發(fā)板的串口給TC35發(fā)送AT指令以及處理開(kāi)發(fā)板返回的AT指令。通過(guò)GSM短信模塊發(fā)送短信主要有兩種格式:英文短信和中文PDU短信。下面是發(fā)送英文短信的收發(fā)過(guò)程。發(fā):AT //與AT35握手收:OK發(fā):AT+CMGF=1 //選擇發(fā)送短信的格式收:OK發(fā):AT+CMGS=15215029882 //要發(fā)送的手機(jī)號(hào)收:發(fā):data→ //test 為發(fā)送內(nèi)容,→為發(fā)送符(ctrl+z,十六進(jìn)制0x1A)收:+CMGS: 54 OK知道了GSM英文短信的發(fā)送過(guò)程,只要把握好順序用nbyte = write(fd,buffer,Length);即可實(shí)現(xiàn)發(fā)送英文短信的功能。本設(shè)計(jì)中,用發(fā)送短信主要是為了實(shí)現(xiàn)家電遠(yuǎn)程監(jiān)視的功能,當(dāng)用戶(hù)發(fā)送檢測(cè)家電的請(qǐng)求時(shí),系統(tǒng)通過(guò)發(fā)送英文短信向用戶(hù)反饋家電的工作狀態(tài),從而達(dá)到檢測(cè)家電的功能。要控制家電,首先系統(tǒng)要識(shí)別是什么用戶(hù)向系統(tǒng)發(fā)送了消息,而且系統(tǒng)還要識(shí)別受到消息的內(nèi)容,從而對(duì)家電進(jìn)行控制。系統(tǒng)首先保存用戶(hù)的電話(huà)號(hào)碼,當(dāng)用戶(hù)收到消息時(shí),首先判斷是否是智能家居系統(tǒng)對(duì)家電發(fā)送了消息,如果是系統(tǒng)的主人發(fā)送的控制命令,系統(tǒng)接著對(duì)短信進(jìn)行解析,最后控制器對(duì)家電進(jìn)行控制。若智能家居系統(tǒng)收到其他用戶(hù)的短信請(qǐng)求,將不會(huì)對(duì)短信進(jìn)行解析,也不會(huì)對(duì)短信進(jìn)行監(jiān)控。: GSM短信模塊的程序流程圖控制器的串口和連接GSM模塊的max232串口相連接,當(dāng)GSM模塊收到信息后馬上向開(kāi)發(fā)板返回AT指令信息,因而系統(tǒng)一直在檢測(cè)是否收到短信, 溫度采集模塊的實(shí)現(xiàn)DS18B20溫度傳感器提供9位到12位(二進(jìn)制)溫度讀數(shù),指示器件的溫度信息經(jīng)過(guò)單線(xiàn)接口送入DS18B20或從DS18B2O送出,從主機(jī)CPU到DS18B20僅需一條線(xiàn)(共地),DS18B20可選擇兩種供電方式,一是數(shù)據(jù)總線(xiàn)供電方式,可節(jié)省一根導(dǎo)線(xiàn),但測(cè)量溫度時(shí)間較長(zhǎng);二是外部供電方式,DS18B2O工作電源由VDD引腳接入,I/O線(xiàn)不需要強(qiáng)上拉,不存在電源電流不足的問(wèn)題,可以保證轉(zhuǎn)換精度,這樣雖多用一根導(dǎo)線(xiàn),但測(cè)量速度較快,同時(shí)總線(xiàn)可以?huà)旖佣鄠€(gè)DS18B20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng),為了實(shí)現(xiàn)及時(shí)多點(diǎn)采集溫度,本設(shè)計(jì)選用了外部供電的方式。DS18B20的測(cè)量范圍從55攝氏度到+125攝氏度,可在1s(典型值)內(nèi)把溫度變換成數(shù)字,每一個(gè)DS18B20在出廠(chǎng)時(shí)已給定了唯一的序號(hào),多個(gè)DS18B20可以存放在同一條單線(xiàn)總線(xiàn)上,實(shí)現(xiàn)多路溫度采集。DS18B20的序號(hào)值存放在DSl8B20內(nèi)部的ROM(只讀存貯器)中,多路測(cè)量時(shí)需用DS18B20的ROM搜索命令對(duì)所有單線(xiàn)總線(xiàn)上的傳感器進(jìn)行搜索,然后初始化各DS18B20并發(fā)送跳過(guò)ROM命令和RAM溫度轉(zhuǎn)換命令,單線(xiàn)上各DS18B20完成溫度轉(zhuǎn)換后,即可定位某一個(gè)DS18B20,并用匹配ROM命令和RAM溫度讀取命令讀取其數(shù)字溫度值。: ROM存儲(chǔ)器操作命令ROM 指令代碼指令功能Read ROM33H讀取DS18B20的64位器件序列號(hào)Match55H總線(xiàn)控制在單線(xiàn)上定位一只特定的DS18B20Skip ROMCCH總線(xiàn)控制器不需發(fā)送器件序列號(hào)就可對(duì)存儲(chǔ)器操作Search ROMF0H識(shí)別單線(xiàn)總線(xiàn)上各單線(xiàn)器件的序列號(hào)Alarm ROMECH對(duì)溫度超過(guò)報(bào)警上、下限的器件做出警告搜索響應(yīng) RAM存儲(chǔ)器操作命令RAM 指令代碼指令功能Write Scratchpad4EH寫(xiě)入數(shù)據(jù)到儲(chǔ)存器字節(jié)2,3和字節(jié)4Read ScratchpadBEH讀暫存存儲(chǔ)器Copy Scratchpad48H將暫存器中TH,TL和配置寄存器內(nèi)容復(fù)雜到E2PROMConvert Temperature44H啟動(dòng)DS18B20溫度轉(zhuǎn)換Recall EPROMB8H將E2PROM中TH,TL和配置寄存器內(nèi)容回寫(xiě)到暫存器Read Power supplyB4H讀電源數(shù)字溫度傳感器DS18B20將模擬溫度信號(hào)直接轉(zhuǎn)換為數(shù)字信號(hào),然后通過(guò)串行通信的方式輸出。因此,溫度采集的關(guān)鍵是DS18B20的通信協(xié)議,為了確保數(shù)據(jù)轉(zhuǎn)換與傳輸?shù)耐暾?,DS18B20器件必須采用嚴(yán)格的通信協(xié)議與處理器S3C2440進(jìn)行數(shù)據(jù)通信DS18B20數(shù)據(jù)通信協(xié)議包括傳感器的初始化,數(shù)據(jù)執(zhí)行ROM操作命令和存儲(chǔ)器操作命令等。初始化協(xié)議定義復(fù)位和存在脈沖時(shí)序,數(shù)據(jù)執(zhí)行協(xié)議定義處理器讀0讀1時(shí)序和寫(xiě)0寫(xiě)1時(shí)序,所有的命令和數(shù)據(jù)以字節(jié)發(fā)送,并且低位在前,高位在后,: DS18B20數(shù)據(jù)通信時(shí)序圖處理器將單線(xiàn)總線(xiàn)DQ從邏輯高電平拉為邏輯低電平時(shí),啟動(dòng)一個(gè)寫(xiě)時(shí)序,所有的寫(xiě)時(shí)序必須在60181。s~12181。s內(nèi)完成,并且兩個(gè)連續(xù)的寫(xiě)時(shí)序之間至少需要1181。s的恢復(fù)時(shí)間,在寫(xiě)“0”整個(gè)時(shí)序期間,總線(xiàn)一直保持為邏輯低電平,而在寫(xiě)“1”時(shí)序期間,處理器先將單線(xiàn)總線(xiàn)拉為邏輯低電平,在時(shí)序開(kāi)始后15181。s內(nèi)將總線(xiàn)釋放,寫(xiě)“0”與寫(xiě)“1”:圖 寫(xiě)“0”與寫(xiě)“1”時(shí)序圖: DS18B20溫度采集程序設(shè)計(jì)流程圖數(shù)據(jù)采集過(guò)程中驅(qū)動(dòng)層所編寫(xiě)的主要函數(shù)如下:1:static int ds18b20_init(void)。//數(shù)據(jù)初始化2:static unsigned char write_byte(void)。//向DS18B20讀數(shù)據(jù)3:static unsigned char read_byte(void)。//往DS18B20寫(xiě)數(shù)據(jù)4:static ssize_t ds18b20_read(struct file *file,char __user *buf,size_t count,loff_t *f_pos)。//讀出溫度值,然后利用copy_to_user函數(shù)返回給用戶(hù)層。為便于調(diào)試,該驅(qū)動(dòng)模塊沒(méi)有內(nèi)核驅(qū)動(dòng)方式配置,而是以模塊方式配置,所以每次使用的時(shí)候必須通過(guò)運(yùn)行insmod 。溫度傳感器在嵌入式系統(tǒng)中對(duì)應(yīng)的設(shè)備文件為/dev/ds18b20,首先系統(tǒng)調(diào)用函數(shù)int fd_ds18b20=open(“/dev/ds18b20”,O_RDWR)打開(kāi)嵌入式設(shè)備中的傳感器設(shè)備,打開(kāi)設(shè)備失敗返回1,以后的系統(tǒng)函數(shù)就可以使用fd_ds18b20來(lái)對(duì)設(shè)備進(jìn)行操作。關(guān)閉數(shù)字溫度傳感器的函數(shù)為close(fd_ds18b20)。系統(tǒng)通過(guò)調(diào)用read(fd_ds18b20,amp。result,sizeof(result))讀出溫度值,保存在result中,最后顯示出來(lái)。 煙霧傳感器模塊的實(shí)現(xiàn)MQ2氣體傳感器可檢測(cè)多種可燃性氣體,當(dāng)傳感器所處環(huán)境中存在可燃性氣體時(shí),傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大。使用簡(jiǎn)單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出電壓信號(hào)。根據(jù)傳感器輸出的電壓大小判斷環(huán)境中可燃性氣體濃度的大小。MQ2氣體傳感器輸出的是電壓信號(hào),處理器要把相應(yīng)的電壓值轉(zhuǎn)換成對(duì)應(yīng)的數(shù)值,S3C2440自帶了A/D轉(zhuǎn)換的功能,A/D轉(zhuǎn)換芯片在嵌入式系統(tǒng)中對(duì)應(yīng)的設(shè)備文件“/dev/adc”,首先系統(tǒng)調(diào)用函數(shù)int fd_adctest=open(“/dev/adc”,O_RDWR)打開(kāi)嵌入式設(shè)備中的A/D轉(zhuǎn)換設(shè)備,打開(kāi)設(shè)備失敗返回1,以后的系統(tǒng)函數(shù)就可以使用fd_adctest來(lái)對(duì)設(shè)備進(jìn)行操作。關(guān)閉煙霧傳感器的函數(shù)為close(fd_adctest)。下圖是煙霧傳感器的連接圖。 煙霧傳感器接線(xiàn)圖如上圖所示,MQ2其他傳感器有6只針狀管引腳,其中4個(gè)用于信號(hào)輸出,2個(gè)用于提供加熱電流。設(shè)傳感器表面電阻是Rs,它是通過(guò)與其串聯(lián)的負(fù)載電阻RL上的有效電壓信號(hào)輸出獲得的,參考MQ2datasheet : 式() (其電導(dǎo)率隨著氣體濃度的增大而增大,其電阻式電導(dǎo)率的倒數(shù),所以電阻是減小的,其特性相當(dāng)于一個(gè)滑動(dòng)變阻器)。 式()為回路電壓即電源電壓,其加在MQ2傳感器的1腳、3腳之間,是傳感器4腳、6腳輸出電壓,為傳感器的體電阻。若氣體濃度上升,必將導(dǎo)致下降。而的下降則會(huì)導(dǎo)致MQ2的4腳、6腳對(duì)地輸出的電壓增大,所以氣體濃度增大,其輸出電壓也會(huì)增大。S3C2440開(kāi)發(fā)板的A/D轉(zhuǎn)換器會(huì)把輸入的模擬電壓信號(hào)轉(zhuǎn)換成01023之間的數(shù)字,轉(zhuǎn)換成的數(shù)字越大,說(shuō)明電壓越大即煙霧濃度越大。假設(shè)程序中經(jīng)過(guò)A/D轉(zhuǎn)換后的數(shù)字是,在程序中可以設(shè)兩個(gè)值、假設(shè)=400,=800,若,系統(tǒng)把室內(nèi)的抽風(fēng)機(jī)打開(kāi),把有害氣體排出室外,若,系統(tǒng)把蜂鳴器開(kāi)起,進(jìn)行報(bào)警。 具有語(yǔ)音提示功能的密碼鎖防盜模塊的實(shí)現(xiàn)本模塊用到了4*4鍵盤(pán)作為輸入設(shè)備。 4*4鍵盤(pán)實(shí)物圖 4*4鍵盤(pán)電路圖‘0’‘9’和‘A’、‘B’、‘C’、‘D’代表16個(gè)值。在程序中用按下“”鍵表示確認(rèn)輸入密碼,用按下“*”表示刪除輸入。,程序不斷掃描鍵盤(pán),判斷是否有按鍵閉合,若某個(gè)按鍵按下,系統(tǒng)執(zhí)行延遲去抖動(dòng)代碼,接著繼續(xù)掃描鍵盤(pán),判斷用戶(hù)按下了哪個(gè)按鍵,計(jì)算按鍵鍵值,并對(duì)按下按鍵進(jìn)行有效標(biāo)志。 4*4鍵盤(pán)掃描程序一開(kāi)始在程序初始化某一個(gè)密碼,程序不斷檢測(cè)用戶(hù)輸入,當(dāng)用戶(hù)輸入正確密碼時(shí)即打開(kāi)門(mén),同時(shí)系統(tǒng)將不再接收由紅光電感器輸入的中斷信號(hào),有人強(qiáng)行打開(kāi)門(mén)時(shí),屋內(nèi)光電傳感器檢測(cè)到異常信號(hào),系統(tǒng)執(zhí)行中斷服務(wù)程序,接著向ISD1760語(yǔ)音芯片發(fā)送觸發(fā)信號(hào)進(jìn)行語(yǔ)音報(bào)警。 密碼鎖防盜門(mén)流程圖。具有語(yǔ)音提示功能的密碼鎖防盜門(mén)模塊在開(kāi)始時(shí)先初始化外部中斷,接著程序?qū)⒁恢辈樵?xún)紅外傳感器是否檢測(cè)到信號(hào),判斷是否有中斷請(qǐng)求,若發(fā)生中斷請(qǐng)求,先判斷用戶(hù)是否輸入了正確的密碼打開(kāi)門(mén)的,若是,則把門(mén)打開(kāi),若否,系統(tǒng)將觸發(fā)語(yǔ)音報(bào)警模塊運(yùn)行。系統(tǒng)中用光電傳感器來(lái)檢測(cè)和發(fā)出中斷信號(hào)。光電傳感器是各種光電檢測(cè)系統(tǒng)中實(shí)現(xiàn)光電轉(zhuǎn)換的關(guān)鍵元件,它是把光信號(hào)(紅外、可見(jiàn)紫外光輻射)轉(zhuǎn)變成為電信號(hào)的器件。光電傳感器是以光電器件作為轉(zhuǎn)換元件的傳感器。它可以用于檢測(cè)直接引起光量變化的非電量,如光強(qiáng)等。如下圖所示,光電傳感器有三個(gè)引腳,紅線(xiàn)和綠線(xiàn)分別連接電源正負(fù)極,黃線(xiàn)是信號(hào)輸出線(xiàn),當(dāng)傳感器沒(méi)有檢測(cè)到東西時(shí),信號(hào)線(xiàn)輸出高電平信號(hào),當(dāng)傳感器感應(yīng)到前方有東西時(shí),輸出低電平信號(hào)。 光電傳感器及其引腳圖在正常工作時(shí),光電傳感器默認(rèn)輸出高電平,當(dāng)有人靠近時(shí),光電傳感器輸出低電平。在設(shè)計(jì)時(shí)根據(jù)這個(gè)電平跳變的特征,本文利用下降沿中斷的概念,當(dāng)有東西靠近傳感器時(shí)將觸發(fā)一次中斷。通過(guò)判斷光電的信號(hào)線(xiàn)是否有下降沿的變化從而斷定是否有人靠經(jīng)保險(xiǎn)柜等重要財(cái)產(chǎn)。光電傳感器在嵌入式系統(tǒng)中對(duì)應(yīng)的設(shè)備文件為/dev/red_sensor,首先用int fd_redsensor=open(“/dev/red_sensor”,O_RDWR)來(lái)打開(kāi)嵌入式系統(tǒng)中的光電傳感器設(shè)備驅(qū)動(dòng),fd_redsensor是調(diào)用打開(kāi)設(shè)備函數(shù)后返回的文件描述符(打開(kāi)錯(cuò)誤后返回1),之后的函數(shù)就可以使用fd_redsensor來(lái)對(duì)設(shè)備進(jìn)行操作。關(guān)閉光電傳感器為close(fd_redsensor)。在QT程序中本設(shè)計(jì)用到了Timer定時(shí)器的概念,每隔一秒種查看是否有外部下降沿中斷的發(fā)生,當(dāng)沒(méi)有發(fā)生中斷時(shí),上層應(yīng)用程序讀到底層硬件驅(qū)動(dòng)程序中copy_to_user函數(shù)返回的數(shù)據(jù)是0,當(dāng)有外部中斷時(shí),讀到的數(shù)據(jù)是1。當(dāng)上層QT程序判斷出現(xiàn)下降沿中斷后馬上發(fā)出信號(hào)觸發(fā)報(bào)警模塊進(jìn)行語(yǔ)音報(bào)警。此外,語(yǔ)音報(bào)警模塊本系統(tǒng)用的是外部的錄音芯片ISD1760,該語(yǔ)音芯片是 Winbond推出的單片優(yōu)質(zhì)語(yǔ)音錄放電路,該芯片提供多項(xiàng)新功能,包括內(nèi)置專(zhuān)利的多信息管理系統(tǒng),新信息提示(vAlert),雙運(yùn)作模式(獨(dú)立amp。嵌入式),以及可定制的信息操作指示音效。芯片內(nèi)部包含有自動(dòng)增益控制、麥克風(fēng)前置擴(kuò)大器、揚(yáng)聲器驅(qū)動(dòng)線(xiàn)路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。根據(jù)芯片電路把電路連接好,提前往芯片里面錄好音,當(dāng)檢測(cè)到可能有小偷時(shí),通過(guò)ioctl(fd_redsensor,0,1)控制輸出相應(yīng)的控制電平就可以達(dá)到報(bào)警的目的。 預(yù)防小孩墜樓模塊近年來(lái)小孩墜樓現(xiàn)象時(shí)有發(fā)生,我們通過(guò)在窗戶(hù)附近安裝人體紅外傳感器,檢測(cè)到小孩靠近窗戶(hù)時(shí)將關(guān)閉窗戶(hù),小孩離開(kāi)窗戶(hù)后將把窗戶(hù)打開(kāi),最大限度保護(hù)小孩的安全。在模型中我們只用
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1