物聯(lián)網(wǎng)家電的控制方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及物聯(lián)網(wǎng)家電領(lǐng)域,尤其涉及物聯(lián)網(wǎng)家電的控制方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前的物聯(lián)網(wǎng)系統(tǒng)里面,有幾大通訊終端。一是硬件家電端,二是服務(wù)器端,三是客戶端。而其中的客戶端又分為安卓端,1S端,PC端等等。這些通訊終端都是使用著同一份通訊協(xié)議,然后用各自的代碼來實(shí)現(xiàn)和維護(hù)。由于各個(gè)終端各自維護(hù)各自的代碼,去實(shí)現(xiàn)同一個(gè)協(xié)議的功能,造成工作量增多,成本增加。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的主要目的在于提供一種物聯(lián)網(wǎng)家電的控制方法及系統(tǒng),旨在節(jié)省了各個(gè)終端維護(hù)各自的代碼而增加的開發(fā)成本及測(cè)試成本。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種物聯(lián)網(wǎng)家電的控制系統(tǒng),包括家電控制端、月艮務(wù)器及客戶端,所述家電控制端上設(shè)有協(xié)議代碼文件,所述協(xié)議代碼文件記錄供家電控制端及服務(wù)器、客戶端調(diào)用的功能函數(shù);所述服務(wù)器及客戶端從家電控制端中獲取所述協(xié)議代碼文件,并基于所述協(xié)議代碼文件實(shí)現(xiàn)客戶端、服務(wù)器及家電控制端之間的交互。
[0005]優(yōu)選地,所述功能函數(shù)由C語言代碼組成。
[0006]優(yōu)選地,當(dāng)所述客戶端為安卓系統(tǒng)時(shí),在從所述家電控制端獲取所述協(xié)議代碼文件后,將所述協(xié)議代碼文件生成動(dòng)態(tài)鏈接庫(kù),以供客戶端調(diào)用。
[0007]優(yōu)選地,所述服務(wù)器在從所述家電控制端獲取所述協(xié)議代碼文件后,調(diào)用編譯工具,將所述協(xié)議代碼文件編譯成所述服務(wù)器所需要的格式的調(diào)用模塊,以供服務(wù)器調(diào)用。
[0008]優(yōu)選地,所述家電控制端更新所述協(xié)議代碼文件,并將更新后的協(xié)議代碼文件同步至所述服務(wù)器及客戶端。
[0009]此外,為實(shí)現(xiàn)上述目的,一種物聯(lián)網(wǎng)家電的控制方法,應(yīng)用于物聯(lián)網(wǎng)家電控制系統(tǒng),所述物聯(lián)網(wǎng)家電控制系統(tǒng)包括家電控制端、服務(wù)器、客戶端;所述物聯(lián)網(wǎng)家電的控制方法包括以下步驟:
[0010]家電控制端提供一預(yù)設(shè)的協(xié)議代碼文件;所述協(xié)議代碼文件記錄供家電控制端、服務(wù)器及客戶端調(diào)用的功能函數(shù);
[0011]所述服務(wù)器及客戶端從家電控制端中獲取所述協(xié)議代碼文件,并基于所述協(xié)議代碼文件實(shí)現(xiàn)客戶端、服務(wù)器及家電控制端之間的交互。
[0012]優(yōu)選地,所述功能函數(shù)由C語言代碼組成。
[0013]優(yōu)選地,當(dāng)所述客戶端為安卓系統(tǒng)時(shí),在從所述家電控制端獲取所述協(xié)議代碼文件后,將所述協(xié)議代碼文件生成動(dòng)態(tài)鏈接庫(kù),以供客戶端調(diào)用。
[0014]優(yōu)選地,所述服務(wù)器在從所述家電控制端獲取所述協(xié)議代碼文件后,調(diào)用編譯工具,將所述協(xié)議代碼文件編譯成所述服務(wù)器所需要的格式的調(diào)用模塊,以供服務(wù)器調(diào)用。
[0015]優(yōu)選地,所述控制方法還包括:
[0016]所述家電控制端更新所述協(xié)議代碼文件,并將更新后的協(xié)議代碼文件同步至所述服務(wù)器及客戶端。
[0017]本發(fā)明通過家電控制端設(shè)置協(xié)議代碼文件,以供服務(wù)器和客戶端調(diào)用,從而節(jié)省了各個(gè)終端維護(hù)各自的代碼而增加的開發(fā)成本及測(cè)試成本。
【附圖說明】
[0018]圖1為本發(fā)明物聯(lián)網(wǎng)家電的控制系統(tǒng)的功能模塊示意圖;
[0019]圖2為本發(fā)明物聯(lián)網(wǎng)家電的控制方法第一實(shí)施例的流程示意圖;
[0020]圖3為本發(fā)明物聯(lián)網(wǎng)家電的控制方法中客戶端調(diào)用協(xié)議代碼文件的流程示意圖;
[0021]圖4為本發(fā)明物聯(lián)網(wǎng)家電的控制方法中服務(wù)器調(diào)用協(xié)議代碼文件的流程示意圖;
[0022]圖5為本發(fā)明物聯(lián)網(wǎng)家電的控制方法第二實(shí)施例的流程示意圖。
[0023]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
【具體實(shí)施方式】
[0024]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0025]本發(fā)明提出一種物聯(lián)網(wǎng)家電的控制系統(tǒng),通過家電控制端設(shè)置一協(xié)議代碼文件,服務(wù)器及客戶端從家電控制端獲取該協(xié)議代碼文件,并基于該協(xié)議代碼文件實(shí)現(xiàn)客戶端、服務(wù)器及家電控制端之間的交互。
[0026]該控制系統(tǒng)應(yīng)用于物聯(lián)網(wǎng)家電設(shè)備,以控制各家電設(shè)備的工作狀態(tài)。該家電設(shè)備可包括空調(diào)、電視機(jī)、電風(fēng)扇、熱水器、冰箱、空氣凈化器、燈等等。該家電設(shè)備可以為一個(gè)家電設(shè)備,也可以為多個(gè)相同或不同的家電設(shè)備。如圖1所示,所有的物聯(lián)網(wǎng)家電設(shè)備101均與家電控制端100連接。用戶利用客戶端200發(fā)送控制指令給服務(wù)器300,并由服務(wù)器300發(fā)送給家電控制端100,以使家電控制端100根據(jù)控制指令控制相應(yīng)的家電工作,例如開啟指令、關(guān)閉指令、調(diào)節(jié)家電運(yùn)彳丁參數(shù)等等。
[0027]該客戶端200可以為具有網(wǎng)絡(luò)功能的便攜式終端,例如手機(jī)、平板電腦、手提電腦等等。為了便于客戶端200的控制操作,該客戶端200上可以裝設(shè)有相應(yīng)的控制程序,并提供相應(yīng)的控制界面,供用戶操作。該客戶端200的控制后臺(tái)具有相應(yīng)的控制功能,即根據(jù)用戶在控制界面的操作,生成相應(yīng)的操作指令,并通過服務(wù)器300發(fā)送給家電控制端100。當(dāng)然,可以理解的是,該客戶端200也可以具有直接控制家電設(shè)備101的功能。以空調(diào)為例,該客戶端200上也可以裝設(shè)空調(diào)的控制程序,并提供相應(yīng)的空調(diào)控制界面,以供用戶控制空調(diào)的工作狀態(tài)、設(shè)置相應(yīng)的運(yùn)行參數(shù)。兩者均能實(shí)現(xiàn)對(duì)家電設(shè)備的控制,但是前者是通過物聯(lián)網(wǎng)(即服務(wù)器)進(jìn)行控制,后者是直接控制。因此,前者需要客戶端200具有網(wǎng)絡(luò)通訊功能(因此,可以實(shí)現(xiàn)家電設(shè)備的遠(yuǎn)程控制),后者的客戶端200可通過紅外、藍(lán)牙等近場(chǎng)通訊方式實(shí)現(xiàn)操作指令的傳輸。上述客戶端200可以為一個(gè),也可以為多個(gè)。
[0028]需要說明的是,上述家電控制端100可以為獨(dú)立設(shè)置的一個(gè)控制裝置,也可以為設(shè)置在某家電設(shè)備101上的控制裝置。
[0029]由于家電控制端100、服務(wù)器300、客戶端200三者之間的交互,因此三者之間需要遵守同一操作規(guī)則,實(shí)現(xiàn)對(duì)家電設(shè)備101的控制。服務(wù)器300、家電控制端100及客戶端200都需要遵守該交互操作規(guī)則,以控制家電設(shè)備101。因此,本發(fā)明實(shí)施例提出一種物聯(lián)網(wǎng)家電的控制系統(tǒng),由家電控制端100設(shè)置一協(xié)議代碼文件。該協(xié)議代碼文件可包括協(xié)議文檔以及代碼文件,該協(xié)議文檔用于規(guī)定操作規(guī)范,例如規(guī)定0x01代表開啟空調(diào)。代碼文件則用于實(shí)現(xiàn)空調(diào)開啟功能。其中,代碼文件記錄有多個(gè)功能函數(shù),例如開啟空調(diào)、關(guān)閉空調(diào)、調(diào)節(jié)空調(diào)的設(shè)定溫度等等。每個(gè)功能函數(shù)都包括相應(yīng)的參數(shù)項(xiàng),當(dāng)該功能函數(shù)被調(diào)用時(shí),只要傳入相應(yīng)的參數(shù)值,即可實(shí)現(xiàn)該功能函數(shù)對(duì)應(yīng)的功能。
[0030]服務(wù)器300和客戶端200從家電控制端100中獲取上述協(xié)議代碼文件,并基于該協(xié)議代碼文件實(shí)現(xiàn)服務(wù)器300、客戶端200和家電控制端100三者之間的交互。具體為:服務(wù)器300和客戶端200獲取到該協(xié)議代碼文件,可以根據(jù)協(xié)議代碼文件中的協(xié)議文檔,生成相應(yīng)的控制代碼,以使服務(wù)器300和客戶端200可以根據(jù)用戶的操作,調(diào)用代碼文件中相應(yīng)的功能函數(shù),并傳入功能函數(shù)所需的參數(shù),實(shí)現(xiàn)對(duì)家電設(shè)備的控制。
[0031]本發(fā)明實(shí)施例通過家電控制端100設(shè)置協(xié)議代碼文件,以供服務(wù)器300和客戶端200調(diào)用,從而節(jié)省了各個(gè)終端維護(hù)各自的代碼而增加的開發(fā)成本及測(cè)試成本。
[0032]進(jìn)一步地,上述代碼文件中的功能函數(shù)由C語言代碼組成,當(dāng)然也可以由其他語言代碼實(shí)現(xiàn)。本發(fā)明實(shí)施例中優(yōu)選為C語言,因?yàn)榧译娍刂贫?00、客戶端200及服務(wù)器300均可以調(diào)用C語言程序。因此,客戶端200及服務(wù)器300獲取到家電控制端100中生成的協(xié)議代碼文件后,可以更好地調(diào)用。
[0033]進(jìn)一步地,由于客戶端200的系統(tǒng)可包括安卓系統(tǒng)、1S系統(tǒng)。當(dāng)客戶端200的系統(tǒng)為安卓系統(tǒng)時(shí),雖然安卓系統(tǒng)本身是使用java代碼來編寫,但它本身有一個(gè)JNI的機(jī)制。即在Iinux系統(tǒng)的環(huán)境,通過一個(gè)ndk的工具,把上述C語言的代碼文件打包生成動(dòng)態(tài)鏈接庫(kù),例如.so庫(kù)。把這個(gè).so庫(kù)放到安卓系統(tǒng)開發(fā)的工程代碼下面,就可以實(shí)現(xiàn)客戶端200調(diào)用.so庫(kù)中的功能代碼了。
[0034]當(dāng)客戶端200的系統(tǒng)為1S系統(tǒng)時(shí),由于1S系統(tǒng)本身就是用基于C語言的object_c和swift來寫的,因此它直接通過一個(gè).h文件導(dǎo)入即可實(shí)現(xiàn)對(duì)功能代碼的調(diào)用。
[0035]進(jìn)一步地,由于服務(wù)器300用的語言比較多,有PHP,JAVA,C++,甚至有一些本身都是C。雖然語言種類很多,但都是可以通過各種編譯工具,以調(diào)用C語言代碼。
[0036]以PHP為例,第一步,跟安卓系統(tǒng)一樣,將代碼文件打包生成動(dòng)態(tài)鏈接庫(kù),例如.so庫(kù)。第二步,使用這個(gè).SO庫(kù)制作成php模塊,外部。第三步,再制作成php