新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 智能家居無線網(wǎng)絡(luò)通訊協(xié)議設(shè)計方案

智能家居無線網(wǎng)絡(luò)通訊協(xié)議設(shè)計方案

作者: 時間:2013-06-05 來源:網(wǎng)絡(luò) 收藏

無線

  智能家終端設(shè)備品種繁多,且功能不一,不同設(shè)備要進行統(tǒng)一控制,必須對各種設(shè)備進行抽象處理,提取它們的共同特征??梢园呀K端設(shè)備抽象成文件,在控制端分配一塊內(nèi)存描述該設(shè)備當前狀態(tài),利用設(shè)備控制方法讀取或修改當前狀態(tài),控制方法可分為三類:文件讀?。≧ead),文件修改(Write),文件控制(Control)。

  Read:讀設(shè)備文件操作,即對節(jié)點設(shè)備狀態(tài)掃描查詢,程序設(shè)計API 如下:

  void drv_lit_read(rxp_cmdreq req)以上為讀設(shè)備API 入口,參數(shù)req 為結(jié)構(gòu)體指針,寫、控制設(shè)備操作類似。

  Write:寫設(shè)備文件操作,即對節(jié)點設(shè)備狀態(tài)修改,程序設(shè)計API 如下:

  void drv_lit_write(rxp_cmdreq req)Control:控制設(shè)備文件操作,即對節(jié)點設(shè)備狀態(tài)的調(diào)節(jié)。程序設(shè)計API 如下:

  void drv_lit_cnt(rxp_cmdreq req)并不是所有的文件都支持這三種控制方法,多數(shù)文件只支持前兩種控制方法,下文以燈控設(shè)備為例。

  3.1

  無線射頻模塊nRF24l01 對應(yīng)收發(fā)模式的數(shù)據(jù)有效負載最大為32 個字節(jié),該數(shù)據(jù)包作為一幀數(shù)據(jù),其中可分成三類數(shù)據(jù):驅(qū)動接口數(shù)據(jù),記錄控制數(shù)據(jù)以及記錄數(shù)據(jù),輸入幀與輸出幀數(shù)據(jù)類型相同。數(shù)據(jù)格式如表1.

表1 幀數(shù)據(jù)格式

智能家居無線網(wǎng)絡(luò)通訊協(xié)議設(shè)計方案

  (1)驅(qū)動接口數(shù)據(jù)。

  Dest:接收端地址,1 字節(jié)表示,屬性值從0-255,可以表示256 個節(jié)點地址,滿足多數(shù)的節(jié)點資源。

  Src:發(fā)送端地址,1 字節(jié)表示,與Dest 意義相同。

  Cmdid:節(jié)點命令碼,1 字節(jié)表示,如上文表示,共有三種類型:0x01,表示讀命令(read);0x02,表示寫命令(write);0x03,表示控制命令(control)。

  節(jié)點即對應(yīng)從控制器編號。

  Fileid:文件標志符,1 字節(jié)表示,即節(jié)點地址上對應(yīng)的設(shè)備號,最大支持0x00-0xFF 256 個文件。

 ?。?)記錄控制數(shù)據(jù)。

  Result:操作結(jié)果碼,1 字節(jié)表示,當有數(shù)據(jù)返回時,要求填寫該字節(jié)。0x00,操作成功;0x10,非法節(jié)點;0x11,非法文件標識符;0x12,非法初始記錄值;0x13,非法記錄。0xFF,默認無效值。

  Start:記錄開始值,1 字節(jié)表示,當有多條記錄操作時,該值即對應(yīng)的記錄序。

  Len:記錄長度,1 字節(jié)表示,當作為輸入數(shù)據(jù)時,表示記錄操作的長度,如果Len 值大于當前節(jié)點的最大記錄長度,則取當前節(jié)點記錄長度最大值;當作為輸出數(shù)據(jù)時,表示當前節(jié)點操作的記錄長度。

 ?。?)記錄數(shù)據(jù)Records:記錄數(shù)據(jù)緩沖,緩沖區(qū)達25 個字節(jié)。

  該緩沖區(qū)可存放多條記錄,記錄格式如表2,每條記錄字節(jié)長度不一,一般在3-5 個字節(jié)左右,最多能存放8 條記錄。

表2 記錄數(shù)據(jù)格式

智能家居無線網(wǎng)絡(luò)通訊協(xié)議設(shè)計方案

  該Len 值與記錄控制數(shù)據(jù)中的Len 值意義不同,表示該條記錄的字節(jié)長度,其中并不包含本身字節(jié)長度,1 個字節(jié)長度;Opt 值為保留字節(jié),一般無意義,控制命令與該字節(jié)相關(guān),1 個字節(jié)度;Content 為設(shè)備文件的記錄值,記錄字節(jié)長度不定,一般1-2 字節(jié)長。

  3.2 協(xié)議擴展與特點

  地址資源,單字節(jié)的Dest 與Src 地址分配對于普通的用戶完全能滿足要求,對于家居環(huán)境復(fù)雜,地址分配點較多的用戶,可能會出現(xiàn)資源不夠的情況,該情況可將Dest 與Src 地址擴展至16 位,即2字節(jié)。滿足65535 個節(jié)點要求。

  節(jié)點命令碼,三種命令類型只占用Cmdid 的二位,其余的高六位值保留,以備協(xié)議擴展所需。同理。

  記錄選項,Opt 為保留字節(jié),默認值為0x00,該字節(jié)主要針對控制操作,用于記錄控制操作符,如表2 說明,主要針對燈控文件的變亮,變暗操作。

  該的設(shè)計主要有以下特點:

 ?。?)統(tǒng)一外設(shè),將外部設(shè)備抽象成標準文件,并在控制器內(nèi)存記錄文件內(nèi)容,操作指定設(shè)備只需訪問該設(shè)備映射文件所處內(nèi)存空間數(shù)據(jù)即可,規(guī)范外設(shè)標準,提高通訊效率。

 ?。?)通訊協(xié)議的制定極大的優(yōu)化了主控制器與射頻模塊之間的數(shù)據(jù)傳輸性能,主控制器只需根據(jù)固定的通訊協(xié)議格式填充即可,簡化其處理過程。

 ?。?)同樣簡化了從控制節(jié)點的數(shù)據(jù)處理過程。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉