DS18B20温度传感器,带ESP8266和ThingsPeak

在上一个项目中,我向您展示了如何接口DHT11湿度传感器与ESP8266并发布有关事物的信息。继续这款ESP8266 - IstoreSpeak系列,在这个项目中,我将向您展示如何使用ESP8266和ThingSpeak API接口DS18B20温度传感器。

概述

温度传感器是多组成部分,许多系统,如汽车,计算机,空调,打印机等。它们也是家庭安全和家庭自动化系统的重要组成部分。

专注于家庭自动化部分,温度传感器,如DS18B20,可用于IoT气象站,这再次是一种组合不同的传感器。在实现天气站时,您需要监视数据以便采取必要的操作。

DS18B20温度传感器,带ESP8266和ThingSepapak1

这是ESP8266和ThingsPeak的组合。使用ESP8266,您可以将您的气象站连接到Internet并使用ThingsPeak API,可以远程监视来自Weather Station的数据,即来自任何Web浏览器。

在实施完整的IoT气象站之前,我们将看到如何将DS18B20温度传感器与ESP8266和ThingsPeak连接。

关于DS18B20温度传感器的简要说明

我已经向您展示了如何使用Arduino和Raspberry PI接口DS18B20温度传感器。如果您对这些项目感兴趣,您可以看看:覆盆子PI DS18B20教程Arduino DS18B20接口教程

Arduino DS18B20温度传感器

进入传感器,DS18B20是一个数字温度计,可以测量-55 0C至+125 0C的温度。DS18B20传感器和微控制器之间的通信是通过1线通信(1线总线)。

DS18B20温度传感器最常用的软件包是TO-92软件包,其引脚图如下所示。

Arduino DS18B20温度传感器引脚

该传感器经常用于温度计,恒温器,消费电子产品和工业控制系统。

用ESP8266接口DS18B20温度传感器和截止

在该项目中,我将使用ESP8266 WiFi模块和从传感器获得数据后,将DS18B20温度传感器界面,我将在物品上发布温度信息。

ESP8266模块负责所有计算,甚至将结果发布到符合案例。

电路原理图

下图显示了具有ESP8266的连接DS18B20温度传感器的电路图。

DS18B20温度传感器与ESP8266和ThingSepeak电路图

所需的组件

  • DS18B20温度传感器
  • ESP8266模块
  • arduino.
  • 4.7kΩ电阻(用于上拉)
  • 1kΩ和2.2kΩ电阻(用于电平转换器)
  • 连接电线
  • 迷你面包板
  • SPDT开关
  • 按钮

电路设计

与Arduino相对于USB到串行转换器和ESP8266模块的所有连接都已在上一个项目中解释了多次。

进入DS18B20传感器,必须使用4.7kΩ电阻将其数据引脚高高拉动。该数据引脚连接到ESP8266的GPIO2。

注意:我已将1.5kΩ电阻连接为上拉。

代码

以下是将DS18B20温度传感器与ESP8266接口的代码。如果您观察到代码,它与将DHT11湿度传感器与ESP8266接口的编写非常相似。


不要忘记根据您的要求更改SSID,密码和API键。另外,请确保您已下载了库onewire.dallastemperature

在职的

在该项目中,通过用ESP8266接口DS18B20温度传感器,我正在从传感器中提取温度信息。让我解释这是如何工作的。

如电路图中所示的所有连接后,在编程模式下配置ESP8266模块(通过将GPIO0连接到GND并重置模块)。现在,您可以使用Arduino IDE将代码上传到ESP8266模块。

注意:在Arduino IDE中选择正确的电路板和端口。通用ESP8266模块应为板。

上传代码后,通过从GND滑动GPIO0并重置模块,配置ESP8266是正常模式。在Arduino IDE中打开串行监视器,然后选择Bake率为115200.此外,请不要忘记选择“NL&CR”选项。

DS18B20温度传感器带有ESP8266和Things pake Serial

在串行显示器中,您可以通过WiFi网络看到ESP8266模块连接到Internet。

在确认WiFi连接之后,ESP模块将开始从DS18B20传感器读取温度信息。该温度信息显示在串行监视器上。

由于我们也有兴趣远程监视温度,因此温度值将上传到您的通道上的ThingsPeak API。

要查看结果,请在任何Web浏览器中打开您的意见频道,并在“私有视图”选项卡中,您可以看到更新的温度值。

DS18B20温度传感器带有ESP8266和ThingsPeak API

结论和应用

  • 在上一个和这个项目中,我已经表明您对两个传感器连接了两个传感器,即使用ESP8266的DHT11湿度传感器和DS18B20温度传感器。
  • 此外,来自这些传感器的值(或结果)在用于远程监控的API中发布。
  • 这两个传感器以及其他一些传感器,可以在基于某个其他传感器中实现的气象站项目。

3回应

  1. 我有一个问题......我无法上传,因为它有一个错误:

    Arduino:1.8.5(Windows 7),董事会:“通用ESP8266模块,80 MHz,CK,26 MHz,40MHz,Qio,512K(无壳),2,V2较低的内存,禁用,只有素描,115200”

    归档内置核心(缓存)IN:C:\ Users \ Labbio〜1 \ appdata \ local \ temp \ arduino_cache_163781 \ core \ ....
    Sketch使用262560字节(52%)的程序存储空间。最大值为499696字节。
    全局变量使用33516个字节(40%)的动态内存,而局部变量留下了48404字节。最大值是81920字节。
    警告:Espcomm_Sync失败
    错误:ESPCOMM_OPEN失败
    错误:espcomm_upload_mem失败
    错误:espcomm_upload_mem失败

    该报告将提供更多信息
    “在汇编过程中显示冗长的输出”
    在文件 - >首选项中启用了选项。

    拜托,如果您知道一些我会很高兴的。谢谢

发表评论

您的电子邮件地址不会被公开。

电子机器Favicon.
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map