0 准备材料

0.1 ESP-01S

引脚及定义

官方定义:

序号 pin 功能
1 GND 地线
2 IO0/GPIO0 工作模式选择:①悬空:Flash Boot,工作模式 ②下拉:UART DownLoad 下载模式
3 IO2/GPIO2 通用IO
4 RX/RXD 数据接收端
5 TX/TXD 谁发送端
6 3V3/VCC 3.3V,模块供电
7 RST 1)外部复位管交,低电平复位 2)可以悬空或者接外部MCU
8 EN/CH_PD 芯片使能,高电平使能,低电平失能

产品实际图:

0.2 DHT11(温湿度传感器)

比较简单,只有三个引脚从S端到-端依次为:

序号 pin 功能
1 s 数据端
2 3.3V电源端
3 - 地线

0.3 USB转ESP8386 WiFi模块

该模块实现对WiFi模块的转接功能,使用时仅需按照如图所示安装:

多说一嘴,由于USB供电本身问题,在实现对ESP的系统写入的时候(重置,或者重新刷包),仍然需要单独供电(可以用Arduino单独供电)。

1 云平台准备工作(乐维互联)

乐维平台地址

首先注册一个个人账户,然后进入管理菜单:

在我的设备中添加设备,这里要特别注意第一行的标识号,这是等下我们进行通讯的一个凭证

在我的账户中生成一个userkey,我已经生成完毕:

在我的物联->传感器与控制器中,有一些数据分类,由于刚刚创建我使用了模版,所以这里有如下的几个分类,如果需要别的可以创建新的分类。

进入乐维互联的API测试平台,在这里测试我们刚刚的操作是否有误。

在这里填入刚刚生成的API

在标中的地方换上刚刚添加设备时生成的设备号(不可以是设备名)

接下来就是POST的具体内容了,这里的H1,T1分别为,传感器和控制器那一栏中,的设备标识

request那一栏中的内容就是我们要通过ESP模块发送的内容模版,返回内容则为数据是否成功。如果False会显示错误内容。

乐为互联这一步就结束了,如果有更多问题可以查看官方API文档

2 ESP-01S模块写入

2.1 写入前注意事项

  • ESP-01S是有记忆功能的,即,就算断电重启,之前的指令也会生效。
  • 如果遇到下图这种情况,出现错误回复400,说明进入了透传模式AT+CIPSEND已经接收数据发送了,这时只需要测试一下发送POST消息,如果返回正确请继续。(这种情况不需要刷入新的数据)

使用USB转接器转接模块后,按照以下操作:

AT+RST                   //复位
AT+CIPMODE=1 //STA模式
AT+CIPMUX=0 //单连接模式
AT+CWMODE=1 //透传模式 AT+CWJAP="esp","88888888" //连接WiFi 这里是WiFi和密码 AT+CIPSTART="TCP","api.lewei50.com",80 //与乐联网建立TCP连接
AT+CIPSEND //进入透传开始发送数据 AT+SAVETRANSLINK=1,"api.lewei50.com",80,"TCP" //开机自动连接到乐维平台,请进行下面测试之后再使用该命令防止出错

现在使用如下格式测试ESP的功能:

POST /api/V1/gateway/Updatesensors/02 HTTP/1.1   //记得02换成自己的设备号
Host: open.lewei50.com
userkey:edbec438aa //API换成自己的
Content-Length: 52
Connection: close [{"Name":"T1","Value":29},{"Name":"H1","Value":89}] //传感器换成自己的

如果返回

,就说明测试成功,继续下一步。

组装

ESP

ESP只需要使用四个引脚,高,低数据位,电源,地线。

ESP引脚 Arduino引脚
GND GND
3V3 3.3V
RX 2
TX 3

DHT

上文已经说到,DHT11只有三个引脚,所以全部用上。正负极一定不要接反,接反就坏了

DHT引脚 Arduino引脚
S 6
- GND
5V

总体接线图

代码

这里附上可能会用到的库

leweiclient

esp8266

#include <LeweiClient.h>
#include <SPI.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); #include "DHT.h"
#define DHTPIN 6
#define DHTTYPE DHT11 #define SSID "esp"
#define PASSWORD "88888888"
#define APIKEY "edbec438aa"
#define server "api.lewei50.com"
#include "uartWIFI.h" #define POST_INTERVAL (30*1000)
WIFI wifi;
int i = 0;
DHT dht(DHTPIN, DHTTYPE); void setup() {
// put your setup code here, to run once:
// Serial.begin(9600);
// _cell.begin(9600);
// _cell.print("+++");
dht.begin();
Serial.begin(9600);
DebugSerial.begin(9600);
delay(3000); // wifi.begin();
// bool b = wifi.confMode(3);
// if (!b) Serial.println("mode error");
// wifi.begin();
// delay(2000);
//
// bool g = wifi.confJAP(SSID, PASSWORD);
// if (!g)Serial.println("Init error");
// else Serial.println("Init ok");
//
// bool h = wifi.confMux(0);
// if (!h) DebugSerial.println("single error");
// else DebugSerial.println("single ok"); // String ipstring = wifi.showIP();
// Serial.println(ipstring);
// if (wifi.newMux(TCP, server, 80)) Serial.println("connecting...");
// bool f= wifi.CIPMODE(1);
// if(!f)DebugSerial.println("touchuan error");
// else DebugSerial.println("touchuan ok");
//
// bool d= wifi.CIPSEND();
// if (!d)DebugSerial.println("touchuan start error");
// else DebugSerial.println("touchuan start ok");
//
// delay(2000);
} void loop() {
// put your main code here, to run repeatedly:
// String str;
// bool bflag = false;
// int count = 1;
// delay(5000);
Serial.println("Start post...");
Serial.println("AT+CIPSEND");
delay(2000);
float t = dht.readTemperature();
float h = dht.readHumidity();
static int cnt = 52;
String cmd("POST /api/V1/gateway/Updatesensors/02 HTTP/1.1\r\n"
"Host: open.lewei50.com \r\n"
"userkey: edbec438aa\r\n"
"Content-Length: 52 \r\n"
"Connection: close\r\n"
"\r\n"
"[{\"Name\":\"T1\",\"Value\":" + String((int)t) + "},"
"{\"Name\":\"H1\",\"Value\":" + String((int)h) + "}]\r\n");
DebugSerial.println(cmd);
Serial.println(cmd); // wifi.send(cmd + data);
// _cell.print(cmd);
// _cell.print(data);
// _cell.println();
Serial.println("post ok");
delay(POST_INTERVAL);
}

4 额外的知识

在配置ESP模块的时候遇到了上文讲述的错误,有尝试刷机,当刷机的时候接线入下。

注意3.3V要用Arduino供电

下载以下软件

https://pan.baidu.com/s/146Dl-XKCe61z312Dv1OWKg

提取码:1ls2

Arduino实现温湿度传感器以及数据上传到云(乐维互联)的更多相关文章

  1. 关于数据上传阿里云MaxCompute调研

    1.背景 当前的数据存储基于mysql库表存储形式,目前已经无法满足愈加增大的数据存储需求,新项目基于Maxcompute数据仓库架构,需要将统计日志上传Maxcompute,本文对Maxcomput ...

  2. 【AllJoyn专题】基于AllJoyn和Yeelink的传感器数据上传与指令下行的研究

    接触高通物联网框架AllJoyn不太久,但确是被深深地吸引了.在我看来,促进我深入学习的原因有三点:一.AllJoyn开源,对开源的软硬件总会有种莫名的喜爱,虽然或许不会都深入下去:二.顺应潮流,物联 ...

  3. Arduino UNO +ESP8266采集数据上传到贝壳网

    集成电路设计大赛赛程将至,我现在还是毫无头绪,然后又报了一个互联网+,比赛报了,东西就必须出来,时间很紧的情况下,所以选择了开源的arduino的进行完成.从开始接触Arduino到完成工程,前前后后 ...

  4. 云中树莓派(2):将传感器数据上传到 AWS IoT 并利用Kibana进行展示

    云中树莓派(1):环境准备 云中树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 1. 传感器安装及配置 1.1 DHT22 安装 DHT22 是一款温度与湿度传感器,它有3 ...

  5. OneNET麒麟座应用开发之四:数据上传测试

    已经测试过OneNET麒麟座开发板了,这次来尝试与OneNET的连接和数据上传.这也是我们测试这块开发办的主要原因,因为在十几种我们有这种将分散的采集点数据上传到后台的需求. 先看看麒麟座这块开发板, ...

  6. C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

    目       录 工业物联网和集成系统解决方案的技术路线... 1 前言... 1 第一章           系统架构... 3 1.1           硬件构架图... 3 1.2      ...

  7. PDA手持扫描资产标签,盘点完成后将数据上传到PC端,固定资产系统查看盘点结果

    固定资产管理系统介绍: 致力于研发条码技术.集成条码系统的专业性公司,针对客户的不同需求,提供一站式的企业条码系统解决方案:包括功能强大的软件系统.安全可靠的无线网络.坚固耐用的硬件系统.灵活易用的管 ...

  8. 如何优化 FineUI 控件库的性能,减少 80% 的数据上传量!

    在开始正文之前,请帮忙为当前排名前 10 唯一的 .Net 开源软件 FineUI 投一票: 投票地址: https://code.csdn.net/2013OSSurvey/gitop/codevo ...

  9. Octopus系列之数据上传格式要求说明

    各个数据列要求 价格列:字符串类型[美元价格] 产品名字:可以支持"/"等字符 分类名字:去空格处理 不得包含"&"符号 主图:一定要有主图列 不为空 ...

  10. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

    [源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...

随机推荐

  1. CPU Burst有副作用吗?让数学来回答!| 龙蜥技术

    ​简介: 使用CPU Burst的副作用是什么?是否有不适用的场景呢?戳我给你答案~ 编者按:CPU Burst 特性已合入 Linux 5.14,Anolis OS 8.2.Alibaba Clou ...

  2. WPF 开源二维绘画小工具 GeometryToolDemo 项目

    这是一个演示 WPF 进行二维绘画的小工具 Demo 项目,基于 MIT 协议在 GitHub 上完全开源 源作者是 YuWeiCong 我只是帮助开源的工具人 软件运行界面效果: 开源地址: htt ...

  3. C# 获取指定文件夹中所有的文件(包括子文件夹的文件)

    有个需求中需要播放指定路径的声音,但你必须要有该路径的声音才可以播放,如果没有该文件则播放默认的声音,该方法用于初始化应用的时候获取指定目录的所有文件,便于后来播放声音的时判断路径是否存在. usin ...

  4. SonarQube+Maven+SonarQube Scanner

    1.SonarQube简介 官方网站地址:https://www.sonarqube.org/ SonrQube是一个开源的代码质量管理系统,用于检测代码中的错误,漏洞和代码规范.它可以以现有的Git ...

  5. AI实战 | 手把手带你打造智能待办助手

    背景 大家好,我是努力的小雨.今天我想分享一下搭建待办助手的经历.起初,我并没有什么特别的创意点子.但在4月16日的百度Create大会上,我看到了小度的大模型加持使得其变得更加智能.我被一场示例所震 ...

  6. csapp-attacklab(完美解决版)

    注意:必须阅读Writeup,否则根本看不懂这个lab要怎么做 实验前准备 1.在终端中输入./ctarget和./rtarget结果报错 百度后得知自学的同学需要在执行文件时加上-q参数,不发送结果 ...

  7. Windows 上安装 PostgreSQL详细图文教程

    转载于微信公众号:SQL数据库运维,如需转载请注明出处,谢谢! PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库". 这里使用 Enterprise D ...

  8. 高性能远程桌面Splashtop 居家办公首选软件

    2020年,新冠疫情期间,各地提倡远程办公.居家办公.在家里怎么使用办公室的电脑?以Splashtop为代表的远程桌面控制软件也就被越来越多的人知晓和使用了. 什么是Splashtop远程桌面? Sp ...

  9. MQ消息积压,把我整吐血了

    前言 我之前在一家餐饮公司待过两年,每天中午和晚上用餐高峰期,系统的并发量不容小觑. 为了保险起见,公司规定各部门都要在吃饭的时间轮流值班,防止出现线上问题时能够及时处理. 我当时在后厨显示系统团队, ...

  10. 训练营 |【AIRIOT大学计划暑期训练营】第三期即将开营,报名从速!

    培养新生力量,聚焦产业融合.为了促进物联网产业的纵深发展和创新,推进教育链.产业链与创新链的有机衔接,提高学生理论.实践和创新能力,为行业培养更多优秀人才,航天科技控股集团股份有限公司将于2023年7 ...