技術(shù)領(lǐng)域:
本發(fā)明涉及一種在線圖形化編程及控制嵌入式設(shè)備的方法、系統(tǒng)。
背景技術(shù):
:圖形化編程,是指在圖形界面上通過拖放和組合多個程序塊,快速構(gòu)建功能模塊,點(diǎn)擊即可運(yùn)行的編程方式。這種方式無需學(xué)習(xí)編程語言的語法,也不用手工輸入代碼,完全省卻傳統(tǒng)編程的繁瑣(安裝->編輯->編譯->運(yùn)行…)。圖形化編程,以其簡單易用的界面、可視化的積木堆疊方式,讓人們可以輕易地創(chuàng)造自己作品,如互動故事、動畫、游戲、音樂和藝術(shù)等等。在線圖形化編程屬于網(wǎng)頁應(yīng)用,用戶無需安裝應(yīng)用程序,打開瀏覽器即可使用圖形化編程,而且具有極好的跨平臺跨設(shè)備運(yùn)行優(yōu)勢,只需一個符合HTML5標(biāo)準(zhǔn)的瀏覽器用戶便可在任何一種操作系統(tǒng)(Windows,Linux或Mac)或設(shè)備(PC、iPad、安卓平板)上均可運(yùn)行。在嵌入式設(shè)計領(lǐng)域,應(yīng)用程序一般通過串口對設(shè)備進(jìn)行控制,這種控制方式的缺點(diǎn)很明顯:1)應(yīng)用程序在跨平臺和跨設(shè)備方面表現(xiàn)比較差,需要花費(fèi)大量人力物力財力去為各種平臺和設(shè)備去移植應(yīng)用程序和測試,PC機(jī)尚可以通過USB轉(zhuǎn)串口適配器去連接和控制串口,但對許多平板電腦(如iPad)來說,基本不可能使用串口,更不用說去操作。2)使用串口需要連接線,連接線的長度固定限制,使用和安裝均不方便。為克服以上缺陷,現(xiàn)有技術(shù)當(dāng)中也提供有解決方案,例如:對于第1點(diǎn),有些新的軟件技術(shù),例如NW.js(原名node-webkit),將網(wǎng)頁應(yīng)用和瀏覽器打包起來成為應(yīng)用程序,以達(dá)成跨平臺的目的,但這種技術(shù),安裝包的體積巨大(因?yàn)閮?nèi)含一個瀏覽器),還必須為各種平臺和設(shè)備提供安裝包,升級應(yīng)用的成本較高。對于第2點(diǎn),可以使用藍(lán)牙或2.4G無線設(shè)備,在嵌入式板子和PC兩端加裝發(fā)射接收設(shè)備,達(dá)到無線使用的目的,但安裝和使用上有所不便。而要在平板上控制嵌入式設(shè)備,一般只有使用藍(lán)牙去實(shí)現(xiàn)。在前述提及的在線圖形化編程,正正為我們解決嵌入式設(shè)備的控制問題提供了有力的技術(shù)支撐,然而還有幾點(diǎn)技術(shù)問題亟待解決:i)由于瀏覽器的安全限制,網(wǎng)頁應(yīng)用使用系統(tǒng)資源方面有許多限制,一來要在網(wǎng)頁應(yīng)用里使用串口,需要在PC上的Chrome瀏覽器上安裝擴(kuò)展方可使用,其它瀏覽器或平臺均無法使用;二來平板等移動設(shè)備一般也不支持串口。ii)網(wǎng)頁應(yīng)用一般都是瀏覽器加載服務(wù)器上的網(wǎng)頁等資源而生成的,網(wǎng)頁應(yīng)用一般僅和服務(wù)器進(jìn)行交互(通過超文本協(xié)議HTTP進(jìn)行通訊),因此要跟嵌入式設(shè)備進(jìn)行實(shí)時交互,還得使用另外瀏覽器支持的通訊協(xié)議。技術(shù)實(shí)現(xiàn)要素:基于
背景技術(shù):
,本發(fā)明提出一種在線圖形化編程及控制嵌入式設(shè)備的方法、系統(tǒng),將在線圖形化編程的網(wǎng)頁應(yīng)用與WebSocket網(wǎng)絡(luò)服務(wù)協(xié)助的結(jié)合實(shí)現(xiàn)對嵌入式設(shè)備的控制,從而完美地解決跨平臺跨設(shè)備的問題,并且無需對現(xiàn)有系統(tǒng)作深度修改,從而縮短開發(fā)時間與成本;其具體技術(shù)內(nèi)容如下:本發(fā)明的在線圖形化編程及控制嵌入式設(shè)備的方法,包括如下步驟:瀏覽器加載在線圖形化編程資源的步驟S01,具體包括S011、瀏覽器向服務(wù)器發(fā)起起始頁請求,服務(wù)器響應(yīng)并反饋超始頁數(shù)據(jù);S012、瀏覽器向服務(wù)器發(fā)起資源數(shù)據(jù)請求,服務(wù)器響應(yīng)并反饋資源數(shù)據(jù),以完成在線圖形化編程資源的加載,所述在線圖形化編程資源中具有指向連接嵌入式設(shè)備的服務(wù)協(xié)議;瀏覽器與嵌入式設(shè)備建立網(wǎng)絡(luò)鏈接的步驟S02,具體包括S021、瀏覽器通過嵌入式設(shè)備的聯(lián)網(wǎng)地址與其建立鏈接,并進(jìn)行數(shù)據(jù)交互;所述數(shù)據(jù)交互包括將圖形化編程所生成的控制指令發(fā)送至嵌入式設(shè)備;S022、嵌入式設(shè)備接收并解析所述控制指令,執(zhí)行對應(yīng)的動作。于本發(fā)明的一個或多個實(shí)施例當(dāng)中,所述指向連接嵌入式設(shè)備的服務(wù)協(xié)議為WebSocket網(wǎng)絡(luò)協(xié)議。于本發(fā)明的一個或多個實(shí)施例當(dāng)中,所述數(shù)據(jù)交互包括根據(jù)瀏覽器的問詢,由所述嵌入式設(shè)備向?yàn)g覽器反饋其硬件信息、固件版本信息或系統(tǒng)配置參數(shù)。本發(fā)明的在線圖形化編程及控制嵌入式設(shè)備的系統(tǒng),包括瀏覽器,運(yùn)行于計算機(jī)或智能平臺上,支持HTML5標(biāo)準(zhǔn);服務(wù)器,裝載有在線圖形化編程資源,其根據(jù)瀏覽器發(fā)起的請求向?yàn)g覽器發(fā)送在線圖形化編程資源;嵌入式設(shè)備,接入網(wǎng)絡(luò)與瀏覽器進(jìn)行數(shù)據(jù)交互;所述在線圖形化編程資源中包含指向連接嵌入式設(shè)備的服務(wù)協(xié)議,所述服務(wù)器、嵌入式設(shè)備和瀏覽器基于所述的在線圖形化編程及控制嵌入式設(shè)備的方法運(yùn)作。于本發(fā)明的一個或多個實(shí)施例當(dāng)中,所述指向連接嵌入式設(shè)備的服務(wù)協(xié)議為WebSocket網(wǎng)絡(luò)協(xié)議,所述瀏覽器的協(xié)議棧包括Firmata庫和WebSocket客戶端,所述嵌入式設(shè)備的協(xié)議棧包括Firmata固件和WebSocket服務(wù)端,并且該嵌入式設(shè)備保留原有通過串口控制的通訊協(xié)議。于本發(fā)明的一個或多個實(shí)施例當(dāng)中,所述嵌入式設(shè)備具有用于聯(lián)網(wǎng)的WIFI或2.4G無線模塊。本發(fā)明的有益效果是:采用瀏覽器、服務(wù)器與嵌入式設(shè)備網(wǎng)絡(luò)連接架構(gòu),基于WebSocket通訊方式解決了圖形化編程及對嵌入式設(shè)備的跨平臺互聯(lián)控制問題,實(shí)現(xiàn)嵌入式設(shè)備的快速升級布署;其保留原來通過串口控制嵌入式設(shè)備的通訊協(xié)議,也就是說,網(wǎng)絡(luò)相當(dāng)于是個透明的傳輸層,應(yīng)用和嵌入式兩端看到的是原來的串口數(shù)據(jù)。這意味著,無需為訪問串口資源而移植成普通的應(yīng)用,兩端的應(yīng)用軟件可重用原來的控制代碼,無需重寫新的通訊協(xié)議代碼,大大縮減了開發(fā)和測試時間。附圖說明圖1為本發(fā)明的在線圖形化編程及控制嵌入式設(shè)備的系統(tǒng)組成及數(shù)據(jù)交互示意圖。圖2為本發(fā)明的瀏覽器和嵌入式設(shè)備的協(xié)議棧示意圖。具體實(shí)施方式如下結(jié)合附圖,對本申請方案作進(jìn)一步描述:首先,對本發(fā)明中提及的術(shù)語作簡單說明,具體如下表模塊或協(xié)議說明服務(wù)器Web服務(wù)器在線圖形化編程在瀏覽器里運(yùn)行的圖形化編程應(yīng)用嵌入式設(shè)備具有WiFi無線網(wǎng)絡(luò)功能的嵌入式開發(fā)板HTTP超文本協(xié)議,瀏覽器需要通過該協(xié)議向Web服務(wù)器提出獲取、上傳數(shù)據(jù)的請求,并解析返回的響應(yīng)。HTTP協(xié)議是Web的基礎(chǔ)協(xié)議。WebSocketWebSocket是屬于一種新的套接字技術(shù),讓網(wǎng)頁應(yīng)用可以跟服務(wù)器實(shí)時交互。參見附圖1,一種在線圖形化編程及控制嵌入式設(shè)備的方法,包括如下步驟:瀏覽器加載在線圖形化編程資源的步驟S01,具體包括S011、瀏覽器向服務(wù)器發(fā)起起始頁請求,服務(wù)器響應(yīng)并反饋超始頁數(shù)據(jù);S012、瀏覽器向服務(wù)器發(fā)起資源數(shù)據(jù)請求,服務(wù)器響應(yīng)并反饋資源數(shù)據(jù),以完成在線圖形化編程資源的加載,所述在線圖形化編程資源中具有指向連接嵌入式設(shè)備的服務(wù)協(xié)議;瀏覽器與嵌入式設(shè)備建立網(wǎng)絡(luò)鏈接的步驟S02,具體包括S021、瀏覽器通過嵌入式設(shè)備的聯(lián)網(wǎng)地址與其建立鏈接,并進(jìn)行數(shù)據(jù)交互;所述數(shù)據(jù)交互包括將圖形化編程所生成的控制指令發(fā)送至嵌入式設(shè)備;S022、嵌入式設(shè)備接收并解析所述控制指令,執(zhí)行對應(yīng)的動作。所述指向連接嵌入式設(shè)備的服務(wù)協(xié)議為WebSocket網(wǎng)絡(luò)協(xié)議。所述數(shù)據(jù)交互包括根據(jù)瀏覽器的問詢,由所述嵌入式設(shè)備向?yàn)g覽器反饋其硬件信息、固件版本信息或系統(tǒng)配置參數(shù)。參見附圖1和2,一種在線圖形化編程及控制嵌入式設(shè)備的系統(tǒng),包括瀏覽器,運(yùn)行于計算機(jī)或智能平臺上,支持HTML5標(biāo)準(zhǔn);服務(wù)器,裝載有在線圖形化編程資源,其根據(jù)瀏覽器發(fā)起的請求向?yàn)g覽器發(fā)送在線圖形化編程資源;嵌入式設(shè)備,接入網(wǎng)絡(luò)與瀏覽器進(jìn)行數(shù)據(jù)交互;所述在線圖形化編程資源中包含指向連接嵌入式設(shè)備的服務(wù)協(xié)議,所述服務(wù)器、嵌入式設(shè)備和瀏覽器基于所述的在線圖形化編程及控制嵌入式設(shè)備的方法運(yùn)作。所述指向連接嵌入式設(shè)備的服務(wù)協(xié)議為WebSocket網(wǎng)絡(luò)協(xié)議,所述瀏覽器的協(xié)議棧包括Firmata庫和WebSocket客戶端,所述嵌入式設(shè)備的協(xié)議棧包括Firmata固件和WebSocket服務(wù)端,并且該嵌入式設(shè)備保留原有通過串口控制的通訊協(xié)議。上述優(yōu)選實(shí)施方式應(yīng)視為本申請方案實(shí)施方式的舉例說明,凡與本申請方案雷同、近似或以此為基礎(chǔ)作出的技術(shù)推演、替換、改進(jìn)等,均應(yīng)視為本專利的保護(hù)范圍。當(dāng)前第1頁1 2 3