概述
我们已经看到了一个使用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。
刚刚,印度发布“首款5G芯片”!
疫情如何保护网络的安全
全球智能汽车产业的发展仍处于商业化前期阶段
关于互联网类脑智能巨系统,腾讯在人工智能领域的进展
AI如何重塑着医疗行业的各个方面
怎样将ESP8266连接到ThingSpeak应用程序
如何跟上工业4.0步伐 SMC意图简化工业4.0的相关信息
三星菲律宾官网已经上线三款S10系列新机预定页面
3D7424D-10延时线
iPhone 11已成2020年出货量最多的智能手机
IIS总线接口解析
伺服电机过载有什么现象?
有道词典笔K3:提高学习效率,让孩子自主学习
负氧离子监测站价钱是多少?哪个厂家质量好?
3d形貌轮廓仪可以测什么?
苹果系统内存占用过大怎么办
医疗保健传感器平台佩戴者可发出警报进行全面体检
用两个日常的例子为我们讲解了决策树的原理
NETGEAR存储数据备份方案评测
华为:中国5G的用户体验存在着“假、哑、差”三个问题