windows无法连接sens ms无法与提供服务器连接

2024-12-2923:04:34常识分享0

DHT11度传感器详细解读

DHT11是一款度复合传感器,其精确的校准过程在湿度校验室中进行,校准系数被储存在OTP内存中,为检测信号提供了准确的基准。采用单总线接口,使得系统集成变得简易快捷,且信号传输距离可达到20米以上。

从DHT11的规格书中我们可以看到,模块的温、湿度分辨率都是1,这意味着DHT11获取的数值小数部分通常为0。尽管新版本的DHT11温度分辨率提升到了0.1度,并有小数部分,但笔者所使用的DHT11模块并未显示小数部分。

关于模块的使用,DATA引脚用于和微控制器通信。每次通讯时间约4ms,具体的数据格式为:一次完整的数据传输为40bit,高位先出。数据组合包括湿度整数数据、湿度小数数据、温度整数数据、温度小数数据及校验和。

在编程时,需注意单片机的采样周期间隔不得低于1秒钟,这是规格书的重要提示。若想在NodeMCU固件中启用对DHT模块的支持,需参照ESP8266之NodeMCU固件编译篇的相关指导。

启用模块后,我们可以直接使用DHT的相关接口进行操作。例如,使用`dht.read11()`来获取DHT11模块的数据。此函数调用会返回状态信息、温度、湿度、温度小数部分及湿度小数部分。若使用浮点数固件,temp和humi将以浮点数形式返回;若使用整数固件,则最终值需将temp和temp_dec/humi和humi_dec连接在一起得到。

将相关代码保存为dht11.lua文件后,通过ESPlorer工具上传到ESP8266模块或NodeMCU开发板。连接网络后,我们还可以在web页面上显示度信息。

接下来是DS18B20数字温度计的介绍。DS18B20提供高精度的温度测量功能,其非易失性用户可编程功能使其具有上、下触发点。它通过1-Wire总线通信,仅需一条数据线(和GND)与微处理器通信。DS18B20可以直接从数据线获得功率,消除了外部电源的需要。每个DS18B20都有独特的64位串行代码,使得多个DS18B20可以共存于同一单线总线上。

关于DS18B20的编程使用,首先需要在NodeMCU固件中开启对它的支持。创建DS18B20对象后,可以使用`ds18b20.read_temp()`来获取温度。还可以通过配置callback、pin、unit等参数来定制读取过程。

两种方法都可以实现DS18B20的温度读取:一是使用ds18b20官方文档的示例代码;二是使用ow单总线模块的示例代码。无论使用哪种方法,都需要将相关代码保存为lua文件,上传到esp8266中,然后执行文件即可看到温度读取结果。