TH-5819以太网温湿度传感器
以太网未来的发展-----与传统控制网络相比,工业以太网具有应用广泛、为所有的编程语言所支持、软硬件资源丰富、易于与Internet连接、可实现办公自动化网络与工业控制网络的无缝连接等诸多优点。由于这些优点,特别是与IT的无缝集成以及传统技术无法比拟的传输带宽,以太网得到了工业界的认可。
集成的以太网口使得用户摆脱串口通信和控制的限制,而且允许用户进行本地连接或互联网连接,网络模块支持TCP/IP、UDP等多种协议,也可作为WebServer允许用户通过网页方式访问环境参数。
TH-5819实现了将的网络技术与传统的传感器技术的完美组合,以的技术推动传统技术市场的发展。
一、简介
TH-5819 可以同时测量温度、湿度、露点,温湿度数据通过大屏幕液晶实时显示,RJ45接口使得现场布线变得简捷,开放的通讯协议,同时支持多种网络协议模式。
TH-5819具备足够升级空间,可以不断的满足客户及市场的需求。同时,我们的工程师提供的技术支持,保证产品的顺利应用。
二、技术指标
1. 温度测量范围: -20℃ — +70℃
2. 温度测量精度: ±0.5℃
3. 湿度测量范围: 1% — 99% ( 非凝结 )
4. 湿度测量精度: ±3%RH ( 典型值 )
5. 网络接口: RJ45 ,10M/100M
6. 支持协议: 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程序搜索和显示温湿度数据。
接线示意图和安装方向
四、通讯协议
TH-5819的数据通信协议分为采用UDP及TCP协议;UDP采用16进制数据报方式,TCP采用Modbus协议的ASCII模式,以下是详细说明。
4.1 UDP协议
UDP协议采用相同的16进制数据报方式读取数据。以下为数据报的格式:
数据传输格式定义要传输的数据包括IP地址,MAC地址,掩码,网关,温湿度露点数据,数据报按地址分配如下
typedef struct UDP_Pkts
{
unsigned char DeviceType;//设备类型,用来判断是否发给本机的信息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;
所有通讯协议采用相同定义格式 UDP端口10050
UDP读取命令:在SOCKET UDP模式下,发送如下16进制数据包命令给TH5819:
0xaa 0xaa 0x00,0x00,0x00,0x00,…其余为0x00,也可以只发送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协议
: 0 0 0 4 5 0 0 0 0 0 0 8 S1 S2 CR LF
依照数据的顺序所代表的含义依次时
: 帧起始符
0 0 5819地址(2字节)
0 4 读取命令(2字节)
5 0 5819内存起点高位(2字节)
0 0 5819内存起点低位(2字节)
0 0 读取数据数量高位(2字节)
0 8 读取数据数量低位(2字节)
S1 S2 校验和(2字节)
CR LF数据帧结束符
注:
① 其中的CR及LF的16进制表示方式为:0X0D,0X0A
② 校验和的算法:
起始符“:”不算,从5819地址开始等加至数据数量低位字节结束,然后求其补码即可。
例:如上述命令(以下数据为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字节)
(用X1,X2表示一个数据的高4位字节及低4位字节)
: 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字节)
0 4
命令符(2字节)
0 8
数据数量(2字节)
5 0
类型码(2字节)
V1 V2 传感器版本号(2字节)
TH1 TH2 温度数据高位(2字节)
TL1 TL2 温度数据低位(2字节)
HH1 HH2 湿度数据高位(2字节)
HL1 HL2 湿度数据低位(2字节)
OF1 OF2 湿度偏移量(2字节)
VS1 VS2 5819版本号(2字节)
S1 S2
校验和(2字节)
CR LF 帧结束符(2字节)
注:校验和算法与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发现湿度传感器有故障,HH,HL均为 FFH
把上例数据带入算法,如
HH = 00H HL = A0
则: 湿度值 = ( 0 * 256 + 160)/ 10 = 16%RH
即: 16.0 %RH
5.5湿度偏移量的数据定义
偏移量范围为:± 7%
修改偏移量用本公司提供的测试程序来修改。
五、编程访问流程
5.1 UDP编程访问流程
建立SOCKET UDP
发送数据读取命令
接受应答UDP数据包
直接显示温湿度及露点
重复发送数据读取命令,间隔1秒
销毁socket UDP
5.2 TCP 编程访问流程
① 与TH-5819模块建立TCP连接(使用IP地址,端口号)
② 发送数据读取命令帧
③ 接受TCP(UDP)数据(TH-5819应答帧)
④ 数据换算,计算出温/湿度数据
⑤ 若重复访问TH-5819,间隔>1秒钟,回到第二步
⑥ 若不访问TH-5819,断开TCP连接,关闭网络接口。