0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用ESP8266实现远程土壤水分监测器的设计

科技观察员 来源:Nathan Heskew 作者:Nathan Heskew 2022-04-01 15:21 次阅读

背景

我们房子周围有一些盆栽植物,因为它们所处的位置有点偏僻,所以往往并不能及时的受到养护。正巧我的实施清单上有一个完整的花园监控项目,但在此之前,作为朝那个方向迈出的一小步,我想我会从几个基于 ESP8266 的模块开始,然后尝试使用 AWS IoT 将它们整合在一起。

系统总览

初始系统由三个主要部分组成:

基于电池供电的WeMos D1 mini盆栽土壤湿度监测器

一个 基于Adafruit Feather HUZZAH ESP8266的监视器模块,带有一个NeoPixel FeatherWing ,用于一目了然的显示

用于发布和检索传感器数据的 AWS IoT

除了 AWS IoT 方面的一个小例外,一切都按预期进行。在我最初想使用 MQTT 发布和订阅传感器数据的地方,我不得不退回到 REST API,因为ESP8266 无法处理 AWS IoT MQTT 连接的特定要求。稍后,让我们从硬件开始。

土壤湿度传感器

大多数设备工作都在传感器方面。项目没有使用很多传感器,但添加了一些开关以帮助提高可用性。

poYBAGJGpwGAJnAOAAaDczqqirQ349.png

土壤湿度传感器模块的大脑是基于 ESP-8266EX 的漂亮小巧的 WeMos D1 mini。我在这里焊接了 WeMos 随附的堆叠接头,并且它足够小,可以在两侧使用面包板端子

poYBAGJGpwaARNT8AAXjgD3RB4w090.png

土壤湿度传感器本身是 SparkFun 的一个非常简单的传感器。我焊接了几根电线以将其连接到 WeMos。

pYYBAGJGpwuAb2loAANSwoTv3O4259.png

我还添加了两个开关以帮助提高可用性:

poYBAGJGpxCAf4oEAAVEJKXF52k296.png

第一个开关是启用/禁用土壤湿度检查和数据发布,以防我不希望启用传感器和/或激活 wifi 连接和数据发布过程。关闭模块后,模块会在配置的时间内重新进入深度睡眠。要立即(重新)启用传感器,请重新打开开关并按下 WeMos 上的重置按钮。

pYYBAGJGpxaAdYUFAAXUKfdbZiQ003.png

第二个开关是将 WeMos 置于闪光模式,因此我们需要在设备进入深度睡眠模式之前尝试对其配置。当开关“打开”或朝向 WeMos 时,模块已准备好进行正常操作。当“关闭”或远离 WeMos 时,模块已准备好闪烁。在上传固件时,可以将开关重新“打开”,以便在上传后重置模块即可正常使用。

poYBAGJGpx6ADL5PAAUQhvwUrZI911.png

一旦传感器模块全部连接好,就该让它闪烁了。

土壤水分显示

显示器比传感器模块简单得多,部分原因是我只显示各种湿度水平的颜色(红色 -》 黄色 -》 绿色 -》 蓝色),还因为这完全是使用 Adafruit Feather 组件构建的,所以它是几乎只是一个简单的焊料,即插即用。

poYBAGJGpySAN-wnAAYW0MktBpw096.png

NeoPixel FeatherWing 需要默认的封闭跳线切割和另一个焊接(与 Feather HUZZAH ESP8266 #15 引脚对齐)。

pYYBAGJGpymARtlNAARYPNu6IaE112.png

NeoPixels 的亮度足以引起任何人的注意,即使在最低亮度时也是如此。

poYBAGJGpy-AZZldAAXOzOZjdiE511.png

在进入固件之前就差不多了。但首先,需要为 AWS IoT 传感器和用户进行一些设置,因为我们需要从那里获取一些信息才能正确连接。

物联网

如果您还没有设置这一步,则需要“开始”使用 AWS IoT:

https://aws.amazon.com/iot/

当您可以看到 AWS IoT 仪表板,我们就可以添加一个“事物”。

首先,单击“创建资源”。

poYBAGJGpzWAEiuDAAD_M06U6UA569.png

然后单击“创建事物”。

poYBAGJGpzuAe88nAAEBFKQxY_c076.png

将事物命名为“soil-sensor-one”,然后单击“创建”。

poYBAGJGp0OABAGNAAHnU9lTqNA922.png

单击您刚刚添加的“事物”以查看其详细信息并记下详细信息窗格顶部的“REST API 端点”。

pYYBAGJGp0mAZ0DwAAH4qrktkvY500.png

正如我之前提到的,MQTT 端点不能真正与 ESP8266 一起使用,因为它无法执行所需的基于证书的身份验证。相反,我们可以使用带有版本 4 签名的 REST API。

因此,为了使用 REST API,我们需要添加一个拥有 AWS IoT 权限的新用户。为此,请单击页面顶部的“服务”,然后单击左侧的“IAM”。

poYBAGJGp06ATeHqAAIS_493S8E078.png

点击“用户”

pYYBAGJGp1mAVtu4AAC0I6951wg863.png

然后“创建新用户”

pYYBAGJGp2CAR42ZAADx1cKTYCE917.png

输入用户名,然后单击“创建”。

pYYBAGJGp2aAB4AyAABqfV7oXqQ837.png

创建用户后,单击“显示用户安全凭据”

pYYBAGJGp22ABFn7AAB2uzXlGsU796.png

并记下密钥和秘密。稍后固件中的 keys.cpp 文件将需要这些,不要与任何人分享这些内容!

poYBAGJGp3OAQEfjAAC7y5rWvb0865.png

如果需要,也可以下载凭据,然后单击“关闭”(如果您不下载,它会在关闭时发出警告)。

pYYBAGJGp3iACG20AABd3uiEapE173.png

现在需要授予新用户访问 AWS IoT 的权限。单击新创建的用户。

poYBAGJGp3-AOdv8AAETgWSiMIw662.png

单击“附加策略”。

pYYBAGJGp7OARGeuAAEqwFux48o643.png

在过滤器中输入“iot”,选择“AWSIoTDataAccess”,然后单击“AttachPolicy”。

poYBAGJGp7mAfJXDAADA0F32HmY665.png

之后可以赋予用户以下权限。

{ "Version": "2012-10-17", "Statement":

[

{ "Effect": "Allow", "Action":

[ "iot:Connect", "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:GetThingShadow", "iot:UpdateThingShadow"

], "Resource": "*"

} ]

}

'UpdateThingShadow' 和 'GetThingShadow' 将用于 REST API 访问。

准备刷新固件

又名,安装 Arduino 板,安装 USB 驱动程序和了解通用设备特定的 Arduino 配置。

WeMos D1 mini入门页面非常清晰,但建议的上传速度似乎不起作用,因此请尝试使用 115200 而不是 921600。

Adafruit Feather HUZZAH ESP8266 Arduino 设置信息很棒,无需更改 AFAIK。该页面上提到,某些版本的 Arduino IDE 可能会导致一些困难,但我对 1.6.7 没有任何问题(它比那些被挑出来的可能难以使用的版本更新)。

刷新固件

首先,您需要一个适用于 ESP8266 的 AWS IoS Arduino 库。 这个 特别是 从 Amazon Web Services - Labs org 开始的,但是 为了获得一些 ESP8266 支持和一些小的改进,它 分叉了一个 叉子。

使库可用于 Arduino IDE 的一种方法是下载此分支

https://github.com/heskew/aws-sdk-arduino/archive/iot-get-shadow-and-cleanup.zip , 将其解压缩到驱动器上的某个位置并将 src/esp8266 文件夹符号链接到 ~/Documents /Arduino/libraries(在 OSX 上——位置可能因操作系统而异)。然后获取传感器代码

https://github.com/heskew/things-aws-iot-soil-monitor/tree/master/sensor , 添加一个keys.cpp并为keys.h中的所有内容添加值。使用 https://github.com/heskew/things-aws-iot-soil-monitor/tree/master/monitor对监视器执行相同操作,并对那里的 keys.cpp 执行相同操作。

闪存每个设备,可能需要对“端口”和“上传速度”进行一些调整,仅此而已。

默认情况下,传感器模块将读取读数,连接到 wifi 并使用标准化值(0-100 刻度)更新传感器阴影,然后休眠 30 秒(并重复)。

在编写本文时,监视器模块将每 5 秒读取一次,并根据值更新 NeoPixel 颜色(使用当前组成的一组范围为红色 -》 黄色 -》 绿色 -》 蓝色刻度)。

基本上:

红色:植物可能正在受伤

黄色:植物可以用水

绿色:植物在水位上表现良好

蓝色:植物濒危

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

    关注

    0

    文章

    164

    浏览量

    38762
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    44741
收藏 人收藏

    评论

    相关推荐

    如何利用ESP8266制作植物浇水监控

    NodeMCU ESP8266 板可监控植物的土壤水分,并在需要浇水时通过 Telegram 通知您!
    发表于 09-22 15:41 1865次阅读
    如何<b class='flag-5'>利用</b><b class='flag-5'>ESP8266</b>制作植物浇水监控<b class='flag-5'>器</b>

    升级版土壤水分传感

    `土壤水分传感产品简介 土壤水份传感是我公司基于电导理论并运用频域测量技术自主研发的、具有世界先进水平的新一代传感。能够测量
    发表于 04-24 10:30

    升级版土壤水分传感

    `土壤水分传感产品简介 土壤水份传感是我公司基于电导理论并运用频域测量技术自主研发的、具有世界先进水平的新一代传感。能够测量
    发表于 05-23 17:11

    土壤水分传感

    应用范围:农业、林业、环境保护、水利、气象等行业部门用于土壤墒情监测、节水灌溉,可对各种土质的土壤进行野外流动现场测试,快速准确地检测出土壤含水量。不仅能够测试
    发表于 08-23 10:14

    土壤水分传感

    FDS-100土壤水分/湿度传感名称土壤水分/湿度传感 型号FDS-100 技术参数:.测量原理:FDR频域法.单 位:%.量 程:0~100%.探针长度:5.5cm.探针直径:3
    发表于 06-23 14:58

    土壤墒情监测系统实现土壤水分和温度远程监测

    多路土壤水分传感,并将传感布置在不同的深度,实现监测点的剖面土壤墒情检测。2、系统拓扑图3、
    发表于 09-06 14:42

    土壤水分传感土壤水分监测系统

    `产品概述FD-350土壤水分传感由电源模块、变送模块、漂零及温度补偿模块、数据处理模块等组成。采用FDR频域法,可以实时精确测定各种土壤不同剖面的水分含量。传感
    发表于 04-25 09:25

    谈一谈QY-800S土壤水分测量仪/土壤墒情测量仪的用途!!!

    谈一谈QY-800S土壤水分测量仪/土壤墒情测量仪的用途Call:QY常慧杰***简单概述:  土壤水分测量仪又名非接触式土壤水分测量仪、土壤
    发表于 12-24 16:24

    土壤水分监测系统是什么,它的用途都有哪些

    托普云农土壤水分监测系统能够实现土壤墒情的长时间连续监测。用户可以根据监测需要,灵活布置
    的头像 发表于 10-15 11:30 2545次阅读

    使用土壤水分测定仪来测量土壤水分的优势是什么

    为什么要使用土壤水分测定仪来测量土壤水分?一方面是因为测量土壤水分对农业生产有着重要的影响,另一方面是因为利用土壤水分测定仪来测量
    的头像 发表于 11-24 11:49 2054次阅读

    多点土壤水分监测系统是什么,它的用途都有哪些

    托普云农多点土壤水分监测系统能够实现土壤墒情的长时间连续监测。用户可以根据监测需要,灵活布置
    的头像 发表于 12-01 16:24 1608次阅读

    土壤水分传感土壤水分监测误差的分析

    和物理过程不可缺少的介质,是土壤肥力的重要因素。因此,经常进行土壤水分状况测定,掌握土壤水分变化规律,对农业生产实时服务和理论研究都具有重要意义。  然而,在实际进行土壤水分
    发表于 02-03 16:22 943次阅读

    土壤水分测定仪在测量土壤水分的优势

    土壤水分测定仪用于测量土壤水分有哪些优势?一方面是因为测定土壤水分对农业生产有着重要的影响,另一方面是因为利用土壤水分测定仪来测量
    发表于 09-27 10:16 589次阅读

    使用Bolt IoT监测土壤水分

    电子发烧友网站提供《使用Bolt IoT监测土壤水分.zip》资料免费下载
    发表于 12-14 10:23 0次下载
    使用Bolt IoT<b class='flag-5'>监测</b><b class='flag-5'>土壤水分</b>

    土壤水分监测

    TPFS-WS系列土壤水分监测站主要用于土壤水分温度等土壤墒情数据测定,四款型号可选,分别可在线测定单层、双层、三层、四层土壤水分温度,
    的头像 发表于 06-01 17:23 496次阅读