Arduino-ESP8266检测温湿度上传阿里云
Arduino-ESP8266检测温湿度上传阿里云
- 硬件准备
- Arduino IDE环境
- 阿里云端
- 实物接线
- IDE库文件配置
- ArduinoJson
- AliyunIoTSDK
- PubSubClient
- Crypto
- AWS-SDK-ESP8266
- 容易出现的问题
- 库文件缺失
- MQTT连接失败
- 代码部分
硬件准备
ESP8266-12F开发板
DHT11 或 DHT22温湿度传感器
Arduino IDE环境
我们使用ESP8266开发板在Arduino IDE下编译使用前,需要在Arduino下配置ESP8266的开发环境
在Arduino首选项中,添加附加开发板管理器网站:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
接着在工具——开发板——开发板管理器中下载安装ESP8266的开发板
安装好后,在开发板中选择:NodeMCU开发板
阿里云端
进入阿里云官网
登陆后进入阿里云生活物联网
新建项目
新建产品
新建属性
新建两个属性,一个是温度,一个湿度(注意温度中标识符是temperature,湿度的标识符是humidity)
PS:注意,这里有一点,我们在这里创建的属性中,数据类型要和代码中的数据类型一致,图中我们的数据类型创建的是int型,对应的我们代码中定义的数据类型也要是int型,float,double同理,DHT传感器检测范围可以精确到小数点后两位,所以建议数据类型设置为double或float,(图中疏忽,于下面的代码不符,还请见谅)
在设备中,选择找到乐鑫
继续新增测试设备
成功新增后得到密钥
保存记录好密钥!
实物接线
DHT11 | ESP8266 |
---|---|
VCC | 3V |
GND | G |
S | D4 |
IDE库文件配置
ArduinoJson
AliyunIoTSDK
PubSubClient
Crypto
AWS-SDK-ESP8266
容易出现的问题
库文件缺失
注意,因为AliyunSDK依赖库比较多,以上的库请务必安装完毕
若出现报错 缺少SHA256.h即为Crypto库没有安装
SHA256.h是加密算法,如果有需要单独下载 ——SHA256.h
MQTT连接失败
若串口出现MQTT连接失败,则需要修改PubSubClient.h
默认的SIZE和KEEPALIVE较小分别修改为1024,60即可
代码部分
#include <ESP8266WiFi.h>
static WiFiClient espClient;/*温湿度*/
#include "DHT.h"
#define DHTTYPE DHT11
#define dht_dpin D4
DHT dht(dht_dpin, DHTTYPE);/*阿里云SDK*/
#include <AliyunIoTSDK.h>/*配置阿里云设备信息*/
#define PRODUCT_KEY "***********" //产品KEY
#define DEVICE_NAME "********" //设备名字
#define DEVICE_SECRET "******************" //设备密钥
#define REGION_ID "cn-shanghai" //连接服务器/* 配置WIFI */
#define WIFI_SSID "你的wifi名称"
#define WIFI_PASSWD "你的wifi密码"void setup()
{Serial.begin(115200);dht.begin();// 初始化WIFIwifiInit(WIFI_SSID, WIFI_PASSWD); // 传入WIFI-client 设备产品信息AliyunIoTSDK::begin(espClient, PRODUCT_KEY, DEVICE_NAME, DEVICE_SECRET, REGION_ID);//AliyunIoTSDK::send("temperature", t); 如有需要可发送模拟数据
}void loop()
{AliyunIoTSDK::loop();float h = dht.readHumidity();float t = dht.readTemperature();AliyunIoTSDK::send("temperature", t);AliyunIoTSDK::send("humidity", h);delay(800);
}// 初始化 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");
}
实际效果图:
在设备详情-运行状态(勾选实时刷新)下可以看到当前实时的温湿度
祝你顺利!!!
Arduino-ESP8266检测温湿度上传阿里云相关推荐
- ESP8266获取传感器数值,上传阿里云
#include <DHT.h> #include<ESP8266WiFi.h> #include <PubSubClient.h> #include <Wi ...
- Esp32读取温湿度数据通过mqtt上传阿里云平台
目录 前言 一.esp32刷MicroPython固件库 二.创建阿里云产品 1.注册阿里云账号并登录控制台 2.找到物联网平台中的公共实例进入 3.创建产品及设备 4.编辑物模型并发布 5.最后找到 ...
- 通过一键配网,上传阿里云数据
#include <DHT.h> #include<ESP8266WiFi.h> #include <PubSubClient.h> #include <Wi ...
- 微信小程序上传阿里云OSS,返回204,400,403,405,解决方案
目录 微信小程序上传阿里云 ==OSSAccessKeyId,policy,signature==如何获取呢? 配置Bucket跨域访问 配置外网域名到小程序的域名白名单 上传报错(返回400,403 ...
- base64格式的图片上传阿里云
base64格式的图片上传阿里云 上传图片的时候,除了普通的图片上传,还有一张图片信息是以base64格式发送到后台的. 后台接受base64格式的图片,上传至阿里云代码:(主要是将base64转化成 ...
- 微信 开发 图片 上传 阿里云 oss 服务器
在做微信开发时,我需要将图片上传至阿里云OSS,思路是服务端下载微信图片再转存至OSS. wx.chooseImage({count: 1, // 默认9sizeType: ['original', ...
- 文件分片上传阿里云OSS
本文参考其他博客并结合自身编写 博客原作者:程序猿谢哥哥 博客原地址:https://blog.csdn.net/weixin_42825651/article/details/108792264 注 ...
- spring boot上传阿里云对象存储OSS快速上手(一、控制台简介)
代码实现请看下一篇: spring boot上传阿里云对象存储OSS快速上手(二.代码实现,复制粘贴可用) 简介: 1.阿里云对象存储OSS其实就是一个文件存储的服务 2.在我们的开发过程中会遇到类似 ...
- 自定义镜像上传阿里云(图文教程 附带思维导图)
自定义镜像上传阿里云 alpine Linux简介 思维导图 使用Dockerfile基于alpine制作JDK8镜像 使用Dockerfile基于alpine制作最小JRE基础镜像 将Docker镜 ...
最新文章
- Linux man命令
- 高效的CSS(2008年7月4日更新)
- 【杂谈】来自一个懵懂青年的表白!
- 在eclipse中,怎么改变字体大小?
- 用电脑更新手机ios系统_macOS 11正式版:大更新!苹果把iOS风格搬到了电脑上
- 故障常见原因归类分析及预防和应对措施
- GB/T 8567-2006《计算机软件文档编制规范》中与需求有关的文档包
- 项目中一些零碎化总结的
- JAVA实现Word转Pdf文件
- mysql监控工具-PMM,让你更上一层楼(下)
- Qt实现网格显示(图标文本)功能
- 【二〇二一·立秋】读书笔记
- git Incorrect username or password (access token)问题解决
- OI生涯回忆录(Part7:至高一湖南集训Day3)
- 2016山东计算机春考试题型,2016年山东省春季高考技能考试信息技术类专业考试样题...
- Matlab向量场可视化
- 【实用教程】Xshell6远程连接阿里云轻量应用服务器
- python+django+layUI+MySQL搭建4G设备管理平台项目(一)
- react 前端分页查询数据导出excel
- 餐饮销量数据统计量分析
热门文章
- 中国大学moocpython笔记_中国大学MOOC的APP(慕课)用Python玩转数据章节答案
- 17.AD域和LDAP协议
- ADS滤波器设计向导工具一
- 计算机二级vf笔试题库,2016年计算机二级VF笔试试卷
- 一键安装JDK和JRE并自动配置Java环境变量
- UWA学堂专栏推荐:Unity项目从Gamma转Linear颜色空间的经验分享
- 异常——Navicat提示access violation at address in module ‘navicat’
- 颅骨管理平台_程序总结
- eclipse中进行java编程时,CTRL+左键时,看不到源码的解决方法。
- Android 广告包使用之字节穿山甲介绍