本發(fā)明提供了一種基于樹莓派的智能設備控制裝置及控制方法,屬于智能家居控制通信技術領域。
背景技術:
智能家居控制系統(tǒng)可以定義為一個過程或者一個系統(tǒng)。利用先進的計算機技術、網(wǎng)絡通訊技術、綜合布線技術、將與家居生活有關的各種子系統(tǒng),有機地結合在一起,通過統(tǒng)籌管理,讓家居生活更加舒適、安全、有效。與普通家居相比,智能家居不僅具有傳統(tǒng)的居住功能,提供舒適安全、高品位且宜人的家庭生活空間。還將原來的被動靜止結構轉變?yōu)榫哂心軇又腔鄣墓ぞ?,提供全方位的信息交換功能,幫助家庭與外部保持信息交換暢通,優(yōu)化人們的生活方式,幫助人們有效安排時間,增強家居生活的安全性,甚至為各種能源費用節(jié)約資金。
很多經(jīng)銷商制作的現(xiàn)有的智能家居系統(tǒng)都是有線的,無線連接方式只是作為有線連接的補充,這給家庭布線帶來很大的不便,而且網(wǎng)絡的自動處理能力差。智能家居的發(fā)展依賴以網(wǎng)絡技術與監(jiān)控技術在家庭內部的推廣,隨著傳感器即使,半導體制作技術,嵌入式處理技術等的發(fā)展,無線傳感器網(wǎng)絡的研究發(fā)展取得了突飛猛進的成果,這些技術使智能家居也有了新的發(fā)展:無線傳輸信號,網(wǎng)絡化等使得智能家居在應用時更加方便,美觀,安全。
“裝了不會用,還不如不裝!”這是很多智能家居使用者的心聲。這從側面反映了智能家居飽受詬病的操作復雜性。目前,大多智能家居系統(tǒng)設計不夠人性化,造成極大的操作難度。原本是想是享受更便捷、更從容的生活,但復雜的操作反而讓使用變成了高難度,嚴重影響了用戶體驗。
由于智能家居系統(tǒng)涉及到家庭內部隱私數(shù)據(jù)的存儲,因此用戶在對待整個智能家居的系統(tǒng)安全性上面要求較高。現(xiàn)有的智能家居經(jīng)銷商部分使用較普通的加密算法進行服務器和客戶端的加密解密,對用戶的信息安全造成了一定程度上的威脅。
綜上所述,現(xiàn)有的智能家居系統(tǒng)是基于一種松散的、非一體化的方式來實現(xiàn)整個智能家居系統(tǒng)的控制,且配備的移動控制終端操作復雜,難以適應家庭中不同年齡段人群的使用習慣。因此現(xiàn)有技術還有待于改進和發(fā)展。
技術實現(xiàn)要素:
本發(fā)明針對上述不足提供了一種基于樹莓派的智能設備控制裝置及控制方法。
本發(fā)明采用如下技術方案:
本發(fā)明所述的基于樹莓派的智能設備控制裝置,包括一個網(wǎng)關系統(tǒng)、一個家電控制與環(huán)境檢測系統(tǒng)、一個智能終端遠程控制系統(tǒng)、一個實時音視頻對講系統(tǒng)、一個安防報警系統(tǒng);
所述網(wǎng)關系統(tǒng)是由當前使用普遍的樹莓派第三代(Raspberry Pi 3)作為開發(fā)板,樹莓派3上基于成了64位的1.2GHz四核ARM Cortex-A53,1GB RAM、板載BCM43143 WiFi和藍牙低能耗(BLE)、4個USB端口、4路立體聲輸出和復合視頻端口、CSI照相機端口用于連接樹莓派照相機、DSI顯示端口用于連接樹莓派觸屏顯示器;微型SD端口, 用于下載操作系統(tǒng)以及存儲數(shù)據(jù),升級切換的微型USB電源, 高達2.5A,同時在樹莓派上插入USB無線網(wǎng)卡;所述樹莓派通過無線WIFI的形式接入無線路由器。
所述家電控制與環(huán)境檢測系統(tǒng)是采用cortex-m3架構的STM32F103為處理核心,使用數(shù)字式溫濕度傳感器SHT11通過I2C接口和STM32相連,另外其他傳感器如人體紅外傳感器RE200B、危險氣體傳感器MQ-2、白熾燈、蜂鳴器等,則通過普通IO口接入STM32;所述STM32節(jié)點通過無線WIFI的方式與樹莓派和無線路由器相連。
所述智能終端遠程控制系統(tǒng)包括三大部分。第一部分為PC機的Web控制端,第二部分為Android的APP控制端,第三部分為微信控制端;所述智能控制終端均可通過外網(wǎng)的形式直接接入本系統(tǒng)。
所述實時音視頻對講系統(tǒng)主要包括樹莓派、CM108聲卡、ZC301攝像頭、預裝APP的安卓手機、PC機;所述聲卡和攝像頭通過USB接口插入到樹莓派上,樹莓派通過天線的方式與無線路由器相連,手機和PC機只需通過外網(wǎng)的方式連入本系統(tǒng)。
本發(fā)明所述安防報警系統(tǒng)包括手機APP和環(huán)境參數(shù)檢測系統(tǒng)。
系統(tǒng)各模塊之間使用無線WIFI的方式進行通信。網(wǎng)關系統(tǒng)和環(huán)境參數(shù)監(jiān)測系統(tǒng)之間通過無線WIFI相連,兩個系統(tǒng)分別通過天線與WIFI路由器相連。
智能家居控制系統(tǒng),環(huán)境參數(shù)檢測系統(tǒng)和智能控制終端可以通過多點連接的方式通過無線WIFI連入對本系統(tǒng),對每個獨立的家庭環(huán)境參數(shù)檢測系統(tǒng)和控制終端彼此之間互不影響。
系統(tǒng)各模塊間的數(shù)據(jù)流流向是基于一種“被動-反饋”式的工作方式。智能終端向家庭網(wǎng)關發(fā)送請求,家庭網(wǎng)關接收到請求后,再向STM32節(jié)點發(fā)送請求命令,STM32接收到請求命令后,采取相應的動作或者采基于到環(huán)境參數(shù)后,將數(shù)據(jù)流反饋給家庭網(wǎng)關,網(wǎng)關再將其轉發(fā)給智能終端。
本發(fā)明所述的基于樹莓派的智能設備控制裝置,家庭環(huán)境參數(shù)檢測系統(tǒng)實現(xiàn)了多種類型傳感器的使用。由數(shù)字型的溫濕度傳感器SHT11和模擬量型的人體紅外傳感器RE200B、危險氣體傳感器MQ-2組成;數(shù)字型的溫濕度傳感器通過SHT11寄存器直接完成對采基于數(shù)據(jù)的讀取操作;
模擬量型的人體紅外傳感器RE200B,輸出的模擬量輸出到BISS0001處理芯片,最終轉換成數(shù)字量輸出,BISS0001的2引腳接STM32普通IO口,當有人經(jīng)過時,BISS0001的2引腳輸出高電平;模擬量型的危險氣體傳感器MQ-2通過設置比較器的值,當氣體濃度超過設定值時,輸出低電平。
本發(fā)明所述的基于樹莓派的智能設備控制裝置,家庭家電控制與環(huán)境檢測系統(tǒng)實現(xiàn)了多種傳感器參數(shù)數(shù)值的返回結果,同時也實現(xiàn)了多種家電類型的控制,如熱水器(反饋型)、白熾燈(開關型)、空調(調節(jié)型)等。
本發(fā)明所述的基于樹莓派的智能設備控制裝置,實時音視頻對講系統(tǒng)采用雙向音視頻流進行采基于和播放,在多個控制終端傳輸?shù)臅r延性較小。
本發(fā)明所述的一種基于樹莓派的智能設備控制裝置,智能終端遠程控制系統(tǒng)由Web終端、手機APP、微信三種方式控制,三種控制平臺通過云服務器轉發(fā)可分別通過外網(wǎng)對系統(tǒng)進行聯(lián)網(wǎng)控制,三種平臺控制過程之間互不影響。
所述云服務器分別部署了Web服務器程序、數(shù)據(jù)庫服務器程序、控制服務器程序、數(shù)據(jù)轉發(fā)服務器程序。
所述Web控制終端主要由控制界面構成,功能包括對家電系統(tǒng)的控制和視頻實時監(jiān)測系統(tǒng);
所述手機APP控制終端主要有安卓控制界面組成,功能包括對家電系統(tǒng)對的控制和實時音視頻對講系統(tǒng)以及郵件報警系統(tǒng);
所述微信控制終端通過公眾號底部菜單欄構成,功能包括對家電系統(tǒng)的控制和視頻實時監(jiān)測系統(tǒng)。
本發(fā)明所述的基于樹莓派的智能設備控制裝置,Web控制端的數(shù)據(jù)采基于并同時保存到云服務器上的數(shù)據(jù)庫服務器中,數(shù)據(jù)庫服務器進行有效保存。
所述數(shù)據(jù)庫服務器包括后臺數(shù)據(jù)庫、用戶登錄、信息管理、信息查詢,存儲家庭環(huán)境參數(shù)數(shù)據(jù)信息和實時視頻信息保存。
本發(fā)明所述的基于樹莓派的智能設備控制裝置,智能家居控制系統(tǒng)的 APP控制端可通過外網(wǎng)直接遠程實時訪問音視頻,音頻和視頻均實現(xiàn)了雙向傳輸。
本發(fā)明所述的基于樹莓派的智能設備控制裝置,智能家居控制系統(tǒng)郵件報警系統(tǒng)由安卓APP和家庭環(huán)境參數(shù)檢測模塊構成。當檢測到家庭中“有人”和“危險氣體含量高”時,即通過發(fā)送郵件的方式發(fā)送到用戶預先設定的目標郵箱,并提示相應報警信息。
本發(fā)明所述的基于樹莓派的智能設備控制裝置的控制方法:
(1)用戶通過互聯(lián)網(wǎng)向家庭網(wǎng)關樹莓派核心板發(fā)送請求控制命令,完成對家庭環(huán)境檢測核心板STM32的參數(shù)返回。
(a)TCP通信系統(tǒng)初始化;
(b)對端口6552進行監(jiān)聽,當用戶使用控制終端進行登錄時,服務器檢查是否有客戶端連接請求。若有,則進入(c);若沒有,則繼續(xù)等待;
(c)服務器端檢測到客戶端的連接請求后,開始通過預先搭建在云服務器上的數(shù)據(jù)庫服務器驗證用戶登錄的用戶名和密碼。若驗證通過,進入(d);若沒有,則繼續(xù)等待;
(d)用戶名和密碼驗證通過后,則服務器將查詢控制命令轉發(fā)給對應的STM32節(jié)點模塊,節(jié)點執(zhí)行處理后,將反饋的數(shù)據(jù)結果繼續(xù)交由網(wǎng)關節(jié)點進行轉發(fā)并顯示到智能終端。
(2)用戶通過互聯(lián)網(wǎng)與樹莓派音視頻服務器建立連接,實現(xiàn)實時音視頻系統(tǒng)對講。
(a)TCP通信系統(tǒng)通過自啟動程序進行初始化;
(b)系統(tǒng)自動檢測是否有客戶端發(fā)送連接請求。若有,則直接進入(c);若沒有,則此次連接失敗,服務器繼續(xù)等待;
(c)系統(tǒng)通過預先搭建在云服務器上的數(shù)據(jù)庫服務器驗證賬戶的用戶名和密碼,若驗證通過,若驗證通過,進入(d);若沒有,則繼續(xù)等待;
(d)賬戶的用戶名和密碼均驗證通過后,通過按鈕觸發(fā)開啟客戶端的音視頻服務。點擊后,即可看到遠程訪問到的家庭室內的實時視頻監(jiān)控畫面;此時也可以同時進行音頻的雙向對講;
(e)可選擇手動開啟/關閉音視頻,關閉后,音視頻服務器會分別自動斷開和客戶端建立的TCP連接,再次進入時,系統(tǒng)仍通過按鈕觸發(fā)進行連接請求。
(3)利用安防報警系統(tǒng)將家庭報警信息通過實時郵件發(fā)送到用戶郵箱。
(a)系統(tǒng)初始化;
(b)家庭環(huán)境參數(shù)檢測系統(tǒng)的傳感器節(jié)點模塊通過對有毒氣體、人體紅外等進行檢測,如果出現(xiàn)異常情況,則通過用戶預先設計的郵箱進行實時郵件報警;如果沒有報警信息,則繼續(xù)等待;
(c)如果有報警信息,則由STM32節(jié)點將危險信息經(jīng)過處理后,發(fā)送給家庭網(wǎng)關系統(tǒng),再由家庭網(wǎng)關通過云服務器轉發(fā)給用戶智能手機;
(d)報警郵件發(fā)出后,返回步驟(b)。
(4)系統(tǒng)可實現(xiàn)對多個家庭環(huán)境檢測STM32核心板的同時控制,實現(xiàn)對室內家居所有家電的全方位智能控制和全覆蓋式的環(huán)境參數(shù)檢測。
(a)系統(tǒng)自動對接入的每一個STM32檢測模塊建立一個TCP連接;
(b)智能終端對某個房間的家庭環(huán)境檢測STM32核心板發(fā)出控制命令;
根據(jù)控制命令中數(shù)據(jù)的校驗位和不同STM32核心板的標志位進行依次匹配;若匹配成功,則反饋對應核心板的處理結果。
有益效果
本發(fā)明提供的基于樹莓派的智能設備控制裝置及控制方法,使用MD5加密算法,來對整個系統(tǒng)中的數(shù)據(jù)收發(fā)過程進行統(tǒng)一加密,并通過在家庭環(huán)境參數(shù)檢測系統(tǒng)和樹莓派核心板上集成一體化的方式實現(xiàn)對整個智能家居系統(tǒng)的一體化控制。
在智能終端的控制系統(tǒng)設計上面,綜合選取三大終端控制平臺——PC、Android、微信三者相結合的方式實現(xiàn),操作界面迎合用戶的使用習慣,在一定程度上較同期產品有很大的優(yōu)勢。
附圖說明
圖1是本發(fā)明實施的智能家居系統(tǒng)的整體結構圖。
圖2是本發(fā)明實施的智能家居系統(tǒng)的整體框架圖。
圖3是本發(fā)明實施的智能家居系統(tǒng)的總體通信框架圖。
圖4是本發(fā)明實施的智能家居系統(tǒng)的家庭網(wǎng)關Linux系統(tǒng)結構圖。
圖5是本發(fā)明實施的智能家居系統(tǒng)的APP設計原理圖。
圖6是本發(fā)明實施的智能家居系統(tǒng)的Web端實現(xiàn)原理圖。
圖7是本發(fā)明實施的智能家居系統(tǒng)的微信設計原理圖。
具體實施方式
下面結合附圖對本發(fā)明進一步詳細說明:
如圖所示:一種基于樹莓派的智能設備控制裝置,包括網(wǎng)關系統(tǒng)、家電控制與環(huán)境檢測系統(tǒng)、智能終端遠程控制系統(tǒng)、實時音視頻對講系統(tǒng)、安防報警系統(tǒng)、路由器;所述的網(wǎng)關系統(tǒng)基于三代樹莓派開發(fā),網(wǎng)關系統(tǒng)上通過USB無線網(wǎng)卡與路由器進行通信;家電控制與環(huán)境檢測系統(tǒng)通過無線與路由器相連通過無線信號與網(wǎng)關系統(tǒng)進行通信;智能終端與實時音視頻對講系統(tǒng)通過無線信號與網(wǎng)關系統(tǒng)相連,智能終端遠程控制用于控制網(wǎng)關系統(tǒng),智能終端遠程控制系統(tǒng)供用戶控制;實時音視頻對講系統(tǒng)踢提供語音、視頻信號反饋。
網(wǎng)關系統(tǒng)是由當前使用普遍的樹莓派第三代(Raspberry Pi 3)作為開發(fā)板,樹莓派3上基于成了64位的1.2GHz四核ARM Cortex-A53,1GB RAM、板載BCM43143 WiFi和藍牙低能耗(BLE)、4個USB端口、4路立體聲輸出和復合視頻端口、CSI照相機端口用于連接樹莓派照相機、DSI顯示端口用于連接樹莓派觸屏顯示器;微型SD端口, 用于下載操作系統(tǒng)以及存儲數(shù)據(jù),升級切換的微型USB電源, 高達2.5A,同時在樹莓派上插入USB無線網(wǎng)卡;樹莓派通過無線WIFI的形式接入無線路由器。
家電控制與環(huán)境檢測系統(tǒng)是采用cortex-m3架構的STM32F103為處理核心,使用數(shù)字式溫濕度傳感器SHT11通過I2C接口和STM32相連,另外其他傳感器如人體紅外傳感器RE200B、危險氣體傳感器MQ-2、白熾燈、蜂鳴器等,則通過普通IO口接入STM32;所述STM32節(jié)點通過無線WIFI的方式與樹莓派和無線路由器相連。
智能終端遠程控制系統(tǒng)包括三大部分。第一部分為PC機的Web控制端,第二部分為Android的APP控制端,第三部分為微信控制端;所述智能控制終端均可通過外網(wǎng)的形式直接接入本系統(tǒng)。
其家電控制與環(huán)境檢測系統(tǒng)具體技術實現(xiàn)步驟如下:
A、將整個智能家居系統(tǒng)分為三大功能模塊:家庭網(wǎng)關(樹莓派)、家庭環(huán)境檢測(STM32)和智能控制終端。同時家電控制與環(huán)境檢測系統(tǒng)(STM32)和智能控制終端模塊通過無線WIFI的形式與家庭網(wǎng)關(樹莓派)相連接;系統(tǒng)結構圖如圖1所示。
B、樹莓派作為家庭網(wǎng)關節(jié)點的同時,也作為遠程音視頻對講系統(tǒng)的服務器;
C、智能終端系統(tǒng)通過互聯(lián)網(wǎng)向家庭網(wǎng)關發(fā)送請求控制命令,網(wǎng)關接收命令后,對賬戶的用戶名和密碼進行驗證;驗證成功后,進入控制主界面同時將客戶端的控制請求命令轉發(fā)到家庭環(huán)境檢測(STM32)進行處理;
D、家庭環(huán)境檢測模塊接收到控制請求命令后,立即采取相應動作(如采集傳感器數(shù)據(jù)等),并對服務器進行響應將其返回到家庭網(wǎng)關節(jié)點;
E、家庭網(wǎng)關節(jié)點將數(shù)據(jù)結果返回到智能終端。
上述步驟C的具體實現(xiàn)方式如下:
C1、TCP通信系統(tǒng)初始化,同時將本系統(tǒng)作為服務器;
C2、智能終端上的控制進程通過進程間通信的方式,將請求獲取數(shù)據(jù)的消息發(fā)送給TCP服務進程;
C3、終端上的TCP服務進程通過TCP/IP協(xié)議向家庭網(wǎng)關發(fā)送請求獲取數(shù)據(jù)的消息;
C4、家庭網(wǎng)關的TCP服務進程對發(fā)送消息的賬戶進行用戶名和密碼驗證;驗證通過時,網(wǎng)關將客戶端發(fā)送的請求獲取數(shù)據(jù)的消息轉發(fā)給家電控制與環(huán)境檢測系統(tǒng)(STM32);
C5、家庭網(wǎng)關的TCP服務進程返回最新的控制命令數(shù)據(jù),并通過TCP/IP協(xié)議發(fā)送到智能終端;
C6、智能終端將最新的控制數(shù)據(jù)進行實時顯示,同時將其同步更新到數(shù)據(jù)庫中。
家庭音視頻實時對講系統(tǒng)具體技術實現(xiàn)方案如下:
A、TCP通信系統(tǒng)初始化;
B、智能終端上的控制進程通過進程間通信的方式,將請求獲取數(shù)據(jù)的消息發(fā)送給TCP服務進程;
C、終端上的TCP服務進程向家庭網(wǎng)關(樹莓派)不同端口發(fā)送請求音視頻的TCP連接;
D、家庭網(wǎng)關的TCP服務進程響應來自客戶端的連接請求;連接完成后,智能終端通過解碼程序將服務器端發(fā)送的H.264視頻流實時顯示;
E、視頻顯示的同時,用戶可選擇手動開啟語音對講功能;通過調用終端平臺提供的API或接口類來實時錄播音頻流數(shù)據(jù)。
上述步驟D的實現(xiàn)步驟如下:
D1、樹莓派作為家庭網(wǎng)關的核心板,同時作為實時對講系統(tǒng)的視頻服務器;
D2、樹莓派通過調用V4L2驅動將攝像頭采集到的圖像輸入到ARM11自帶的MFC硬編碼模塊;
D3、樹莓派中的硬編碼模塊將視頻流轉換為H.264視頻流作為輸出;
D4、搭建RTMP服務器將視頻流數(shù)據(jù)發(fā)送到智能終端;智能終端通過移植FFMPEG庫函數(shù)完成對服務器端發(fā)送的實時視頻流數(shù)據(jù)進行解碼,并通過三種不同平臺進行播放,顯示給用戶。
MFC硬編碼模塊為樹莓派本身自帶的硬編碼模塊;
安卓智能終端通過JNI技術移植FFMPEG,再由FFMPEG中的庫函數(shù)完成了對H.264.的解碼。
上述步驟E的實現(xiàn)步驟如下:
E1、樹莓派作為家庭網(wǎng)關的核心板,同時作為實時語音對講系統(tǒng)的音頻服務器;
E2、在音頻服務器的TCP服務進程確定與客戶端建立好連接后,在樹莓派上采用多線程編程的方式搭建可支持多線程的雙向音頻服務器;
E3、不同方向的音頻服務器fork()出不同的子進程,分別代表向不同的方向收發(fā)實時音頻流數(shù)據(jù);
E4、各個子進程內部通過管道的方式來實現(xiàn)音頻數(shù)據(jù)的采集與發(fā)送;
E5、終端將接收到的音頻數(shù)據(jù)進行解碼,通過調用接口類進行實時錄播。
Android終端設計一種隊列的數(shù)據(jù)結構來實現(xiàn)多線程數(shù)據(jù)的異步接收和讀取,再調用接口函數(shù)AudioTrack()和AudioPlayer()進行音頻的采集和播放。
傳感器節(jié)點核心板(STM32)的工作流程如下所述:
A、傳感器節(jié)點連接的燃氣檢測、煙霧檢測等均輸出模擬量,鏈接到MCU的ADC引腳;
B、硬件上搭建了電壓比較電路,將傳感器輸出電壓與設定好的安全電壓比較,當超出安全值是,電壓比較電路會直接向MCU外部中斷引腳發(fā)送觸發(fā)電平;
C、傳感器節(jié)點會在網(wǎng)關節(jié)點主動查詢時,讀取傳感器輸出進行上報,或者在接收到比較電路輸出的中斷信號后,再讀取傳感器輸出進行確認;
D、數(shù)據(jù)無誤則向網(wǎng)關節(jié)點發(fā)出報警信號,并等待網(wǎng)關節(jié)點確認信息,如果超時為收到,則重新發(fā)送;
E、如果讀取數(shù)據(jù)未超安全值,則重新讀取,連續(xù)三次確認數(shù)據(jù)正常,則取消報警。
傳感器節(jié)點的軟件后臺輪詢網(wǎng)卡以等待網(wǎng)關節(jié)點的查詢命令,當接收到命令時,讀取傳感器內容并發(fā)送到網(wǎng)關節(jié)點。系統(tǒng)通過這種方式確認網(wǎng)關節(jié)點與傳感器節(jié)點之間連接正常。
傳感器節(jié)點的TCP/IP協(xié)議實現(xiàn)步驟如下所述:
A、傳感器節(jié)點采用LWIP(Light Weight IP)實現(xiàn)TCP/IP協(xié)議的封裝;
B、應用程序通過“open->read/write->close”的模式順序處理TCP通信,socket API對sequential API進行進一步封裝,提供了兼容類UNIX系統(tǒng)的socket編程接口;
C、Raw API直接提供協(xié)議棧流程控制的接口,使協(xié)議棧與應用程序運行在同一個線程中,以回調函數(shù)的機制實現(xiàn)TCP/IP事件響應;
D、傳感器節(jié)點將讀取傳感器數(shù)據(jù)并發(fā)送的操作注冊為TCP接收的回調函數(shù),使得節(jié)點在接收到網(wǎng)關節(jié)點的查詢命令后可以第一時間反饋信息;
E、傳感器節(jié)點在有限的硬件資源下與網(wǎng)關節(jié)點建立了高效可靠的TCP連接。
LWIP是一款開源的TCP/IP協(xié)議棧軟件,其代碼體積小巧,結構清晰,占用ROM、RAM資源小,非常適合在資源有限的嵌入式平臺上實現(xiàn)基礎的TCP/IP通信;
LWIP提供了三種API接口:低級的raw API、高級的sequential API以及BSD模式的socket API;
LWIP提供了回調函數(shù)機制,通過此機制,用戶函數(shù)可以在協(xié)議棧運行階段被執(zhí)行,應用程序可以在TCP接收、發(fā)送、accept(服務器)、connect(客戶端)等過程中注冊自己的回調函數(shù)。
Web端的通信方案主要采取一種輕量級的Web通信架構——Ajax+Lua+CGI。此方案實現(xiàn)原理如下:
A、用戶登錄進入Web控制界面后,通過點擊按鍵向服務器端發(fā)送相應的控制請求;
B、點擊完成后,Ajax響應用戶發(fā)送的控制請求,后臺通過移植輕量級的Lighttpd服務器,對Lua語言進行解析,使其可以對文件或管道進行讀寫操作;
C、由于傳感器節(jié)點服務器也可以對命名管道執(zhí)行讀寫操作,因此可以完成整個Web架構下的數(shù)據(jù)通信過程。
Android端實現(xiàn)步驟如下所述:
A、APP點擊進入后,TCP服務進程開始初始化;
B、Android端與服務器建立TCP連接成功后,將需要轉發(fā)的控制命令信息封裝進Socket流中;
C、服務器接收到客戶端發(fā)送的TCP數(shù)據(jù)流后,將其轉發(fā)送給硬件處理模塊,執(zhí)行相應操作;
D、硬件處理模塊接收到控制流后,啟動相應的解密程序;
E、經(jīng)解密后的數(shù)據(jù)流格式通過硬件處理模塊,得到相應的回復數(shù)據(jù)流消息,硬件模塊將此消息通過TCP/IP協(xié)議重新打包后發(fā)送給服務器;
F、服務器將反饋得到的消息通過Socket流重新發(fā)回給APP。
其微信端實現(xiàn)步驟如下所述:
A、用戶在微信公眾號里向公眾號發(fā)送一條消息,這條消息通過網(wǎng)絡到達微信服務器;
B、微信服務器收到消息后,把消息轉發(fā)給公眾號的后臺服務器程序進行處理;
C、公眾號后臺將需要返回的消息封裝,返回給微信服務器;
D、微信服務器將返回的消息解析并轉發(fā)給用戶,這樣用戶就能在微信上看到消息。
微信端同時設置語音識別功能,通過調用微信開發(fā)的接口類實現(xiàn)語音識別功能。