【正文】
e AT instruction. It uses the PDU mode at the same time. Software realization uses modular methods, which using C language to achieve, are specifically described in software design.This system has advantages of small volume, high reliability and low cost. It can be applied to modern intelligent home furnishing. It is convenient, fast and with high security.Key words:GSM。 household appliances。目前已經(jīng)受到越來(lái)越多的系統(tǒng)營(yíng)運(yùn)商和開發(fā)商的重視,各種以GSM網(wǎng)絡(luò)為無(wú)限傳輸網(wǎng)絡(luò),基于短消息服務(wù)的應(yīng)用在迅速發(fā)展起來(lái)。因此,通過(guò)手機(jī)短信遠(yuǎn)程控制家電成為近期家電行業(yè)的主流,國(guó)內(nèi)外各大家電行業(yè)也會(huì)相繼推出相關(guān)產(chǎn)品。目前,隨著數(shù)字化技術(shù)的發(fā)展,模擬的電、水表基本實(shí)現(xiàn)了數(shù)字化,只要解決信息采集的問(wèn)題,就可以實(shí)現(xiàn)遠(yuǎn)程抄表;對(duì)講及家庭防盜報(bào)警在很多小區(qū)中都可以看到;至于家居遠(yuǎn)程監(jiān)控和室內(nèi)環(huán)境監(jiān)測(cè),在一些有條件的用戶家中可以見到;但真正影響到生活舒適性的變革是遠(yuǎn)程家電控制。例如,在下班途中可以預(yù)先將家中的空調(diào)打開、讓熱水器提前燒好熱水、讓電飯鍋煮飯。這一過(guò)程的實(shí)現(xiàn)只需要點(diǎn)一下鼠標(biāo),打一個(gè)電話或發(fā)一條短消息,是如此的方便、快捷。作為智能化家居的重要組成部分,遠(yuǎn)程家電控制將會(huì)有更廣泛的應(yīng)用前景。3COM一直向用戶宣傳家庭網(wǎng)絡(luò)這一概念,并研發(fā)出家用無(wú)線網(wǎng)關(guān)等網(wǎng)絡(luò)產(chǎn)品。 系統(tǒng)設(shè)計(jì)內(nèi)容與要求本次設(shè)計(jì)主要針對(duì)家居環(huán)境中的家用電器進(jìn)行監(jiān)控,以華為GTM900C模塊為核心,GSM網(wǎng)絡(luò)為信息傳輸平臺(tái),設(shè)計(jì)一個(gè)基于GTM900C的家用電器監(jiān)控系統(tǒng)。(1)通過(guò)手機(jī)短信,遠(yuǎn)程讀取室內(nèi)環(huán)境參數(shù),溫度測(cè)量范圍50~150度,濕度測(cè)量范圍0~100%;(2)遠(yuǎn)程控制家用電器的工作狀態(tài),實(shí)現(xiàn)對(duì)8路家用電器的開和關(guān)進(jìn)行控制;(3)支持2個(gè)主人號(hào)碼,且通過(guò)鍵盤可以修改該手機(jī)號(hào)碼;(4)提供備用電源接口,以保證停電時(shí)系統(tǒng)能正常工作。:控制模塊(單片機(jī))控制模塊(單片機(jī))溫濕度傳感器GTM900C模塊用戶手機(jī)遠(yuǎn)程控制家用電器開關(guān)狀態(tài)GSM 網(wǎng)絡(luò)備用電源接口鍵盤單片機(jī)下載線PC機(jī)繼電器LCD顯示屏 遠(yuǎn)程家電控制系統(tǒng)的結(jié)構(gòu)框圖在系統(tǒng)中,單片機(jī)作為主控單元起著核心作用,主要用來(lái)啟動(dòng)GTM900C模塊、檢測(cè)模塊的在線情況、三極管的輸出電平和溫濕度的數(shù)據(jù)傳送。根據(jù)解析出的短信內(nèi)容控制I/O口輸出的高低電平,經(jīng)過(guò)三極管放大來(lái)控制相應(yīng)繼電器動(dòng)作,完成對(duì)家用電器的開啟和關(guān)閉控制,并在LCD上顯示各連接電器的開關(guān)狀態(tài)。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S,即25萬(wàn)次/秒)對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。5%到177。單片機(jī)系統(tǒng)提供單片機(jī)工作的基本電路,主要由STC單片機(jī)、復(fù)位電路、晶振電路組成。復(fù)位電路:在工作之前,單片機(jī)有個(gè)復(fù)位過(guò)程。電路采用電阻、電容串聯(lián)構(gòu)成,結(jié)合電容電壓不能突變的性質(zhì)由圖可知,系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且高電平持續(xù)的時(shí)間由RC的取值來(lái)定。 單片機(jī)控制電路圖 GTM900C無(wú)線模塊GTM900C模塊是華為公司最新推出的一款兩頻段GSM/GPRS無(wú)線模塊,工作頻段為EGSM900/GSM1800MHZ。該模塊可以實(shí)現(xiàn)無(wú)線數(shù)據(jù)傳輸和短信收發(fā)任務(wù)。 GTM900C模塊電路圖GTM900C的主要應(yīng)用:GTM900C模塊在Terminal型固定臺(tái)、Phone型固定臺(tái)、車載臺(tái)、共用電話、電力無(wú)線抄表業(yè)務(wù)、遠(yuǎn)程信息服務(wù)臺(tái)等方面被廣泛應(yīng)用。 SIM卡接口信號(hào)序號(hào)信號(hào)名描述1SIMVCCSIM卡電源2SIMRSTSIM卡復(fù)位信號(hào)3SIMCLKSIM卡時(shí)鐘信號(hào)4SIMGNDSIM卡接地信號(hào),與地GND,SIM卡的地信號(hào)均相連6SIMDATASIM卡數(shù)據(jù)線(3)LPG接口:網(wǎng)絡(luò)狀態(tài)指示接口,LPG管腳輸出脈沖信號(hào)用于控制LED燈,作為網(wǎng)絡(luò)連接狀態(tài)。有了射頻連接器,模塊在接收和發(fā)送信息時(shí)更穩(wěn)定,更容易接收到信號(hào)。通過(guò)TA,TE發(fā)送AT命令來(lái)控制移動(dòng)臺(tái)MS(Mobile Station)的功能,與GSM 網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行交互。利用GSM手機(jī)(MODEM)的串行接口,單片機(jī)向手機(jī)(MODEM)發(fā)送一系列AT指令,就能達(dá)到控制手機(jī)收發(fā)SMS的目的。其顯示分辨率為12864,內(nèi)置8192個(gè)16*16點(diǎn)漢字和128個(gè)16*8點(diǎn)ASCII字符集,具有光標(biāo)顯示、畫面移位和睡眠模式等多種功能?;咎匦裕海?)低電源電壓(VDD:+~+)(2)顯示分辨率:12864點(diǎn)(3)內(nèi)置漢字字庫(kù),提供8192個(gè)1616點(diǎn)陣漢字(4)內(nèi)置128個(gè)168點(diǎn)陣字符(5)2MHZ時(shí)鐘頻率從液晶顯示器的結(jié)構(gòu)來(lái)看,無(wú)論是筆記本電腦還是桌面系統(tǒng),采用的LCD顯示屏都是由不同部分組成的分層結(jié)構(gòu)。當(dāng)D/I=0時(shí),在E信號(hào)下降沿的作用下,指令碼寫入IR。(3)忙標(biāo)志BFBF標(biāo)志提供內(nèi)部工作情況:BF=1表示模塊在內(nèi)部操作,此時(shí)模塊不接受外部指令和數(shù)據(jù);BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。高3位是X地址計(jì)數(shù)器,低6位為Y地址計(jì)數(shù)器,XY地址計(jì)數(shù)器實(shí)際上是作為DDRAM的地址指針,X地址計(jì)數(shù)器為DDRAM的頁(yè)指針,Y地址計(jì)數(shù)器為DDRAM的Y地址指針。DDRAM與地址和顯示位置的關(guān)系見DDRAM地址表。因此,顯示屏幕的起始行就由此指令控制,即DDRAM的數(shù)據(jù)從哪一行開始顯示在屏幕的第一行。它是最廣泛使用的串行通信標(biāo)準(zhǔn),用于包括PC機(jī)在內(nèi)的多種設(shè)備中。而單片機(jī)的串行口電平為TTL電平,PC 機(jī)的串行口是RS232控制電平,二者電平不一致,所以在串行通信時(shí)必須進(jìn)行電平轉(zhuǎn)換,加上適當(dāng)?shù)慕涌陔娐?,否則將會(huì)燒毀TTL電路。它主要由三部分組成:電壓倍增器、RS232 接收器、RS232 發(fā)送器。即將PC機(jī)和單片機(jī)的“發(fā)送數(shù)據(jù)線(TXD)”與“接收數(shù)據(jù)線(RXD)”交叉連接,二者的地線( GND) 直接相連,其它信號(hào)線均不用,握手信號(hào)采用軟件方法產(chǎn)生。在總開關(guān)打開的前提下,也可以手動(dòng)按某個(gè)按鍵來(lái)控制相應(yīng)的家用電器。按鍵0也控制一個(gè)繼電器,它是整個(gè)系統(tǒng)的總開關(guān)。 電源電路外部電路正常供電時(shí),電流流經(jīng)二極管DD11,它們用來(lái)防止電流倒流,為系統(tǒng)提供穩(wěn)定工作電壓;當(dāng)外部電路出現(xiàn)故障或停電時(shí),備用電源能使系統(tǒng)保持正常工作。SRD系列繼電器類似于單刀雙擲開關(guān),具有三個(gè)觸點(diǎn),中間為動(dòng)觸點(diǎn),上下各一個(gè)靜觸點(diǎn)。作為本系統(tǒng)的執(zhí)行機(jī)構(gòu)。 溫濕度傳感器AM2303數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。超小的體積、極低的功耗、長(zhǎng)期的穩(wěn)定性,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選擇。它采用簡(jiǎn)化的單總線方式進(jìn)行通信。因此主機(jī)訪問(wèn)器件都必須嚴(yán)格遵循單總線序列,如果出現(xiàn)序列混亂,器件將不響應(yīng)主機(jī)。其研發(fā)的目的是讓全球各地可以共同使用一個(gè)移動(dòng)通信網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶用一部手機(jī)就能行遍全球。使用GSM的短消息服務(wù)功能不需要考慮信道的可靠性等因素,就可以很好的滿足本設(shè)計(jì)中對(duì)家電監(jiān)控的功能要求。GSM系統(tǒng)能提供語(yǔ)音功能,數(shù)據(jù)傳輸服務(wù)(提供給固定用戶和ISDN用戶的大部分業(yè)務(wù),包括分組交換資料網(wǎng)所提供的服務(wù))和短消息服務(wù)。克服了傳統(tǒng)專網(wǎng)通信系統(tǒng)投資成本大,維護(hù)費(fèi)用高,并且網(wǎng)絡(luò)覆蓋范圍和用戶數(shù)量有限的缺陷;(3)使用GSM網(wǎng)絡(luò)可以使系統(tǒng)的安裝量大大降低,有效的縮短系統(tǒng)建設(shè)周期,同時(shí),由于免去了通信系統(tǒng)的維護(hù),使得系統(tǒng)的維護(hù)量也大為降低;(4)GSM網(wǎng)絡(luò)沒(méi)有同頻干擾、保密性好、通信速率高、運(yùn)行費(fèi)用低,同時(shí)還具有防盜拷能力佳、通話清晰、穩(wěn)定性強(qiáng)不易受干擾、信息靈敏、通話死角少、手機(jī)耗電量低等特點(diǎn)。它具有如下功能:(1)一個(gè)SMS短消息最長(zhǎng)可包括160個(gè)字符(偶數(shù)二進(jìn)制),長(zhǎng)度被限定在140個(gè)字節(jié)內(nèi),這些字節(jié)可以是文本格式;(2)SMS短消息是一種存儲(chǔ)和轉(zhuǎn)發(fā)服務(wù),它并不是直接從發(fā)送人發(fā)送到接收人,而始終通過(guò) SMS服務(wù)中心進(jìn)行轉(zhuǎn)發(fā)。如果發(fā)送失敗,被叫方?jīng)]有回答確認(rèn)信息,網(wǎng)絡(luò)會(huì)保留所傳的信息,一旦網(wǎng)絡(luò)發(fā)現(xiàn)被叫方能被叫通時(shí),就可以重發(fā)消息以確保被叫方能夠收到,而且主叫方還能夠知道發(fā)送成功與否。它是利用GSM系統(tǒng)通信信道的空閑帶寬,在電話撥號(hào)的同時(shí),把消息發(fā)送給GSM基站,再由短信服務(wù)中心處理存儲(chǔ)發(fā)送到接收方。GSM系統(tǒng)中標(biāo)準(zhǔn)定義了點(diǎn)對(duì)點(diǎn)的短消息服務(wù),使得短消息能在移動(dòng)臺(tái)和短消息服務(wù)中心之間傳遞。SMS網(wǎng)關(guān)與HLR之間的協(xié)議使前者可以要求HLR搜索可找到的用戶地址。短消息業(yè)務(wù)利用信令信道傳輸,提供有保證的雙向數(shù)據(jù)服務(wù),這是GSM系統(tǒng)所特有的。使用Block模式需要模塊生產(chǎn)商提供驅(qū)動(dòng)支持,目前已經(jīng)很少使用;Text模式是純文本方式,可以使用不同的字符集(包括GSM、ASCII、Unicode),從技術(shù)上可以用來(lái)發(fā)送中文短消息,但國(guó)內(nèi)手機(jī)基本上不支持,主要用于歐美地區(qū)。目前PDU模式已在SMS中廣泛使用,本設(shè)計(jì)采用PDU模式,發(fā)送中文信息來(lái)控制家用電器。當(dāng)用AT指令設(shè)置了一個(gè)參數(shù)時(shí),那么這個(gè)值在被改變之前一直有效。(2)AT+CREG作用:設(shè)置自動(dòng)報(bào)告連接網(wǎng)絡(luò)狀態(tài)。(4)AT+CMGS作用:該命令主要用于短消息的發(fā)送,它支持TEXT格式的短消息發(fā)送,也支持PDU格式的短消息的發(fā)送,另外它還可以做測(cè)試指令。(6)AT+CMGD作用:該命令主要用于短消息的刪除,因?yàn)橐话闶謾C(jī)的存儲(chǔ)量或者SIM卡的容量是有限的,因此有時(shí)需要?jiǎng)h除己經(jīng)閱讀過(guò)的短消息。與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。C51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個(gè)集成開發(fā)環(huán)境包含有:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器及調(diào)試器。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。如果遇到下載問(wèn)題,可以適當(dāng)下調(diào)一些;(3)確認(rèn)硬件連接正確后,“打開程序文件”并在對(duì)話框內(nèi)找到想要下載的HEX文件;(4)在“Download/下載”下選中兩個(gè)條件項(xiàng),這樣可以在每次編譯KEIL時(shí)HEX代碼能自動(dòng)加載到STCISP,然后點(diǎn)擊“Download/下載”即可; STCISP下載程序界面(5)手動(dòng)斷電再上電便可把執(zhí)行文件HEX燒錄到單片機(jī)內(nèi)。Init_IAP_Download()。lcd_init()。=0x3f。} while(1){ key_con()。}查詢GTM900C是否啟動(dòng):0啟動(dòng)成功,1啟動(dòng)失敗。}(1)模塊/短消息處理。模塊/。 do // 檢測(cè)GTM900C是否啟動(dòng) { delay()。 lcd_string(0x89,檢查短信模塊!)。 //delay()。 uchar gsm_check_simcard(void) // 0:SIM卡檢測(cè)成功1:SIM卡檢測(cè)失敗{ return (gsm_send_cmd(AT+CIMI\r\n))。 lcd_string(0x91,SIM 檢測(cè)成功)。 flag = gsm_check_network()。 if (ret == 0) { if (!strstr(uart_buf, +CREG: 0,0)) ret = 0。}lcd_string(0x91,網(wǎng)絡(luò)連接失敗)。 delay()。 uchar cmd_buf[5]。 if(flag==1) { lcd_init()。 } flag = gsm_recv_message(cmd_buf)。 delay()。 if(strstr(cmb, PhoneNumber1)) { enter=1。 } else enter=0。for(i=0。lcd_string(0x90,回復(fù)短信:)。=0xc0。 }gsm_init()。strcat(data1,tab)。send_sta()。break。gsm_init()。break。gsm_init()。break。gsm_init()。break。gsm_init()。break。gsm_init()。break。gsm_init()。break。gsm_init()。break。gsm_init()。break。gsm_init()。kg8=0。lcd_string(0x90,回復(fù)短信:)。kg0=0。break case 6 :lcd_string(0x80,打開電器 6)。gsm_send_pdu_message(PhoneNumber,0C62535F007535566800200036)。kg[6]=0。lcd_string(0x88,打開電器 5)。kg[0]=0。case 4 :lcd_string(0x80,打開電器 4)。gsm_send_pdu_message(PhoneNumber,0C62535F007535566800200034)。kg[4]=0。lcd_string(0x88,打開電器 3)。kg[0]=0。lcd_string(0x90,回復(fù)短信:)。kg0=0。break。gsm_init()。kg1=