0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样将ESP8266连接到ThingSpeak应用程序

454398 来源:工程师吴畏 2019-07-29 09:52 次阅读

概述

我们已经看到了一个使用ESP8266和aREST平台的IoT实现。是什么让ThingSpeak变得与众不同,那就是使用简单的HTTP协议来传输,存储和检索来自不同传感器信息

此外,ThingSpeak应用程序允许我们记录传感器数据,跟踪位置甚至社交网络

关于ThingSpeak的另一个重要的事情(或者更确切地说是一个独特的功能)是它对MATLAB的支持。 ThingSpeak和MATLAB之间的密切关系导致将MATLAB的几个关键特性集成到ThingSpeak应用程序中。

其中一个特性是分析和可视化用户数据,即传感器数据没有MATLAB许可证的图形化方式。

公司的东西放在一边,ThingSpeak应用程序是我们物联网相关项目的一个很好的工具,因此这个项目专注于基础知识,即如何将ESP8266连接到ThingSpeak应用程序以及如何在未来的项目中使用ESP8266 ThingSpeak接口

创建ThingSpeak帐户

您需要做的第一件事是使用ThingSpeak创建一个帐户。自从与MATLAB合作以来,您可以使用您的MathWorks凭据使用此页面的登录链接登录ThingSpeak: THINGSPEAK

如果您这样做没有,您需要使用MathWorks创建一个帐户并登录ThingSpeak Application。

注意: MathWorks帐户可用于两个MATLAB以及ThingSpeak登录。

登录后,您需要为要存储的数据创建新通道。为此,请转到Channels-》 My Channels并单击New Channel。

怎样将ESP8266连接到ThingSpeak应用程序

输入频道名称和名称在相应部分中的字段1。通道中的字段用于保存数据,每个通道最多可包含8个字段。输入详细信息后保存频道。

在我的情况下,我创建了一个名为“测试频道”的频道,将字段1创建为“随机数”。您将在后面的部分中看到原因。

在ThingSpeak应用程序中还需要做一些其他事情。 ,但是我会在你需要的时候告诉它。

下一步是为项目准备硬件,其中包括ESP8266 WiFi模块,Arduino UNO板和很少有连接线。

项目的先决条件

我将向您展示两种方式如何将ESP8266连接到ThingSpeak应用程序。对于这两种方式,您需要确保使用AT命令固件加载或刷新ESP8266模块。

有关此问题的更多信息,我建议您通过项目中提到的程序如何更新FLASH ESP8266固件。

注意:

要闪存AT命令固件,需要通过将GPIO0连接到GND并重置模块来启用ESP8266中的编程模式。

但是在这个电路中(假设你已经刷过固件),ESP模块处于正常模式,即GPIO0可以悬空。

用你的ESP闪烁之后在AT Commands Firmware中,您现在可以继续将ESP8266连接到ThingSpeak。正如我之前所说,你可以用两种方式做到这一点:一种是通过AT命令,另一种是通过Arduino(即使这种方式使用AT命令,但Arduino控制它们)。

我将向您展示将ESP8266连接到ThingSpeak的两种方法。

通过AT命令ESP8266 ThingSpeak接口的电路图

将ESP8266连接到ThingSpeak的电路图非常简单。实际上,您之前可能已经看过这种连接。 Arduino UNO板仅用于在计算机和ESP8266之间传输数据,即它充当USB-to-UART转换器

所需组件

任何Arduino板或USB转UART转换器

ESP8266 WiFi模块(ESP-01)

连接电线

使用AT命令将ESP8266连接到ThingSpeak

将Arduino板连接到计算机并打开Arduino的串行监视器,并使用以下命令检查连接。/span》

AT

请注意,我已设置波特率至115200并选择了“两个NL&串行监视器中的CR“选项。

在收到”OK“响应后,您可以使用以下命令继续将ESP模块连接到WiFi网络。/跨度》

AT + CWJAP =” SSID”,”密码”

用您的WiFi网络名称替换SSID并输入密码代替密码。

现在您将收到有关WiFi连接的确认回复,如下所示。

WIFI已连接

WIFI GOT IP

确定

现在,您需要使用以下命令设置单个连接。

AT + CIPMUX = 0

下一步是使用TCP协议连接到ThingSpeak API。为此,您需要使用以下命令。

AT + CIPSTART =“TCP”,“api.thingspeak.com”, 80

或者,您可以使用主机的IP地址api.thingspeak.com即184.106.153.149。

AT + CIPSTART =“TCP”,“184.106.153.149”,80

注意:

启动TCP连接后,如果您不执行任何操作,连接将一段时间后自动关闭,通常在1分钟后关闭。

现在,您已成功启用ESP8266和ThingSpeak之间的“TCP”连接。接下来,您可以通过此TCP连接发送任何数据。

为此,请依次使用以下命令。

AT + CIPSEND = 51

获取/更新?api_key = XXXXXXXXXXXXXXXX& field1 = 255

AT + CIPCLOSE

建立TCP连接后,即可使用某些命令发送数据。这部分可能有点棘手,但尝试了几次,您将了解该过程。

要发送数据,您需要发送三种不同的信息:一个是实际的发送命令,接下来是数据以及ThingSpeak字段键,最后是关闭连接命令。我将尝试尽可能详细地解释这些步骤。

在发送数据之前,您需要获取API密钥。为此,请转到您的频道(您刚刚创建的频道),然后点击“API密钥”标签。在此之下,您可以找到Write API Key,它是一个16个字符的字母数字字符串。记下此密钥。

现在,使用以下命令初始化数据传输。

AT + CIPSEND = 51

值51是要传输的数据的长度。这包括完整的数据,包括API密钥和“\ r”和“\ n”值。对于此命令,您将收到以下响应。

确定

现在输入以下信息并点击发送。在这里,“XXXXXXXXXXXXXXXX”只是你刚刚复制的16字符Write API密钥。数字“143”是您传输到field1的实际数据。

GET/update?api_key = XXXXXXXXXXXXXXXX& field1 = 143

输入此文本并点击发送后,您将不会得到任何回复。它实际上正在等待关闭命令。点击发送上述文本后,立即输入以下命令并点击发送。

AT + CIPCLOSE

当您点击发送时,您将得到以下响应(不是确切的响应,而是类似的响应)。

Recv 51 bytes

SEND OK

+ IPD,1:5CLOSED

这里,数字5表示,该键是我的5 TH 消息。现在,打开ThingSpeak API并打开您的频道。在“私有视图”选项卡中,您可以在字段1图表中看到值“143”。

这是它。如果您理解并遵循所有这些步骤,那么您可能已成功将ESP8266连接到ThingSpeak API。要发送更多数据,请重复创建TCP连接的步骤。

使用Arduino的ESP8266 ThingSpeak接口电路图

由于我将编程Arduino并通过Arduino控制ESP8266,因此电路图略有不同。但组件将是相同的。

使用Arduino将ESP8266连接到ThingSpeak

我不想问同样的老问题,即您是否厌倦了手动输入所有AT命令?显然,答案是肯定的。 Arduino来救援。按照上面的电路图进行所有连接,我们将继续执行代码。

代码

使用以下代码上传到Arduino。请注意,您对代码进行了一些更改。更改将涉及WiFi SSID,WiFi密码和API密钥(16个字符)。我认为,剩下的值可以保留原样。

上传代码后,如果打开串行监视器(波特率设置为9600),您可以看到正在传输到ESP8266模块的AT命令。

最初,AT命令将设置与ESP模块的WiFi连接。启用连接后,Arduino将建立与ThingSpeak API的TCP连接,并每隔5秒发送一次随机数。

此数据可在ThingSpeak API网站中监控,即在您创建的频道中(在私人视图选项卡下)。

结论&应用程序

在这个项目中,我向您展示了如何使用直接AT命令以及Arduino将ESP8266连接到ThingSpeak API。/span》

使用ThingSpeak API,您可以在世界任何地方监控传感器数据。

最常用的传感器是DHT11湿度和温度传感器,DS18B20温度传感器和LM35。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    45016
收藏 人收藏

    评论

    相关推荐

    esp8266加入到c51单片机单通道程序怎么写

    要将ESP8266模块加入到C51单片机的单通道程序中,您需要了解如何通过串行通信(UART)与ESP8266进行通信。以下是如何实现这一点的步骤和示例代码。 步骤 1:硬件连接 首先
    的头像 发表于 10-18 11:32 612次阅读

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266无法正常工作。 1. ESP8266简介
    的头像 发表于 08-19 17:28 808次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 : 使用USB转TTL模块ESP8266模块与电脑连接。 通过串口调试助手发送AT指令配置ESP8266,包括设置WiFi
    的头像 发表于 08-19 17:27 2824次阅读

    ESP8266-12退出深度睡眠模式时挂起怎么解决?

    我正在使用 adafruits 的 esp8266 HUZZAH 板 (ESP8266-12),该板连接到温度/湿度传感器 (DHTxx),该传感器正在向 thingspeak 发送温
    发表于 07-22 06:26

    如何多个ESP8266与移动设备连接

    我有三个ESP8266模块。所有这些都被用作网络服务器,作为透明的串行链接。 通过一对一连接,它工作正常。 如何使用一个移动应用程序连接到所有三个模块?
    发表于 07-19 11:55

    可以在单个esp8266上安装两个NON OS SDK应用程序吗?

    一个简单的问题。我可以在单个 esp8266 上安装两个 NON OS SDK 应用程序吗?我的自定义引导加载程序(包括 os libs)和我的自定义应用程序(也包括 os libs)
    发表于 07-19 07:28

    如何让Windows 8自动连接到ESP8266

    我手动 IPv4 连接到ESP8266的 DNS 服务器设置为 127.0.0.1(即直到禁用ESP8266的 DNS 服务器)。 我已经用 Non-OS SDK V1.5.1 编
    发表于 07-18 08:08

    为什么无法连接到ESP8266作为接入点?

    ESP8266 用作接入点,并且网络对我的所有设备(PC、ios 手机、android 手机)都是可见的。问题是当我尝试连接到ESP8266接入点时,它会失败。电脑每次都失败,我
    发表于 07-17 06:00

    使用ESP8266arduino连接到thinkspeak云,无法将其连接到任何网页,为什么?

    我正在尝试使用 ESP8266 arduino 连接到 thinkspeak 云。所以我能够 esp 模块
    发表于 07-16 07:43

    有没有办法使SoftAP模式下的ESP8266允许使用WPS连接到它?

    有没有办法使 SoftAP 模式下的 ESP8266 允许使用WPS 连接到它? 即ESP8266充当 AP,按下ESP8266上的按钮,其他 wifi 设备现在可以使用 WPS
    发表于 07-16 06:13

    如何ESP-8266连接到Android?

    我正在尝试通过 android 连接到 esp8266。我在 android 上尝试了以下代码,但无法连接到 8266。 如果我缺少一些与 8266
    发表于 07-15 06:27

    ESP8266缓存AP后,是否会自动连接到任何缓存的AP?

    : wifi_station_set_auto_connect ESP8266 Station 设置为自动连接到 AP(其 ID 已缓存) 或通电时不通电。默认情况下,自动连接
    发表于 07-11 07:58

    能将ESP8266连接到arduino UNO上,使用mesh组网吗?

    现在已将ESP8266连接到了arduino,并且成功驱动,但是有个问题就是组网的问题,想使用mesh,但是还有有些疑问。1、将带有mesh的固件烧录到ESP8266中,就能自动寻找节点了吗?或者是下载mesh的库函数,从ard
    发表于 07-11 06:46

    是否可以通过WPS连接到ESP8266 AP?

    是否可以通过 WPS 连接到ESP8266 AP(而不是通过 ESP8266 连接到具有 WPS 的路由器)? 我只找到了一种解决方案,可以
    发表于 07-10 06:09

    MULTICH_CONNECT_PCB SDL线连接到ESP8266时,代码挂起的原因?

    逻辑分析仪中看到 SCL 和 SDA)。 当我MULTICH_CONNECT_PCB SDL 线连接到 ESP8266 时,代码挂起。 说明 ; 1. 连接正确 . 2. FX2
    发表于 03-05 07:21