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

正文內(nèi)容

計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文-基于arm平臺(tái)的智能家居控制終端設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-01-13 18:03本頁(yè)面
  

【正文】 塊使用的是BENQ M23G GSM/GPRS Class 10 三頻模塊。1) GSM控制模塊實(shí)現(xiàn)了遠(yuǎn)程安全監(jiān)控家電設(shè)備和自動(dòng)報(bào)警的功能。這個(gè)模塊的實(shí)現(xiàn)主要是使用了GSM規(guī)范的AT指令集進(jìn)行程序的設(shè)計(jì)。AT指令集是從終端設(shè)備(Terminal Equipment,TE)或數(shù)據(jù)終端設(shè)備(Data Terminal Equipment,DTE)向終端適配器(Terminal Adapter,TA)或數(shù)據(jù)電路終端設(shè)備(Data Circuit Terminal Equipment,DCE)發(fā)送的。通過(guò)TA,TE發(fā)送AT指令來(lái)控制移動(dòng)臺(tái)(Mobile Station,MS)的功能,與GSM 網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互。用戶可以通過(guò)AT指令進(jìn)行呼叫、短信、電話本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制[21]。到目前為止,GSM規(guī)范對(duì)短消息傳輸定義了三種控制協(xié)議:即二進(jìn)制協(xié)議(塊模式),基于字符的AT命令接口協(xié)議(文本模式)和基于字符的十六進(jìn)制編碼二進(jìn)制傳輸塊接口協(xié)議(PDU 模式)。(1)塊模式 (Block mode) 是使用二進(jìn)制編碼來(lái)傳輸用戶數(shù)據(jù)的接口協(xié)議。為了提高可靠性,它帶有差錯(cuò)保護(hù),適合于鏈接不完全可靠的地區(qū),尤其是要求控制遠(yuǎn)程設(shè)備的情況。它屬于GSM第一階段的短消息傳輸接口協(xié)議。目前,PDU已取代了塊模式。(2)文本模式(Text mode)是使用 AT命令傳輸文本數(shù)據(jù)的接口協(xié)議。該模式適合于非智能終端 、終端仿真器等。使用Text模式收發(fā)短信代碼簡(jiǎn)單,實(shí)現(xiàn)起來(lái)十分容易,但最大的缺點(diǎn)是不能收發(fā)中文短信。(3)PDU模式相當(dāng)于計(jì)算機(jī)網(wǎng)絡(luò)中的分組交換接口協(xié)議。這種傳送方式能夠很平穩(wěn)地過(guò)渡到GPRS,因此GSM規(guī)范要求用戶盡可能地使用PDU模式處理短消息。2) AT指令集GSM的初始化和短信的收發(fā)都通過(guò)發(fā)送GSM規(guī)范的AT指令集的方式實(shí)現(xiàn),以下是系統(tǒng)中用到的主要AT 命令:ATD + 號(hào)碼:拔打號(hào)碼;ATA:接聽(tīng)電話;AT + CMGF = 1:執(zhí)行文本模式;AT + CMGL:列出存儲(chǔ)信息;AT + CMSS:發(fā)短信息;AT + CMGD:刪除短信息;AT + CMGR:讀取短信息。GSM的操作方式及主要代碼3) 本系統(tǒng)主要利用短消息來(lái)控制家用電器設(shè)備的開(kāi)關(guān)以及工作狀態(tài);在對(duì)GSM的操作主要包括GSM模塊的初始化、拔打電話、接聽(tīng)電話、刪除短信、自動(dòng)讀取短信和自動(dòng)發(fā)送短信等操作。在讀取了短信后,系統(tǒng)自動(dòng)對(duì)短信進(jìn)行解析,若判斷短信內(nèi)容為系統(tǒng)指定的控制格式,則可控制家用電器設(shè)備。GSM模塊與S3C2440 ARM平臺(tái)通過(guò)串口進(jìn)行通信,系統(tǒng)采用線程的方式讀取串口內(nèi)容,并對(duì)讀取的內(nèi)容作相應(yīng)的處理。程序的流程圖如圖510所示:圖510 GSM模塊程序流程圖/* GSM init */void Form7::gsm_init(){ fdgprs=open( /dev/s3c2410_serial2, O_RDWR|O_NOCTTY|O_NDELAY)。 if(1 == fdgprs) { perror(Can39。t Open Serial Port)。 } GSM模塊初始化代碼,如代碼54所示: if(fdgprs 0) { struct termios termios_new。 bzero( amp。termios_new, sizeof(termios_new))。 cfmakeraw(amp。termios_new)。 =(B9600)。 |= CLOCAL | CREAD。 amp。= ~CSIZE。 |= CS8。 amp。= ~PARENB。 amp。= ~CSTOPB。 tcflush(fdgprs,TCIFLUSH)。 [VTIME] = 10。 [VMIN] = 1。 tcflush (fdgprs, TCIFLUSH)。 tcsetattr(fdgprs,TCSANOW,amp。termios_new)。 printf(trunk init success!)。 } }代碼54 GSM模塊初始化代碼接收短信,并通過(guò)QString類的一些成員函數(shù)對(duì)短信內(nèi)容進(jìn)行解析的線程函數(shù)實(shí)現(xiàn),如代碼55所示:/* 線程執(zhí)行函數(shù) gsm receive message */void Form7::run(){ int i=0, n, n_ok。 QString receive_s, str_num, str_time, str_output, str_content。 static char mes_mode[32]。 char data_buf[1024]。 strcpy(mes_mode,AT+CMGF=1\xd\0)。 while(1) {printf(recieve message.....\n)。 //AT+CMGF=1回車(采用文本格式發(fā)送 i=10。 while( strstr(data_buf,OK)==NULL ) { write(fdgprs,mes_mode,strlen(mes_mode))。//AT+CMGF=1\xd\0 tcdrain(fdgprs)。//等待發(fā)送完成 tcflush(fdgprs,TCIOFLUSH)。//清空收發(fā)緩沖區(qū) sleep(1)。 read(fdgprs,data_buf,BUFSIZE)。 printf( = %s\n,data_buf)。//data_buf = AT+CMGF=1 OK if(i0) break。 i。 }printf(data_buf = %s\n,data_buf)。//data_buf = AT+CMGF=1 OK memset(data_buf,0,BUFSIZE)。 //用于讀取所有的信息 write(fdgprs,AT+CMGL=\ALL\\r\n,strlen(AT+CMGL=\ALL\\r\n))。//AT+CMGF=1\xd\0 tcdrain(fdgprs)。//等待發(fā)送完成 tcflush(fdgprs,TCIOFLUSH)。//清空收發(fā)緩沖區(qū) sleep(1)。 read(fdgprs,data_buf,BUFSIZE)。 receive_s = QString(data_buf)。 n = (UNREAD)。 n_ok = (\0)。if( n == 1 ) { //用于刪除短信 memset(data_buf,0,BUFSIZE)。 write(fdgprs,AT+CMGD=1\r\n,strlen(AT+CMGR=1\r\n))。//AT+CMGF=1\xd\0 tcdrain(fdgprs)。//等待發(fā)送完成 tcflush(fdgprs,TCIOFLUSH)。//清空收發(fā)緩沖區(qū) read(fdgprs,data_buf,BUFSIZE)。 printf( = %s\n,data_buf)。//data_buf = AT+CMGF=1 OK memset(data_buf,0,BUFSIZE)。 sleep(5)。 continue。 }str_num = (n+11, 11)。str_time = (n+26, 17)。 str_content = (n+55, n_ok86)。 thism_content(str_content)。 //判斷是否為手機(jī)控制指令 str_output = Timer: + str_time + \n + From: + str_num + \n + Content: + str_content + \n\n 。 textEdit2insert(str_output)。//data_buf = AT+CMGF=1 OKprintf(,the message is data_buf = %s\n,data_buf)。 //用于刪除短信 memset(data_buf,0,BUFSIZE)。 write(fdgprs,AT+CMGD=1\r\n,strlen(AT+CMGR=1\r\n))。//AT+CMGF=1\xd\0 tcdrain(fdgprs)。//等待發(fā)送完成 tcflush(fdgprs,TCIOFLUSH)。//清空收發(fā)緩沖區(qū) sleep(1)。 read(fdgprs,data_buf,BUFSIZE)。 printf( = %s\n,data_buf)。 memset(data_buf,0,BUFSIZE)。 sleep(5)。 qDebug(123)。 receive_s = str_num = str_time = str_output = str_content = 。 }}代碼55 接收短信處理的線程函數(shù)本系統(tǒng)提供的視頻功能是為了方便用戶的監(jiān)視。視頻的顯示與傳輸時(shí)以攝像頭捕獲的圖像為主,即抓拍某一瞬間的畫(huà)面進(jìn)行顯示,通過(guò)瞬間的一幅幅畫(huà)面來(lái)實(shí)現(xiàn)視頻功能。程序的流程圖如圖511所示:圖511 攝像頭模塊程序流程圖void Camera::init_ca(){ unsigned int n_buffers = 0。 struct v4l2_capability cap。 struct v4l2_format fmt。 unsigned int i。 enum v4l2_buf_type type。 fd_camera = open (/dev/video0, O_RDWR /* required */ | O_NONBLOCK, 0 )。//打開(kāi)設(shè)備 ioctl (fd_camera, VIDIOC_QUERYCAP, amp。cap)。//獲取攝像頭參數(shù) CLEAR (fmt)。 = V4L2_BUF_TYPE_VIDEO_CAPTURE。 = 280。 = 210。 = V4L2_PIX_FMT_YUYV。主要代碼如代碼56所示: = V4L2_FIELD_INTERLACED。 ioctl (fd_camera, VIDIOC_S_FMT, amp。fmt)。 //設(shè)置圖像格式 file_length = * 。 //計(jì)算圖片大小 struct v4l2_requestbuffers req。 CLEAR (req)。 = 1。 = V4L2_BUF_TYPE_VIDEO_CAPTURE。 = V4L2_MEMORY_MMAP。 ioctl (fd_camera, VIDIOC_REQBUFS, amp。req)。 //申請(qǐng)緩沖,count是申請(qǐng)的數(shù)量 buffers = (struct buffer * )calloc (, sizeof (*buffers))。//內(nèi)存中建立對(duì)應(yīng)空間 for (n_buffers = 0。 n_buffers 。 ++n_buffers) { struct v4l2_buffer buf。 //驅(qū)動(dòng)中的一幀 CLEAR (buf)。 = V4L2_BUF_TYPE_VIDEO_CAPTURE。 = V4L2_MEMORY_MMAP。 = n_buffers。 if (1 == ioctl (fd_camera, VIDIOC_QUERYBUF, amp。buf)) //映射用戶空間 { printf (VIDIOC_QUERYBUF error\n)。 } buffers[n_buffers].length = 。 buffers[n_buffers].start = mmap ( NULL /* start anywhere */, //通過(guò)mmap建立映射關(guān)系 , PROT_READ | PROT_WRITE /* required */, MAP_SHARED /* remended */, fd_camera, )。if (MAP_FAILED == buffers[n_buffers].start) { printf (mmap failed\n)。 } } for (i = 0。 i n_buffers。 ++i) { struct v4l2_buffer buf。 CLEAR (buf)。 = V4L2_BUF_TYPE_VIDEO_CAPTURE。 = V4L2_MEMORY_MMA
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1