- 所需组件
- 电路原理图
- ESP8266温度记录器的Thinger.io设置
- NodeMCU数据记录器的IFTTT设置
- 编程NodeMCU进行数据记录
- 从NodeMCU记录Thinger.io上的数据
- 在Thinger.io中创建端点以发送电子邮件警报
我们以前使用NodeMCU在Google表格中记录温度数据。现在,我们将在此处将数据发送到Thinger.io IoT云并以有吸引力的图形格式显示它们。BMP180传感器与NodeMCU ESP8266连接以收集温度,湿度和高度数据,这些数据将发送到Thinger.io平台。在本教程中,我们将学习如何管理thinger.io平台的不同功能,例如设备,端点,数据桶或访问令牌。
所需组件
- NodeMCU ESP8266
- BMP180压力传感器
- 跳线
- 面包板
电路原理图
该ESP8266数据记录器的电路图非常简单,此处仅BMP180传感器与NodeMCU接口。
BMP180传感器使用I2C通信协议。因此,您需要将BMP180的SCL和SDA引脚连接到NodeMCU的SCL和SDA引脚(D1和D2)。另外,将BMP180的V IN和GND引脚连接到NodeMCU的3.3V和GND。不要将传感器直接连接到5V,因为它会永久损坏传感器。
要了解有关NodeMCU的更多信息,请检查基于NodeMCU ESP8266的各种IoT项目。
ESP8266温度记录器的Thinger.io设置
Thinger.io是物联网的开源平台。它提供了用于以简单的方式对连接的产品进行原型设计,扩展和管理的每个工具。Thinger.io提供了三个基本工具,即数据桶,仪表板和端点来处理设备数据。这些工具可用于可视化设备数据并扩展设备的互操作性。
数据降压:数据降压工具可用于以可扩展的方式存储设备数据,编程不同的采样间隔或记录设备引发的事件。
仪表板:仪表板工具具有一些带有可自定义窗口小部件的面板,可以使用拖放技术在数分钟内创建面板,以可视化实时数据和存储的数据。
端点:端点可用于将平台与其他服务(例如IFTTT,自定义Web服务,电子邮件或呼叫其他设备)集成。
在本ESP8266日志记录中,我们将探索这些工具。
要将数据发送到Thinger.io,您需要在Thinger.io平台上创建一个免费帐户,然后按照以下步骤连接设备。
步骤1:第一步是创建一个新设备。要创建新设备,请在菜单选项卡中单击设备,然后单击添加设备按钮。
然后在表格中填写设备ID,说明和凭据,或为您的设备生成随机凭据,然后点击“ 添加设备” 。
就这样; 您的设备已准备好连接。在下一步中,我们将对NodeMCU进行编程,以将数据发送到Thinger.io平台。
NodeMCU数据记录器的IFTTT设置
当温度超过限制时,我们在这里使用IFTTT发送电子邮件警告。IFTTT(If This Then That)是一项基于Web的服务,通过它我们可以创建称为applet的条件语句链。使用这些小程序,我们可以发送电子邮件,Twitter,Facebook通知。
要使用IFTTT,请先登录IFTTT帐户(如果已有)或创建一个帐户。
现在搜索“ Webhooks ”,然后单击“ 服务 ”中的“ Webhooks ”。
然后,在Webhooks窗口中,单击右上角的 “文档” 以获取私钥。复制此密钥,此密钥将在Thinger.io中创建端点时使用。
之后,使用 Webhooks和Email服务 创建一个applet 。要创建一个applet,请单击您的个人资料,然后单击' 创建。 '
现在,在下一个窗口中,单击“ 此 ”图标。现在,在搜索部分中搜索Webhooks,然后单击“ Webhooks” 。
现在选择“ 接收Web请求” 触发器,并输入事件名称作为临时名称,然后单击“创建触发器”。
之后,单击“ 那么” ,然后单击电子邮件。
现在在电子邮件中,单击 “向我发送电子邮件”, 然后输入电子邮件主题和正文,然后单击“创建操作”。在最后一步中,单击“ 完成 ”以完成Applet设置。
编程NodeMCU进行数据记录
页面末尾提供了用于将数据发送到Thinger.io的完整代码。在这里,我们正在解释一些重要的部分。
通过包含所有必需的库来启动代码。所述ThingerESP8266.h被用于建立的IoT平台和同时Adafruit_BMP085.h用于读取所述BMP传感器数据NodeMCU之间的连接。您可以从Arduino IDE库管理器安装ThingerESP8266.h库。
#包括
接下来,在代码中输入凭据,以便可以识别设备并将其与您的帐户关联。
#define USERNAME“您的帐户用户名” #define DEVICE_ID“ NodeMCU” //您的设备名称#define DEVICE_CREDENTIAL“ FcLySVkP8YFR”
然后,输入您的端点名称。端点用于将平台与外部服务(例如IFTTT,HTTTP请求等)集成。
#定义EMAIL_ENDPOINT“ IFTTT”
定义变量以存储压力,温度和高度数据。
int压力,温度,海拔;
在 void循环()中, 读取传感器数据。该 PSON 数据类型可以容纳不同的数据类型。因此,Pson数据类型用于同时接收多个值。
事物>>(pson&out){out = bmp.readPressure()/ 100; out = bmp.readAltitude(); out = bmp.readTemperature(); };
如果 温度值超过15度,则使用 if 条件调用端点。这里的数据是端点名称。
if(温度> 15){something.call_endpoint(EMAIL_ENDPOINT,“数据”);} Serial.print(“发送数据”);
从NodeMCU记录Thinger.io上的数据
现在,将BMP传感器连接到NodeMCU并上传代码。NodeMCU将使用您的帐户凭据与您之前创建的设备连接。如果连接成功,它将显示已连接,如下图所示:
您可以通过单击“设备”菜单中的设备名称来检查设备统计信息,如“已发送数据”,“已接收数据”,“ IP地址”,“已连接时间”等。
当我们现在接收数据时,我们将创建一个仪表板以使用小部件可视化数据。
要创建仪表板,请从菜单标签中单击仪表板,然后单击“ 添加仪表板” 。
现在,在下一个窗口中,输入仪表板详细信息,例如仪表板名称,ID和描述,然后单击“仪表板”。
之后,通过单击“仪表板”名称访问新的仪表板。默认情况下,仪表板将显示为空。要添加小部件,首先需要通过单击仪表板的右上方开关来启用编辑模式。然后点击“ 添加小部件” 按钮。
当您单击“ 添加小部件” 按钮时,它将显示一个弹出窗口,您可以在其中选择小部件类型,背景颜色等。在我的情况下,我选择了“仪表小部件”。
当您单击保存时,它将带您进入下一个屏幕,您需要在其中选择Source Value,Device,Resource,Value和Refresh模式。选择所有值,然后单击“保存”按钮。
现在,对其余变量重复相同的过程。我的仪表板如下所示:
在Thinger.io中创建端点以发送电子邮件警报
现在,我们将创建一个Endpoint以将Thinger.io与IFTTT集成。设备可以调用端点来执行任何操作,例如发送电子邮件,发送SMS,调用REST API,与IFTTT交互,从其他帐户调用设备或调用任何其他HTTP端点。
要创建端点,请从菜单选项卡中单击“端点”选项,然后单击“添加端点”。
现在,在下一个窗口中,输入所需的详细信息。详细信息是:
端点ID:端点的唯一标识符。
端点描述:编写有关端点的描述或详细信息。
端点类型:从给定的选项中选择端点类型。
制作者事件名称:输入您的IFTTT小程序名称。
厂商频道密钥:您的Webhooks秘密密钥。
之后,单击“测试端点”以检查是否一切正常。它应该向您发送一封电子邮件,其中包含有关温度数据的警告。
您可以发送电子邮件或电报消息,也可以使用Endpoint功能发送HTTP请求,而不必使用IFTTT Webhook触发器。
这就是NodeMCU ESP8266可用于从BMP180传感器到互联网记录温度,压力和高度数据的方式。
页面末尾提供了有效的视频和完整的代码。