一 简介
LTM8950 为以太网接口的温湿度传感器。随着网络的普及,LTM8950可以很方便的把测量点的温度及湿度值传到网络上,可以组建多种应用系统。
二 技术指标
1. 温度测量范围: -25℃ — +60℃
2. 温度测量精度: ±0.5℃ ( -10℃ — +60℃ )
3. 湿度测量范围: 5% — 95% ( 非凝结 )
4. 湿度测量精度: ±3%RH ( 典型值 )
5. 网络接口: RJ45 ,10/100M 自动识别
6. 支持协议: ARP,UDP,TCP,Telnet,ICMP,SNMP,DHCP等
7. TCP端口: 10050(缺省)
8. 供电电源: +6 — 36V DC,50 — 120mA
9. 外形尺寸: 100 X 80 X 30 (mm)
三 接线示意图
四 安装方法
按接线示意图连接好网线及电源线即可。注意,每个LTM8950出厂时有缺省IP地址,一般为:192.168.1.120(子网掩码:255.255.255.0),接入网络时,须注意不要与网络上其他设备的IP地址相冲突。连接完毕后,可在网络上的某台PC机上运行LTMNET程序搜索和显示温湿度数据。
五 通讯协议
LTM8950的数据通信协议采用Modbus协议的ASCII模式,以下是详细说明。
数据读取指令:( 均为ASCII字符表示的十六进制数据,共17字节 )
5.1
: 0 0 0 4 5 0 0 0 0 0 0 8 S1 S2 CR LF
依照数据的顺序所代表的含义依次时
: 帧起始符
0 0 8950地址(2字节)
0 4 读取命令(2字节)
5 0 8950内存起点高位(2字节)
0 0 8950内存起点低位(2字节)
0 0 读取数据数量高位(2字节)
0 8 读取数据数量低位(2字节)
S1 S2 校验和(2字节)
CR LF数据帧结束符
注:
① 其中的CR及LF的16进制表示方式为:0X0D,0X0A
② 校验和的算法:
起始符“:”不算,从8950地址开始等加至数据数量低位字节结束,然后求其补码即可。
例:如上述命令(以下数据为16进制数据)
SUM = 00 + 04 + 50 + 00 + 00 + 05
= 54 + 08
= 5C(H)
SUM = 100(H) - 5C(H) = A4(H)
即 S1 =‘A’ S2=‘4’
③ 对于LTM8950 ,此命令中8950的地址应为 00 不变。
-
-
-
jhlu3 发表于 2009/7/4 8:51:15
5.22楼 回复本楼
数据应答(均为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 8950实际地址(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 8950版本号(2字节)
S1 S2 校验和(2字节)
CR LF 帧结束符(2字节)
注:校验和算法与5.1 注2 相同
示例:如8950应答帧如下:
: 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
即:8950 的地址为:05H
8950 的传感器版本号为:63H
8950 的温度数据为: 21,7CH
8950 的湿度数据为: 00,A0H
8950 的湿度偏移量为:03H
8950 的版本号为: 10H (即v1.0)
校验和(以下数据为16进制数)
SUM = 05 + 04 + 08 + 50 + 63 + 21 + 7C + 00 + A0 + 03 + 10
= 14(H)
SUM= 100H - 14H =ECH
与应答帧中E C相同
5.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
5.4 湿度数据定义湿度算法
湿度值 = ( HH * 256 + HL)/ 10
HH 湿度数据高位
HL 湿度数据低位
注:若8950发现湿度传感器有故障,HH,HL均为 FFH
把上例数据带入算法,如
HH = 00H HL = A0
则: 湿度值 = ( 0 * 256 + 160)/ 10 = 16%RH
即: 16.0 %RH
5.5湿度偏移量的数据定义
偏移量范围为:± 7%
修改偏移量用本公司提供的测试程序来修改。六 编程访问流程
① 与8950模块建立TCP连接(使用IP地址,端口号)
② 发送数据读取命令帧
③ 接受TCP数据(8950应答帧)
④ 数据换算,计算出温/湿度数据
⑤ 若重复访问8950,间隔>1秒钟,回到第二步
⑥ 若不能访问8950,断开TCP连接,关闭网络接口。
引用 jhlu3 2009/7/4 8:51:15 发表于2楼的内容
-