魏 東, 張 旭, 玉士蒙
(北京建筑大學 電氣與信息工程學院, 北京 100044)
?
基于云平臺的門窗磁系統(tǒng)設(shè)計與開發(fā)
魏 東, 張 旭, 玉士蒙
(北京建筑大學 電氣與信息工程學院, 北京 100044)
針對現(xiàn)有遠程門窗磁報警系統(tǒng)成本高、功耗大等問題,設(shè)計開發(fā)了一種基于云平臺的門窗磁系統(tǒng). 利用ARM配合WIFI模塊實現(xiàn)門窗狀態(tài)檢測;采用IAR Embedded Workbench為開發(fā)平臺,通過MiCO提供云服務(wù)的交互方法接入Fogcloud,再通過路由器接入Internet. 采用HTML5開發(fā)實現(xiàn)了移動前端操作頁面,該頁面能夠?qū)崟r監(jiān)控并顯示門窗狀態(tài),如有惡意開啟即報警,同時可以完成布防、布防、休眠等功能設(shè)置,并能夠?qū)崿F(xiàn)歷史記錄查詢等功能.
門窗磁系統(tǒng); 移動終端; 云平臺; HTML5; MiCOKit; WIFI
目前市場上有兩類門窗磁報警裝置,即傳統(tǒng)門窗磁和支持遠程報警的門窗磁,前者只支持本地報警,后者雖支持遠程報警,但需配置協(xié)議轉(zhuǎn)化中心(Zigbee轉(zhuǎn)WIFI,ZWave轉(zhuǎn)WIFI,433轉(zhuǎn)WIFI等)[1],但轉(zhuǎn)化中心的成本較高,而直接使用WIFI作為無線傳輸方式的門窗磁設(shè)備功耗很高,電池供電方式只能使用幾天,頻繁的充電或者更換電池,帶來了極大的不便[2-3].
本文設(shè)計開發(fā)了基于云平臺的門窗磁系統(tǒng),該系統(tǒng)不需要協(xié)議轉(zhuǎn)化中心,成本低廉,且性能可靠[4]. 所開發(fā)的門窗磁用戶端模塊運行在用戶手機或者Pad上,當檢測到門或者窗被惡意開啟時,能夠遠程實時報警,用戶可以通過頁面進行布防、撤防等功能設(shè)置,并能夠?qū)崿F(xiàn)歷史記錄查詢等功能.
本文所設(shè)計開發(fā)的基于云平臺的門窗磁系統(tǒng)主要以無線通信技術(shù)為主要數(shù)據(jù)傳輸途徑,通過WIFI模塊的拓展實現(xiàn)系統(tǒng)內(nèi)部節(jié)點的組網(wǎng). 系統(tǒng)結(jié)構(gòu)如圖1所示.
由圖1可以看出門窗磁系統(tǒng)在信息釆集端主要由MiCO設(shè)備組成,然后通過無線傳感網(wǎng)絡(luò)將所釆集的數(shù)據(jù)信息傳遞到云端,最終從云端傳遞到移動終端,用戶可以通過智能設(shè)備對數(shù)據(jù)進行實時監(jiān)控. 當出現(xiàn)異常情況時,將會由信息采集端發(fā)出預警,然后將預警信號傳遞到用戶的監(jiān)控端及時提醒用戶采取必要的措施.
本文所設(shè)計的門窗磁系統(tǒng)有3個功能模塊,即信號檢測模塊、用戶移動設(shè)備端報警模塊和網(wǎng)絡(luò)路由器.
門窗磁系統(tǒng)中的信號檢測模塊選用EMW3162 WIFI,EMW3162內(nèi)置低功耗Cortex-M3微控制器STM32F205RG,以及128 KB RAM和1 MB Flash,具有多種模擬、數(shù)字端口. 該芯片3.3 V單電源供電,采用貼片或插針兩種封裝形式. 該模塊運行MiCO物聯(lián)網(wǎng)操作系統(tǒng),支持二次開發(fā),用戶可以利用MiCO的TCP/IP協(xié)議棧、多種安全加密算法來實現(xiàn)各種嵌入式WIFI應(yīng)用. EMW316內(nèi)置的Cortex-M3微控制器STM32F205RG實現(xiàn)對WIFI模塊的計算、控制、內(nèi)容發(fā)送等功能.
所開發(fā)的能夠在用戶移動設(shè)備端上運行的報警模塊頁面主要功能包括:1)實時監(jiān)控:能夠接收EMW3162傳來的報警、提示等相關(guān)信息,并在出現(xiàn)異常情況時報警;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ū)動、USB虛擬串口驅(qū)動(FTDI)和SecureCRT串口調(diào)試工具.
3.2 信號檢測模塊開發(fā)
信號檢測模塊EMW3162由3部分組成,即Cortex-M3內(nèi)核MCU,WIFI射頻芯片和電源. EMW3162模塊用來檢測門窗的關(guān)閉或者開啟狀態(tài). 本文采用0/1表示門窗的關(guān)閉和開啟狀態(tài).
信號檢測程序流程圖如圖2所示.
信號檢測程序核心代碼為
#include "MiCO.h"
int application_start( void )
{
OSStatus err=kNoErr;
os_sem_log("test binary semaphore" );
∥創(chuàng)建一個0/1型二值信號
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){
∥會阻塞,直到獲取到信號量為止
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ā)套件進行信號傳輸部分開發(fā),該套件含有MiCOKit-3165開發(fā)板,同時預裝了Fogcloud云端服務(wù),使得云連接簡單便捷.
本文通過Station模式,將MiCOKit-3165開發(fā)板連接到無線路由器AP. 當工作在Station模式下,MiCOKit-3165開發(fā)板作為一個無線終端可以接入指定的無線網(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;
∥自動選擇通道
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è)備進行數(shù)據(jù)交互,完成設(shè)備的激活、授權(quán)、重置等請求,使得設(shè)備接入Fogcloud云端并和用戶端綁定.
3.4.1 查詢設(shè)備狀態(tài)請求
查詢設(shè)備狀態(tài)和APP發(fā)送數(shù)據(jù)如表1所示.
表1 查詢設(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"}
查詢設(shè)備狀態(tài)和設(shè)備響應(yīng)數(shù)據(jù)如表2所示.
表2 查詢設(shè)備狀態(tài)和設(shè)備響應(yīng)數(shù)據(jù)
設(shè)備返回程序代碼為
{"isActivated": true, "isConnected": true, "version": "v0.2.3"}
3.4.2 激活請求
APP向設(shè)備發(fā)送激活請求和APP發(fā)送數(shù)據(jù)如表3所示.
表3 激活請求和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"}
激活請求和設(shè)備響應(yīng)數(shù)據(jù)如表4所示.
表4 激活請求和設(shè)備響應(yīng)數(shù)據(jù)
設(shè)備返回程序代碼為
{"device_id": af2b33be/c8934645dd0a" }
3.4.3 用戶授權(quán)請求
APP向設(shè)備發(fā)送用戶授權(quán)請求和APP發(fā)送數(shù)據(jù)如表5所示.
表5 用戶授權(quán)請求和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)請求和設(shè)備響應(yīng)數(shù)據(jù)如表6所示.
表6 用戶授權(quán)請求和設(shè)備響應(yīng)數(shù)據(jù)
設(shè)備返回程序代碼為
{"device_id":"af2b33be/c8934645dd0a" }
3.5 移動端頁面開發(fā)
本文采用HTML5來進行用戶移動端頁面開發(fā). 開發(fā)環(huán)境為Adobe Dreamweaver CS6.
本文采用用于描述網(wǎng)頁的HTML文本編寫用戶移動端頁面. HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、表格、鏈接等. HTML文本編寫完成后,接著設(shè)計層疊樣式表單(CSS),CSS起到網(wǎng)頁布局和美化網(wǎng)頁的作用.
用戶移動端頁面開發(fā)成果如圖4~圖8所示.
開發(fā)工作完成后對成果進行了測試,通過模擬門窗開、關(guān)狀態(tài)觀察移動端頁面的反應(yīng),同時測試布防、撤防、休眠和歷史查詢等功能運行情況. 測試過程如圖9所示.
測試過程中發(fā)現(xiàn)移動端頁面能夠很好地反應(yīng)門窗狀態(tài),同時布防、撤防、休眠和歷史狀態(tài)查詢功能均能實現(xiàn)預期目標.
1) 本設(shè)計開發(fā)的門窗磁系統(tǒng)有3個主功能模塊,即信息獲取端(EMW3162)、用戶移動設(shè)備端頁面和網(wǎng)絡(luò)路由器.
2) 對基于云臺的門窗磁系統(tǒng)進行了開發(fā),選擇MiCOKit系列開發(fā)套件作為開發(fā)工具,選擇IAR For ARM軟件、SecureCRT串口調(diào)試工具等進行開發(fā). 開發(fā)了信號檢測模塊,通過0/1型二值信號來表示門窗磁的開、關(guān)兩種狀態(tài).
3) 采用HTML5開發(fā)了用戶移動端頁面,能夠?qū)崿F(xiàn)門窗開/關(guān)狀態(tài)監(jiān)測、布防、撤防、休眠和歷史狀態(tài)查詢等功能.
系統(tǒng)功能測試結(jié)果表明系統(tǒng)功能完善,運行情況良好.
[1] 陳彬,張東勝,王硯澤. 一種門窗磁報警設(shè)備[P].中國專利:CN204044953U,2014-12-24
[2] 王斌,楊曉玲,肖冬娣. 基于云服務(wù)實現(xiàn)智能家居應(yīng)用控制的方案[J]. 電信科學, 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ù)的移動Web前端設(shè)計與開發(fā)[D]. 杭州:浙江工業(yè)大學,2014
[責任編輯:王志兵]
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è)部科技計劃項目(Z10025)
魏 東(1968—), 女, 教授, 博士, 研究方向: 智能家居產(chǎn)品研發(fā)、建筑設(shè)備節(jié)能控制等.
TP277
A