ESP8266+dht11 连接阿里云 上传温湿度

这篇具有很好参考价值的文章主要介绍了ESP8266+dht11 连接阿里云 上传温湿度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ESP8266+dht11 连接阿里云 上传温湿度
①在刚开始研究的时候也是一头雾水,在看了几天各路大神写的博客和视频之后,最终得以实现。
②接下来让我详述一下整个过程
需要编写代码,云端创建产品和设备,还有阿里云的库文件需要用到
下面让我们开始吧!
一、创建云端设备
1.1首先我们进到阿里云的官网,在产品里找到物联网平台
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
接下来进入控制台
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
我记得是先要开通物联网平台,然后看下图
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
我这里显示已经开通了公共实例,没开通的话,需要先开通一下,需要等待一会,才能开通完成。
接下来点击公共实例,跳转到如下界面
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
我们点击创建产品
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
跳转到下图
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
填入产品名称(这个没有要求,自己填写就行),然后下面选择产品所属品类,这里我们搜索温湿度选择第一个即可。
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机下面的选项默认即可
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
点击确认,产品就创建完成了
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
接下来创建设备
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
选择刚才创建的产品,并输入设备名称
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机

创建完产品就如下,箭头所指的地方信息是我们需要用到的,点击查看,可以看到ProductKey、DeviceName、DeviceSecret,这三个是要写到代码里的
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
我们的设备创建完了,可以看到当前是未激活的状态,这里的产品名称和设备名称我是随意输入的
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
至此云端上的任务已经完成!完成了本次项目的一大步!

二、在Arduino或者VScode里编写代码,安装库文件,修改PubSubClient里的参数
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
2.1我们先安装库文件,安装AliyunIoTSDK、ArduinoJson、 PubSubClient、Crypto,以上四个库
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
在里面搜索安装即可

2.2 修改PubSubClient里的参数
因为要连接阿里云,所以需要修改参数
找到我们PubSubClient库文件位置,一般都在Arduino里的Libraries里面,打开PubSubClient里面的src文件,可以看到.h头文件,打开它,修改第26行和第31行的参数,改为1024和60,如下图。
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机

2.3编写代码,烧录到esp8266
代码如下,可以直接复制使用
但是这里的宏定义需要修改自己的设备相关参数,在前面已经强调过在哪里查看了,忘记了可以往回翻
#define PRODUCT_KEY “gsastNB7Yat”
#define DEVICE_NAME “temperature”
#define DEVICE_SECRET “d184b8d1688523eb04ec6249234fe735”//(这三个东西在阿里云里面)
#define REGION_ID “cn-shanghai”//这里无需修改

#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

//设置用于连接温湿度传感器的引脚
#define DHTPIN 13  //根据硬件连接确定引脚编号(注意,这里我连接的是D7,也就是GPIO13)
#define Led  D4


#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
float h,t;


// 引入 wifi 模块,并实例化,不同的芯片这里的依赖可能不同
#include <ESP8266WiFi.h>
static WiFiClient espClient;

// 引入阿里云 IoT SDK
#include "AliyunIoTSDK.h"

// 设置产品和设备的信息,从阿里云设备信息里查看
#define PRODUCT_KEY "gsastNB7Yat"
#define DEVICE_NAME "temperature"
#define DEVICE_SECRET "d184b8d1688523eb04ec6249234fe735"//(这三个东西在阿里云里面)
#define REGION_ID "cn-shanghai"

// 设置 wifi 信息
#define WIFI_SSID "明小岩"//(这里面连你自己家的WiFi,注意要是2.4G频段的,5G的不行)
#define WIFI_PASSWD "999999999"//(你自己家的WiFi密码)

void setup()
{
    Serial.begin(115200);

    // 初始化 wifi
    wifiInit(WIFI_SSID, WIFI_PASSWD);

    初始化 iot,需传入 wifi 的 client,和设备产品信息
    AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);

    // 绑定一个设备属性回调,当远程修改此属性,会触发 powerCallback
    // PowerSwitch 是在设备产品中定义的物联网模型的 id
    // AliyunIoTSDK::bindData("温湿度",CurrentTemperature);

    // // 发送一个数据到云平台,LightLuminance 是在设备产品中定义的物联网模型的 id
    // AliyunIoTSDK::send("LightLuminance", 100);

     
 
  pinMode(DHTPIN,INPUT);
    pinMode(Led,OUTPUT);
  dht.begin();
 
}

void loop()
{
    
  AliyunIoTSDK::loop();  
  AliyunIoTSDK::send("CurrentTemperature",t);
  AliyunIoTSDK::send("CurrentHumidity",h);

  h = dht.readHumidity();
  t = dht.readTemperature();                
  Serial.print("Temperature:");                      
  Serial.println(t);                                     
  delay(1000);
  Serial.print("Humidity:");                            
  Serial.print(h);                                    
  Serial.println("%");                                 
  delay(1000);
  

}

// 初始化 wifi 连接
void wifiInit(const char *ssid, const char *passphrase)
{
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, passphrase);
    while (WiFi.status() != WL_CONNECTED)
    {
        delay(1000);
        Serial.println("WiFi not Connect");
    }
    Serial.println("Connected to AP");
     digitalWrite(Led, LOW);


}

// 电源属性修改的回调函数
void powerCallback(JsonVariant p)
{
    int PowerSwitch = p["PowerSwitch"];
    if (PowerSwitch == 1)
    {
        // 启动设备
    } 
}

代码烧录完,连接上网络,可以打开串口监视器,看到温湿度和连接MQTT的状态
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机

2.4另外强调
AliyunIoTSDK::send(“CurrentTemperature”,t);
AliyunIoTSDK::send(“CurrentHumidity”,h);
这两行代码,CurrentTemperature、CurrentHumidity,是与我们云端产品的功能定义标识符一致,要不然数据传不上来,另外标识符的数据类型也要与代码中的一致。
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
还有这里我注释掉了,这个代码是干嘛的呢,就是这里设置一个属性与云端的对应上,就是我们产品里定义的功能,比如温度或者湿度这些。
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
powerCallback是一个函数名,而PowerSwitch是一个功能标识符
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机

我们可以在此设置一些其他东西的控制,比如控制一个led点亮,蜂鸣器响等等。
我举一个例子哈,比如说,我们想控制led灯,我们就可以像下面这样,其他的大家可以多多尝试!

void powerCallback(JsonVariant p)
{
    int PowerSwitch = p["PowerSwitch"];
    if (PowerSwitch == 1)
    {
        digitalWrite(Led, LOW);
    } 
}

在线调试就可以了,我们调试开关为1(打开),然后点设置,可以看到我们ESP8266的led灯点亮了!

dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机

三、最终效果展示
dht11 阿里云,ESP8266学习,阿里云,云计算,物联网,单片机
温度和湿度已经上传到阿里云,只要我们代码烧录到esp8266里,并且连接上wifi网络(热点),我们云端的设备就会显示在线的状态,数据也会上传。

最后希望大家顺利完成此项目,如有遗漏可以评论告诉我一下,本篇文章为记录自己学习生活,并且希望和我一样学习esp8266 的小伙伴可以借鉴经验,更快入手,建议大家库文件都从ArduinoIDE里安装,如果从github里下载可能有问题,大家多多尝试!文章来源地址https://www.toymoban.com/news/detail-799058.html

到了这里,关于ESP8266+dht11 连接阿里云 上传温湿度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32+ESP8266上传温湿度数据至新版OneNET

    本文详细介绍了,STM32连接新版OneNET平台上报温湿度数据的操作与步骤。 使用资源: STM32F103C8T6、ESP826612F、DHT11温湿度传感器 通讯协议: MQTT 数据格式: CJson 一、OneNET平台创建 1.  登录https://open.iot.10086.cn/,注册账号、登录。 2.  点击右上角的“开发者中心”进入产品开发界

    2024年02月05日
    浏览(55)
  • stm32连接DHT11温湿度传感器

    目录 1. DHT11简介 1.1. 连接电路  1.2. 串行接口 (单线双向)  2. cubeMX设置 3. 代码开发  3.1. 实现定时函数 3.2. 打开串口调试 3.4. 测试代码实现 4. 运行效果 信息如下: 建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使 用合适的上拉电阻  DHT11的供电电压为 3-5

    2023年04月16日
    浏览(54)
  • ESP32单片机使用DHT11温湿度传感器的实践与代码解析

    摘要:本文将介绍如何使用ESP32单片机与温湿度传感器进行连接和数据读取。通过实例代码的解析,帮助读者了解实现温湿度检测的原理和方法。 一、引言 ESP32是一款功能强大的微控制器,广泛应用于物联网、智能家居等领域。在许多应用场景中,温湿度传感器是不可或缺的

    2024年02月21日
    浏览(59)
  • STM32+ESP8266上传温湿度到onenet(HTTP)新手易懂指南

    哎,上云很简单的,但是我花了好几天因为各种莫名其妙的错误耽误了大量时间。所有很有必要总结一下 咳咳。但是我也比新手好不了多少, 以免误导新人,只教操作,理由核心不阐述,自己csdn找。 一、首先创建个HTTP协议onenet云平台(不会,就csdn里找,一堆堆) 对于初学

    2024年02月05日
    浏览(50)
  • 基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块+DHT11温湿度采集+MQ系列 烟雾及可燃气体+蜂鸣器+步进电机模拟窗帘+OLED液晶显示+

    ## **基于 STM32 的语音识别智能家居控制系统的设计(LD3320语音识别芯片+ESP8266 WIFI模块(阿里云 或ONENET或局域网)+DHT11温湿度采集+MQ系列 烟雾及可燃气体+蜂鸣器+步进电机模拟窗帘+OLED液晶显示+手机APP)** 本文采用LD3320语音识别芯片+ESP8266 WIFI模块+DHT11温湿度采集+MQ系列 烟雾及可

    2024年02月04日
    浏览(77)
  • 实现手机app和微信小程序和树莓派智能音箱远程控制arduino获取甲醛温湿度和控制灯(esp8266 ZE08-CH2O DHT11 MQTT 语音识别 语言合成 http请求转串口通信系统 )

    首先你有这样的esp8266 这种esp8266自身带2个按键和烧录芯片方便调试,综合性价比较高。 需要有一个arduino uno 连接甲醛探测器和温湿度探测器 或者其他芯片都行。 还有就是你要有树莓派和usb麦克风,用来实现智能音箱,有了这3个开发板我们开始吧! https://www.bilibili.com/video

    2024年02月14日
    浏览(53)
  • STM32--ESP8266物联网WIFI模块(贝壳物联)--温湿度数据上传服务器显示

    本文适用于STM32F103C8T6等MCU,其他MCU可以移植,完整资源见文末链接 一、简介 随着移动物联网的发展,各场景下对于物联控制、数据上传、远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜好用性价比极高的wifi物联模块——ESP8266,话不多少我们先来看看这个神奇的模

    2024年02月08日
    浏览(57)
  • ESP32连接巴法云上传温湿度,手机APP控制开关灯

    首先我先用 进行编写esp32代码   #include WiFi.h #include SimpleDHT.h   //巴法云服务器地址默认即可 #define TCP_SERVER_ADDR \\\"bemfa.com\\\" //服务器端口//TCP创客云端口8344//TCP设备云端口8340 #define TCP_SERVER_PORT \\\"8344\\\" ///****************需要修改的地方*****************/// //WIFI名称,区分大小写,不要写错

    2024年02月15日
    浏览(51)
  • 【智能家居项目】RT-Thread版本——DHT11获取温湿度 | MQTT上传到服务器 | 服务器控制外设

    🐱作者:一只大喵咪1201 🐱专栏:《智能家居项目》 🔥格言: 你只管努力,剩下的交给时间! 这篇文章中,本喵将使用 RT-Thread Studio 来实现这个智能家居的项目,最终效果和前面的裸机版本以及 FreeRTOS 版本一样。在这里本喵将让大家体验到 RT-Thread Studio 的便利。 首先打开

    2024年04月17日
    浏览(53)
  • 温湿度传感器DHT11介绍

    温湿度传感器DHT11简介       DHT11数字温湿度传感器是一种出厂时经过校准的数字信号输出的温湿度数字温湿度传感器 。DHT11 数字温湿度传感器应用温湿度传感技术和数字采集技术,确保其具有极高的可靠性和卓越的长期稳定性。       DHT11 数字温湿度传感器内置一个电阻式

    2023年04月22日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包