專利名稱:一種實時獲取寬帶動態(tài)ip地址的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬干物聯(lián)網(wǎng)的智能家居領(lǐng)域,尤其涉及接入寬帶的智能家居設備的網(wǎng)絡通信技術(shù)。
背景技術(shù):
物聯(lián)網(wǎng)是我國正在快速發(fā)展的戰(zhàn)略性新興產(chǎn)業(yè),而作為物聯(lián)網(wǎng)重要應用的智能家居,也同樣得到迅速發(fā)展。但是智能家居設備與互聯(lián)網(wǎng)的通信還存在著IP地址資源匱乏、遠程控制困難等問題,這是由于目前互聯(lián)網(wǎng)使用的還是IPv4的地址分配方案,使IP地址數(shù)量有限,無法滿足物聯(lián)網(wǎng)和智能家居通信的需求。 在普通家庭中使用的ADSL或FTTH寬帶,雖然每次分配了單獨的公網(wǎng)IP地址,但是該地址具有動態(tài)更新、不斷變化的特點,即斷線重新?lián)芴枙詣臃峙湫碌腎P地址,不斷線也會定期強制更新IP地址,使得這種寬帶IP地址無法用作智能家居的通信控制。另外,普遍使用的接在家庭寬帶上的路由器存在空閑斷線的功能,即當與之相連的電腦等設備空閑不上網(wǎng)時,在超過等待時間后自動斷線,造成IP地址釋放,當電腦設備再次連接上網(wǎng)時,IP地址又被更新為新的地址。為了解決和利用這種動態(tài)的IP地址,已經(jīng)有了 “花生売”之類的動態(tài)域名解析技術(shù)(DDNS),但該技術(shù)存在可靠性低、更新速度慢、用戶申請復雜等缺點。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于UDP協(xié)議實時獲取寬帶IP動態(tài)地址的裝置和方法,利用該方法可以隨時取得寬帶的動態(tài)IP地址,并將此IP地址存放于數(shù)據(jù)庫中,智能家居設備通過訪問該數(shù)據(jù)庫,能對IP地址所對應的智能家居設備進行控制。該裝置是由UDP發(fā)送端和UDP接收端組成。所述方法包括以下步驟I)由單片機組成的UDP發(fā)送端的UDP發(fā)送單元,以客戶端方式工作;2)對該UDP發(fā)送單元加載與UDP接收服務器同樣的IP地址(也可以是對應的域名)、端ロ信息;3)對該UDP發(fā)送單元加載識別編碼信息;4)在UDP發(fā)送單元中封裝成UDP數(shù)據(jù)報;5)該數(shù)據(jù)報經(jīng)以太ロ發(fā)送至路由器,再經(jīng)路由器轉(zhuǎn)發(fā)至互聯(lián)網(wǎng);6)間隔η秒后再次重復以上環(huán)節(jié),形成循環(huán)發(fā)送;7)由UDP接收服務器組成的UDP接收端,從互聯(lián)網(wǎng)上接收UDP發(fā)送端發(fā)送來的UDP數(shù)據(jù)報內(nèi)容;8)UDP接收服務器從獲取的UDP數(shù)據(jù)報和相應的IP數(shù)據(jù)報中,抽取出Μ)Ρ發(fā)送端的IP地址和識別編碼;9)UDP接收服務器將該IP地址和識別編碼加上當前時間等信息,存儲在數(shù)據(jù)庫中;
10)此數(shù)據(jù)庫中保存的是最新的用戶端(UDP發(fā)送端)IP地址,利用此地址即能實現(xiàn)對智能家居設備的控制。本發(fā)明相對于“花生売”之類的IP動態(tài)地址解析技術(shù),具有IP地址更新時間快、工作可靠、使用簡便等優(yōu)點。另ー方面,利用UDP協(xié)議簡單高效的特點,保證了系統(tǒng)運行的穩(wěn)定和可靠。
圖I為本發(fā)明實施例提供的一種整體接入方法的結(jié)構(gòu)示意圖;圖2為本發(fā)明實施例提供的UDP發(fā)送端結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例提供的UDP發(fā)送單元工作流程圖; 圖4為本發(fā)明實施例提供的發(fā)送端UDP數(shù)據(jù)報結(jié)構(gòu)圖;圖5為本發(fā)明實施例提供的UDP接收端結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的UDP接收服務器工作流程圖。
具體實施例方式下面結(jié)合附圖和具體實施例對本發(fā)明所述技術(shù)方案作進ー步的詳細描述,以使本領(lǐng)域的技術(shù)人員可以更好地理解本發(fā)明并能予以實施,但所舉實例不作為對本發(fā)明的限定。本領(lǐng)域技術(shù)人員將理解到,體現(xiàn)本發(fā)明部分或全部的裝置可以是具有安排來提供本發(fā)明實施例的一部分或全部的軟件的通用設備。該設備可以是單個設備或一組設備,并且該軟件可以是單個程序或ー組程序。此外,用于本發(fā)明的任何或全部軟件可以經(jīng)由任何適當傳輸或存儲部件通信,使得軟件可以加載到一個或多個設備上。圖I所示為本發(fā)明的總體接入和運行方式實施例示意圖UDP發(fā)送端101通過互聯(lián)網(wǎng)102對UDP接收端103不斷發(fā)送UDP信號,UDP接收端103從收到的信號中提取出源IP地址和識別編碼,存入數(shù)據(jù)庫中,該數(shù)據(jù)庫的數(shù)據(jù)將提供給智能家居遠程控制應用104用作對智能家居設備的控制。圖2更詳細示出UDP發(fā)送端101的內(nèi)部結(jié)構(gòu)。包括ADSL或FTTH終端204、家庭路由器203、智能家居控制設備202以及本發(fā)明所提供的UDP發(fā)送單元201。這是ー個典型的家庭寬帶用戶網(wǎng)絡結(jié)構(gòu),終端204是寬帶的接ロ,用以接入互聯(lián)網(wǎng)102中。路由器203是ー套家庭常用路由器,一般集成有無線Wi-Fi和多LAN ロ功能。智能家居控制設備202是ー套具有主機(Web Server)功能的單片機控制設備,可以對家用電器、家用傳感設備進行控制。本發(fā)明的Μ)Ρ發(fā)送單元201為ー套具有以太接ロ的單片機裝置,該單片機加載有TCP/IP協(xié)議棧。圖3為UDP發(fā)送單元201的基本工作流程在步驟301,對單片機進行初始化。在步驟302,從FLASH存儲器中讀取事先設定的本地IP地址和本地端口號,另外讀取的還有網(wǎng)關(guān)地址和掩碼地址等。此本地IP地址為路由器203內(nèi)部配置地址,網(wǎng)關(guān)地址是路由器203的網(wǎng)關(guān)地址。在步驟303,從FLASH存儲器中讀取事先設定的目的IP地址和目的端口號,該目的地址和目的端口號與UDP接收服務器501所配置的IP地址和端口號相同。在步驟304,從FLASH存儲器中讀出事先設定的識別編碼,該識別編碼是為每個Μ)Ρ發(fā)送單元201單獨編制的。在步驟305,將以上信息封裝成標準UDP協(xié)議格式的數(shù)據(jù)報。圖4所示的是UDP數(shù)據(jù)報的報文格式,源端ロ、目的端ロ、長度、檢驗和各占用16比特,數(shù)據(jù)位存放的是識別編碼,該編碼在本實施例中占用32比特。在步驟306中將該UDP數(shù)據(jù)報打包成IP數(shù)據(jù)報,經(jīng)以太口和UDP發(fā)送端101中的其它網(wǎng)絡設備發(fā)送至互聯(lián)網(wǎng)102,相應的單片機程序的代碼為UdpSend(&Rcv buf [O], RcvLen)。在步驟307,經(jīng)過η秒的延時,再次執(zhí)行步驟305和步驟306,完成循環(huán)發(fā)送UDP信號的目的。對于步驟307中的η取值范圍是根據(jù)智能家居控制設備的實時性的要求而定,η值越小,獲取的動態(tài)IP地址的準確性越高,但Μ)Ρ接收服務器501的負荷會増大。圖5更詳細示出UDP接收端103的內(nèi)部結(jié)構(gòu)。包括UDP接收服務器501和數(shù)據(jù)庫502。UDP接收服務器501是一臺安裝有操作系統(tǒng)Win2003 Server的服務器,該服務器通過專線接入互聯(lián)網(wǎng)102,并配有固定的公網(wǎng)IP地址。在服務器中運行的是ー套基于Windows sockets編程的UDP通信程序。數(shù)據(jù)庫502采用Microsoft SQL Server,該數(shù)據(jù)庫除了用于存放UDP接收服務器501的數(shù)據(jù)外,也對智能家居遠程控制應用104開放。圖6為UDP接收服務器501的基本工作流程在步驟601,服務器啟動,運行UDP通信程序,初始化工作環(huán)境。在步驟602,創(chuàng)建套接字,獲取本地IP地址和端ロ。在步驟603,對端ロ進行邦定,完成一系列初始化。在步驟604,偵聽端口和等待UDP信號。在步驟605,判斷有否與本機IP地址和端ロ相符的信號,如有轉(zhuǎn)至步驟606,如無轉(zhuǎn)至步驟604。在步驟606,對信號數(shù)據(jù)進行接收。在步驟607,獲取UDP發(fā)送單元201發(fā)來的IP地址和識別編碼,此環(huán)節(jié)相應的程序代碼如下IPEndPoint sender = new IPEndPoint (IPAddress. Any,0) ;EndPoint Remote = (EndPoint) (,sender) ;recv = newsock. ReceiveFrom^data, refRemote)。在步驟608,對數(shù)據(jù)庫502進行連接。在步驟609,將接收到的UDP發(fā)送端101的IP地址等相關(guān)信息寫入數(shù)據(jù)庫502。在步驟610,關(guān)閉數(shù)據(jù)庫502,結(jié)束對數(shù)據(jù)庫的連接。下一歩,程序返回至步驟604,繼續(xù)執(zhí)行偵聽端口和等待UDP信號步驟。通過以上的發(fā)送和接收環(huán)節(jié),數(shù)據(jù)庫502中隨時保存著最新的用戶端(UDP發(fā)送端)IP地址信息,根據(jù)這個信息,能實現(xiàn)對智能家居控制設備202的實時控制,從而達到智能家居遠程控制應用104的目的。
權(quán)利要求
1.一種實時獲取寬帶動態(tài)IP地址的方法,其特征在于,包括從發(fā)送端向接收端發(fā)送UDP數(shù)據(jù)報的方法,獲取發(fā)送端的動態(tài)IP地址和識別編碼。
2.如權(quán)利要求I所述的方法,其特征在于,所述UDP數(shù)據(jù)報包括將識別編碼封裝于該UDP數(shù)據(jù)報的數(shù)據(jù)字段中。
3.如權(quán)利要求I所述的方法,其特征在于,所述動態(tài)IP地址和識別編碼包括將該IP地址和識別編碼存放于數(shù)據(jù)庫中。
4.一種實時獲取寬帶動態(tài)IP地址的裝置,其特征在于,包括a)UDP發(fā)送單元,用于發(fā)送UDP信號;b)UDP接收服務器,用于接收UDP信號。
5.如權(quán)利要求4所述的裝置,其特征在于,所述UDP發(fā)送單元包括由單獨的單片機組成。
6.如權(quán)利要求4所述的裝置,其特征在于,所述UDP發(fā)送單元包括可以集成在其它應用的單片機中,成為其單片機的子單元。
全文摘要
本發(fā)明提供一種實時獲取寬帶動態(tài)IP地址的方法和裝置,屬于物聯(lián)網(wǎng)的智能家居領(lǐng)域,尤其涉及接入寬帶的智能家居設備的網(wǎng)絡通信技術(shù)。本發(fā)明解決接入寬帶的智能家居設備實時獲取動態(tài)IP地址的技術(shù)問題。本發(fā)明主要是利用UDP數(shù)據(jù)報協(xié)議簡單、高效的性能,通過UDP發(fā)送端連續(xù)發(fā)送UDP信號和UDP接收端對收到的信號提取IP地址和識別編碼信息,并將該信息存放于數(shù)據(jù)庫中,通過對該數(shù)據(jù)庫的訪問,實現(xiàn)智能家居遠程控制的應用。
文檔編號H04L29/12GK102685269SQ20121016103
公開日2012年9月19日 申請日期2012年5月16日 優(yōu)先權(quán)日2012年5月16日
發(fā)明者陳為人 申請人:陳為人