一種基于物聯(lián)網(wǎng)的指令學習方法
【專利摘要】本發(fā)明公開了一種基于物聯(lián)網(wǎng)的指令學習方法,其特征是按如下步驟進行:1.在學習指令的參數(shù)定;2.學習指令的參數(shù)錄入;3.學習指令的參數(shù)傳遞;4.學習指令的參數(shù)存儲;5.學習指令的更新判斷;6.學習指令的參數(shù)解析;7.學習指令傳輸;8.學習指令存入與發(fā)送;9.學習指令的綁定。本發(fā)明能規(guī)范指令學習系統(tǒng),方便用戶擴展指令功能并降低開發(fā)成本。
【專利說明】-種基于物聯(lián)網(wǎng)的指令學習方法
【技術領域】
[0001] 本發(fā)明涉及物聯(lián)網(wǎng)智能家居,尤其涉及一種基于物聯(lián)網(wǎng)家居的擴展。
【背景技術】
[0002] 隨著社會經(jīng)濟水平的飛速發(fā)展,生活節(jié)奏的加快,來自各方面的壓力,使得人們越 發(fā)看中家庭生活的舒適性、安全性和智能性。于是根基于中控系統(tǒng)的物聯(lián)網(wǎng)家居行業(yè)發(fā)展 得日漸強盛。所謂物聯(lián)網(wǎng)家居,是一個以住宅為平臺裝置安防、影音、燈光、窗簾等智能產(chǎn)品 綜合控制的一個有機系統(tǒng)體,不是某個單一的產(chǎn)品就能構成物聯(lián)網(wǎng)家居,它所涉及的面非 常廣,少不了安防、家電、IT和系統(tǒng)集成商的密切合作,這就要求各個設備之間能夠完美地 兼容。
[0003] 目前存在的物聯(lián)網(wǎng)家居系統(tǒng)已經(jīng)作為一個獨立的系統(tǒng)而言,已經(jīng)可以很輕松的實 現(xiàn)對家居智能控制。但是想在此基礎上進行家用電器的擴展,任意添置用戶購買的新家電, 對目前已有的系統(tǒng)而言仍是一個大問題。所以,如何構建一個標準,如何設計一套可以隨意 擴展的物聯(lián)網(wǎng)家居的系統(tǒng)已經(jīng)成為一個大問題。
[0004] 目前存在的一些對新型家用電器的融合技術必須依靠物聯(lián)網(wǎng)家居開發(fā)者重新開 發(fā),針對不同的家電采取物聯(lián)網(wǎng)家居提供者自己定義的標準以及采用物聯(lián)網(wǎng)家居開發(fā)者提 供的標準設備,這樣不僅開發(fā)周期長而且給用戶的使用會帶來一定的困擾。
【發(fā)明內容】
[0005] 本發(fā)明是為了解決現(xiàn)有物聯(lián)網(wǎng)家居系統(tǒng)的不足之處,提出的一種基于物聯(lián)網(wǎng)家居 的指令學習方法,能規(guī)范指令學習系統(tǒng),方便用戶擴展指令功能并降低開發(fā)成本。
[0006] 本發(fā)明為解決技術問題采用如下技術方案:
[0007] 本發(fā)明一種基于物聯(lián)網(wǎng)的指令學習方法的特點是,在物聯(lián)網(wǎng)環(huán)境中,存在PHP服 務器、服務器客戶端、本地控制器、與所述本地控制器所具有的ID號相對應的手持控制終 端、以及具有相同硬件地址和不同ID號的子控制模塊;
[0008] 所述指令學習方法是按如下步驟進行:
[0009] 步驟1、學習指令的參數(shù)定義
[0010] 所述學習指令為NEOID :idACT :actionC0MM :command ;id為所述子控制模塊的身 份識別號參數(shù),action為所述子控制模塊所需執(zhí)行動作參數(shù),command為所述子控制模塊 所需執(zhí)行的控制指令參數(shù);
[0011] 步驟2、學習指令的參數(shù)錄入
[0012] 在所述手持控制終端上設置一個可輸入身份識別號ID的文本框用于接收所述學 習指令中的身份識別號參數(shù)id、一個可輸入指令動作ACT的文本框用于接收所述學習指令 中的執(zhí)行動作參數(shù)action、以及一個可輸入控制指令C0MM的文本框用于接收所述學習指 令中的控制指令參數(shù)command ;
[0013] 步驟3、學習指令的參數(shù)傳遞
[0014] 所述手持控制終端通過所設置的各文本框采集到相應的身份識別號參數(shù)id、執(zhí)行 動作參數(shù)action以及控制指令參數(shù)command并通過網(wǎng)頁鏈接以POST方式傳遞給所述PHP 服務器;
[0015] 步驟4、學習指令的參數(shù)存儲
[0016] 所述PHP服務器接收所述身份識別號參數(shù)id、執(zhí)行動作參數(shù)action以及控制指令 參數(shù)co_and并獲取當前系統(tǒng)時間作為參數(shù)接收時間點后一并寫入所述PHP服務器的htm 文件中;
[0017] 步驟5、學習指令的更新判斷
[0018] 所述服務器端開啟文件掃描線程,在所述文件掃描線程中利用While語句對所述 htm文件進行循環(huán)分析,判斷在所述參數(shù)接收時間點是否存在更新,當所述參數(shù)接收時間點 存在更新時執(zhí)行學習指令的參數(shù)解析;
[0019] 步驟6、學習指令的參數(shù)解析
[0020] 所述服務器客戶端提取所述htm文件中的學習指令,并利用字符串解析方法解析 出所述學習指令中的身份識別號參數(shù)id、執(zhí)行動作參數(shù)action以及控制指令參數(shù)command 并存入數(shù)據(jù)庫中;
[0021] 步驟7、所述服務器客戶端通過以太網(wǎng)將所述學習指令傳輸?shù)剿霰镜乜刂破?中;
[0022] 步驟8、所述本地控制器將所接收的學習指令存入flash存儲器中,并通過自身的 無線數(shù)傳模塊發(fā)送給各子控制模塊;
[0023] 步驟9、所述各子模塊判斷所接收的學習指令中的身份識別號參數(shù)id是否與根據(jù) 自身的ID號相同,在相同時根據(jù)所述動作參數(shù)與函數(shù)對應表將所述控制指令參數(shù)command 與動作參數(shù)action所對應的函數(shù)進行綁定獲得所述控制指令參數(shù)co_and與函數(shù)的綁定 關系,并將所述綁定關系存入所述flash存儲器中,從而完成指令學習。
[0024] 與已有技術相比,本發(fā)明有益效果體現(xiàn)在:
[0025] 1、本發(fā)明針對用戶只能使用物聯(lián)網(wǎng)家居開發(fā)者提供的指定家用電器,而且當用戶 添置新電器時很難融合到當前使用的物聯(lián)網(wǎng)家居系統(tǒng)中來這個問題,構建一套指令學習方 法,開發(fā)者可以對子控制模塊進行二次開發(fā),設置自己的家電擴展的標準器件,當用戶添置 新家電時,不需要家居系統(tǒng)提供商進行復雜的開發(fā),只需要簡單的接線就可實現(xiàn)對家居的 擴展,從而實現(xiàn)用戶當前的物聯(lián)網(wǎng)家居系統(tǒng)對用戶添置的新家電的簡單融合。
[0026] 2、本發(fā)明無需對不同家電進行多次開發(fā),只需要構建一個動作參數(shù)與函數(shù)對應 表,將指令與家電需要執(zhí)行的動作對應起來,在以后的使用中直接對指令數(shù)據(jù)庫進行調用 即可,大大減少了開發(fā)周期與開發(fā)成本。
【專利附圖】
【附圖說明】
[0027] 圖1為本發(fā)明應用環(huán)境示意圖。
【具體實施方式】
[0028] 本實施例中,如圖1所示,一種基于物聯(lián)網(wǎng)的指令學習方法是在物聯(lián)網(wǎng)環(huán)境中,存 在PHP服務器、服務器客戶端、本地控制器、與本地控制器所具有的ID號相對應的手持控制 終端、以及具有相同硬件地址和不同ID號的子控制模塊;手持控制終端用于用戶輸入學習 指令的內容,并且將用戶輸入的內容傳輸至PHP服務器,PHP服務器用于實現(xiàn)命令的轉發(fā), 根據(jù)用戶傳入學習指令時使用的ID,服務器客戶端會通過這個ID將指令傳輸至用戶家中 的本地控制器。本地控制器通過以太網(wǎng)端口或WIFI連接實現(xiàn)與PHP服務器在INTERNET上 的數(shù)據(jù)交互,本地控制器內置指令識別軟件,并且包含有對子控制模塊的指令,通過對PHP 服務器發(fā)送的指令進行識別后并針對各個子控制模塊通過2. 4G無線網(wǎng)絡發(fā)送控制信息, 各個子控制模塊也可以根據(jù)接收到的控制指令實現(xiàn)對家電的控制。如,燈光子控制模塊可 以控制家居照明設備的開關,電源子控制模塊可以控制家電1、家電2、家電3的開關等。具 體的,是按如下步驟進行指令學習:
[0029] 步驟1、學習指令的參數(shù)定義
[0030] 學習指令為NEOID :idACT :actionC0MM :command ;id為子控制模塊的身份識別號 參數(shù),action為子控制模塊所需執(zhí)行動作參數(shù),command為子控制模塊所需執(zhí)行的控制指 令參數(shù);這個指令的格式可以由開發(fā)者自行定義,不過一條完整的指令應包含子控制模塊 的身份識別號,子控制模塊所需執(zhí)行動作參數(shù),子控制模塊所需執(zhí)行的控制指令參數(shù)這些 基本內容。
[0031] 步驟2、學習指令的參數(shù)錄入
[0032] 在手持控制終端上設置一個可輸入身份識別號ID的文本框用于接收學習指令中 的身份識別號參數(shù)id、一個可輸入指令動作ACT的文本框用于接收學習指令中的執(zhí)行動作 參數(shù)action、以及一個可輸入控制指令C0MM的文本框用于接收學習指令中的控制指令參 數(shù) C〇_and;手持控制終端的使用界面可由開發(fā)者自行定義,建議設置的文本框數(shù)量能夠 填寫學習指令所需全部信息。本實施例中,是在eclipse+Android ADT開發(fā)環(huán)境下,新建一 個Android項目后,可以通過修改所述Android項目的布局文件*. xml相關的代碼,實現(xiàn)對 界面的設計以及布局,或者可以通過Google公司提供的DroidDraw可視化圖形界面設計工 具,通過對可視化圖形界面組件進行簡單的拖拽搭建合適的可視化圖形界面,然后直接利 用DroidDraw生成相應的布局文件代碼,再黏貼到所述Android項目的布局文件中。
[0033] 步驟3、學習指令的參數(shù)傳遞
[0034] 手持控制終端通過所設置的各文本框采集到相應的身份識別號參數(shù)id、執(zhí)行動作 參數(shù)action以及控制指令參數(shù)command并通過網(wǎng)頁鏈接以POST方式傳遞給PHP服務器; 該網(wǎng)頁鏈接根據(jù)用戶的服務器的域名以及對傳遞的學習指令的參數(shù)進行處理的php文件 的位置決定,需要保證php能夠準確接收到手持控制終端傳遞的學習指令數(shù)據(jù)。
[0035] 步驟4、學習指令的參數(shù)存儲
[0036] PHP服務器接收身份識別號參數(shù)id、執(zhí)行動作參數(shù)action以及控制指令參數(shù) command并獲取當前系統(tǒng)時間作為參數(shù)接收時間點后一并寫入PHP服務器的htm文件中; [0037] 步驟5、學習指令的更新判斷
[0038] 服務器端開啟文件掃描線程,在文件掃描線程中利用while語句對htm文件進行 循環(huán)分析,判斷在參數(shù)接收時間點是否存在更新,當參數(shù)接收時間點存在更新時執(zhí)行學習 指令的參數(shù)解析;由于開發(fā)者使用的服務器平臺可能有所不同,所以不同平臺的功能實現(xiàn) 方式可能不同。比如在Windows NT系統(tǒng)環(huán)境中,可以使用Visual C++6. 0開發(fā)工具,倉ij建基 于對話框的MFC項目,接下來開發(fā)者可以在需要的位置開啟文件掃描線程,進而實現(xiàn)下面 的功能。
[0039] 步驟6、學習指令的參數(shù)解析
[0040] 服務器客戶端提取htm文件中的學習指令,并利用字符串解析方法解析出學習指 令中的身份識別號參數(shù)id、執(zhí)行動作參數(shù)action以及控制指令參數(shù)co_and并存入數(shù)據(jù)庫 中;字符串解析方法也有很多種方式,開發(fā)者可以根據(jù)自己設定的學習指令的格式設計相 應的解析方式。比如,開發(fā)者可以根據(jù)設定的學習指令的格式,找出相應的關鍵字在學習指 令字符串中的位置,然后可以利用字符串提取函數(shù)將指定范圍的字符串提取出來。
[0041] 步驟7、服務器客戶端通過以太網(wǎng)將學習指令傳輸?shù)奖镜乜刂破髦?;針對不同?號的單片機,其接入互聯(lián)網(wǎng)的方式存在多種多樣,如通過GPRS分組無線服務技術,WLAN無 線局域網(wǎng)技術等;所以,本地控制器與服務器的遠程連接的方式并不局限于以太網(wǎng)模式,可 以根據(jù)開發(fā)者的喜好和用戶使用環(huán)境來定。
[0042] 步驟8、本地控制器將所接收的學習指令存入flash存儲器中,并通過自身的無線 數(shù)傳模塊發(fā)送給各子控制模塊;
[0043] 步驟9、各子模塊判斷所接收的學習指令中的身份識別號參數(shù)id是否與根據(jù)自身 的ID號相同,在相同時根據(jù)動作參數(shù)與函數(shù)對應表將控制指令參數(shù)command與動作參數(shù) action所對應的函數(shù)進行綁定獲得控制指令參數(shù)co_and與函數(shù)的綁定關系,并將綁定關 系存入flash存儲器中,從而完成指令學習。
[0044] 實施例
[0045] 為了驗證本學習方法的實際操作性和可行性,開始搭建學習系統(tǒng)需要的環(huán)境,包 括虛擬主機一臺,小米2S Android手持終端一部,MSP430G2553為控制核心本地控制器一 個,MSP430G2553為控制核心子控制模塊一個。
[0046] 虛擬主機需要支持PHP語言,為虛擬主機綁定域名study_test. com. cn,在虛擬主 機的web目錄下創(chuàng)建為完成學習系統(tǒng)功能所必備的文件如學習指令處理文件study, php, 學習指令更新存儲文件com_tem. htm。
[0047] 設定學習指令的格式 NE0ID :idACT :actionC0MM :command
[0048] 使用eclipse+Android ADT開發(fā)環(huán)境開發(fā)指令學習應用程序Study, apk,首先根 據(jù)軟件使用說明創(chuàng)建Android Application工程,工程取名Study。創(chuàng)建好工程后,便可以 修改· · /res/layout下的main_activity. xml文件,按照說明文檔中的要求設計可視化圖 形界面,界面設定好后,需要修改/src/..目錄下的java代碼文件,實現(xiàn)人機界面交互的 功能。具體功能實現(xiàn)主要為當用戶在界面設置的各個文本框內輸入完成學習指令需要的數(shù) 據(jù)后,如在子控制模塊身份識別號文本輸入框內輸入子控制模塊身份識別號0001,在子控 制模塊所需執(zhí)行動作參數(shù)文本輸入框內輸入動作OPEN THE LED,在子控制模塊所需執(zhí)行的 控制指令參數(shù)文本輸入框內輸入精簡指令ELYL。點擊提交按鈕,該學習程序會自動訪問鏈 接:
[0049] www.study_test.com.cn/study.php?id =0001 &action=OPEN THE LED&command=ELYL
[0050] 利用POST方式實現(xiàn)學習指令參數(shù)的傳遞。
[0051] 在虛擬主機中開啟文件掃描線程,不斷掃描指令存儲文件,當該指令存儲文件中 存儲的時間信息存在更新時,虛擬主機相應的服務端就會把指令數(shù)據(jù)封裝到UDP數(shù)據(jù)包中 發(fā)送到本地控制器中。
[0052] MSP430G2553為控制核心本地控制器主要搭載以太網(wǎng)轉串口模塊,并設定好ip地 址,并且設置串口數(shù)據(jù)接收中斷,當接收到指令數(shù)據(jù)后,通過說明文檔中介紹的字符串解析 方法實現(xiàn)對指令數(shù)據(jù)的解析提取,之后便通過2. 4G無線數(shù)傳模塊傳輸出去。
[0053] 接下來子模塊就按照說明文檔中的過程執(zhí)行學習的功能。
[0054] 為了驗證學習過程是否順利進行,通過指令控制功能,當用戶發(fā)送控制指令后,實 現(xiàn)對家居的控制。
【權利要求】
1. 一種基于物聯(lián)網(wǎng)的指令學習方法,其特征是,在物聯(lián)網(wǎng)環(huán)境中,存在PHP服務器、月艮 務器客戶端、本地控制器、與所述本地控制器所具有的ID號相對應的手持控制終端、以及 具有相同硬件地址和不同ID號的子控制模塊; 所述指令學習方法是按如下步驟進行: 步驟1、學習指令的參數(shù)定義 所述學習指令為NEOID: idACT: actionCOMM: command ;id為所述子控制模塊的身份識 別號參數(shù),action為所述子控制模塊所需執(zhí)行動作參數(shù),command為所述子控制模塊所需 執(zhí)行的控制指令參數(shù); 步驟2、學習指令的參數(shù)錄入 在所述手持控制終端上設置一個可輸入身份識別號ID的文本框用于接收所述學習指 令中的身份識別號參數(shù)id、一個可輸入指令動作ACT的文本框用于接收所述學習指令中的 執(zhí)行動作參數(shù)action、以及一個可輸入控制指令COMM的文本框用于接收所述學習指令中 的控制指令參數(shù)command ; 步驟3、學習指令的參數(shù)傳遞 所述手持控制終端通過所設置的各文本框采集到相應的身份識別號參數(shù)id、執(zhí)行動作 參數(shù)action以及控制指令參數(shù)command并通過網(wǎng)頁鏈接以POST方式傳遞給所述PHP服務 器; 步驟4、學習指令的參數(shù)存儲 所述PHP服務器接收所述身份識別號參數(shù)id、執(zhí)行動作參數(shù)action以及控制指令參數(shù) command并獲取當前系統(tǒng)時間作為參數(shù)接收時間點后一并寫入所述PHP服務器的htm文件 中; 步驟5、學習指令的更新判斷 所述服務器端開啟文件掃描線程,在所述文件掃描線程中利用while語句對所述htm 文件進行循環(huán)分析,判斷在所述參數(shù)接收時間點是否存在更新,當所述參數(shù)接收時間點存 在更新時執(zhí)行學習指令的參數(shù)解析; 步驟6、學習指令的參數(shù)解析 所述服務器客戶端提取所述htm文件中的學習指令,并利用字符串解析方法解析出所 述學習指令中的身份識別號參數(shù)id、執(zhí)行動作參數(shù)action以及控制指令參數(shù)command并存 入數(shù)據(jù)庫中; 步驟7、所述服務器客戶端通過以太網(wǎng)將所述學習指令傳輸?shù)剿霰镜乜刂破髦校? 步驟8、所述本地控制器將所接收的學習指令存入flash存儲器中,并通過自身的無線 數(shù)傳模塊發(fā)送給各子控制模塊; 步驟9、所述各子模塊判斷所接收的學習指令中的身份識別號參數(shù)id是否與根據(jù)自身 的ID號相同,在相同時根據(jù)所述動作參數(shù)與函數(shù)對應表將所述控制指令參數(shù)command與動 作參數(shù)action所對應的函數(shù)進行綁定獲得所述控制指令參數(shù)co_and與函數(shù)的綁定關系, 并將所述綁定關系存入所述flash存儲器中,從而完成指令學習。
【文檔編號】G06F9/44GK104063227SQ201410310189
【公開日】2014年9月24日 申請日期:2014年6月30日 優(yōu)先權日:2014年6月30日
【發(fā)明者】劉學亮, 孫培杰, 郭莎, 羅娜, 汪萌, 洪日昌 申請人:合肥工業(yè)大學