练手项目:串口 读取 温度传感器 数据 并显示

练手项目:串口 读取 温度传感器 数据并显示

串口读取的温度数据,
可以传给数据库,记录下来
可以传给网页实时显示。
这样就可以同时学习网页制作,和数据库的相关内容了,
以检测你学习web html技术和学习 mysql 技术的成果。
也可以通过Qt 程序读取。

平时学习编程的时候,如果有了实物配合,有具体的要求 之后,会学习的更快。

1 硬件准备

这个项目要求如下的硬件配置:
电脑一台,win7 64位系统。
USB 转485 模块一个,该模块可以给外部 温度传感器模块,提供5v 直流电源。
温度传感器模块
可以使用 工控行业的 modbus 485 总线中,经常使用的那种现成的模块。
不用自己去制作。咱主要关心的是编程能力。只要有数据来源就行。
即使这个数据不准确。只要是变动的就好。

http://www.jingsudz.com/html/9530821021.html
在这里插入图片描述
1:一路RS485 接口。
2:一路DS18B20 传感器
1:一路RS485 通信(MODBUS-RTU 协议)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
只是在电源正和电源负 之间 提供一个5v的电源,就会在显示屏上实时显示当前的温度了。
在这里插入图片描述
如果需要通过串口读取数据

那么需要接上 RS485+ 和 RS485-信号
通过usb 转 485 模块,传给电脑。
具体资料到
上面的网站的
下载中心 ----> RS485系列资料---->RSDS12
下载资料 ,里面有一个
《RSDS12 温湿度传感器说明书.pdf》

2 协议解析

通信波特率:可调,1 停止位,8 位数据,无校验
通迅口:选择当前总线使用的COM 口,波特率出厂默认9600

供电电压
最小值 5V
标准值12V
最大值 30V

测量范围: DS18B20 -55℃ ---- 125.0℃

转换速度: DS18B20 最快1秒/次 最慢255 秒/次

工作电流是20ma
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

手头的另外一个硬件

http://www.jingsudz.com/html/0572811047.html
可以将这两个设备 组成一个 485 modbus网络,通过一个USB 转485 接口 ,分别读取他们的温度和湿度

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

自动查找
发送:	00	03	00	00	00	05	84	18	
接收: 03 03 0A 01 02 00 03 00 01 00 05 00 00 75 90 


湿度发送:	00	03	00	0B	00	01	F4	19	
湿度接收: 03 03 02 00 F6 41 C2 

温度发送:	00	03	00	00	00	01	85	DB	
温度接收: 03 03 02 01 01 01 D4 

在这里插入图片描述
那个里面的 绿色 贴片的 LED 没有闪烁

测试方式:

在这里插入图片描述
温度传感器需要同时 外接 5v电源
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
点击开始监控
在这里插入图片描述
在这里插入图片描述

发送: 01 03 00 00 00 01 84 0A
接收: 01 03 02 00 E3 F9 CD

发送: 02 03 00 00 00 01 84 39
超时

发送: 03 03 00 00 00 01 85 E8
超时

发送: 04 03 00 00 00 01 84 5F
超时
CRC校验代码
1.CRC 校验函数
/*
* 函数介绍:CRC 校验
* 输入参数:
* 输出参数:
* 返回值:
CRC 校验码*/
u16 CRC16(u8 *bpMsgStartAddress, u8 bDataLen)
{ u8 i, n;
u16 crc = 0xffff;
u8 u8tmp;
u16 u16tmp;
for (i=0; i<bDataLen; i++)
{ crc ^= *bpMsgStartAddress++;
for (n=0; n<8; n++)
{ u8tmp = crc & 1;
crc >>= 1;
crc &= 0x7fff;
if (u8tmp == 1)
{ crc ^= 0xa001; }
}
} return crc;
}

在这里插入图片描述

两个模块连接在一起

在这里插入图片描述

发送: 01 03 00 0A 00 02 E4 09
接收: 01 03 04 00 F3 00 00 0A 00


发送: 02 03 00 0A 00 02 E4 3A
    超时.

发送: 03 03 00 0A 00 02 E5 EB
接收: 03 03 04 01 04 00 F7 D8 48

发送: 04 03 00 0A 00 02 E4 5C
    超时.

发送: 05 03 00 0A 00 02 E5 8D
    超时.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值