基于RFID技術(shù)的智能家庭用電信息系統(tǒng)構(gòu)建
0 引 言
近年來,RFID 技術(shù)在零售業(yè).圖書館服務(wù).供應(yīng)鏈管理等領(lǐng)域得到廣泛使用.同時(shí),RFID 技術(shù)也逐步應(yīng)用于電力系統(tǒng)用以構(gòu)筑智慧電網(wǎng).傳統(tǒng)居民用戶信息采集系統(tǒng)的主站一般設(shè)置在供電局,用戶要了解用電信息需采用賬單查詢.上網(wǎng)查詢或電話查詢等方式.這些方式不夠便捷,難以滿足用戶需求且只能查詢用電總額,無法知道各個(gè)用電終端的用電情況,出現(xiàn)故障也無法及時(shí)排除.與此同時(shí),現(xiàn)代人對于提高家用電器的智能控制能力及家庭安防保障等也提出了更高的要求.
根據(jù)我國當(dāng)前智能電網(wǎng)的發(fā)展趨勢,為了有效監(jiān)控家庭用電終端,維護(hù)用電安全,本文構(gòu)建了一個(gè)基于RFID 技術(shù)與各種探測傳感器相融合的智能家庭用電信息系統(tǒng).該系統(tǒng)可解決如下問題:
(1) 完成家庭照明設(shè)備的開.關(guān).亮度調(diào)節(jié)及狀態(tài)顯示;
(2) 實(shí)現(xiàn)對家庭中所有家用電器的統(tǒng)一控制與管理;
(3) 溫濕度采集傳感器根據(jù)家庭內(nèi)外溫濕度的變化,自動調(diào)節(jié)窗簾的開合.空調(diào)的啟停;
(4) 安裝的煙霧傳感器.煤氣傳感器發(fā)現(xiàn)危險(xiǎn)信息時(shí),能自動報(bào)警并及時(shí)給家庭成員發(fā)送報(bào)警信息;
(5) 分析報(bào)告各個(gè)用電設(shè)備用電狀況,指導(dǎo)用戶合理用電,提醒用戶及時(shí)充值.
1 系統(tǒng)整體結(jié)構(gòu)
典型的RFID 系統(tǒng)由標(biāo)簽(Tag).讀卡器(Reader).中間件(Middleware) 和控制計(jì)算機(jī)及軟件等稱為應(yīng)用(Application)的四部分組成.智能家庭用電信息平臺利用標(biāo)簽獲取用電終端的用電狀況及各探測傳感器的狀態(tài),安裝在房間特定區(qū)域的讀卡器根據(jù)接收到的標(biāo)簽數(shù)據(jù)對家居環(huán)境進(jìn)行監(jiān)控,通過計(jì)算機(jī)網(wǎng)絡(luò)將接收到的標(biāo)簽數(shù)據(jù)經(jīng)過預(yù)處理之后存入系統(tǒng)數(shù)據(jù)庫中.監(jiān)控用戶可以使用電腦.智能手機(jī)等實(shí)時(shí)了解用電終端的工作狀況,必要的報(bào)警信息還會觸發(fā)外設(shè)的聲光報(bào)警器.
圖1 所示是該平臺的系統(tǒng)拓?fù)浣Y(jié)構(gòu).本系統(tǒng)中的標(biāo)簽分為兩種類型:電能計(jì)量標(biāo)簽與用電設(shè)備插頭相連,實(shí)時(shí)探測用電設(shè)備電能消耗,控制用電設(shè)備功率大小;環(huán)境監(jiān)測標(biāo)簽由溫濕度.煙霧及煤氣傳感器等組成,安裝在室內(nèi)外特定區(qū)域,實(shí)時(shí)監(jiān)測室內(nèi)外環(huán)境.標(biāo)簽定時(shí)將探測到的數(shù)據(jù)發(fā)送給讀卡器.讀卡器通過天線控制覆蓋接收信號的范圍,接入家庭網(wǎng)絡(luò),將轉(zhuǎn)發(fā)的標(biāo)簽數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫中.標(biāo)簽數(shù)據(jù)在數(shù)據(jù)庫中進(jìn)行合并.去冗余.挖掘特征信息等處理.系統(tǒng)監(jiān)控用戶通過瀏覽器獲取這些處理過的信息,從而知道用電終端的用電狀況,家庭內(nèi)外的環(huán)境狀況,同時(shí),當(dāng)家庭安防出現(xiàn)異常情況時(shí),系統(tǒng)會通過郵件推送技術(shù)給用戶發(fā)送郵件.根據(jù)需要,系統(tǒng)還可以方便地進(jìn)行功能擴(kuò)展,比如在室內(nèi)外特定區(qū)域安裝攝像機(jī),報(bào)警信息觸發(fā)外部聲光報(bào)警器等.
智能家庭用電信息系統(tǒng)硬件部分使用有源RFID 設(shè)備.
軟件部分依照瀏覽器/ 服務(wù)器(Browser/Server, B/S) 框架結(jié)構(gòu),使用開源而廣泛使用的LAMP(Linux + Apache + MySQL+ PHP) 作為解決方案包.服務(wù)器是后臺控制軟件,提供閱讀器訪問.通信協(xié)議解析.標(biāo)簽數(shù)據(jù)存儲和數(shù)據(jù)庫管理等服務(wù);瀏覽器作為人機(jī)交互工具,提取數(shù)據(jù)庫中數(shù)據(jù),進(jìn)行合理引用處理,使得任何網(wǎng)絡(luò)終端設(shè)備都可以實(shí)現(xiàn)對用電終端設(shè)備監(jiān)控;數(shù)據(jù)庫起到樞紐作用,作為系統(tǒng)核心,連接后臺解析的數(shù)據(jù),響應(yīng)前臺Web 網(wǎng)頁訪問請求.
智能用電信息系統(tǒng)后臺軟件使用JAVA 語言開發(fā),采用基于TCP/IP 協(xié)議的套接字(Socket) 技術(shù)實(shí)現(xiàn)上位機(jī)(host) 與讀卡器直接的通信,利用JAVA 語言中JDBC 與系統(tǒng)數(shù)據(jù)庫交互.
該系統(tǒng)前臺部分使用PHP 語言開發(fā),整合Ajax(AsynchronousJavaScript and XML) 技術(shù),實(shí)現(xiàn)頁面實(shí)時(shí)刷新.
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件部分主要包括標(biāo)簽和閱讀器.標(biāo)簽的硬件構(gòu)成如圖2 所示.它集成微處理器.電源管理模塊.數(shù)據(jù)存儲模塊.射頻通信模塊和數(shù)據(jù)采集接口于一體.根據(jù)數(shù)據(jù)采集接口中使用傳感器的不同,標(biāo)簽可以劃分為不同的類型.在本系統(tǒng)使用了兩種類型標(biāo)簽,電能計(jì)量標(biāo)簽和環(huán)境監(jiān)測標(biāo)簽.
電能計(jì)量標(biāo)簽的數(shù)據(jù)采集接口基于美國凌云邏輯公司的單相雙向電能芯片CS5460A.該芯片符合IEC.JIS 工業(yè)標(biāo)準(zhǔn),能夠測量瞬時(shí)電壓.瞬時(shí)電流.瞬時(shí)功率,同時(shí)具有相位補(bǔ)償及系統(tǒng)自動校準(zhǔn)功能[8].與用電設(shè)備插頭相連的電能計(jì)量標(biāo)簽采集電壓信號及電流信號,采集的電壓.電流信號通過相應(yīng)的互感器之后進(jìn)入流/ 壓變換電路,作為CS5460A 電能采集芯片的輸入.CS5460A進(jìn)行電能計(jì)量,通過串行外設(shè)接口 (SerialPeripheral Interface, SPI) 與微處理器進(jìn)行數(shù)據(jù)交互.
環(huán)境監(jiān)測標(biāo)簽在本系統(tǒng)中主要用來監(jiān)測家庭環(huán)境信息,其子類別包括溫度采集標(biāo)簽.濕度采集標(biāo)簽.煙霧濃度采集標(biāo)簽和煤氣濃度采集標(biāo)簽.它們的功能原理都是實(shí)時(shí)采集環(huán)境參數(shù),通過與微處理器內(nèi)置的基準(zhǔn)參數(shù)比對,獲得趨近于實(shí)際環(huán)境情況的參數(shù)值.微處理器內(nèi)部還可以預(yù)設(shè)范圍閾值,當(dāng)采集的參數(shù)超過閾值范圍時(shí),就可以得到報(bào)警信號.
微處理器將數(shù)據(jù)采集接口采集到的信號按照一定的編碼規(guī)則進(jìn)行整合與處理,將整合之后的數(shù)據(jù)通過射頻通信模塊以射頻信號方式發(fā)射出去.接收時(shí)再按照與編碼規(guī)則相同的解碼規(guī)則對數(shù)據(jù)進(jìn)行解碼.
讀卡器作為數(shù)據(jù)交換的一環(huán),將前端標(biāo)簽采集的家庭現(xiàn)場環(huán)境信息傳遞給后端的計(jì)算機(jī)網(wǎng)絡(luò).一方面,通過天線與標(biāo)簽進(jìn)行無線通信,實(shí)現(xiàn)讀取標(biāo)簽采集的數(shù)據(jù)和設(shè)置標(biāo)簽的設(shè)備參數(shù).另外一方面,讀卡器又通過計(jì)算機(jī)網(wǎng)絡(luò)與上位機(jī)系統(tǒng)相連,轉(zhuǎn)發(fā)接收到的標(biāo)簽信息,由上位機(jī)系統(tǒng)實(shí)現(xiàn)對標(biāo)簽數(shù)據(jù)的存儲.管理和控制.
本系統(tǒng)使用的讀卡器使用2.4 GHz 微波與標(biāo)簽雙向通信,預(yù)留RS232.RJ45 接口.讀卡器配置TCP Server.TCPClient.UDP 以及COM 協(xié)議棧,上位機(jī)系統(tǒng)可以方便選擇一種協(xié)議棧接收讀卡器轉(zhuǎn)化的標(biāo)簽數(shù)據(jù).為了實(shí)現(xiàn)同時(shí)對多個(gè)標(biāo)簽進(jìn)行識別,讀卡器執(zhí)行防碰撞算法.該讀卡器還內(nèi)置兩個(gè)繼電器,繼電器可以與電源開關(guān)相連,也可以與報(bào)警器相連.
當(dāng)系統(tǒng)中出現(xiàn)緊急情況時(shí),觸發(fā)繼電器斷開電源開關(guān)或者觸發(fā)外部報(bào)警器提醒用戶,從而保障用電安全.
3 系統(tǒng)軟件設(shè)計(jì)
根據(jù)模塊化的設(shè)計(jì)原則,在功能上把系統(tǒng)軟件劃分為三層,即數(shù)據(jù)服務(wù)層.邏輯處理層和用戶表示層.數(shù)據(jù)服務(wù)層將標(biāo)簽采集到的各設(shè)備的數(shù)據(jù)信息存儲到磁盤上;邏輯處理層提供一系列數(shù)據(jù)處理接口,根據(jù)系統(tǒng)的要求將各種類信息進(jìn)行歸并.去冗余等操作;用戶表示層與系統(tǒng)用戶直接交互,接受用戶的訪問請求,出現(xiàn)異常情況及時(shí)向用戶報(bào)告.
3.1 數(shù)據(jù)服務(wù)層
智能家庭用電信息系統(tǒng)使用關(guān)系型數(shù)據(jù)庫MySQL 存儲數(shù)據(jù)信息.圖3 所示是其數(shù)據(jù)庫表結(jié)構(gòu).
本系統(tǒng)對用戶的電表.系統(tǒng)的用電設(shè)備.環(huán)境監(jiān)測位置及用戶信息進(jìn)行統(tǒng)一編號,并以編號作為唯一標(biāo)識符連接各個(gè)實(shí)體.
系統(tǒng)包括六張表:系統(tǒng)信息表存儲用戶家庭用電總體信息,系統(tǒng)以固定的時(shí)間間隔計(jì)算系統(tǒng)的電量消耗情況,因而時(shí)間作為主鍵.其他的字段信息包括總用電量.月用電量.停電閾值和剩余電量.設(shè)備信息表存儲系統(tǒng)監(jiān)測設(shè)備的相關(guān)信息,本系統(tǒng)為每個(gè)用電設(shè)備預(yù)設(shè)了最大的消耗電量值.該表以設(shè)備編號為主鍵,同時(shí)對設(shè)備位置.設(shè)備名稱及購買時(shí)間等信息也進(jìn)行了存儲.電能計(jì)量標(biāo)簽采集的數(shù)據(jù)存儲到設(shè)備用電信息表中,該表以設(shè)備編號和計(jì)量時(shí)間作為聯(lián)合主鍵,實(shí)時(shí)反映設(shè)備用電信息.環(huán)境監(jiān)測標(biāo)簽采集的數(shù)據(jù)存入家居安防信息表中,實(shí)時(shí)存儲檢測到的溫濕度.煙霧濃度及煤氣濃度信息.為保障系統(tǒng)安全,系統(tǒng)為其設(shè)計(jì)了用戶信息表,該表存儲具有訪問權(quán)限的用戶信息及用戶級別.當(dāng)系統(tǒng)出現(xiàn)異常情況需要報(bào)警時(shí),相關(guān)的信息會存入報(bào)警信息表中.它具有處理標(biāo)識,如果該報(bào)警信息已經(jīng)被用戶處理了,則不再重復(fù)報(bào)警.
為了使系統(tǒng)各層具有高內(nèi)聚.低耦合特性,同時(shí)方便數(shù)據(jù)庫操作,本設(shè)計(jì)集成Hibernate 框架于系統(tǒng)中進(jìn)行對象實(shí)體關(guān)系映射.同時(shí),Hibernate 對JDBC 進(jìn)行了輕量級對象封閉,使得Java 程序員可以使用面向?qū)ο蟮乃季S來操作關(guān)系數(shù)據(jù)庫.另外,系統(tǒng)還對數(shù)據(jù)庫中每一張數(shù)據(jù)表建立了一個(gè)數(shù)據(jù)訪問對象(Data Access Object,DAO),并由DAO 作為訪問數(shù)據(jù)庫的統(tǒng)一接口,因而隱藏了數(shù)據(jù)庫具體實(shí)現(xiàn)細(xì)節(jié).
3.2 邏輯處理層
邏輯處理層為系統(tǒng)提供數(shù)據(jù)訪問操作接口,具體劃分為如圖4 所示的四個(gè)業(yè)務(wù)子模塊,即業(yè)務(wù)接口模塊.業(yè)務(wù)處理模塊.數(shù)據(jù)接口模塊和數(shù)據(jù)緩沖模塊.業(yè)務(wù)接口模塊接收從用戶觸發(fā)的訪問請求事件,將事件傳遞.解析,根據(jù)訪問請求的事件類型調(diào)用業(yè)務(wù)處理模塊中對應(yīng)的功能模塊.業(yè)務(wù)處理模塊定義本系統(tǒng)所要做工作,包括電能計(jì)量.電價(jià)查詢.家庭安防及異常報(bào)警等.數(shù)據(jù)接口模塊直接面向數(shù)據(jù)庫,提供數(shù)據(jù)庫查詢訪問及數(shù)據(jù)篩選等工作,之后將數(shù)據(jù)交給數(shù)據(jù)緩沖模塊進(jìn)行數(shù)據(jù)的分析和封裝.這樣一個(gè)流程之后,用戶就能獲得所訪問的結(jié)果.
家庭智能用電系統(tǒng)的各個(gè)模塊分工合作,完成各自任務(wù),實(shí)現(xiàn)系統(tǒng)功能,圖5 所示是其程序流程.
程序開始運(yùn)行之后獲取各個(gè)標(biāo)簽的狀態(tài)量,這些狀態(tài)量包括家庭各用電設(shè)備的電流電壓功率.室內(nèi)外環(huán)境中溫濕度.室內(nèi)外環(huán)境中煙霧及煤氣濃度,然后判斷這些狀態(tài)量中是否存在有異常情況.如果有異常,則判斷異常屬于哪種情況,將相關(guān)信息寫入數(shù)據(jù)庫并提示報(bào)警;反之,則直接通過Internet連接供電局得到當(dāng)前階段電價(jià).程序根據(jù)階段電價(jià)信息計(jì)算用戶當(dāng)前所用電量電費(fèi),如果用戶預(yù)存入的電費(fèi)余額不多,也把相關(guān)信息寫入數(shù)據(jù)并提醒用戶及時(shí)充值.
3.3 用戶表示層
為了適應(yīng)當(dāng)前移動平臺發(fā)展趨勢,本系統(tǒng)以B/S 作為框架結(jié)構(gòu),并以PHP 語言結(jié)合CSS.HTML 來開發(fā)用戶表示層.
為了保證系統(tǒng)具有良好的響應(yīng)機(jī)制,在實(shí)施的過程中采用Ajax 技術(shù).使用Ajax 技術(shù),系統(tǒng)在對用戶請求進(jìn)行響應(yīng)過程中建立異步請求對象,避免了客戶端和服務(wù)器間直接交互.用戶請求的數(shù)據(jù)信息交由Ajax 引擎完成,使用戶操作和服務(wù)器響應(yīng)異步化,減少冗余數(shù)據(jù)的重載,縮短了用戶的等待時(shí)間.
為本系統(tǒng)開發(fā)的一個(gè)官方微博能自動發(fā)布消息.進(jìn)入互聯(lián)網(wǎng)提供商的應(yīng)用開發(fā)平臺創(chuàng)建應(yīng)用后申請App Key 和AppSecret 這兩個(gè)與授權(quán)相關(guān)的信息,下載與開發(fā)語言相對應(yīng)的SDK( 本系統(tǒng)使用Java 版本),里面有demo,把App Key 及App Secret 填入配置文件,根據(jù)想要實(shí)現(xiàn)的功能編寫和修改demo.
借助甲骨文公司提供的JavaMail API,利用谷歌郵箱作為發(fā)送者,使用簡單郵件傳輸協(xié)議(Simple Mail TransferProtocol, STMP),實(shí)現(xiàn)系統(tǒng)郵件自動推送.
4 系統(tǒng)功能
注冊用戶可以遠(yuǎn)程實(shí)現(xiàn)對電器設(shè)備自動化監(jiān)控和電能計(jì)量管理,系統(tǒng)出現(xiàn)的異常報(bào)警信息則以郵件推送方式報(bào)告給用戶.本系統(tǒng)實(shí)現(xiàn)的具體功能如下:
(1) 用戶可以通過瀏覽器實(shí)時(shí)查看家庭內(nèi)部耗電設(shè)備的有功功率的變化曲線及耗電設(shè)備占家庭用電的百分比.
(2) 用戶可以通過瀏覽器更改家庭設(shè)備的參數(shù),從而遠(yuǎn)程控制家庭設(shè)備的開關(guān).
(3) 系統(tǒng)每月自動生成包含所有設(shè)備用電狀況的電費(fèi)賬單,包括用電總度數(shù).超出各檔階梯電價(jià)度數(shù).各設(shè)備具體用電度數(shù)及占總耗電的百分比.本月用電趨勢等信息.幫助用戶詳細(xì)了解用電狀況,從而指導(dǎo)用戶提出更優(yōu)化的用電方案.
(4) 電費(fèi)賬單通過綁定的郵箱和微博推送,用戶只需登錄郵箱或關(guān)注系統(tǒng)綁定的官方微博就可以了解最新的家庭用電狀況.
(5) 用戶可以設(shè)定各用電設(shè)備的功率及耗能閾值,當(dāng)設(shè)備用電功率或本月總耗能超出設(shè)定的閾值時(shí),通過發(fā)送郵件和微博進(jìn)行提醒,用戶可以根據(jù)需要決定是否遠(yuǎn)程關(guān)閉用電設(shè)備.
(6) 系統(tǒng)實(shí)時(shí)監(jiān)控家庭環(huán)境信息,自動調(diào)控室內(nèi)的溫濕度信息.
(7) 煙霧及煤氣檢測標(biāo)簽監(jiān)控室內(nèi)其濃度含量,出現(xiàn)異常事件時(shí),及時(shí)報(bào)警.
5 結(jié) 語
基于RFID 技術(shù)的智能家庭用電信息平臺可實(shí)時(shí)采集顯示用戶當(dāng)前用電信息,提供用電信息查詢功能,監(jiān)控家庭環(huán)境溫濕度信息,并具有防火災(zāi)報(bào)警及防煤氣泄露功能,同時(shí)可實(shí)現(xiàn)對用電終端.家庭安防的智能監(jiān)控.另外,本系統(tǒng)以RFID 標(biāo)簽作為采集器采集家庭環(huán)境信息,以無線射頻信號作為通信介質(zhì),通過讀卡器轉(zhuǎn)化標(biāo)簽信號與網(wǎng)絡(luò)相連,上位機(jī)系統(tǒng)將數(shù)據(jù)存儲在數(shù)據(jù)庫中,對其進(jìn)行算法處理和數(shù)據(jù)分析,瀏覽器可以方便地對這些信息訪問,并具有網(wǎng)絡(luò)安全性高.可靠性強(qiáng).實(shí)施難度低和性價(jià)比高等優(yōu)點(diǎn),功能容易擴(kuò)展.