TH-5819以太網溫濕度傳感器
以太網未來的發(fā)展-----與傳統(tǒng)控制網絡相比,工業(yè)以太網具有應用廣泛、為所有的編程語言所支持、軟硬件資源豐富、易于與Internet連接、可實現(xiàn)辦公自動化網絡與工業(yè)控制網絡的無縫連接等諸多優(yōu)點。由于這些優(yōu)點,特別是與IT的無縫集成以及傳統(tǒng)技術無法比擬的傳輸帶寬,以太網得到了工業(yè)界的認可。
集成的以太網口使得用戶擺脫串口通信和控制的限制,而且允許用戶進行本地連接或互聯(lián)網連接,網絡模塊支持TCP/IP、UDP等多種協(xié)議,也可作為WebServer允許用戶通過網頁方式訪問環(huán)境參數。
TH-5819實現(xiàn)了將的網絡技術與傳統(tǒng)的傳感器技術的完美組合,以的技術推動傳統(tǒng)技術市場的發(fā)展。
一、簡介
TH-5819 可以同時測量溫度、濕度、露點,溫濕度數據通過大屏幕液晶實時顯示,RJ45接口使得現(xiàn)場布線變得簡捷,開放的通訊協(xié)議,同時支持多種網絡協(xié)議模式。
TH-5819具備足夠升級空間,可以不斷的滿足客戶及市場的需求。同時,我們的工程師提供的技術支持,保證產品的順利應用。
二、技術指標
1. 溫度測量范圍: -20℃ — +70℃
2. 溫度測量精度: ±0.5℃
3. 濕度測量范圍: 1% — 99% ( 非凝結 )
4. 濕度測量精度: ±3%RH ( 典型值 )
5. 網絡接口: RJ45 ,10M/100M
6. 支持協(xié)議: ARP,UDP,TCP,Telnet, ICMP, SNMP, DHCP, HTTP等,接受定制。
7. 采集速率: 時實
8. UDP 端口: 10050(缺?。?
9. TCP端口: 10050(缺?。?
10. 供電電源: DC12V
11. 工作電流:小于300mA
12. 外形尺寸: 180 X 125 X 65 (mm)
三、安裝方法
按接線示意圖連接好網線及電源線即可。注意,每個TH-5819出廠時有缺省IP地址,一般為:192.168.1.31(子網掩碼:255.255.255.0),網關 :192.168.1.1。接入網絡時,須注意不要與網絡上其他設備的IP地址相沖突。連接完畢后,可在網絡上的某臺PC機上運行MicroAqua Net Viewer.exe程序搜索和顯示溫濕度數據。
接線示意圖和安裝方向
四、通訊協(xié)議
TH-5819的數據通信協(xié)議分為采用UDP及TCP協(xié)議;UDP采用16進制數據報方式,TCP采用Modbus協(xié)議的ASCII模式,以下是詳細說明。
4.1 UDP協(xié)議
UDP協(xié)議采用相同的16進制數據報方式讀取數據。以下為數據報的格式:
數據傳輸格式定義要傳輸的數據包括IP地址,MAC地址,掩碼,網關,溫濕度露點數據,數據報按地址分配如下
typedef struct UDP_Pkts
{
unsigned char DeviceType;//設備類型,用來判斷是否發(fā)給本機的信息0xaa
unsigned char CommandType;//接受命令類型負責處理鑒別不同的命令類型,以進行處理0xaa
unsigned char Uipaddr[4];//IP地址
unsigned char UMAC[6];//硬件地址
unsigned char UNetMask[4];//掩碼
unsigned char UGateWay[4];//網關地址
unsigned char UBroadHAddr[6];//廣播地址
unsigned char UTemp[6]; //溫度數據ASCII字符,直接顯示即可
unsigned char UHum[6];//濕度數據ASCII字符,直接顯示即可
unsigned char UDewP[6];//露點數據ASCII字符,直接顯示即可
unsigned short int ADValue[4];ADValue[0]=傳感器編號,//其余為備用單元
unsigned char SetACK; //如果為0表明讀取失敗,如果為1表示讀取成功并傳回數據
} UDP_Pkts;
所有通訊協(xié)議采用相同定義格式 UDP端口10050
UDP讀取命令:在SOCKET UDP模式下,發(fā)送如下16進制數據包命令給TH5819:
0xaa 0xaa 0x00,0x00,0x00,0x00,…其余為0x00,也可以只發(fā)送0xaa 0xaa 給TH5819即可讀取數據
數據應答:(53 bytes)
0xaa 0xaa 0xc0 0xa8 0x01 0x1f 0x01 0x22 0x45 0x01 0x01 0x08 0xff 0xff 0xff 0x00
Typ Com
IP
MAC
Mask
0xc0 0xa8 0x01 0x01 0xff 0xff 0xff 0xff 0xff 0xff 0x32 0x31 0x2e 0x35 0x00 0x00 0x35
GateWay
BroadCast
溫度值ASCII
0x36 0x2e 0x34 0x00 0x00 0x2d 0x30 0x35 0x2e 0x32 0x00 0x00 0x01 0x00 0x00 0x00 0x00
濕度值ASCII
露點值ASCII
編號
備用
0x00 0x00 0x01
ACK
4.2 TCP Modbus協(xié)議
: 0 0 0 4 5 0 0 0 0 0 0 8 S1 S2 CR LF
依照數據的順序所代表的含義依次時
: 幀起始符
0 0 5819地址(2字節(jié))
0 4 讀取命令(2字節(jié))
5 0 5819內存起點高位(2字節(jié))
0 0 5819內存起點低位(2字節(jié))
0 0 讀取數據數量高位(2字節(jié))
0 8 讀取數據數量低位(2字節(jié))
S1 S2 校驗和(2字節(jié))
CR LF數據幀結束符
注:
① 其中的CR及LF的16進制表示方式為:0X0D,0X0A
② 校驗和的算法:
起始符“:”不算,從5819地址開始等加至數據數量低位字節(jié)結束,然后求其補碼即可。
例:如上述命令(以下數據為16進制數據)
SUM = 00 + 04 + 50 + 00 + 00 + 08
= 54 + 08
= 5C(H)
SUM = 100(H) - 5C(H) = A4(H)
即 S1 =‘A’ S2=‘4’
③ 對于5819 ,此命令中5819的地址應為 00 不變。
數據應答(均為ASCII字符表示的16進制數據,共27字節(jié))
(用X1,X2表示一個數據的高4位字節(jié)及低4位字節(jié))
: A1 A2 0 4 0 8 5 0 V1 V2 TH1 TH2 TL1 TL2 HH1 HH2 HL1 HL2 OF1 OF2 VS1 VS2 S1 S2 CR LF
:
幀起始符
A1 A2
5819實際地址(2字節(jié))
0 4
命令符(2字節(jié))
0 8
數據數量(2字節(jié))
5 0
類型碼(2字節(jié))
V1 V2 傳感器版本號(2字節(jié))
TH1 TH2 溫度數據高位(2字節(jié))
TL1 TL2 溫度數據低位(2字節(jié))
HH1 HH2 濕度數據高位(2字節(jié))
HL1 HL2 濕度數據低位(2字節(jié))
OF1 OF2 濕度偏移量(2字節(jié))
VS1 VS2 5819版本號(2字節(jié))
S1 S2
校驗和(2字節(jié))
CR LF 幀結束符(2字節(jié))
注:校驗和算法與5.1 注2 相同
示例:如5819應答幀如下:
: 0 5 0 4 0 8 5 0 6 3 2 1 7 C 0 0 A 0 0 3 1 0 E C CR LF
即:5819 的地址為:05H
5819 的傳感器版本號為:63H
5819 的溫度數據為: 21,7CH
5819 的濕度數據為: 00,A0H
5819 的濕度偏移量為:03H
5819 的版本號為: 10H (即v1.0)
校驗和(以下數據為16進制數)
SUM = 05 + 04 + 08 + 50 + 63 + 21 + 7C + 00 + A0 + 03 + 10
= 14(H)
SUM= 100H - 14H =ECH
與應答幀中E C相同
4.3 溫度數據定義
(溫度)應答數據格式 :
DATAH
7 6 5 4
3
2 1 0
001-溫度數據
000―濕度數據 0 0 X X X
數據處理類型 恒為零 FLG TMP-H
× × × 26 25 24
DATAL
7 6 5 4 3 2 1 0
X X X X X X X X
TMP-L
23 22 21 20 2-1 2-2 2-3 2-4
溫度數據:
DATAH- BIT3 為符號位 , BIT3=1,為負溫,BIT3=0為正溫。
DATAH中,BIT7~5為數據類型主義,BIT4恒為0
DATAH中 BIT2~0及DATAL為溫度數據
溫度值分辨率為: 0.0625℃ (2-4位)
溫度計算公式為:
正溫:TMP=((DATAH & 07H)*256+DATAL)*0.0625
負溫:T1=DATAH & 07H
TMP=-(T1*256+DATAL)*0.0625
4.4 濕度數據定義
濕度算法
濕度值 = ( HH * 256 + HL)/ 10
HH 濕度數據高位
HL 濕度數據低位
注:若5819發(fā)現(xiàn)濕度傳感器有故障,HH,HL均為 FFH
把上例數據帶入算法,如
HH = 00H HL = A0
則: 濕度值 = ( 0 * 256 + 160)/ 10 = 16%RH
即: 16.0 %RH
5.5濕度偏移量的數據定義
偏移量范圍為:± 7%
修改偏移量用本公司提供的測試程序來修改。
五、編程訪問流程
5.1 UDP編程訪問流程
建立SOCKET UDP
發(fā)送數據讀取命令
接受應答UDP數據包
直接顯示溫濕度及露點
重復發(fā)送數據讀取命令,間隔1秒
銷毀socket UDP
5.2 TCP 編程訪問流程
① 與TH-5819模塊建立TCP連接(使用IP地址,端口號)
② 發(fā)送數據讀取命令幀
③ 接受TCP(UDP)數據(TH-5819應答幀)
④ 數據換算,計算出溫/濕度數據
⑤ 若重復訪問TH-5819,間隔>1秒鐘,回到第二步
⑥ 若不訪問TH-5819,斷開TCP連接,關閉網絡接口。