本發(fā)明涉及智能控制領(lǐng)域,尤其涉及一種基于智能路由和聊天室機(jī)制的遠(yuǎn)程控制系統(tǒng),還涉及一種基于該系統(tǒng)的遠(yuǎn)程控制方法。
背景技術(shù):
:當(dāng)前智能可移動(dòng)設(shè)備(如智能小車等),一般都是近程控制,即上位機(jī)接入(主要是遙控器或手機(jī)APP)可移動(dòng)設(shè)備的wifi或藍(lán)牙配對(duì)狀態(tài)下控制設(shè)備行走,超出wifi或藍(lán)牙覆蓋覆蓋范圍則不能接入,導(dǎo)致無法控制設(shè)備,具有局限性。有些能實(shí)現(xiàn)遠(yuǎn)程控制,從已有的遠(yuǎn)程控制設(shè)備技術(shù)來看,主要是一對(duì)一的關(guān)系,即一個(gè)上位機(jī)對(duì)一臺(tái)設(shè)備的遠(yuǎn)程控制,還沒有可以一對(duì)多進(jìn)行遠(yuǎn)程控制的解決方案。技術(shù)實(shí)現(xiàn)要素:為解決現(xiàn)有技術(shù)中的問題,本發(fā)明提供一種基于智能路由和聊天室機(jī)制的遠(yuǎn)程控制系統(tǒng),還提供了一種基于該系統(tǒng)的遠(yuǎn)程控制方法。本發(fā)明遠(yuǎn)程控制系統(tǒng)包括,智能可移動(dòng)設(shè)備:用于根據(jù)服務(wù)器轉(zhuǎn)發(fā)的控制指令執(zhí)行操作,并上報(bào)數(shù)據(jù)給服務(wù)器;服務(wù)器:用于搭建聊天室,分發(fā)同一聊天室內(nèi)上位機(jī)的控制指令給智能可移動(dòng)設(shè)備,并將智能可移動(dòng)設(shè)備上報(bào)的數(shù)據(jù)發(fā)送給上位機(jī);上位機(jī):用于通過服務(wù)器發(fā)送控制指令給智能可移動(dòng)設(shè)備,接收服務(wù)器傳輸?shù)闹悄芸梢苿?dòng)設(shè)備上報(bào)的數(shù)據(jù)并顯示。本發(fā)明作進(jìn)一步改進(jìn),所述智能可移動(dòng)設(shè)備包括OpenWrt智能路由和arduino單片機(jī),其中,所述OpenWrt智能路由為智能可移動(dòng)設(shè)備主控板,通過串口與arduino單片機(jī)通信,控制智能可移動(dòng)設(shè)備移動(dòng);所述arduino單片機(jī)控制可移動(dòng)設(shè)備移動(dòng),數(shù)據(jù)上報(bào)。本發(fā)明作進(jìn)一步改進(jìn),所述智能可移動(dòng)設(shè)備還包括4G路由器,用于接入4G通信網(wǎng)。本發(fā)明作進(jìn)一步改進(jìn),所述智能可移動(dòng)設(shè)備、服務(wù)器和上位機(jī)之間通過websocket協(xié)議通信,所述聊天室為websocket聊天室。本發(fā)明作進(jìn)一步改進(jìn),同一websocket聊天室內(nèi)連接的智能可移動(dòng)設(shè)備和上位機(jī)的數(shù)量為一個(gè)以上,其中智能可移動(dòng)設(shè)備和上位機(jī)通過服務(wù)器內(nèi)的websocket聊天室的通信形式包括一對(duì)一通信、一對(duì)多通信和多對(duì)多通信。本發(fā)明作進(jìn)一步改進(jìn),所述智能可移動(dòng)設(shè)備上設(shè)有攝像頭和/或傳感器。本發(fā)明還提供了一種基于上述遠(yuǎn)程控制系統(tǒng)的遠(yuǎn)程控制方法,包括如下步驟:S1:服務(wù)器搭建聊天室,智能可移動(dòng)設(shè)備、上位機(jī)連網(wǎng),能夠訪問服務(wù)器;S2:服務(wù)器將智能可移動(dòng)設(shè)備和對(duì)應(yīng)的上位機(jī)綁定,接入聊天室的同一房間;S3:上位機(jī)發(fā)送控制指令和消息給服務(wù)器;S4:服務(wù)器解析消息中的聊天室房間號(hào)和智能可移動(dòng)設(shè)備編號(hào),選擇房間內(nèi)轉(zhuǎn)發(fā)的智能可移動(dòng)設(shè)備,然后將控制指令發(fā)送給該智能可移動(dòng)設(shè)備;S5:智能可移動(dòng)設(shè)備接收到控制指令后執(zhí)行相應(yīng)操作,并將數(shù)據(jù)和消息上報(bào)給服務(wù)器;S6:服務(wù)器解析消息中的聊天室房間號(hào)和上位機(jī)號(hào),選擇房間內(nèi)轉(zhuǎn)發(fā)的上位機(jī),然后將數(shù)據(jù)發(fā)送給該上位機(jī);S7:上位機(jī)顯示數(shù)據(jù)。本發(fā)明作進(jìn)一步改進(jìn),在步驟S2中,將采用OpenWrt智能路由的智能可移動(dòng)設(shè)備與上位機(jī)的用戶微信號(hào)進(jìn)行綁定,每個(gè)智能可移動(dòng)設(shè)備在出廠時(shí)擁有一個(gè)該設(shè)備的MAC地址,將該MAC地址作為參數(shù)的臨時(shí)二維碼,服務(wù)器將智能可以只移動(dòng)設(shè)備和上位機(jī)進(jìn)行綁定的方法為:S211:用戶通過上位機(jī)的微信,掃描智能可移動(dòng)設(shè)備的帶參數(shù)的臨時(shí)二維碼,關(guān)注設(shè)備的微信公眾號(hào);S212:用戶微信openid和智能可移動(dòng)設(shè)備的MAC地址在服務(wù)器上進(jìn)行綁定;S213:服務(wù)器根據(jù)用戶上位機(jī)上的微信openid生成專屬于該用戶的聊天室房間號(hào)的驗(yàn)證碼和二維碼,組關(guān)注公眾號(hào)的圖文消息;S214:服務(wù)器推送帶聊天室房間號(hào)的驗(yàn)證碼和二維碼,關(guān)注公眾號(hào)的圖文消息給用戶上位機(jī)的微信。本發(fā)明作進(jìn)一步改進(jìn),在步驟S2中,智能可移動(dòng)設(shè)備加入聊天室的方法為:S221:上位機(jī)接入采用OpenWrt智能路由的智能可移動(dòng)設(shè)備內(nèi)置wifi;S222:上位機(jī)掃描并填寫包括上級(jí)路由ssid,密碼,房間號(hào)驗(yàn)證碼,智能可移動(dòng)設(shè)備名稱的信息;S223:智能可移動(dòng)設(shè)備通過websocket協(xié)議發(fā)送登錄消息;S224:服務(wù)器在收到登錄消息后,將設(shè)備加入到與登錄消息對(duì)應(yīng)的聊天室中房間號(hào),對(duì)該設(shè)備生成一個(gè)client_id;S225:服務(wù)器廣播智能可移動(dòng)設(shè)備的登錄消息給該房間內(nèi)已有的上位機(jī)。本發(fā)明作進(jìn)一步改進(jìn),在步驟S2中,上位機(jī)加入聊天室的房間號(hào)的方法為:S231:上位機(jī)輸入房間號(hào)驗(yàn)證碼、給上位機(jī)命名,組登入消息,并發(fā)送登入消息給服務(wù)器;S232:搭建好聊天室功能的服務(wù)器收到登入消息后,將上位機(jī)加入到消息中對(duì)應(yīng)的房間號(hào),對(duì)該上位機(jī)生成一個(gè)client_id;S233:服務(wù)器返回帶有當(dāng)前房間號(hào)中已有設(shè)備和上位機(jī)的登錄成功的消息給該上位機(jī);S234:服務(wù)器向該房間內(nèi)已有的上位機(jī)廣播上位機(jī)登入的消息。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:能夠?qū)崿F(xiàn)一對(duì)一、一對(duì)多或者多對(duì)多的遠(yuǎn)程實(shí)時(shí)控制,通過將同一環(huán)境中多個(gè)設(shè)備加入聊天室同一房間中,便于用戶通過設(shè)備上報(bào)數(shù)據(jù)及時(shí)查看了解設(shè)備運(yùn)行情況,通過攝像頭畫面遠(yuǎn)程監(jiān)控設(shè)備周圍情況,如親臨現(xiàn)場(chǎng),具有極強(qiáng)的可視感和操作感,操作簡(jiǎn)便;通過將不同環(huán)境中的設(shè)備加入同一房間,能夠?qū)崿F(xiàn)多個(gè)場(chǎng)景的遠(yuǎn)程同時(shí)監(jiān)控,發(fā)現(xiàn)問題能及時(shí)處理,大大節(jié)約人力物力成本。附圖說明圖1為本發(fā)明遠(yuǎn)程監(jiān)控系統(tǒng)交互示意圖;圖2為上位機(jī)與智能可移動(dòng)設(shè)備綁定一實(shí)施例示意圖;圖3為智能可移動(dòng)設(shè)備接入外網(wǎng)并加入聊天室房間的一實(shí)施例示意圖;圖4為上位機(jī)登入聊天室房間號(hào)一實(shí)施例示意圖;圖5為上位機(jī)遠(yuǎn)程控制智能可移動(dòng)設(shè)備一實(shí)施例操作示意圖。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。如圖1所示,本發(fā)明基于智能路由和聊天室機(jī)制的遠(yuǎn)程控制系統(tǒng)包括:(1)智能可移動(dòng)設(shè)備(以下簡(jiǎn)稱設(shè)備):用于根據(jù)服務(wù)器轉(zhuǎn)發(fā)的控制指令執(zhí)行操作,并上報(bào)數(shù)據(jù)給服務(wù)器。設(shè)備可做成四輪小車或履帶方式等只要能夠控制移動(dòng)即可,應(yīng)用領(lǐng)域包括智能玩具、智能家居、智能監(jiān)控、野外探測(cè)設(shè)備等。其中,作為本發(fā)明的一個(gè)實(shí)施例,本例的智能可移動(dòng)設(shè)備可以為可移動(dòng)的智能家居設(shè)備,通過中繼家用網(wǎng)關(guān)wifi實(shí)現(xiàn)遠(yuǎn)程控制,手機(jī)APP等上位機(jī)能夠遠(yuǎn)程控制其行走并查看設(shè)備攝像頭監(jiān)控畫面;作為可移動(dòng)智能家居設(shè)備網(wǎng)關(guān),控制設(shè)備移動(dòng)到其他智能家居設(shè)備附近,通過視頻監(jiān)視可實(shí)時(shí)看到控制效果,如空調(diào)是否正常打開,窗簾是否拉開等。本例的智能可移動(dòng)設(shè)備采用OpenWrt智能路由,便于軟硬件的開發(fā)及控制。OpenWrt可以被描述為一個(gè)嵌入式的Linux發(fā)行版,而不是試圖建立一個(gè)單一的、靜態(tài)的系統(tǒng)。OpenWrt的包管理提供了一個(gè)完全可寫的文件系統(tǒng),從應(yīng)用程序供應(yīng)商提供的選擇和配置,并允許自定義設(shè)備,以適應(yīng)任何應(yīng)用程序。本例智能可移動(dòng)設(shè)備包括OpenWrt智能路由和arduino單片機(jī),其中,所述OpenWrt智能路由為智能可移動(dòng)設(shè)備主控板,接入攝像頭提供視頻監(jiān)控,通過串口與arduino單片機(jī)通信,控制設(shè)備行走。本例OpenWrt智能路由支持WebSocket協(xié)議,實(shí)現(xiàn)websocketclient功能。WebSocket是HTML5一種新的協(xié)議。它實(shí)現(xiàn)了瀏覽器與服務(wù)器全雙工通信。所述arduino單片機(jī)實(shí)現(xiàn)控制智能可移動(dòng)設(shè)備行走,旋轉(zhuǎn),避障等功能,實(shí)現(xiàn)控制攝像頭云臺(tái)旋轉(zhuǎn)、上報(bào)接入的傳感器數(shù)據(jù)等。Arduino是一款便捷靈活、方便上手的開源電子原型平臺(tái),包含硬件(各種型號(hào)的Arduino板)和軟件(ArduinoIDE)。為了實(shí)現(xiàn)上位機(jī)控制智能可移動(dòng)設(shè)備在戶外行走,本例智能可移動(dòng)設(shè)備還包括4G路由器,用于接入4G通信網(wǎng),并產(chǎn)生wifi,當(dāng)智能可移動(dòng)設(shè)備在戶外操作時(shí)需要。作為本發(fā)明的另一個(gè)實(shí)施例,本例的智能可移動(dòng)設(shè)備為野外探測(cè)設(shè)備,通過在設(shè)備上放置4G路由器或開設(shè)熱點(diǎn)的4G手機(jī),設(shè)備接入手機(jī)熱點(diǎn)wifi或4G路由器wifi。通過接入4G網(wǎng)絡(luò),設(shè)備能夠接入到Internet,并連接上服務(wù)器,手機(jī)APP等上位機(jī)就能實(shí)現(xiàn)遠(yuǎn)程對(duì)設(shè)備的控制和接收設(shè)備的探測(cè)數(shù)據(jù)。此外,本例的智能可移動(dòng)設(shè)備還能作為高級(jí)的智能玩具類應(yīng)用,可以給創(chuàng)客和大中小學(xué)生一個(gè)學(xué)習(xí)智能設(shè)備開發(fā)和通過設(shè)備進(jìn)行娛樂表演的環(huán)境。(2)服務(wù)器:用于搭建聊天室,分發(fā)同一聊天室內(nèi)上位機(jī)的控制指令給智能可移動(dòng)設(shè)備,并將智能可移動(dòng)設(shè)備上報(bào)的數(shù)據(jù)發(fā)送給上位機(jī)。作為支持websocket協(xié)議的服務(wù)器,負(fù)責(zé)將設(shè)備和上位機(jī)進(jìn)行綁定并通信,服務(wù)器搭建成聊天室形式,能夠建立多個(gè)房間。將用戶的多個(gè)設(shè)備和用戶的各類上位機(jī)都加入到同一個(gè)聊天室房間,通信形式包括一對(duì)一、一對(duì)多、多對(duì)多等。一對(duì)一方式為一個(gè)上位機(jī)與一個(gè)智能設(shè)備會(huì)話過程,一對(duì)多為一個(gè)上位機(jī)同時(shí)與多個(gè)智能設(shè)備的會(huì)話過程,多對(duì)多為多個(gè)上位機(jī)與多個(gè)智能設(shè)備同時(shí)會(huì)話過程。(3)上位機(jī):用于通過服務(wù)器發(fā)送控制指令給智能可移動(dòng)設(shè)備,接收服務(wù)器傳輸?shù)闹悄芸梢苿?dòng)設(shè)備上報(bào)的數(shù)據(jù)并顯示。本例的上位機(jī)包括支持websocket協(xié)議的微信公眾號(hào)、客戶端瀏覽器、手機(jī)APP等。本發(fā)明基于聊天室機(jī)制,將智能設(shè)備和控制端上位機(jī)(包括安卓APP和微信等)加入到服務(wù)器創(chuàng)建的聊天室房間,實(shí)現(xiàn)基于聊天室的一對(duì)一,一對(duì)多及多對(duì)多的遠(yuǎn)程控制,方便有效,并能夠?qū)嵤┎榭纯刂菩Ч?。本發(fā)明采用開源的OpenWrt系統(tǒng)的智能路由器作為智能可移動(dòng)設(shè)備的主控板,基于websocket技術(shù)實(shí)現(xiàn)用微信和手機(jī)APP等上位機(jī)遠(yuǎn)程控制智能可移動(dòng)設(shè)備,通過借助于服務(wù)器(如阿里云服務(wù)器)中轉(zhuǎn),將設(shè)備和上位機(jī)一起加入到服務(wù)器創(chuàng)建的聊天室房間號(hào)中,實(shí)現(xiàn)人機(jī)的交互會(huì)話過程。如圖1所示,作為本發(fā)明的一個(gè)實(shí)施例,上位機(jī)對(duì)設(shè)備的遠(yuǎn)程控制方法包括如下步驟:S1:服務(wù)器搭建聊天室,智能可移動(dòng)設(shè)備、上位機(jī)連網(wǎng),能夠訪問服務(wù)器;該步驟為實(shí)現(xiàn)遠(yuǎn)程控制的前提條件。作為本發(fā)明的一個(gè)實(shí)施例,服務(wù)器搭建基于websocket功能的聊天室可以這樣實(shí)現(xiàn):在阿里云等公網(wǎng)服務(wù)器上采用開源的高性能PHPwebsocket服務(wù)器框架-workerman實(shí)現(xiàn)的一個(gè)聊天室框架workerman-chat,安裝workerman-chat并開啟服務(wù),等待上位機(jī)和智能可移動(dòng)設(shè)備的接入,創(chuàng)建聊天室房間,并轉(zhuǎn)發(fā)上位機(jī)和智能可移動(dòng)設(shè)備間的通信消息。S2:服務(wù)器將智能可移動(dòng)設(shè)備和對(duì)應(yīng)的上位機(jī)綁定,接入聊天室的同一房間;S3:上位機(jī)用戶執(zhí)行UI(用戶界面)操作,組指令json消息(消息格式見3-1),通過websocket技術(shù)發(fā)布控制指令給服務(wù)器;S4:服務(wù)器解析json消息中的聊天室房間號(hào)和智能可移動(dòng)設(shè)備編號(hào),選擇房間內(nèi)轉(zhuǎn)發(fā)的智能可移動(dòng)設(shè)備,然后通過websocket技術(shù)轉(zhuǎn)發(fā)控制指令給選中的智能可移動(dòng)設(shè)備;S5:智能可移動(dòng)設(shè)備接收到控制指令后根據(jù)控制指令執(zhí)行相應(yīng)操作,生成包含攝像頭畫面的視頻數(shù)據(jù)和傳感器數(shù)據(jù),組數(shù)據(jù)json消息(消息格式見3-2),通過websocket技術(shù)上報(bào)視頻數(shù)據(jù)和傳感器數(shù)據(jù)給服務(wù)器;S6:服務(wù)器通過解析的json消息中的聊天室房間號(hào)和上位機(jī)號(hào),選擇房間內(nèi)轉(zhuǎn)發(fā)的上位機(jī),然后通過websocket技術(shù)轉(zhuǎn)發(fā)視頻數(shù)據(jù)和傳感器數(shù)據(jù)給選定的上位機(jī);S7:上位機(jī)顯示上報(bào)的視頻畫面和傳感器數(shù)據(jù)。具體地,在步驟S2中,本例將采用OpenWrt智能路由的智能可移動(dòng)設(shè)備與上位機(jī)的用戶微信號(hào)進(jìn)行綁定。每個(gè)智能可移動(dòng)設(shè)備在出廠時(shí)擁有一個(gè)該設(shè)備的MAC地址,將該MAC地址作為參數(shù)的臨時(shí)二維碼,擁有該設(shè)備的用戶通過微信掃描該二維碼后,將該設(shè)備的MAC地址和用戶微信的openid進(jìn)行綁定,將綁定關(guān)系寫在服務(wù)器中的數(shù)據(jù)庫對(duì)應(yīng)表中,表示本設(shè)備的歸屬用戶。服務(wù)器建立一個(gè)聊天室房間號(hào)(由用戶的openid通過運(yùn)算得到的八位字符和數(shù)字組成的字符串)作為驗(yàn)證碼,并生成一個(gè)該房間號(hào)驗(yàn)證碼作為參數(shù)的二維碼。該用戶(作為房間管理員)可以分享該二維碼給其他用戶,其他用戶通過微信掃該二維碼后也加入該房間,成為可以控制本房間內(nèi)設(shè)備的上位機(jī)。房間管理員可以設(shè)置邀請(qǐng)加入到本房間的用戶的權(quán)限,包括可控(能控制設(shè)備)、禁言(不能控制設(shè)備)、禁看(無法看到控制效果)、踢出房間等。如圖2所示,服務(wù)器將智能可以只移動(dòng)設(shè)備和上位機(jī)進(jìn)行綁定的方法包括如下步驟:(1)用戶用手機(jī)微信掃描智能可移動(dòng)設(shè)備的帶參數(shù)的臨時(shí)二維碼,關(guān)注設(shè)備的微信公眾號(hào);(2)用戶微信openid和設(shè)備的mac地址在服務(wù)器上進(jìn)行綁定;(3)服務(wù)器根據(jù)用戶微信openid生成專屬于該用戶的聊天室房間號(hào)的驗(yàn)證碼和二維碼,組關(guān)注公眾號(hào)的圖文消息;(4)公眾號(hào)推送帶聊天室房間號(hào)的驗(yàn)證碼和二維碼關(guān)注公眾號(hào)的圖文消息給用戶手機(jī)微信。如圖3所示,用戶通過本發(fā)明中智能可移動(dòng)設(shè)備所對(duì)應(yīng)的APP,打開設(shè)備后,手機(jī)登錄其內(nèi)置wifi,通過APP設(shè)置好智能可移動(dòng)設(shè)備上級(jí)路由的ssid和密碼和房間號(hào)的驗(yàn)證碼,使設(shè)備能接入外網(wǎng),并與服務(wù)器連接進(jìn)入對(duì)應(yīng)房間號(hào)。設(shè)備加入到聊天室的房間號(hào)的具體方法包括如下步驟:(1)用戶手機(jī)APP接入采用OpenWrt智能路由的智能可移動(dòng)設(shè)備內(nèi)置wifi;(2)在APP中掃描并填寫上級(jí)路由ssid,密碼,房間號(hào)驗(yàn)證碼,設(shè)備名稱等信息;(3)設(shè)備通過上級(jí)路由連接服務(wù)器,生成登入json消息(消息格式見1-1);(4)設(shè)備通過websocket協(xié)議發(fā)送登入json消息;(5)服務(wù)器在收到登入json消息后,將設(shè)備加入到消息中對(duì)應(yīng)room_id的房間號(hào),對(duì)該設(shè)備生成一個(gè)client_id;(6)服務(wù)器返回簡(jiǎn)單的登入成功json消息給設(shè)備;(7)服務(wù)器廣播設(shè)備登入的json消息(消息格式見1-2)給該房間內(nèi)已有的上位機(jī)。若該用戶還有其他設(shè)備,掃描設(shè)備的二維碼后,同樣將該設(shè)備的MAC地址和用戶微信的openid進(jìn)行綁定,并將綁定關(guān)系寫在服務(wù)器的數(shù)據(jù)庫對(duì)應(yīng)表中,表示本設(shè)備為該用戶的歸屬設(shè)備,但不再建立新的房間號(hào),仍使用第一次產(chǎn)生的房間號(hào)驗(yàn)證碼作為設(shè)備加入的房間號(hào),加入房間號(hào)的方式同上。其中,當(dāng)用戶第一次打開本智能可移動(dòng)設(shè)備對(duì)應(yīng)的APP,輸入綁定過程中產(chǎn)生的房間號(hào)的驗(yàn)證碼,并輸入本上位機(jī)的名稱(用戶命名,用于識(shí)別房間中的不同上位機(jī)),這樣用戶的手機(jī)APP也可以作為一個(gè)上位機(jī)登錄到該房間,后續(xù)用戶打開本APP后就直接進(jìn)入房間號(hào)中。如圖4所示,本例用戶手機(jī)APP上位機(jī)加入到聊天室的房間號(hào)的方法包括如下步驟:(1)用戶手機(jī)APP,輸入房間號(hào)驗(yàn)證碼、給上位機(jī)命名,組登入json消息,消息格式見2-1;(2)發(fā)送登入json消息給服務(wù)器;(3)搭建好聊天室功能的服務(wù)器收到登入json消息后,將上位機(jī)加入到消息中對(duì)應(yīng)room_id的房間號(hào),對(duì)該上位機(jī)生成一個(gè)client_id;(4)服務(wù)器返回帶有當(dāng)前房間號(hào)中已有設(shè)備和上位機(jī)的登錄成功的json消息給該上位機(jī),消息格式見2-2;(5)服務(wù)器向該房間內(nèi)已有的上位機(jī)廣播設(shè)備登入的json消息,消息格式見2-3。如圖5所示,本例適用于多個(gè)上位機(jī)控制多個(gè)智能可移動(dòng)設(shè)備,用戶通過上位機(jī)(手機(jī)APP、微信等)連接服務(wù)器進(jìn)入房間,可以查看到當(dāng)前在房間中的設(shè)備和上位機(jī)列表并對(duì)設(shè)備進(jìn)行控制,當(dāng)多個(gè)上位機(jī)同時(shí)對(duì)同一個(gè)智能可移動(dòng)設(shè)備進(jìn)行控制時(shí),難免會(huì)出現(xiàn)沖突情況,為了應(yīng)對(duì)控制沖突,本例遠(yuǎn)程控制策略設(shè)置如下:一對(duì)一控制:用戶選擇在線設(shè)備,點(diǎn)擊控制按鈕,控制設(shè)備移動(dòng),移動(dòng)包括前后左右移動(dòng)及停止移動(dòng),然后上報(bào)數(shù)據(jù),比如溫度傳感器可以將溫度數(shù)據(jù)上報(bào),上位機(jī)的控制按鈕可以實(shí)現(xiàn)開關(guān)車燈等,根據(jù)使用場(chǎng)景可以增減功能。一對(duì)多控制:用戶選擇多個(gè)在線設(shè)備,切換到一組設(shè)備控制界面,用戶可以通過設(shè)備上的視頻畫面同時(shí)看到控制效果。多對(duì)多控制:在同房間中的不同用戶選擇不同設(shè)備,可以對(duì)設(shè)備分別進(jìn)行遠(yuǎn)程控制,但一個(gè)設(shè)備只能被一個(gè)上位機(jī)所控制。具體控制過程為:(1)用戶打開上位機(jī),進(jìn)入房間號(hào);(2)通過房間內(nèi)的設(shè)備列表以廣播、組播和單播的方式控制設(shè)備;其中,廣播是控制設(shè)備列表中的所有設(shè)備,組播是控制設(shè)備列表中的多個(gè)設(shè)備,單播是控制設(shè)備列表中的單一設(shè)備。防止出現(xiàn)某一個(gè)設(shè)備被多個(gè)上位機(jī)同時(shí)控制,本例第一次被上位機(jī)選中的被控設(shè)備將被鎖定,不能允許其他上位機(jī)控制,在上位機(jī)界面上以不能操作的灰度按鈕表示,直到解鎖,恢復(fù)能操作的按鈕,才能再次被上位機(jī)控制。(3)當(dāng)用戶以廣播形式控制所有設(shè)備時(shí),上位機(jī)以一個(gè)界面按鈕方式控制;當(dāng)用戶勾選一組設(shè)備以組播方式控制一組設(shè)備時(shí),上位機(jī)以列表方式分別控制設(shè)備,同時(shí)分別顯示設(shè)備反饋的視頻畫面;當(dāng)用戶以單播方式控制一個(gè)設(shè)備時(shí),上位機(jī)以一個(gè)界面方式控制該設(shè)備,同時(shí)顯示該設(shè)備反饋的視頻畫面及傳感器數(shù)據(jù)。本例中用到的消息格式定義如下:消息格式1-1:設(shè)備登入消息如下表:服務(wù)器接收到設(shè)備發(fā)送的登入json消息后,將設(shè)備加入到room_id對(duì)應(yīng)的房間號(hào)中,對(duì)該設(shè)備生成一個(gè)client_id,將設(shè)備登入消息修改成如下格式:消息格式2-1:服務(wù)器廣播設(shè)備登入消息如下表:字段typesubtyperoom_idclient_nameclient_idtime含義login設(shè)備驗(yàn)證碼用戶給設(shè)備的命名登錄時(shí)間對(duì)房間號(hào)內(nèi)已登錄的上位機(jī)進(jìn)行廣播該消息。上位機(jī)界面中就能對(duì)該設(shè)備進(jìn)行選定操作。消息格式2-1:上位機(jī)登入消息如下表:字段typesubtyperoom_idclient_nametime含義login上位機(jī)驗(yàn)證碼用戶給上位機(jī)的命名登錄時(shí)間服務(wù)器接收到上位機(jī)發(fā)送的登入json消息后,將上位機(jī)加入到房間號(hào)中,對(duì)該上位機(jī)生成一個(gè)client_id,將設(shè)備登入消息修改成如下格式:消息格式2-2:服務(wù)器響應(yīng)上位機(jī)登入消息如下表subtypeNum-2client_nameclient_id...設(shè)備房間號(hào)內(nèi)的設(shè)備數(shù)量用戶給設(shè)備的命名...其中,表格中的...分別表示若num-1或num-2大于1,后面還有的對(duì)應(yīng)的client_name,client_id對(duì)應(yīng)關(guān)系。消息格式2-3:服務(wù)器廣播登入消息如下表:字段typesubtyperoom_idclient_nameclient_idtime含義login上位機(jī)驗(yàn)證碼用戶給上位機(jī)的命名登錄時(shí)間并將該上位機(jī)登入消息對(duì)房間號(hào)內(nèi)已登錄的上位機(jī)進(jìn)行廣播。上位機(jī)控制指令:上位機(jī)遠(yuǎn)程控制智能可移動(dòng)設(shè)備的指令消息(消息格式3-1)如下表,根據(jù)設(shè)備功能不同可以增減指令。通過subtype消息子類型來區(qū)分不同控制指令,content字段即消息內(nèi)容,Y表示打開,N表示關(guān)閉。若帶有其他傳感器則可相應(yīng)增加消息條目。若上位機(jī)發(fā)出的是溫度等傳感器和攝像頭等控制指令,設(shè)備需要回復(fù)對(duì)應(yīng)的數(shù)據(jù)?;貜?fù)的消息格式(消息格式3-2)如下:消息格式示例:比如,上位機(jī)控制設(shè)備向前行走的控制指令為:{"type":"say","subtype":"move","room_id":"r@R4$zqc","from_id":"7f00000108ff007","to_id":"7f00000108fd006","time":"2016-10-2008:07:09","content":"forward"}如果上位機(jī)要求上報(bào)溫度指令,則指令消息格式為:{"type":"say","subtype":"temp","room_id":"r@R4$zqc","from_id":"7f00000108ff007","to_id":"7f00000108fd006","time":"2016-10-2008:03:09","content":"Y"}對(duì)于前述三種控制方式(廣播/組播/單播),上位機(jī)下發(fā)指令都是以一對(duì)一方式下發(fā),即一對(duì)多個(gè)設(shè)備時(shí)也是每個(gè)設(shè)備一條指令消息,這樣服務(wù)器只需要中轉(zhuǎn),不需要重新組包。比如設(shè)備上報(bào)溫度格式:{"type":"say","subtype":"temp","room_id":"r@R4$zqc","from_client_id":"7f00000108fd006","to_client_id":"7f00000108ff007","time":"2016-10-2008:03:18","content":"29.30"}設(shè)備上報(bào)的視頻流數(shù)據(jù)則根據(jù)websocket協(xié)議的二進(jìn)制數(shù)據(jù)傳輸方式進(jìn)行。本發(fā)明針對(duì)基于OpenWrt智能路由的設(shè)備,通過采用websocket的聊天室工作機(jī)制,將設(shè)備和控制端的上位機(jī)(包括安卓APP和微信等)加入到服務(wù)器創(chuàng)建的聊天室房間,實(shí)現(xiàn)基于聊天室的一對(duì)一,一對(duì)多及多對(duì)多的遠(yuǎn)程控制,適用范圍廣,便于用戶通過設(shè)備上報(bào)數(shù)據(jù)及時(shí)查看了解設(shè)備運(yùn)行情況,通過攝像頭畫面遠(yuǎn)程監(jiān)控設(shè)備周圍情況,如親臨現(xiàn)場(chǎng),具有極強(qiáng)的可視感和操作感,操作簡(jiǎn)便;通過將不同環(huán)境中的設(shè)備加入同一房間,能夠?qū)崿F(xiàn)多個(gè)場(chǎng)景的遠(yuǎn)程同時(shí)監(jiān)控,發(fā)現(xiàn)問題能及時(shí)處理,大大節(jié)約人力物力成本。以上所述之具體實(shí)施方式為本發(fā)明的較佳實(shí)施方式,并非以此限定本發(fā)明的具體實(shí)施范圍,本發(fā)明的范圍包括并不限于本具體實(shí)施方式,凡依照本發(fā)明所作的等效變化均在本發(fā)明的保護(hù)范圍內(nèi)。當(dāng)前第1頁1 2 3