打開自獲能無線技術(shù)的應(yīng)用之門
EnOcean Link是無線無源技術(shù)中第一款接口軟件(中間軟件)。它將EnOcean報(bào)文轉(zhuǎn)換成可讀的數(shù)據(jù)包,這些數(shù)據(jù)包可以很容易的進(jìn)行各種應(yīng)用或者封裝到別的網(wǎng)絡(luò)報(bào)文中,從而使得EnOcean技術(shù)與別的網(wǎng)絡(luò)系統(tǒng)深度鏈接更加方便。
自獲能技術(shù)早已進(jìn)入我們的日常生活。自獲能無線電系統(tǒng)已經(jīng)存在于各種各樣的建筑、廠房以及其他領(lǐng)域。在如今這樣深度網(wǎng)絡(luò)連接的時(shí)代,一個(gè)日益增長(zhǎng)的需求就是將無線無源設(shè)備鏈接入基于各種不同網(wǎng)絡(luò)協(xié)議的網(wǎng)絡(luò)系統(tǒng)中,這些不同的網(wǎng)絡(luò)協(xié)議如:WiFi、GSM、Ethernet/IP、BACnet、LON、KNX、DALI。以前,設(shè)備生產(chǎn)商不得不開發(fā)自己的軟件方案來將EnOcean信號(hào)轉(zhuǎn)換為滿足要求的通信協(xié)議。這個(gè)困難現(xiàn)在可以被第一款為自獲能無線網(wǎng)絡(luò)設(shè)計(jì)的插件 —EnOcean Link解決掉了。
無需電池供電
無線自獲能技術(shù)源自一個(gè)簡(jiǎn)單的理念 — 無線傳感器安裝的地方,總會(huì)有足夠的環(huán)境能量供其感應(yīng)信息和發(fā)送無線電信號(hào)。自獲能的能量來源包括:機(jī)械運(yùn)動(dòng)、室內(nèi)光線以及溫度變化。這種隨時(shí)存在的能源提供了足夠的能量用來發(fā)射和接收無線開關(guān)、傳感器、執(zhí)行和控制器之間的無線電信號(hào),從而使得至關(guān)重要的無線電通信系統(tǒng)得以維持。微型能量采集轉(zhuǎn)換器代替電池為無線電設(shè)備供電。通過已裝有專門開發(fā)的軟件的網(wǎng)關(guān)(gateway),無線電設(shè)備能夠與不同的通信標(biāo)準(zhǔn)相連接,通常,這個(gè)網(wǎng)關(guān)軟件可以連接EnOcean信號(hào)和另外一種協(xié)議。
即插即用
即插即用的EnOcean Link為自獲能無線電方案和其它各種進(jìn)一步處理無線信息的自動(dòng)化應(yīng)用提供了一個(gè)通用接口,掃除了之前所遇到的障礙。因此,該軟件可以把EnOcean報(bào)文字節(jié)轉(zhuǎn)變成數(shù)據(jù)值。因此,例如溫濕度的傳感器數(shù)據(jù),無論是來自設(shè)備還是服務(wù)器甚至是云服務(wù)器,都可以立刻得到處理。設(shè)備生產(chǎn)商現(xiàn)在可以輕松快速的將EnOcean技術(shù)融入各種應(yīng)用和系統(tǒng)。例如在智能家居系統(tǒng)中的應(yīng)用。
EnOcean Link是一個(gè)鏈接不同系統(tǒng)和應(yīng)用的接口軟件。它本身并不直接服務(wù)于應(yīng)用程序,但是卻能使應(yīng)用程序理解網(wǎng)絡(luò)中不同的部件和系統(tǒng),即使他們基于不同的協(xié)議標(biāo)準(zhǔn)。由于不同的協(xié)議地址使用類似的方式,使得這種無縫通信成為可能。這就為簡(jiǎn)化集成不同的功能和應(yīng)用程序提供了有益的技術(shù)框架。EnOcean Link是目前第一款專門為超低功耗的無線自獲能技術(shù)網(wǎng)絡(luò)設(shè)計(jì)的接口軟件。其他的同類接口軟件將進(jìn)一步推出。它相當(dāng)于一個(gè)函數(shù)庫,不需要?jiǎng)e的內(nèi)部運(yùn)行就可以為各通信層提供服務(wù)。通過應(yīng)用該軟件,開發(fā)者增加了對(duì)出入接口和數(shù)據(jù)存儲(chǔ)的執(zhí)行次序的控制。
該接口軟件最大的功能是自動(dòng)解釋EnOcean協(xié)議棧和EnOcean聯(lián)盟應(yīng)用文件(EnOcean設(shè)備文件,EEPs),當(dāng)然也包括數(shù)據(jù)加密文件。一般來說,該軟件可以完成以下三個(gè)任務(wù):
1.協(xié)議標(biāo)準(zhǔn)接收和解碼并轉(zhuǎn)入數(shù)據(jù)通信
2.設(shè)備連接,包括學(xué)習(xí)報(bào)文的接收和設(shè)備信息的存儲(chǔ)
3.相應(yīng)協(xié)議標(biāo)準(zhǔn)編碼要輸出的數(shù)據(jù),并將其發(fā)送給更多的處理系統(tǒng)
解釋協(xié)議棧
ESP3(EnOcean Serial Protocol 3.0)描述了主機(jī)和無線無源接收機(jī)之間的串口通信協(xié)議。主機(jī)可以是外部微處理器也可以是包括特定應(yīng)用程序的PC。ESP3是一個(gè)點(diǎn)到點(diǎn)的數(shù)據(jù)報(bào)文協(xié)議。該協(xié)議包會(huì)攜帶如:用戶數(shù)據(jù)(有效負(fù)載)、命令、時(shí)間或者應(yīng)答消息。
每一個(gè)ESP3數(shù)據(jù)包包含報(bào)文頭、數(shù)據(jù)和可選數(shù)據(jù)。每一個(gè)這樣的部分都包含1或X字節(jié)的數(shù)據(jù)。例如,數(shù)據(jù)包頭包含如下部分:數(shù)據(jù)長(zhǎng)度(數(shù)據(jù)部分的字節(jié)數(shù)),可選長(zhǎng)度(可選數(shù)據(jù)部分的字節(jié)數(shù)),數(shù)據(jù)包類型(如:無線電、應(yīng)答、事件、命令)。
EnOcean Link為無線無源網(wǎng)絡(luò)提供了數(shù)個(gè)協(xié)議層的服務(wù)。在物理層,EnOcean Link從網(wǎng)關(guān)(gateway)接收UART數(shù)據(jù)串(通用異步收發(fā))。這些數(shù)據(jù)串可以直接來自于網(wǎng)關(guān)(gateway)或者選擇性的來自于骨干網(wǎng)的封裝負(fù)載協(xié)議。ESP3的編碼器是位于物理層。物理層包含著所有有必要的操作內(nèi)容,用來封裝成相應(yīng)數(shù)據(jù)報(bào)文提供給以后的處理。有兩個(gè)最重要的數(shù)據(jù)區(qū)域是有效負(fù)載和發(fā)送ID。
配置文件的翻譯是基于預(yù)存的應(yīng)用程序配置文件,將報(bào)文段中的有效負(fù)載信息翻譯成人們可以看得懂的數(shù)據(jù),如溫度、濕度。提供這些數(shù)據(jù)的被稱為設(shè)備通道。設(shè)備通道可以通過API接口為應(yīng)用程序提供服務(wù)。API接口可以被應(yīng)用程序源代碼直接請(qǐng)求,也可以通過包含EnOcean Link的隧道協(xié)議請(qǐng)求。
包含應(yīng)用程序
設(shè)備通道是EnOcean Link應(yīng)用程序接口非常重要的一部分。它們?cè)谝粋€(gè)摘要結(jié)構(gòu)中傳送這些由設(shè)備提供的數(shù)據(jù)。裝載著設(shè)備發(fā)送和編碼信息的設(shè)備配置文件是按照EnOcean設(shè)備配置文件(EEP)編寫的。這些標(biāo)準(zhǔn)化應(yīng)用程序協(xié)議是由EnOcean聯(lián)盟技術(shù)委員會(huì)依照國際無線電標(biāo)準(zhǔn)ISO/IEC 14543-3-10編寫的。該協(xié)議為自獲能結(jié)構(gòu)以及底層協(xié)議做了無線電短報(bào)文協(xié)議優(yōu)化。該協(xié)議為無線自獲能傳感器和開關(guān)提供了足夠有效的資源利用。這是唯一一個(gè)專門為節(jié)約能耗提出的協(xié)議標(biāo)準(zhǔn),來滿足傳感器尤其是需要按壓形變極小的開關(guān)的要求。通過發(fā)送非常短并且多次發(fā)送的報(bào)文來滿足要求,同時(shí)通過選擇使用利用率較低的頻率來降低干擾。該協(xié)議提出了類似于網(wǎng)絡(luò)OSI模型的物理層和鏈路層。應(yīng)用程序文件時(shí)為了時(shí)間來自不同廠商的產(chǎn)品之間的互操作性而定義的,使其可以在同一個(gè)系統(tǒng)中無縫的實(shí)現(xiàn)協(xié)同工作。
通用的通道類型
對(duì)于EnOcean Link,EEP將通過設(shè)備通道映射到已經(jīng)存在的通用設(shè)備協(xié)議。通過設(shè)備用到,EEP可以抽象到一個(gè)更一般的定義。由于設(shè)備通道和設(shè)備時(shí)彼此獨(dú)立的,這有助于在應(yīng)用層處理EEP。因此,設(shè)備制造商可以更簡(jiǎn)單的開發(fā)出能和外部應(yīng)用程序?qū)拥幕贓nOcean的新方案或者集成設(shè)備/網(wǎng)絡(luò)。
完整的設(shè)備通道描述包括CHANNEL_TYPE和計(jì)數(shù)信息(工程最小值、工程最大值、比例因子)以及SUB_FLAG。SUB_FLAG只能應(yīng)用于當(dāng)一個(gè)設(shè)備和與其相匹配的CHANNEL_TYPE同時(shí)嵌入通道時(shí)。在這種情況下,SUB_FLAG負(fù)責(zé)區(qū)分通道。
EnOcean Link包括三種不同的CHANNEL_TYPE:
1.GNAL - 這類通道呈現(xiàn)物理值,即可測(cè)量的值。Signal類設(shè)備通道有:溫度、濕度、照明通道等
2.AG – 僅顯示兩種情況的值,如開/關(guān)、上/下、壓/沒壓,比如窗磁數(shù)據(jù)
3.UM – 枚舉現(xiàn)實(shí)狀態(tài)、位置、計(jì)數(shù)以及別的不能以FLAG或者SIGNAL形式顯示的數(shù)值,如,房間操作板
命令安全
對(duì)于越來越多的內(nèi)部連接應(yīng)用程序(如:智能家居、控制系統(tǒng)、M2M、能源管理系統(tǒng))來說,安全性越來越重要。應(yīng)用車庫門感應(yīng)器、人體傳感器以及窗磁可以感知到居民的行為,同時(shí)也可能未經(jīng)授權(quán)的檢測(cè)到一棟建筑的內(nèi)部情況。為了滿足特殊的加密要求,EnOcean提供了增強(qiáng)的加密機(jī)制,用以防止信息被竊取攻擊。一個(gè)連續(xù)不斷的統(tǒng)計(jì)所有傳入傳出報(bào)文的EnOcean節(jié)點(diǎn)也因此確保了報(bào)文不會(huì)丟失。一個(gè)16bit或者24bit的遞增循環(huán)碼不斷變化的加入每一個(gè)報(bào)文中來實(shí)現(xiàn)安全機(jī)制。報(bào)文頭、報(bào)文數(shù)據(jù)以及當(dāng)前循環(huán)碼都要核對(duì)一個(gè)24bit或者32bit的數(shù)字消息驗(yàn)證碼(CMAC)。CMAC計(jì)數(shù)也被AES128加密算法保護(hù)。接收系統(tǒng)可以在編碼的基礎(chǔ)上驗(yàn)證數(shù)據(jù)報(bào)文。這個(gè)功能很好的保護(hù)了網(wǎng)絡(luò)免于應(yīng)答攻擊。另一個(gè)機(jī)制是發(fā)射機(jī)發(fā)送加密的數(shù)據(jù)包,數(shù)據(jù)用有128bit秘鑰的AES加密算法加密。通過這種方法可以免于竊聽攻擊。
如果無線電報(bào)文在空中接口處加密,EnOcean Link可以在將其轉(zhuǎn)送給外置處理器處理之前對(duì)其解碼。反之亦然,EnOcean Link可以在轉(zhuǎn)發(fā)一個(gè)應(yīng)用程序之前對(duì)其進(jìn)行加密。這種安全功能使得設(shè)備制造商很容易在他們的應(yīng)用程序里實(shí)現(xiàn)數(shù)據(jù)加密,這使得EnOcean Link很適用于有重要的應(yīng)用程序需要傳輸?shù)那闆r。
圖1: EnOcean Link接口軟件功能 – 協(xié)議層,功能,接口
應(yīng)用程序舉例
設(shè)備生產(chǎn)商可以通過EnOcean Link將EnOcean設(shè)備和系統(tǒng)與更多地外部網(wǎng)絡(luò)相連接,比如:BACnet、KNX、Z-wave、Zigbee、低功耗藍(lán)牙以及GSM。
在智能家居中的應(yīng)用
在智能家居中,網(wǎng)關(guān)可以使用EnOcean Link快速解釋EnOcean傳感器信息,例如溫度、人體感應(yīng)以及光強(qiáng)度信息,同時(shí)將這些信息轉(zhuǎn)發(fā)到建筑的核心控制系統(tǒng)。在這里,EnOcean Link是智能家居盒子的一部分,通常中央單元控制房屋里的連接系統(tǒng)。智能家居盒子掌握著應(yīng)用程序的人工智能,而且許多情況下通過第三方協(xié)議連接到云服務(wù)器。因此,將EnOcean Link程序和智能家居控制程序運(yùn)行于同一個(gè)硬件上,也已作為借口連接EnOcean身背。結(jié)果使得智能家居系統(tǒng)甚至在改造項(xiàng)目中也可以安裝簡(jiǎn)單,同時(shí)集合了無線無源傳感系統(tǒng)的優(yōu)點(diǎn)以及智能家居應(yīng)用程序的安全性。
圖2: EnOcean Link接口軟件在智能家居系統(tǒng)中的應(yīng)用
控制建筑
除了住宅應(yīng)用,EnOcean Link還可以應(yīng)用于各種復(fù)雜的建筑場(chǎng)景。在這種情況下,EnOcean Link被應(yīng)用中中央設(shè)備里,比如控制整個(gè)建筑,掌控人工智能,同時(shí)連接外部網(wǎng)絡(luò)的控制服務(wù)器。在建筑中,一些網(wǎng)關(guān)需要接收數(shù)以千計(jì)的EnOcean傳感器信息,還要應(yīng)答接收者、發(fā)送返回信息或者如果需要的話還要發(fā)送命令數(shù)據(jù)。這些網(wǎng)關(guān)通過骨干網(wǎng)與控制服務(wù)器連接,骨干網(wǎng)并不一定基于EnOcean技術(shù)。比如,它可以是EnOcean/IP網(wǎng)關(guān)。位于中央單元的EnOcean Link可以立即為整個(gè)智能系統(tǒng)解釋所有來自于網(wǎng)關(guān)的報(bào)文。
圖3: EnOcean Link接口軟件在樓宇自動(dòng)化系統(tǒng)中的應(yīng)用
快速開發(fā)
由于EnOcean Link幫助節(jié)約了開發(fā)資源,設(shè)備開發(fā)商可以很快的生產(chǎn)出基于EnOcean的應(yīng)用程序并將其推向市場(chǎng)。設(shè)備開發(fā)商無需再另行開發(fā)軟件用于轉(zhuǎn)換EnOcean協(xié)議了,他們可以利用現(xiàn)成的EnOcean Link。同樣適用于將EnOcean協(xié)議作解釋用于下一步處理的應(yīng)用程序。隨著EnOcean Link的高效率使用,它可以很快在全世界范圍內(nèi)得到應(yīng)用。盡管它最初是基于Linux系統(tǒng)開發(fā)的,該軟件同樣適用于別的架構(gòu)平臺(tái),比如OSGi或者EEBus。購買了正版的軟件后,設(shè)備生產(chǎn)商第一年能夠接收到所有免費(fèi)的更新。之后,還會(huì)依照相關(guān)的協(xié)議提供相應(yīng)的技術(shù)支持。
作者:Marian Hönsch,德國易能森有限公司
翻譯:劉磊,德國易能森有限公司北京代表處
本文為MWRF.NET獨(dú)家專稿,未經(jīng)允許不得轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)聯(lián)系market#mwrf.net(#換成@)