例如,感應器分四種類型:
- 水量感應器: A 廠製造,感應電導率、水溫、氯含量、酸度和渾度。
- 水位感應器: B 廠製造,感應水位。
- 水質感應器: C 廠製造,感應瞬時水質、累積水質、瞬間水速、累積時間。
- 雷擊感應器: D 廠製造,感應雷擊並產生警訊。
不同的感應器有不同的協定,以水位感應器來說,只有一個水位值;而水質感應器必須提供四個值。對於不同數目的資料,本文以下列資料格式表達資料部份:
開頭記號、全長、 master node 代碼、 sensor 代碼、命令、資料、檢查碼、尾端記號。假設 master node 代碼是 0x0B , sensor 代碼是 0x02 ,命令是 "send" 、代碼是 43 ,而資料是 10 02 83 84 01 00 01 01 00 00 00 58 6F BD 3F F9 02 15 D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BE 8B 10 ,檢查碼是 03 6B ,資料開頭記號是 02 ,尾端記號是 03 ,則合起來的資料為:
02 29 0B 02 43 10 02 83 84 01 00 01 01 00 00 00 58 6F BD 3F F9 02 15 D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BE 8B 10 03 6B 03
以上資料是感測器送到 master node 的資料。
Master node 要將由原資料加上標頭,並轉換為 EPC 和 URN ,符合 EPCglobal 的規定。 EPC 標頭欄位基本上是對應於感應器的製造商和機器類型等資訊的數字,假設水位感應器標頭是 36000002 ,水質感應器標頭是 36000003 。 EPC 的資料欄位是從原資料取出資料欄位,例如對水位資料,取出水位欄的值;對水質資料,取出四個欄位的值。
由前例,從水位感應器送來資料為 02 29 0B 02 43 10 02 83 84 01 00 01 01 00 00 00 58 6F BD 3F F9 02 15 D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BE 8B 10 03 6B 03 ,加上標頭成為 EPC 是 36 00 00 02 10 02 83 84 01 00 01 01 00 00 00 58 6F BD 3F F9 02 15 D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BE 8B 10 。
再使用前例,假設是從水質感應器送來的資料,並且 master node 想要傳送有關第三欄位的資訊。假設第三欄位值是 58 6F BD 3F F9 02 15 D0 ,則應取出第三欄位的值,加上標頭,得 EPC 是 36 00 00 03 58 6F BD 3F F9 02 15 D0 。
水位感應器的 URN 格式為:
urn:sensor:com:waterlevel:[值]欄位 "com" 是製造商公司。
水質感應器有四個欄位, URN 格式為:
urn:sensor:com:waterflux:[值 1].[值 2].[值 3].[值 4]用 "." 做間隔,區分各欄位值。
按照前二例,水量感應的 EPC 是 36 00 00 02 10 02 83 84 01 00 01 01 00 00 00 58 6F BD 3F F9 02 15 D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BE 8B 10 , URN 是 urn:sensor:b:waterlevel:586FBD3FF90215D0。假設水質感應的 EPC 是 36 00 00 03 20 20 20 20 30 2E 30 20 6D 33 2F 68 20 20 31 34 39 37 35 37 2E 35 32 20 6D 33 20 20 30 2E 30 30 30 20 6D 2F 73 20 37 35 39 33 3A 33 30 00 0 , URN 是 urn:sensor:c:waterflux:20202020302E30206D332F68.20203134393735372E3532206D33.2020302E303030206D2F73.20373539333A3330000 。
No comments:
Post a Comment