殷華英
(承德石油高等專科學(xué)校 計(jì)算機(jī)與信息工程系,河北 承德 067000)
在智能家居環(huán)境中,無線開關(guān)是最常用也是必不可少的一種接入設(shè)備,通過它,用戶可以控制和監(jiān)控?zé)o線智能家居環(huán)境中不同電器的狀態(tài),如空調(diào)的開關(guān)、窗簾的開合、電燈的開閉等[1-2]。相比傳統(tǒng)開關(guān),無線開關(guān)操作更靈活、更方便、更安全,可以通過智能手持設(shè)備、手機(jī)等,進(jìn)行遠(yuǎn)程控制。如在回家前,提前打開空調(diào),營造一個(gè)舒適的環(huán)境,或者因?yàn)槌鲩T,忘了關(guān)閉電器電源,可以方便通過手機(jī)上的APP,進(jìn)行遠(yuǎn)程關(guān)閉以節(jié)約能源。
在無線開關(guān)中,一個(gè)關(guān)鍵部件是串口WiFi模塊,通過它實(shí)現(xiàn)串口數(shù)據(jù)到無線數(shù)據(jù)的轉(zhuǎn)換[3]。串口WiFi模塊基于通用程序接口特性,符合IEEE802.11 協(xié)議棧網(wǎng)絡(luò)標(biāo)準(zhǔn),內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口、WiFi無線網(wǎng)和互聯(lián)網(wǎng)3個(gè)接口之間的任意透明轉(zhuǎn)換,使傳統(tǒng)串口設(shè)備更好的加入無線網(wǎng)絡(luò)。現(xiàn)在家用無線開關(guān)中,大多采用基于WiFi的數(shù)據(jù)傳輸方式,利用無線路由器作為中控中心,配合適配無線開關(guān)的手機(jī)APP應(yīng)用,根據(jù)操作說明,配置設(shè)備開關(guān),或針對(duì)不同應(yīng)用場景進(jìn)行設(shè)置,從而實(shí)現(xiàn)手機(jī)遠(yuǎn)程控制。無線WiFi電源開關(guān)基本工作原理如圖1所示。
在圖1中,一個(gè)服務(wù)器記錄各個(gè)開關(guān)的狀態(tài),并通過網(wǎng)絡(luò)發(fā)送相關(guān)控制指令。無線開關(guān)通過WiFi連接路由器接入網(wǎng)絡(luò),與服務(wù)器進(jìn)行數(shù)據(jù)通信。手機(jī)終端可以通過數(shù)據(jù)網(wǎng)絡(luò)或WiFi的方式,與服務(wù)器或與路由器相連。在外網(wǎng)斷開時(shí),手機(jī)、路由器和無線開關(guān)形成局域網(wǎng),路由器作為數(shù)據(jù)轉(zhuǎn)發(fā)部件,會(huì)將手機(jī)終端發(fā)送的指令完成數(shù)據(jù)的轉(zhuǎn)發(fā),數(shù)據(jù)信號(hào)經(jīng)過無線路由器轉(zhuǎn)發(fā),從而實(shí)現(xiàn)局域網(wǎng)無線控制。外網(wǎng)連接時(shí),相關(guān)設(shè)備形成一個(gè)廣域網(wǎng),無線路由器作為中控中心,無線開關(guān)中WiFi模塊mac地址會(huì)被事先寫入服務(wù)器。手機(jī)通過程序連接服務(wù)器,操作開關(guān),發(fā)送指令,這些指令再由服務(wù)器傳給無線路由進(jìn)行轉(zhuǎn)發(fā),從而完成對(duì)開關(guān)的控制。
無線電源開關(guān)在第一次使用時(shí),手機(jī)APP和其相連,完成一些初始化設(shè)置。如開關(guān)名稱、分組、設(shè)置路由器IP地址以及模式設(shè)置等,這些信息將在其與服務(wù)器相連后傳至服務(wù)器進(jìn)行保存。
WiFi無線開關(guān)工作模式一般有兩種,一種是AP模式,在該模式下,無線開關(guān)本身為一個(gè)連接熱點(diǎn),等待其它設(shè)備連接,手機(jī)等智能終端直接與其相連,對(duì)其進(jìn)行控制。但這種模式下,手機(jī)和無線開關(guān)的連接受距離限制比較大,而且在設(shè)備切換時(shí)比較麻煩。第二種是STA模式,這種模式下,手機(jī)和無線開關(guān)由無線路由器進(jìn)行相連,或者手機(jī)通過4G、5G網(wǎng)絡(luò)與服務(wù)器相連,指令會(huì)由路由器進(jìn)行轉(zhuǎn)發(fā)。也可以無線開關(guān)以定時(shí)方式發(fā)送報(bào)送指令,以獲取執(zhí)行指令。這種模式下,能充分發(fā)揮手機(jī)APP的作用,實(shí)現(xiàn)對(duì)無線開關(guān)的遠(yuǎn)程控制與管理。
筆者在與某公司合作期間,該公司針對(duì)目前市場的需求,擬開發(fā)出一款WiFi無線開關(guān)產(chǎn)品,本人也參與到該產(chǎn)品的研發(fā)過程。經(jīng)過一段時(shí)間研制,其產(chǎn)品初步成型,產(chǎn)品背面和正面如圖2所示。
在圖2的右圖中,提供了一個(gè)復(fù)位按鈕,長按恢復(fù)出廠設(shè)置,短按進(jìn)行AP和STA模式切換。同時(shí)在面板上設(shè)置了觸控按鍵,在網(wǎng)絡(luò)斷開時(shí)可以像傳統(tǒng)開關(guān)一樣進(jìn)行手動(dòng)控制。本開關(guān)提供兩種工作模式:AP模式和STA模式。AP模式是默認(rèn)模式,在AP模式下,手機(jī)可以直接與其相連,然后發(fā)送設(shè)置指令進(jìn)行設(shè)置,并可通過發(fā)送模式切換指令轉(zhuǎn)換到STA模式。在STA模式下,手機(jī)和開關(guān)通過路由器和服務(wù)器相連,手機(jī)APP向云服務(wù)器發(fā)出指令,命令執(zhí)行時(shí),開關(guān)定時(shí)向云服務(wù)器發(fā)出報(bào)送指令,云服務(wù)器返回需要執(zhí)行的指令集合,開關(guān)逐條順序執(zhí)行,不再做回復(fù)。在開關(guān)面板上,設(shè)置紅綠兩個(gè)指示燈, 靜態(tài)指示指明當(dāng)前工作模式,如紅燈亮表示AP模式,綠燈亮表示STA模式。閃爍指示標(biāo)識(shí)工作狀態(tài)如WiFi連接不上、云服務(wù)器不能連接等。
在整個(gè)開關(guān)系統(tǒng)使用過程中,無線開關(guān)或手機(jī)APP發(fā)出的每條指令,都會(huì)得到一條回復(fù)指令。對(duì)于這兩種格式,其指令格式如下:
1)發(fā)送指令基本格式
S,命令編碼,
參數(shù)說明:s為指令第一個(gè)標(biāo)識(shí),各參數(shù)之間用逗號(hào)分隔,命令編碼為指令標(biāo)識(shí),由一個(gè)字母和數(shù)字構(gòu)成,占定長2個(gè)字節(jié)。
2)回復(fù)指令基本格式
執(zhí)行指令發(fā)送出去后,需要返回指令的執(zhí)行結(jié)果,系統(tǒng)可以根據(jù)回復(fù)指令中信息進(jìn)行相應(yīng)的處理,其格式如下:
S,<原命令>, <原xh>,
參數(shù)說明:
根據(jù)具體功能,無線開關(guān)包括以下四種指令。
3.2.1 報(bào)送指令
報(bào)送指令是無線開關(guān)用來向云服務(wù)器定時(shí)循環(huán)報(bào)送狀態(tài),開關(guān)從云端獲取給自己的指令同時(shí)上傳狀態(tài)。這是為了減輕服務(wù)器輪詢的負(fù)擔(dān),采用了從開關(guān)發(fā)送指令的方法。命令格式:
S,A0,
參數(shù)說明:
回復(fù)指令:為一個(gè)指令集,包括下文提到的設(shè)置指令和控制指令, 多個(gè)指令之間用 分開,最后以空指令結(jié)束??罩噶罡袷饺缦拢?/p>
S,A0,
如果沒有需要執(zhí)行的指令,僅回復(fù)空指令。
3.2.2 設(shè)置指令
1)設(shè)置路由WiFi參數(shù):這是在AP模式下,手機(jī)向無線開關(guān)發(fā)送的指令,命令格式:
S,C1,
參數(shù)說明:C1為該指令的標(biāo)識(shí),
回復(fù)指令格式:S,C1,
由于本指令與WiFi模式關(guān)聯(lián),不需要馬上生效,在切換到STA模式或重新加電時(shí)生效。
2)設(shè)置云服務(wù)器參數(shù):用來設(shè)置服務(wù)器的相關(guān)信息。命令格式:
S,C2,
參數(shù)說明:
回復(fù)指令格式:S,C2,
3)設(shè)置報(bào)送指令時(shí)間間隔,命令格式:
S,C3,
參數(shù)說明:
回復(fù)指令格式:S,C3,
4)設(shè)置WiFi工作模式:設(shè)置無線開關(guān)在AP和STA模式進(jìn)行切換。命令格式:
S,C4,
參數(shù)說明:
回復(fù)指令格式:S,C4,
5)設(shè)置新的AP密碼,設(shè)置無線開關(guān)在AP模式下的新密碼。命令格式:
S,C5,
參數(shù)說明:
回復(fù)指令格式:S,C5,
3.2.3 查詢指令
1)查詢當(dāng)前參數(shù),該指令執(zhí)行后將返回動(dòng)態(tài)記憶的主要參數(shù),但不含密碼,命令格式:
S,B0,
回復(fù)指令格式:S,B0,
2)查詢繼電器狀態(tài),命令格式:
S,B3,
回復(fù)指令格式:S,B3,
3.2.4 控制指令
1)單繼電器控制,設(shè)置某一個(gè)指定的繼電器狀態(tài),命令格式:
S,A1,
參數(shù)說明:
回復(fù)指令格式:S,A1,
2)多繼電器控制,設(shè)置某多個(gè)指定的繼電器狀態(tài),命令格式:
S,A3,
參數(shù)說明:
回復(fù)指令格式:S,A3,
針對(duì)無線開關(guān)的兩種連接模式,指令測(cè)試也分兩種情形,在AP模式下,計(jì)算機(jī)先通過WiFi連接到無線開關(guān),進(jìn)行模擬測(cè)試,打開“tcp調(diào)試助手”這一款軟件,該軟件是一款網(wǎng)絡(luò)調(diào)試工具,功能非常強(qiáng)大,支持TCP Server、TCP Client、UDP等通信模式,可以幫助網(wǎng)絡(luò)應(yīng)用設(shè)計(jì)、開發(fā)、測(cè)試人員檢查所開發(fā)的網(wǎng)絡(luò)應(yīng)用軟硬件的數(shù)據(jù)收發(fā)狀況,提高開發(fā)的速度。無線開關(guān)默認(rèn)ip地址為192.168.5.1,端口為8000。通過該軟件連接成功后,發(fā)送相關(guān)指令進(jìn)行測(cè)試。測(cè)試過程中,未發(fā)現(xiàn)指令出現(xiàn)異常情況。在STA模式下,先開發(fā)出一個(gè)包含服務(wù)器和手機(jī)APP的測(cè)試系統(tǒng)。通過手機(jī)APP,執(zhí)行功能,完成指令的發(fā)送。在系統(tǒng)運(yùn)行過程中,所有指令均得到了正常執(zhí)行,和設(shè)計(jì)的結(jié)果完成一致。