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

电子说

1.2w人已加入

描述

概述

我们已经看到了一个使用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

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

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

ESP8266

在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转换器。

ESP8266

所需组件

任何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

确定

ESP8266

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

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

ESP8266

注意:

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

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

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

AT + CIPSEND = 51

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

AT + CIPCLOSE

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

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

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

ESP8266

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

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

ESP8266

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

ESP8266

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

使用Arduino的ESP8266 ThingSpeak接口电路图

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

ESP8266

使用Arduino将ESP8266连接到ThingSpeak

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

代码

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

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

ESP8266

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

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

ESP8266

结论&应用程序

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

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

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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分