本發(fā)明涉及智能家居技術(shù)領(lǐng)域,尤其涉及一種智能網(wǎng)關(guān)系統(tǒng)架構(gòu)。
背景技術(shù):
近年來,智能家居蓬勃發(fā)展起來,家用電器正向智能化、人性化和節(jié)能化方面加速發(fā)展。然而,現(xiàn)有的智能家居中,智能網(wǎng)關(guān)系統(tǒng)架構(gòu)產(chǎn)品的穩(wěn)定性不強(qiáng),兼容性還十分不成熟,因此實(shí)際效果有很大的不同,不能達(dá)到人們所期望的效果。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述技術(shù)中存在的不足之處,本發(fā)明提供一種既可以對(duì)終端節(jié)點(diǎn)上傳的信息進(jìn)行處理和顯示,還可以通過網(wǎng)關(guān)對(duì)終端節(jié)點(diǎn)進(jìn)行控制的智能網(wǎng)關(guān)系統(tǒng)架構(gòu)。
為了達(dá)到上述目的,本發(fā)明一種智能網(wǎng)關(guān)系統(tǒng)架構(gòu),包括任務(wù)調(diào)度模塊、數(shù)據(jù)處理模塊、wifi網(wǎng)絡(luò)模塊、tcp/ip通信模塊、儲(chǔ)存模塊以及顯示信息模塊,所述任務(wù)調(diào)度模塊分別與數(shù)據(jù)處理模塊、wifi網(wǎng)絡(luò)模塊、tcp/ip通信模塊、儲(chǔ)存模塊以及顯示信息模塊交互連接;
所述顯示信息模塊內(nèi)設(shè)置有終端節(jié)點(diǎn)設(shè)備信息表,該表包含智能家居系統(tǒng)中的每個(gè)終端節(jié)點(diǎn)的設(shè)備信息及網(wǎng)絡(luò)信息,且每個(gè)終端節(jié)點(diǎn)的設(shè)備信息及網(wǎng)絡(luò)信息儲(chǔ)存在儲(chǔ)存模塊內(nèi);
在硬件啟動(dòng)后,首先要進(jìn)行一系列的初始化,然后創(chuàng)建服務(wù)任務(wù),啟動(dòng)任務(wù)后在操作系統(tǒng)任務(wù)調(diào)度模塊的作用下,各個(gè)任務(wù)開始執(zhí)行。
其中,所述終端節(jié)點(diǎn)設(shè)備信息表包括節(jié)點(diǎn)id、父節(jié)點(diǎn)、節(jié)點(diǎn)指針、節(jié)點(diǎn)類型、請(qǐng)求狀態(tài)、最后信息上傳時(shí)間、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)指針以及下一表項(xiàng)指針。
其中,所述節(jié)點(diǎn)id使用節(jié)點(diǎn)的64位ieee地址標(biāo)識(shí);父節(jié)點(diǎn)的地址用來繪制wifi網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu);節(jié)點(diǎn)的名字用于用戶識(shí)別節(jié)點(diǎn)在家庭內(nèi)所處的位置;節(jié)點(diǎn)類型標(biāo)識(shí)節(jié)點(diǎn)所帶傳感器或控制器的數(shù)量及種類;請(qǐng)求狀態(tài)用于避免客戶端過于頻繁的請(qǐng)求;最后上傳消息時(shí)間可用于判斷節(jié)點(diǎn)是否脫網(wǎng);數(shù)據(jù)長(zhǎng)度可用于解析數(shù)據(jù)字段;下一表項(xiàng)指針指向下一個(gè)節(jié)點(diǎn)信息結(jié)構(gòu)。
其中,所述節(jié)點(diǎn)指針還包括字符串,所述數(shù)據(jù)指針包括第一數(shù)據(jù)和第二數(shù)據(jù),所述第一數(shù)據(jù)包括第一數(shù)據(jù)類型和第一數(shù)據(jù)長(zhǎng)度,所述第二數(shù)據(jù)包括第二數(shù)據(jù)類型和第二數(shù)據(jù)長(zhǎng)度。
為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種智能網(wǎng)關(guān)系統(tǒng)的任務(wù)調(diào)度方法,包括以下步驟:
步驟1:初始化設(shè)置;
步驟2:?jiǎn)?dòng)操作系統(tǒng);
步驟3:創(chuàng)建多個(gè)任務(wù);
步驟4:?jiǎn)?dòng)調(diào)度環(huán)節(jié);
步驟5:任務(wù)調(diào)度;
步驟6:調(diào)度完成多個(gè)任務(wù)。
其中,所述步驟1中初始化設(shè)置首先設(shè)置網(wǎng)絡(luò)參數(shù),包括:本地ip地址、本地mac地址、遠(yuǎn)程ip地址、遠(yuǎn)程mac地址和網(wǎng)關(guān)地址,然后進(jìn)行tx/rx緩沖區(qū)的設(shè)置,tx/rx緩沖區(qū)可以設(shè)置為1kb、2kb、4kb或8kb。
其中,所述步驟1具體包括硬件初始化、wifi協(xié)議初始化、tcp/ip協(xié)議初始化以及freertos初始化。
其中,所述步驟3具體包括創(chuàng)建顯示任務(wù)、創(chuàng)建wifi通信任務(wù)、創(chuàng)建tcp/ip通信任務(wù)、創(chuàng)建控制任務(wù)以及創(chuàng)建數(shù)據(jù)處理儲(chǔ)存任務(wù)。
其中,所述步驟6具體包括顯示任務(wù)、控制任務(wù)、wifi通信任務(wù)、wifi通信任務(wù)、socket服務(wù)器任務(wù)、通信處理任務(wù)以及數(shù)據(jù)處理儲(chǔ)存任務(wù),各個(gè)任務(wù)間的通信是通過消息隊(duì)列實(shí)現(xiàn)的。
其中,socket客戶端任務(wù)負(fù)責(zé)建立socket、連接遠(yuǎn)程服務(wù)器和接收遠(yuǎn)程服務(wù)器傳來的數(shù)據(jù);當(dāng)socket客戶端接收到遠(yuǎn)程服務(wù)器的數(shù)據(jù)后,會(huì)將這些數(shù)據(jù)發(fā)送到socket客戶端隊(duì)列;socket服務(wù)器任務(wù)負(fù)責(zé)接受終端上的socket客戶端的連接,由于accept的阻塞操作,必須為每個(gè)已連接的socket客戶端創(chuàng)建處理任務(wù),該任務(wù)接收socket客戶端發(fā)來的數(shù)據(jù),然后將這些數(shù)據(jù)發(fā)送到socket服務(wù)器隊(duì)列。
本發(fā)明的有益效果是:
與現(xiàn)有技術(shù)相比,本發(fā)明的智能網(wǎng)關(guān)系統(tǒng)架構(gòu),擺脫了對(duì)pc的嚴(yán)重依賴,李彤架構(gòu)簡(jiǎn)單,靈活性及成本低,并且存有擴(kuò)展接口,在系統(tǒng)實(shí)現(xiàn)其他功能的升級(jí)及維護(hù)方面也比傳統(tǒng)智能家居控制系統(tǒng)方便,本發(fā)明的智能網(wǎng)關(guān)系統(tǒng)的任務(wù)調(diào)度方法,網(wǎng)關(guān)系統(tǒng)是智能家居系統(tǒng)的核心,其既要有wifi網(wǎng)絡(luò)的協(xié)調(diào)器的功能,還需具備tcp/ip通訊功能,在這兩種通信的基礎(chǔ)上,還要對(duì)終端節(jié)點(diǎn)上傳的信息進(jìn)行處理和顯示,必要時(shí)還要通過網(wǎng)關(guān)對(duì)終端節(jié)點(diǎn)進(jìn)行控制。智能網(wǎng)關(guān)作為信息收集中心和命令下傳樞紐,各個(gè)功能間要相互協(xié)調(diào)才能維持智能家居整個(gè)系統(tǒng)的運(yùn)行。
附圖說明
圖1為本發(fā)明智能網(wǎng)關(guān)系統(tǒng)架構(gòu)的方框示意圖;
圖2為本發(fā)明智能網(wǎng)關(guān)系統(tǒng)的任務(wù)調(diào)度方法的方框圖。
主要元件符號(hào)說明如下:
1、任務(wù)調(diào)度模塊2、數(shù)據(jù)處理模塊
3、wifi網(wǎng)絡(luò)模塊4、tcp/ip通信模塊
5、儲(chǔ)存模塊6、顯示信息模塊。
具體實(shí)施方式
為了更清楚地表述本發(fā)明,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地描述。
參閱圖1,本發(fā)明一種智能網(wǎng)關(guān)系統(tǒng)架構(gòu),包括任務(wù)調(diào)度模塊1、數(shù)據(jù)處理模塊2、wifi網(wǎng)絡(luò)模塊3、tcp/ip通信模塊4、儲(chǔ)存模塊5以及顯示信息模塊6,任務(wù)調(diào)度模塊1分別與數(shù)據(jù)處理模塊2、wifi網(wǎng)絡(luò)模塊3、tcp/ip通信模塊4、儲(chǔ)存模塊5以及顯示信息模塊6交互連接;
顯示信息模塊6內(nèi)設(shè)置有終端節(jié)點(diǎn)設(shè)備信息表,該表包含智能家居系統(tǒng)中的每個(gè)終端節(jié)點(diǎn)的設(shè)備信息及網(wǎng)絡(luò)信息,且每個(gè)終端節(jié)點(diǎn)的設(shè)備信息及網(wǎng)絡(luò)信息儲(chǔ)存在儲(chǔ)存模塊5內(nèi);
在硬件啟動(dòng)后,首先要進(jìn)行一系列的初始化,然后創(chuàng)建服務(wù)任務(wù),啟動(dòng)任務(wù)后在操作系統(tǒng)任務(wù)調(diào)度模塊的作用下,各個(gè)任務(wù)開始執(zhí)行。
與現(xiàn)有技術(shù)相比,本發(fā)明的智能網(wǎng)關(guān)系統(tǒng)架構(gòu),擺脫了對(duì)pc的嚴(yán)重依賴,李彤架構(gòu)簡(jiǎn)單,靈活性及成本低,并且存有擴(kuò)展接口,在系統(tǒng)實(shí)現(xiàn)其他功能的升級(jí)及維護(hù)方面也比傳統(tǒng)智能家居控制系統(tǒng)方便,本發(fā)明的智能網(wǎng)關(guān)系統(tǒng)的任務(wù)調(diào)度方法,網(wǎng)關(guān)系統(tǒng)是智能家居系統(tǒng)的核心,其既要有wifi網(wǎng)絡(luò)的協(xié)調(diào)器的功能,還需具備tcp/ip通訊功能,在這兩種通信的基礎(chǔ)上,還要對(duì)終端節(jié)點(diǎn)上傳的信息進(jìn)行處理和顯示,必要時(shí)還要通過網(wǎng)關(guān)對(duì)終端節(jié)點(diǎn)進(jìn)行控制。智能網(wǎng)關(guān)作為信息收集中心和命令下傳樞紐,各個(gè)功能間要相互協(xié)調(diào)才能維持智能家居整個(gè)系統(tǒng)的運(yùn)行。
本實(shí)施例中,終端節(jié)點(diǎn)設(shè)備信息表包括節(jié)點(diǎn)id、父節(jié)點(diǎn)、節(jié)點(diǎn)指針、節(jié)點(diǎn)類型、請(qǐng)求狀態(tài)、最后信息上傳時(shí)間、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)指針以及下一表項(xiàng)指針。節(jié)點(diǎn)id使用節(jié)點(diǎn)的64位ieee地址標(biāo)識(shí);父節(jié)點(diǎn)的地址用來繪制wifi網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu);節(jié)點(diǎn)的名字用于用戶識(shí)別節(jié)點(diǎn)在家庭內(nèi)所處的位置;節(jié)點(diǎn)類型標(biāo)識(shí)節(jié)點(diǎn)所帶傳感器或控制器的數(shù)量及種類;請(qǐng)求狀態(tài)用于避免客戶端過于頻繁的請(qǐng)求;最后上傳消息時(shí)間可用于判斷節(jié)點(diǎn)是否脫網(wǎng);數(shù)據(jù)長(zhǎng)度可用于解析數(shù)據(jù)字段;下一表項(xiàng)指針指向下一個(gè)節(jié)點(diǎn)信息結(jié)構(gòu)。節(jié)點(diǎn)指針還包括字符串,數(shù)據(jù)指針包括第一數(shù)據(jù)和第二數(shù)據(jù),第一數(shù)據(jù)包括第一數(shù)據(jù)類型和第一數(shù)據(jù)長(zhǎng)度,第二數(shù)據(jù)包括第二數(shù)據(jù)類型和第二數(shù)據(jù)長(zhǎng)度。
參閱圖2,本發(fā)明還提供一種智能網(wǎng)關(guān)系統(tǒng)的任務(wù)調(diào)度方法,包括以下步驟:
s1:初始化設(shè)置;
s2:?jiǎn)?dòng)操作系統(tǒng);
s3:創(chuàng)建多個(gè)任務(wù);
s4:?jiǎn)?dòng)調(diào)度環(huán)節(jié);
s5:任務(wù)調(diào)度;
s6:調(diào)度完成多個(gè)任務(wù)。
本實(shí)施例中,s1中初始化設(shè)置首先設(shè)置網(wǎng)絡(luò)參數(shù),包括:本地ip地址、本地mac地址、遠(yuǎn)程ip地址、遠(yuǎn)程mac地址和網(wǎng)關(guān)地址,然后進(jìn)行tx/rx緩沖區(qū)的設(shè)置,tx/rx緩沖區(qū)可以設(shè)置為1kb、2kb、4kb或8kb。而本系統(tǒng)只使用了一個(gè)端口,因此,可以為將tx緩沖區(qū)和rx緩沖區(qū)都分配為8kb。
本實(shí)施例中,s1具體包括硬件初始化、wifi協(xié)議初始化、tcp/ip協(xié)議初始化以及freertos初始化。
本實(shí)施例中,s3具體包括創(chuàng)建顯示任務(wù)、創(chuàng)建wifi通信任務(wù)、創(chuàng)建tcp/ip通信任務(wù)、創(chuàng)建控制任務(wù)以及創(chuàng)建數(shù)據(jù)處理儲(chǔ)存任務(wù)。
本實(shí)施例中,s6具體包括顯示任務(wù)、控制任務(wù)、wifi通信任務(wù)、wifi通信任務(wù)、socket服務(wù)器任務(wù)、通信處理任務(wù)以及數(shù)據(jù)處理儲(chǔ)存任務(wù),各個(gè)任務(wù)間的通信是通過消息隊(duì)列實(shí)現(xiàn)的。
本實(shí)施例中,socket客戶端任務(wù)負(fù)責(zé)建立socket、連接遠(yuǎn)程服務(wù)器和接收遠(yuǎn)程服務(wù)器傳來的數(shù)據(jù);當(dāng)socket客戶端接收到遠(yuǎn)程服務(wù)器的數(shù)據(jù)后,會(huì)將這些數(shù)據(jù)發(fā)送到socket客戶端隊(duì)列;socket服務(wù)器任務(wù)負(fù)責(zé)接受終端上的socket客戶端的連接,由于accept的阻塞操作,必須為每個(gè)已連接的socket客戶端創(chuàng)建處理任務(wù),該任務(wù)接收socket客戶端發(fā)來的數(shù)據(jù),然后將這些數(shù)據(jù)發(fā)送到socket服務(wù)器隊(duì)列。
socket的英文原義是"孔"或"插座"。作為bsdunix的進(jìn)程通信機(jī)制,取后一種意思。通常也稱作"套接字",用于描述ip地址和端口,是一個(gè)通信鏈的句柄,可以用來實(shí)現(xiàn)不同虛擬機(jī)或不同計(jì)算機(jī)之間的通信。在internet上的主機(jī)一般運(yùn)行了多個(gè)服務(wù)軟件,同時(shí)提供幾種服務(wù)。每種服務(wù)都打開一個(gè)socket,并綁定到一個(gè)端口上,不同的端口對(duì)應(yīng)于不同的服務(wù)。socket正如其英文原意那樣,像一個(gè)多孔插座。一臺(tái)主機(jī)猶如布滿各種插座的房間,每個(gè)插座有一個(gè)編號(hào),有的插座提供220伏交流電,有的提供110伏交流電,有的則提供有線電視節(jié)目??蛻糗浖⒉孱^插到不同編號(hào)的插座,就可以得到不同的服務(wù)。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。