arduino读取水位传感器的数据显示在基于i2c的1602a上_使用NodeMCU、Thingspeak和传感器远程天气跟踪...

背景知识视频教程

通过构建实际应用程序来掌握Arduino - 国外课栈​viadean.com
arduino读取水位传感器的数据显示在基于i2c的1602a上_使用NodeMCU、Thingspeak和传感器远程天气跟踪..._第1张图片
物联网#3:物联网(物联网)自动化与ESP8266 - 国外课栈​viadean.com
arduino读取水位传感器的数据显示在基于i2c的1602a上_使用NodeMCU、Thingspeak和传感器远程天气跟踪..._第2张图片
使用Arduino掌握物联网 - 国外课栈​viadean.com
arduino读取水位传感器的数据显示在基于i2c的1602a上_使用NodeMCU、Thingspeak和传感器远程天气跟踪..._第3张图片

温度在任何方面都起着重要作用。 例如,在准备餐食或食物时,温度很重要,因为温度会影响食物的质量,风味和新鲜度。 另一个例子是在葡萄酒和啤酒生产中,温度在最终产品的质量中起着重要的作用。

气压对水化学和天气状况有重要影响。 较高的气压可支持晴天,晴朗和有利的天气条件,但较低的气压水平会导致阴雨和多云的天气条件。 这个大气参数已经用于预测天气状况已有数百年的历史了。

在本教程中,我们进行了大气压和温度的在线测量或监视。

硬件

软件

ESP8266 NodeMCU

NodeMCU是一个开发板,可在具有Espressif Non-OS SDK的ESP8266和基于ESP-12模块的硬件上运行。 该设备具有4MB的闪存,80MHz的系统时钟,大约50k的可用RAM和片上Wifi收发器。

ESP8266可以用作外部Wifi模块,使用标准AT命令集固件(通过串行UART将其连接至任何微控制器),也可以通过使用提供的SDK编程新固件直接用作支持Wifi的微控制器。

数字温度传感器

它广泛用于在化学溶液,矿山或土壤等坚硬环境中测量温度。传感器的管口很坚固,也可以购买防水选件,从而简化了安装过程。 它可以测量从-55°C到+ 125°C的宽范围温度,精度达±5°C。 每个传感器都有一个唯一的地址,只需要MCU的一个引脚即可传输数据,因此它是在多个点上测量温度而又不影响单片机上许多数字引脚的很好的选择。

如何工作

该传感器采用1-Wire通信方法。 它仅需要使用上拉电阻将数据引脚连接到微控制器,而其他两个引脚用于供电。 上拉电阻器用于在不使用总线时将线路保持在高状态。 传感器测得的温度值将存储在传感器内部的2字节寄存器中。 可以通过1-wire方法按顺序发送数据来读取此数据。

气压高度传感器

该传感器非常适合各种天气传感,甚至可以在I2C和SPI中使用。 该传感器具有高精度和低成本的特性,是高达±1 hPa的精确压力测量和高达±1.0°C的温度的理想解决方案。由于高度和压力测量的压力变化非常精确,因此可以使用该传感器和高度计的精度为±1米。

Thingspeak

ThingSpeak是物联网云平台,您可以在其中将传感器数据发送到云。您还可以使用MATLAB或其他软件分析和可视化数据,包括制作自己的应用程序。

ThingSpeak包含一个Web服务(REST API),可让您在云中收集和存储传感器数据并开发物联网应用程序。 它可以与Arduino,Raspberry Pi和MATLAB一起使用(存在预制的库和API),但是它应该与所有类型的编程语言一起使用,因为它使用了REST API和HTTP。

在本教程中,通过使用Arduino代码上的API密钥将Thingspeak与Arduino集成在一起。要设置API密钥,必须首先打开Thingspeak帐户。以下过程描述了Thingspeak的设置过程。

软件设置

在Thingspeak中创建一个帐户

前往http://Thingspeak.com

然后单击注册。

填写必要的信息,然后单击继续。

只需选中,将此电子邮件用于Mathworks帐户,然后单击继续即可。

验证您的电子邮件,然后单击继续。

输入用户名和密码。单击继续。

只需单击确定。

选择您打算如何使用Thingspeak,然后单击“确定”。

单击新建频道,创建自己的频道。

输入频道名称和字段名称,然后单击“保存频道”。

接下来是单击API密钥以获取API密钥。

生成新写入API密钥按钮上方的密钥是我们将在代码中使用的API密钥。

Arduino IDE上的ESP8266 NodeMCU设置

打开您的Arduino IDE,然后单击文件,然后单击首选项。并将下面的链接复制到其他板管理器URL。

http://arduino.esp8266.com/stable/package_esp8266com_index.json

然后单击确定。

接下来是单击“工具”,然后转到“ Board:”,然后单击“ Board Manager”。

在搜索栏中输入ESP8266,然后单击安装。

硬件设置

代码

库文件

Arduino代码

注意: 在Thingspeak帐户中将“ API密钥”更改为您自己的API密钥。并将“ WIFI-SSID”和“ WIFI-PASSWORD”发送到您自己的Wifi网络的SSID和PASSWORD。

代码分解

这部分代码是我们将SPI总线分配给NodeMCU引脚的地方。计时器设置为15秒。但是您可以更改计时器,但是最小间隔为15秒,因为Thingspeak每15秒更新一次数据。

在此代码中,我们开始进行串行通信,并将波特率设置为115200 bps,然后检查是否正常工作。然后调用connectWifi()函数。

在此代码中,我们开始读取获得的数据,并将其存储在温度和压力变量中。然后在串行监视器中显示温度和压力值。

在这段代码中,我们检查是否能够连接到Thingspeak服务器,然后将数据发送到服务器。在物联网中,我们在通道的字段1中显示温度数据,在字段2中显示压力数据。

此代码是我们的计时器,myPeriodic等于15。因此,在循环可以再次运行之前,我们有15秒的计时器。

此代码是connectWifi()函数。在此代码中,我们将设备连接到Wifi,并检查是否能够连接。

参阅

使用NodeMCU、Thingspeak和传感器远程天气跟踪 - 国外课栈​viadean.com
arduino读取水位传感器的数据显示在基于i2c的1602a上_使用NodeMCU、Thingspeak和传感器远程天气跟踪..._第4张图片

你可能感兴趣的:(arduino读取水位传感器的数据显示在基于i2c的1602a上_使用NodeMCU、Thingspeak和传感器远程天气跟踪...)