概述
我们已经看到了一个使用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。
输入频道名称和名称在相应部分中的字段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
发布评论请先 登录
相关推荐
评论