多網(wǎng)絡(luò)智能遠(yuǎn)程遙控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
關(guān)鍵詞:遠(yuǎn)程控制 雙音頻解碼 計(jì)算機(jī)控制 網(wǎng)絡(luò)通訊
1 多網(wǎng)絡(luò)智能遠(yuǎn)程控制系統(tǒng)
遙控技術(shù)是通過一定的手段對(duì)被控物體實(shí)施一定距離控制的一種技術(shù),常用的方式有無線電遙控、有線遙控、紅外線和超聲波遙控等。
而多網(wǎng)絡(luò)遙控則是一種新型智能控制技術(shù),它與常規(guī)的遙控方式相比,具有無需進(jìn)行專門的布線,不占用無線電頻率資源,避免電磁污染等優(yōu)勢(shì)。同時(shí),由于電信線路各地聯(lián)網(wǎng),互聯(lián)網(wǎng)遍布世界各地,因此,可以充分利用現(xiàn)有的網(wǎng)絡(luò)資源跨省市,甚至跨越國(guó)家無限長(zhǎng)度地進(jìn)行智能遙控。多網(wǎng)絡(luò)遙控這一課題目前已有涉足者,但是還只限于實(shí)驗(yàn)室階段,距實(shí)際應(yīng)用,尤其是對(duì)于日常生活尚有一定的距離,并不能完全體現(xiàn)出網(wǎng)絡(luò)遙控方式的雙工通信特點(diǎn)。本文基于這一點(diǎn)進(jìn)行了較大改進(jìn)。該方法采用單片機(jī)進(jìn)行智能控制,并利用不同的語(yǔ)音提示及計(jì)算機(jī)軟件來達(dá)到對(duì)于不同操作的提示及對(duì)受控方狀態(tài)信息的反饋,從而實(shí)現(xiàn)友好的人機(jī)交互界面,使操作者能夠?qū)崟r(shí)了解受控方信息,并最終使產(chǎn)品達(dá)到交互式與智能化的水平。本系統(tǒng)以CCITT及中國(guó)的部分標(biāo)準(zhǔn)程控交換信令(DTMF雙音多頻信號(hào),振鈴信號(hào)以及Internet互聯(lián)網(wǎng)的TCP/IP通信標(biāo)準(zhǔn)等)作為系統(tǒng)控制命令及其數(shù)據(jù)傳輸標(biāo)準(zhǔn),因而可為以后的產(chǎn)品化提供良好的基礎(chǔ)。
2 總體設(shè)計(jì)方案
多網(wǎng)絡(luò)智能遙控器的主控部分(即下位機(jī)工作部分)由單片機(jī)構(gòu)成,主要進(jìn)行信息處理;如接收外部操作指令以形成各種控制信號(hào),完成各種信息的記錄和信號(hào)檢測(cè)并為識(shí)別控制電路提供單片機(jī)與電話外線和計(jì)算機(jī)的接口等。同時(shí)還包括鈴流及其摘掛機(jī)檢測(cè)、摘掛機(jī)控制、雙音頻DTMF識(shí)別、串行通訊口控制電路和語(yǔ)音提示等電路。此外還有上位機(jī)程序編制和網(wǎng)絡(luò)通訊程序編制等(即上位機(jī)工作的互聯(lián)網(wǎng)通信部分)。圖1所示是其系統(tǒng)原理方框圖。
本系統(tǒng)中的語(yǔ)音提示電路受單片機(jī)的控制,能產(chǎn)生相應(yīng)的提示語(yǔ)音,可通過反饋電路反饋至電話外線,從而使操作者對(duì)電器的操作達(dá)到交互式,以便即時(shí)了解有關(guān)信息,并為用戶提供友好的操作界面(對(duì)電話網(wǎng)絡(luò)用戶)。該系統(tǒng)可通過串行通訊口與上位機(jī)相連接后接入Internet互聯(lián)網(wǎng),上位機(jī)的網(wǎng)絡(luò)控制程序中也設(shè)置了語(yǔ)音提示并且具有更加友好的控制界面以方便用戶操作(對(duì)互聯(lián)網(wǎng)用戶)。
本系統(tǒng)的每一個(gè)接口電路(振鈴檢測(cè)、模擬摘掛機(jī)、語(yǔ)音提示、雙音頻解碼等)都已經(jīng)過實(shí)際的交換機(jī)在線實(shí)驗(yàn),實(shí)用性很強(qiáng)。此外,本系統(tǒng)還有許多可以添加的功能。由于本裝置是并聯(lián)于電話機(jī)的兩端,因而不會(huì)影響電話機(jī)的正常使用。用戶通過異地的電話機(jī)撥通本裝置所連接外線的電話號(hào)碼時(shí),便可通過市局交換機(jī)向電話機(jī)發(fā)出振鈴信號(hào)。本裝置如果檢測(cè)到三次振鈴,即三次響鈴后無人接聽,則自動(dòng)摘機(jī),進(jìn)入控制環(huán)境,同時(shí)根據(jù)語(yǔ)音提示在用戶完成操作后退出本系統(tǒng)。用戶也可以通過互聯(lián)網(wǎng)登陸目標(biāo)主機(jī)服務(wù)器來進(jìn)行遠(yuǎn)程控制。本系統(tǒng)采用Visual C++編程來實(shí)現(xiàn)上位機(jī)控制與Internet遠(yuǎn)程遙控。它可將現(xiàn)有的電話功能加以擴(kuò)展,其中公用管理部分包括繼續(xù)唿叫功能、來訪語(yǔ)音留言功能(可自動(dòng)記錄時(shí)間和日期)等;而私用管理部分則包括收聽來訪的語(yǔ)音留言、控制電器、查詢電器工作狀態(tài)等。
3 設(shè)計(jì)與實(shí)踐
本系統(tǒng)所設(shè)計(jì)的電路主要包括一個(gè)語(yǔ)音錄放電路,一個(gè)雙音頻譯碼電路,一個(gè)鈴流檢測(cè)電路,CPU電路,串行通訊電路和繼電器控制電路。
3.1 鈴流檢測(cè)單元電路
當(dāng)用戶被唿叫時(shí),程控電話交換機(jī)發(fā)出鈴流出號(hào)。振鈴信號(hào)為253V的正弦波,揩鈴失真不大于10%,電壓有效值為9015V。振鈴為5秒為周期,即1秒送,4秒斷。因振鈴信號(hào)電壓比較高,故應(yīng)使之降壓后再輸入至光電耦合器,以通過光耦進(jìn)行隔離轉(zhuǎn)換。因而光電耦合器輸出的是時(shí)通時(shí)斷的脈沖,信號(hào)可直接輸出至單片機(jī)的計(jì)數(shù)器輸入口,從而完成整個(gè)振鈴音檢測(cè)和計(jì)數(shù)的過程。電話外線信號(hào)通過0.47μF電容器的隔直和5.1kΩ電阻器的衰減加到光電耦合器的發(fā)光二極管端。與之并聯(lián)的反相二極管的作用是保護(hù)發(fā)光二極管,以免其反相電壓過高而損害發(fā)光二極管。通過試驗(yàn),最終確定選50kΩ電阻可起到拉高光耦引腳電壓的作用。
3.2 雙音頻解碼單元電路
雙音頻解碼電路由專用芯片MT8870組成。圖2所示是其外部電路,譯碼結(jié)果由數(shù)據(jù)總線提供給CPU的P1.0~P1.3口,譯碼結(jié)束后產(chǎn)生的中斷請(qǐng)求信號(hào)可通過T0(組成加1計(jì)數(shù)器)請(qǐng)求中斷,以告訴CPU轉(zhuǎn)換結(jié)束,數(shù)據(jù)等待讀入。讀入信號(hào)為四位二進(jìn)制碼,碼值民電話按鍵的對(duì)應(yīng)關(guān)系如表1所列。
表1 碼值與電話按鍵的對(duì)應(yīng)關(guān)系
FLOW | FHIGH | DIGIT | D3 | D2 | D1 | D0 |
697 | 1209 | 1 | 0 | 0 | 0 | 1 |
697 | 1336 | 2 | 0 | 0 | 1 | 0 |
697 | 1477 | 3 | 0 | 0 | 1 | 1 |
770 | 1209 | 4 | 0 | 1 | 0 | 0 |
770 | 1336 | 5 | 0 | 1 | 0 | 1 |
770 | 1477 | 6 | 0 | 1 | 11 | 0 |
852 | 1209 | 7 | 0 | 1 | 1 | 1 |
852 | 1336 | 8 | 1 | 0 | 0 | 0 |
852 | 1477 | 9 | 1 | 0 | 0 | 1 |
941 | 1336 | 0 | 1 | 0 | 1 | 0 |
941 | 1209 | * | 1 | 0 | 1 | 1 |
941 | 1477 | # | 1 | 1 | 0 | 0 |
697 | 1633 | A | 1 | 1 | 0 | 1 |
770 | 1633 | B | 1 | 1 | 1 | 0 |
852 | 1633 | C | 1 | 1 | 1 | 1 |
941 | 1633 | D | 0 | 0 | 0 | 0 |
當(dāng)外線信號(hào)經(jīng)過二極管組成的橋路降壓整形后,可由0.1μF的電容進(jìn)行隔直并由100kΩ的電阻進(jìn)行衰減,然后便可以將其進(jìn)入雙音頻譯碼芯片MT8870的輸入端。
3.3 語(yǔ)音電路
本系統(tǒng)選用美國(guó)ISO公司的ISD4003單片語(yǔ)音錄放集成電路作為語(yǔ)音提示電路的核心部分。ISD4003采用E2PROM存儲(chǔ)器,可永久保存信息,并可零功能存儲(chǔ);該存儲(chǔ)器同時(shí)采用D/A直接模擬量存儲(chǔ)技術(shù),因而能較好地保留語(yǔ)音信息中的有效成分,提高錄放音的清晰度。ISD4003可以存儲(chǔ)長(zhǎng)達(dá)8分鐘的語(yǔ)音,并能實(shí)現(xiàn)分段語(yǔ)音錄放,每段錄放音均有一個(gè)起始地址,該起始地址及其控制信號(hào)均可由單片機(jī)通過其SPI通信口給定。ISD4003的外圍電路非常簡(jiǎn)單,只需少許阻容元件即可。由ISD4003構(gòu)成的系統(tǒng)與用戶的語(yǔ)音交互界面單元電路如圖3所示。
3.4 串行通訊電路和CPU單元
本系統(tǒng)中的串行通訊電路由專用的MAX202組成,主要用于系統(tǒng)與PC機(jī)的串行通信。CPU電路由AT89C52作為中央處理器并配以簡(jiǎn)單的外圍電路組成,同時(shí)選用22μF的電容和1kΩ的電阻構(gòu)成系統(tǒng)自動(dòng)上電復(fù)位電路。11.0592MHz晶振和兩個(gè)30pF的電容組成了系統(tǒng)的時(shí)鐘基準(zhǔn)電路。由于CPU內(nèi)部就有存儲(chǔ)器,所以本系統(tǒng)未對(duì)其進(jìn)行存儲(chǔ)擴(kuò)展。
圖3 語(yǔ)音單元電路
4 軟件設(shè)計(jì)
4.1 下位機(jī)通訊軟件設(shè)計(jì)
通過receive()函數(shù)可實(shí)現(xiàn)下位機(jī)與上位機(jī)的數(shù)據(jù)接收,而send()函數(shù)則用于實(shí)現(xiàn)下拉機(jī)與位機(jī)的數(shù)據(jù)發(fā)送,bote()函數(shù)的作用是實(shí)現(xiàn)串行通訊口初始化和9600波特率的產(chǎn)生。
4.2 雙音頻識(shí)別部分軟件的設(shè)計(jì)
雙音頻信號(hào)由雙音頻譯碼單元電路檢測(cè),當(dāng)有信號(hào)將譯碼輸出到數(shù)據(jù)總線后,系統(tǒng)將產(chǎn)生中斷請(qǐng)求,并送到T0計(jì)數(shù)器以產(chǎn)生中斷,同時(shí)由CPU執(zhí)行T0中斷服務(wù)程序。T0中斷服務(wù)程序由firstdetect()函數(shù)和seconddetect()函數(shù)組成。Firsdetect()函數(shù)用于完成對(duì)總線(P1.0~P1.3)數(shù)據(jù)的第一層菜單值進(jìn)行讀入識(shí)別;seconddetect()函數(shù)用于完成對(duì)總線數(shù)據(jù)第二層菜單值的讀入識(shí)別。由于本系統(tǒng)目前只設(shè)有兩層菜單,所以第二層也同時(shí)用作控制命令的觸發(fā)。
4.3 語(yǔ)音控制部分的通信軟件設(shè)計(jì)
以下的SPI通信程序是用C51語(yǔ)言的16位命令格式編寫的。使用時(shí),將其高8位地址和低8位地址正確給定,即可將控制信息(包含在高8位地址的高5位)通過ISD4003的SPI口進(jìn)行傳輸。詳細(xì)的SPI接口指令見ISD4003系列芯片手冊(cè)。下面給出部分語(yǔ)音控制部分的通信程序。
Void SPI_COM(uchar address-high,uchar address-low
{
uchar i,Bit-temp;
SCLK=0;
SS=0; /*chip selected signal*/
for(i=0;i8;i++) /*write low eight bits address */
{
SCLK=0;
Bit-temp=address-low 0x01;
/*0x01 equals to 0000 0001B;get the first bit from the right in this way */
if(Bit-temp==0)
MOSI=0; /*if it doesn't work,some nops may be needed */
Else
MOSI=1; /*if it doesn't work,some nops be needed*/
SCLK=1;
Address-low=address-low>>1;
}
for(i=0;i8;i++) /*write high eight bits address*/
{
SCLK=0;
Bit-temp=address-high0x01; /*0x01 equals to 0000 0001B;get the first bit from the right in this way*/
if(Bit-temp= =0)
MOSI=0; /*if it doesn't work,some nops may be needed*/
Else
MOSI=1; /*if it doesn't work,some nops may be needed*/
SCLK=1;
address-high=address-high>>1;
}
SS=1;
4.4 通訊軟件的設(shè)備與實(shí)現(xiàn)
通訊軟件主要由Internet網(wǎng)絡(luò)通訊軟件和本地上、下位機(jī)通訊軟件組成。Internet網(wǎng)絡(luò)通訊主要完成網(wǎng)絡(luò)控制。該部分主要由客戶端軟件和服務(wù)器軟件組成,網(wǎng)絡(luò)通訊軟件可在windows環(huán)境下用Visual C++開發(fā)完成。而上位機(jī)通訊軟件則用于完成服務(wù)器(微型計(jì)算機(jī))和下位機(jī)的通訊。該網(wǎng)絡(luò)通訊的結(jié)構(gòu)原理如圖4所示。網(wǎng)絡(luò)通訊軟件可用Visual C++為基礎(chǔ)為設(shè)計(jì)。它通??捎煽蛻舳塑浖头?wù)器軟件來組成。
服務(wù)器作為上位機(jī)和系統(tǒng)中央控制器,通常通過串行通訊口相連接。由于本系統(tǒng)上、下位機(jī)的傳輸數(shù)據(jù)不多,所以沒有設(shè)置專門的數(shù)據(jù)庫(kù)。所得的信息只供控制用,而不必存儲(chǔ)成文件。上、下位機(jī)通訊時(shí),本系統(tǒng)規(guī)定了以下協(xié)議:上位機(jī)對(duì)下位機(jī)發(fā)送字母‘A’表示空調(diào)器打開,發(fā)送'a'表示空調(diào)器關(guān)閉,下位機(jī)對(duì)上位機(jī)是同樣的對(duì)應(yīng)關(guān)系;發(fā)送‘B’表示熱水器打開,發(fā)送'b'表示熱水器關(guān)閉;發(fā)送‘C’表示電飯煲打開,發(fā)送‘c’表示電飯煲關(guān)閉??蛻舳塑浖亲鳛檫h(yuǎn)程Internet網(wǎng)絡(luò)控制的終端軟件,系統(tǒng)通訊應(yīng)采用文本形式,命令由文本字符串組成。例如:當(dāng)按下開熱水器按鈕時(shí),客戶端軟件向服務(wù)器軟件發(fā)出命令字符串“Water Heater Is Opened”,服務(wù)器軟件端顯示:“CMD from client:Water Heater Is Opened”并在內(nèi)部解釋該字符串命令,即發(fā)送‘B’給下位機(jī)。而當(dāng)中央控制器通過電話遠(yuǎn)程控制電路來打開熱水器后,下位機(jī)將發(fā)送給上位機(jī)(服務(wù)器)一個(gè)‘A’,以表示熱水器已經(jīng)打開;當(dāng)電話遠(yuǎn)程控制關(guān)閉熱水器后,下位機(jī)則發(fā)給上位機(jī)(服務(wù)器)一個(gè)‘a(chǎn)’,以表示空調(diào)器已經(jīng)關(guān)閉。同時(shí)客戶端軟件會(huì)有相應(yīng)的提示語(yǔ)音,以表明家里電器的狀態(tài),以此實(shí)現(xiàn)兩種控制方式之間的信息交互。
5 系統(tǒng)聯(lián)機(jī)調(diào)試
本系統(tǒng)聯(lián)機(jī)調(diào)試所用到的設(shè)備如下:
(1)MCS-51仿真機(jī)一臺(tái);
(2)HA6138(18)P/T雙音多頻電話機(jī)一部;
(3)微機(jī)二臺(tái);
(4)示波器一臺(tái);
(5)數(shù)字萬(wàn)用表一臺(tái);
本系統(tǒng)上電即可自動(dòng)復(fù)位。它可采用5V蓄電池供電,實(shí)際上,該產(chǎn)品也可以由電話線饋電提供電壓。本系統(tǒng)需要一臺(tái)電話來完成其輔助功能,即語(yǔ)音留言和收聽留言。電話的聽筒要和本系統(tǒng)的語(yǔ)音錄音輸入互相連接,話筒和本系統(tǒng)的語(yǔ)音輸出相連接。實(shí)際產(chǎn)品可以將電話功能集成。當(dāng)準(zhǔn)備使用網(wǎng)絡(luò)功能時(shí),用戶應(yīng)將本系統(tǒng)通過串行通訊口連接到家中的聯(lián)網(wǎng)計(jì)算機(jī)上面,然后運(yùn)行本系統(tǒng)的服務(wù)器端軟件,同時(shí)指定服務(wù)器計(jì)算機(jī)的端口號(hào)。這樣,使用者在外地就可以通過客戶端軟件來訪問家中的服務(wù)器并發(fā)送控制信息。
當(dāng)用戶以電話網(wǎng)絡(luò)來實(shí)現(xiàn)控制時(shí),本的工作方式為:檢測(cè)三次振鈴信號(hào),如無人接聽則自動(dòng)摘機(jī),同時(shí)播放語(yǔ)音提示:“這里是某某家中央控制系統(tǒng),請(qǐng)按鍵選擇功能,1繼續(xù)唿叫,2語(yǔ)音留言,3遠(yuǎn)程控制……”。用戶根據(jù)語(yǔ)音提示選擇功能,最后按“#”鍵結(jié)束本次控制過程并掛斷。特別的是,當(dāng)用戶進(jìn)入遠(yuǎn)程控制功能時(shí),要接著輸入四位密碼否則不能完成控制,密碼正確后會(huì)有語(yǔ)音提示:“請(qǐng)選擇:1打開空調(diào)器,2關(guān)閉空調(diào)器,3打開熱水器,4關(guān)閉熱水器,5打開電飯煲,6關(guān)閉電飯煲……”。
當(dāng)用戶以Internet互聯(lián)網(wǎng)來實(shí)現(xiàn)控制時(shí),本系統(tǒng)客戶端軟件界面將十分友好。用戶可先連接到家中的服務(wù)器,然后用鼠標(biāo)點(diǎn)擊來實(shí)現(xiàn)相應(yīng)的功能。由于進(jìn)入客戶端軟件和服務(wù)器軟件都需要用戶的授權(quán)密碼,因此,該系統(tǒng)使用時(shí)非常安全。
6 結(jié)論
通過將本系統(tǒng)在實(shí)際電話網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)中的運(yùn)行表明,該系統(tǒng)達(dá)到了設(shè)計(jì)初期的各項(xiàng)要求。相信在未來的信息家電、智能小區(qū)、工業(yè)遠(yuǎn)程控制等方向得到廣泛的應(yīng)用。為了突出本系統(tǒng)的多網(wǎng)絡(luò)遙控信息反饋功能,本系統(tǒng)采用對(duì)現(xiàn)有電話功能進(jìn)行擴(kuò)展的方案,而且所使用的集成電路和其它元器件都盡量選擇高性價(jià)比的。這樣,在各路終端上接上傳感器即可實(shí)現(xiàn)對(duì)環(huán)境的實(shí)時(shí)監(jiān)測(cè);同時(shí)將系統(tǒng)上自動(dòng)撥碼電路還可將預(yù)定信息轉(zhuǎn)至主人手機(jī)或某個(gè)特定電話,從而達(dá)到定時(shí)提醒主人或家庭防盜報(bào)警的目的。此外,本系統(tǒng)還可以應(yīng)用于工礦企業(yè)的遠(yuǎn)程自動(dòng)化控制等領(lǐng)域。
評(píng)論