魏 東, 張 旭, 玉士蒙
(北京建筑大學(xué) 電氣與信息工程學(xué)院, 北京 100044)
?
基于云平臺(tái)的門窗磁系統(tǒng)設(shè)計(jì)與開發(fā)
魏 東, 張 旭, 玉士蒙
(北京建筑大學(xué) 電氣與信息工程學(xué)院, 北京 100044)
針對(duì)現(xiàn)有遠(yuǎn)程門窗磁報(bào)警系統(tǒng)成本高、功耗大等問題,設(shè)計(jì)開發(fā)了一種基于云平臺(tái)的門窗磁系統(tǒng). 利用ARM配合WIFI模塊實(shí)現(xiàn)門窗狀態(tài)檢測(cè);采用IAR Embedded Workbench為開發(fā)平臺(tái),通過MiCO提供云服務(wù)的交互方法接入Fogcloud,再通過路由器接入Internet. 采用HTML5開發(fā)實(shí)現(xiàn)了移動(dòng)前端操作頁面,該頁面能夠?qū)崟r(shí)監(jiān)控并顯示門窗狀態(tài),如有惡意開啟即報(bào)警,同時(shí)可以完成布防、布防、休眠等功能設(shè)置,并能夠?qū)崿F(xiàn)歷史記錄查詢等功能.
門窗磁系統(tǒng); 移動(dòng)終端; 云平臺(tái); HTML5; MiCOKit; WIFI
目前市場(chǎng)上有兩類門窗磁報(bào)警裝置,即傳統(tǒng)門窗磁和支持遠(yuǎn)程報(bào)警的門窗磁,前者只支持本地報(bào)警,后者雖支持遠(yuǎn)程報(bào)警,但需配置協(xié)議轉(zhuǎn)化中心(Zigbee轉(zhuǎn)WIFI,ZWave轉(zhuǎn)WIFI,433轉(zhuǎn)WIFI等)[1],但轉(zhuǎn)化中心的成本較高,而直接使用WIFI作為無線傳輸方式的門窗磁設(shè)備功耗很高,電池供電方式只能使用幾天,頻繁的充電或者更換電池,帶來了極大的不便[2-3].
本文設(shè)計(jì)開發(fā)了基于云平臺(tái)的門窗磁系統(tǒng),該系統(tǒng)不需要協(xié)議轉(zhuǎn)化中心,成本低廉,且性能可靠[4]. 所開發(fā)的門窗磁用戶端模塊運(yùn)行在用戶手機(jī)或者Pad上,當(dāng)檢測(cè)到門或者窗被惡意開啟時(shí),能夠遠(yuǎn)程實(shí)時(shí)報(bào)警,用戶可以通過頁面進(jìn)行布防、撤防等功能設(shè)置,并能夠?qū)崿F(xiàn)歷史記錄查詢等功能.
本文所設(shè)計(jì)開發(fā)的基于云平臺(tái)的門窗磁系統(tǒng)主要以無線通信技術(shù)為主要數(shù)據(jù)傳輸途徑,通過WIFI模塊的拓展實(shí)現(xiàn)系統(tǒng)內(nèi)部節(jié)點(diǎn)的組網(wǎng). 系統(tǒng)結(jié)構(gòu)如圖1所示.
由圖1可以看出門窗磁系統(tǒng)在信息釆集端主要由MiCO設(shè)備組成,然后通過無線傳感網(wǎng)絡(luò)將所釆集的數(shù)據(jù)信息傳遞到云端,最終從云端傳遞到移動(dòng)終端,用戶可以通過智能設(shè)備對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控. 當(dāng)出現(xiàn)異常情況時(shí),將會(huì)由信息采集端發(fā)出預(yù)警,然后將預(yù)警信號(hào)傳遞到用戶的監(jiān)控端及時(shí)提醒用戶采取必要的措施.
本文所設(shè)計(jì)的門窗磁系統(tǒng)有3個(gè)功能模塊,即信號(hào)檢測(cè)模塊、用戶移動(dòng)設(shè)備端報(bào)警模塊和網(wǎng)絡(luò)路由器.
門窗磁系統(tǒng)中的信號(hào)檢測(cè)模塊選用EMW3162 WIFI,EMW3162內(nèi)置低功耗Cortex-M3微控制器STM32F205RG,以及128 KB RAM和1 MB Flash,具有多種模擬、數(shù)字端口. 該芯片3.3 V單電源供電,采用貼片或插針兩種封裝形式. 該模塊運(yùn)行MiCO物聯(lián)網(wǎng)操作系統(tǒng),支持二次開發(fā),用戶可以利用MiCO的TCP/IP協(xié)議棧、多種安全加密算法來實(shí)現(xiàn)各種嵌入式WIFI應(yīng)用. EMW316內(nèi)置的Cortex-M3微控制器STM32F205RG實(shí)現(xiàn)對(duì)WIFI模塊的計(jì)算、控制、內(nèi)容發(fā)送等功能.
所開發(fā)的能夠在用戶移動(dòng)設(shè)備端上運(yùn)行的報(bào)警模塊頁面主要功能包括:1)實(shí)時(shí)監(jiān)控:能夠接收EMW3162傳來的報(bào)警、提示等相關(guān)信息,并在出現(xiàn)異常情況時(shí)報(bào)警;2)功能設(shè)置:能夠?qū)崿F(xiàn)一鍵布防、撤防等功能設(shè)置;3)消息推送提醒等其他功能.
3.1 開發(fā)環(huán)境
開發(fā)環(huán)境包括IAR workbench for ARM,ST-LINK或J-LINK驅(qū)動(dòng)、USB虛擬串口驅(qū)動(dòng)(FTDI)和SecureCRT串口調(diào)試工具.
3.2 信號(hào)檢測(cè)模塊開發(fā)
信號(hào)檢測(cè)模塊EMW3162由3部分組成,即Cortex-M3內(nèi)核MCU,WIFI射頻芯片和電源. EMW3162模塊用來檢測(cè)門窗的關(guān)閉或者開啟狀態(tài). 本文采用0/1表示門窗的關(guān)閉和開啟狀態(tài).
信號(hào)檢測(cè)程序流程圖如圖2所示.
信號(hào)檢測(cè)程序核心代碼為
#include "MiCO.h"
int application_start( void )
{
OSStatus err=kNoErr;
os_sem_log("test binary semaphore" );
∥創(chuàng)建一個(gè)0/1型二值信號(hào)
err=mico_rtos_init_semaphore(&os_sem, 1);∥0/1 binary semaphore‖0/N semaphore
require_noerr(err, exit);
err=mico_rtos_create_thread(NULL, MICO_APPLICATION_PRIORITY, "release sem", release_thread, 500, NULL);
require_noerr(err, exit);
while(1){
∥會(huì)阻塞,直到獲取到信號(hào)量為止
mico_rtos_get_semaphore(&os_sem, MICO_WAIT_FOREVER );∥wait until get semaphore
os_sem_log("get semaphore");
}
exit:
if(os_sem!=NULL )
mico_rtos_deinit_semaphore(&os_sem); mico_rtos_delete_thread(NULL);
return err;
}
3.3 WLAN Station功能開發(fā)
本文選用MiCOKit系列開發(fā)套件進(jìn)行信號(hào)傳輸部分開發(fā),該套件含有MiCOKit-3165開發(fā)板,同時(shí)預(yù)裝了Fogcloud云端服務(wù),使得云連接簡單便捷.
本文通過Station模式,將MiCOKit-3165開發(fā)板連接到無線路由器AP. 當(dāng)工作在Station模式下,MiCOKit-3165開發(fā)板作為一個(gè)無線終端可以接入指定的無線網(wǎng)絡(luò)(AP),但它不接受其他無線終端的接入,即不能夠給其他設(shè)備提供網(wǎng)絡(luò)服務(wù).
WLAN Station程序流程圖如圖3所示.
wifi_station.c程序核心代碼為
#include "MICO.h"
int application_start(void)
{
OSStatus err=kNoErr;
network_InitTypeDef_adv_st
wNetConfigAdv={0};
wifi_station_log("wifi station api");
mico_system_init(mico_system_context_init( 0 ));
err=mico_system_notify_register(mico_notify_WIFI_CONNECT_FAILED,(void*)micoNotify_ConnectFailedHandler, NULL);
require_noerr(err, exit);
∥初始化無線參數(shù)
wNetConfigAdv.ap_info.channel=0;
∥自動(dòng)選擇通道
wNetConfigAdv.dhcpMode=DHCP_Client; ∥從DHCP服務(wù)器中獲取IP地址
wifi_station_log("connecting to %s...",ap_ssid);
micoWlanStartAdv(&wNetConfigAdv);
}
3.4 云連接配置
WIFI連接成功后,開啟Fogcloud Congifg Server(TCP Server),用戶端頁面作為TCP client可與之建立連接. 用戶端頁面使用mDNS協(xié)議發(fā)現(xiàn)設(shè)備,并與之建立TCP連接,之后通過HTTP協(xié)議與設(shè)備進(jìn)行數(shù)據(jù)交互,完成設(shè)備的激活、授權(quán)、重置等請(qǐng)求,使得設(shè)備接入Fogcloud云端并和用戶端綁定.
3.4.1 查詢?cè)O(shè)備狀態(tài)請(qǐng)求
查詢?cè)O(shè)備狀態(tài)和APP發(fā)送數(shù)據(jù)如表1所示.
表1 查詢?cè)O(shè)備狀態(tài)和APP發(fā)送數(shù)據(jù)
APP發(fā)送程序代碼為
POST/dev-state HTTP/1.1
Host: 192.168.31.180:8001
Content-Length: 74
Cache-Control: no-cache
{"login_id":"admin","dev_passwd":"12345678","user_token":"11111111"}
查詢?cè)O(shè)備狀態(tài)和設(shè)備響應(yīng)數(shù)據(jù)如表2所示.
表2 查詢?cè)O(shè)備狀態(tài)和設(shè)備響應(yīng)數(shù)據(jù)
設(shè)備返回程序代碼為
{"isActivated": true, "isConnected": true, "version": "v0.2.3"}
3.4.2 激活請(qǐng)求
APP向設(shè)備發(fā)送激活請(qǐng)求和APP發(fā)送數(shù)據(jù)如表3所示.
表3 激活請(qǐng)求和APP發(fā)送數(shù)據(jù)
APP發(fā)送程序代碼為
POST/dev-activate HTTP/1.1
Host: 192.168.31.180:8001
Content-Length: 74
Cache-Control: no-cache
{"login_id":"admin","dev_passwd":"12345678","user_token":"11111111"}
激活請(qǐng)求和設(shè)備響應(yīng)數(shù)據(jù)如表4所示.
表4 激活請(qǐng)求和設(shè)備響應(yīng)數(shù)據(jù)
設(shè)備返回程序代碼為
{"device_id": af2b33be/c8934645dd0a" }
3.4.3 用戶授權(quán)請(qǐng)求
APP向設(shè)備發(fā)送用戶授權(quán)請(qǐng)求和APP發(fā)送數(shù)據(jù)如表5所示.
表5 用戶授權(quán)請(qǐng)求和APP發(fā)送數(shù)據(jù)
APP發(fā)送程序代碼為
POST/dev-authorize HTTP/1.1
Host: 192.168.31.180:8001
Content-Length: 74
Cache-Control: no-cache
{"login_id":"admin","dev_passwd":"12345678","user_token":"22222222"}
用戶授權(quán)請(qǐng)求和設(shè)備響應(yīng)數(shù)據(jù)如表6所示.
表6 用戶授權(quán)請(qǐng)求和設(shè)備響應(yīng)數(shù)據(jù)
設(shè)備返回程序代碼為
{"device_id":"af2b33be/c8934645dd0a" }
3.5 移動(dòng)端頁面開發(fā)
本文采用HTML5來進(jìn)行用戶移動(dòng)端頁面開發(fā). 開發(fā)環(huán)境為Adobe Dreamweaver CS6.
本文采用用于描述網(wǎng)頁的HTML文本編寫用戶移動(dòng)端頁面. HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、表格、鏈接等. HTML文本編寫完成后,接著設(shè)計(jì)層疊樣式表單(CSS),CSS起到網(wǎng)頁布局和美化網(wǎng)頁的作用.
用戶移動(dòng)端頁面開發(fā)成果如圖4~圖8所示.
開發(fā)工作完成后對(duì)成果進(jìn)行了測(cè)試,通過模擬門窗開、關(guān)狀態(tài)觀察移動(dòng)端頁面的反應(yīng),同時(shí)測(cè)試布防、撤防、休眠和歷史查詢等功能運(yùn)行情況. 測(cè)試過程如圖9所示.
測(cè)試過程中發(fā)現(xiàn)移動(dòng)端頁面能夠很好地反應(yīng)門窗狀態(tài),同時(shí)布防、撤防、休眠和歷史狀態(tài)查詢功能均能實(shí)現(xiàn)預(yù)期目標(biāo).
1) 本設(shè)計(jì)開發(fā)的門窗磁系統(tǒng)有3個(gè)主功能模塊,即信息獲取端(EMW3162)、用戶移動(dòng)設(shè)備端頁面和網(wǎng)絡(luò)路由器.
2) 對(duì)基于云臺(tái)的門窗磁系統(tǒng)進(jìn)行了開發(fā),選擇MiCOKit系列開發(fā)套件作為開發(fā)工具,選擇IAR For ARM軟件、SecureCRT串口調(diào)試工具等進(jìn)行開發(fā). 開發(fā)了信號(hào)檢測(cè)模塊,通過0/1型二值信號(hào)來表示門窗磁的開、關(guān)兩種狀態(tài).
3) 采用HTML5開發(fā)了用戶移動(dòng)端頁面,能夠?qū)崿F(xiàn)門窗開/關(guān)狀態(tài)監(jiān)測(cè)、布防、撤防、休眠和歷史狀態(tài)查詢等功能.
系統(tǒng)功能測(cè)試結(jié)果表明系統(tǒng)功能完善,運(yùn)行情況良好.
[1] 陳彬,張東勝,王硯澤. 一種門窗磁報(bào)警設(shè)備[P].中國專利:CN204044953U,2014-12-24
[2] 王斌,楊曉玲,肖冬娣. 基于云服務(wù)實(shí)現(xiàn)智能家居應(yīng)用控制的方案[J]. 電信科學(xué), 2015, 31(11):130-135
[3] Ni Y, Miao F, Liu J, et al. Implementation of wireless gateway for smart home[J] Communications & Network,2013,5(1):16-20
[4] 連政. 基于HTML5技術(shù)的移動(dòng)Web前端設(shè)計(jì)與開發(fā)[D]. 杭州:浙江工業(yè)大學(xué),2014
[責(zé)任編輯:王志兵]
Design and Development of Magnetic Contact Systems Based on Cloud Platform
Wei Dong, Zhang Xu, Yu Shimeng
(School of Electricity and Information Engineering, Beijing University of Civil Engineering and Architecture, Beijing 100044)
The existing magnetic contact systems for remote alarm are not practical because of the problems such as high cost and large power consumption. A method to develop the magnetic contact systems based on cloud platforms is presented. A developing framework was proposed, which used ARM with WIFI module to realize the detection of opening and closing of the doors or windows with embedded IAR as the development platform. Cloud services were provided with MiCO to access Fogcloud. And a router was used to access Internet. A mobile web front-end system was developed based on HTML5 to realize remote monitoring, protection, removal, alarm operation and query of historical records.
magnetic contact system; intelligent terminal; cloud platform; HMTL5; MiCOKit; WIFI
1004-6011(2016)03-0132-05
2016-07-08
住房和城鄉(xiāng)建設(shè)部科技計(jì)劃項(xiàng)目(Z10025)
魏 東(1968—), 女, 教授, 博士, 研究方向: 智能家居產(chǎn)品研發(fā)、建筑設(shè)備節(jié)能控制等.
TP277
A