正文 基於物聯網的農業大棚信息感知係統設計(2 / 3)

土壤溫濕度感知通過土壤溫濕度傳感器完成。本係統選用YSHT5-5型土壤溫濕度傳感器,濕度測量範圍為0~100%RH,精度為±1.8%RH,溫度測量範圍為-40~+123.8 ℃,精度為±0.3 ℃,功耗為80 μW。該傳感器適用於多種類型的栽培基質。空氣溫濕度傳感器選用簡單耐用的HMP60溫濕度傳感器,溫度精度±0.6 ℃,濕度精度±3%RH,工作環境溫度為-40~60 ℃。二氧化碳濃度傳感器選擇BMG-CO2-NDIR防護型二氧化碳傳感器,檢測分辨率為±10 ppm,測量精度為±5%,工作環境溫度為0~50 ℃,工作環境濕度為0~100%RH,工作電壓為24 VDC,該傳感器具有較高的靈敏度,受溫度變化的影響較小。

2.2 服務器通信協議和軟件設計

服務器(上位機)主要完成數據的接收、存儲和處理的功能。使用C# Winsock完成網關節點傳輸的數據的解析、處理、存儲和分析。利用C#開發Win Service異步數據處理服務進程程序,數據庫采用SQL Server2008。服務進程安裝在服務器上並設置為開機啟動,服務進程持續監聽特定端口。

數據處理流程是服務器持續監聽設定的通信端口。如果網關節點有數據上報,則接收並解析上報數據,如果上報數據格式錯誤則丟棄,否則解析數據,並將解析後的數據按照數據類別存儲到對應的數據表中。服務進程同時會周期性的從命令數據表中查詢下達到網關節點的命令,如果查詢到有新的命令,則按照通信協議,構造下發命令的數據包,發送給網關節點,並等待命令執行的返回結果。

(1)網關節點上報數據示例CN=1210;MN=20050708S00001;SN=00007;CP=&;&;DataTime=20081028110346;01-Rtd=20.910;02-Rtd=46.907;03-Rtd=536.000;04-Rtd=931.000&;&;

(2)感知節點上報數據示例CN=1212;MN=20050708S00001;SN=00007;CP=&;&;DataTime=20081028110138;State=3.734&;&;

(3)大棚控製命令示例QN=20080114093600000;CN=3096;MN=20050708S00001;SN=00002;CP=&;&;IO0=1;IO1=0&;&;

表1 數據段結構

名稱 類型 長度 描述

請求編號QN 字符 20 精確到毫秒的時間戳:QN=YYYYMMDDHHMMSSZZZ,用來唯一標識一個命令請求,用於請求命令或通知命令

命令編號CN 字符 4 命令編號見6.5中命令列表

網關節點

唯一標識MN 字符 14 網關把該編號固化到非易失存儲器中,用作網關自身的身份識別。編碼規則:前7位是設備製造商組織機構代碼的後7位,後7位是設備製造商自行確定的此類設備的唯一編碼

感知節點

唯一標識SN 字符 5 感知節點把該編號固化到非易失存儲器中,用作感知節點自身的身份識別。編碼規則:暫無。