0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用ESP8266實現(xiàn)遠程土壤水分監(jiān)測器的設計

科技觀察員 ? 來源:Nathan Heskew ? 作者:Nathan Heskew ? 2022-04-01 15:21 ? 次閱讀

背景

我們房子周圍有一些盆栽植物,因為它們所處的位置有點偏僻,所以往往并不能及時的受到養(yǎng)護。正巧我的實施清單上有一個完整的花園監(jiān)控項目,但在此之前,作為朝那個方向邁出的一小步,我想我會從幾個基于 ESP8266 的模塊開始,然后嘗試使用 AWS IoT 將它們整合在一起。

系統(tǒng)總覽

初始系統(tǒng)由三個主要部分組成:

基于電池供電的WeMos D1 mini盆栽土壤濕度監(jiān)測器

一個 基于Adafruit Feather HUZZAH ESP8266的監(jiān)視器模塊,帶有一個NeoPixel FeatherWing ,用于一目了然的顯示

用于發(fā)布和檢索傳感器數(shù)據(jù)的 AWS IoT

除了 AWS IoT 方面的一個小例外,一切都按預期進行。在我最初想使用 MQTT 發(fā)布和訂閱傳感器數(shù)據(jù)的地方,我不得不退回到 REST API,因為ESP8266 無法處理 AWS IoT MQTT 連接的特定要求。稍后,讓我們從硬件開始。

土壤濕度傳感器

大多數(shù)設備工作都在傳感器方面。項目沒有使用很多傳感器,但添加了一些開關以幫助提高可用性。

poYBAGJGpwGAJnAOAAaDczqqirQ349.png

土壤濕度傳感器模塊的大腦是基于 ESP-8266EX 的漂亮小巧的 WeMos D1 mini。我在這里焊接了 WeMos 隨附的堆疊接頭,并且它足夠小,可以在兩側(cè)使用面包板端子。

poYBAGJGpwaARNT8AAXjgD3RB4w090.png

土壤濕度傳感器本身是 SparkFun 的一個非常簡單的傳感器。我焊接了幾根電線以將其連接到 WeMos。

pYYBAGJGpwuAb2loAANSwoTv3O4259.png

我還添加了兩個開關以幫助提高可用性:

poYBAGJGpxCAf4oEAAVEJKXF52k296.png

第一個開關是啟用/禁用土壤濕度檢查和數(shù)據(jù)發(fā)布,以防我不希望啟用傳感器和/或激活 wifi 連接和數(shù)據(jù)發(fā)布過程。關閉模塊后,模塊會在配置的時間內(nèi)重新進入深度睡眠。要立即(重新)啟用傳感器,請重新打開開關并按下 WeMos 上的重置按鈕。

pYYBAGJGpxaAdYUFAAXUKfdbZiQ003.png

第二個開關是將 WeMos 置于閃光模式,因此我們需要在設備進入深度睡眠模式之前嘗試對其配置。當開關“打開”或朝向 WeMos 時,模塊已準備好進行正常操作。當“關閉”或遠離 WeMos 時,模塊已準備好閃爍。在上傳固件時,可以將開關重新“打開”,以便在上傳后重置模塊即可正常使用。

poYBAGJGpx6ADL5PAAUQhvwUrZI911.png

一旦傳感器模塊全部連接好,就該讓它閃爍了。

土壤水分顯示

顯示器比傳感器模塊簡單得多,部分原因是我只顯示各種濕度水平的顏色(紅色 -》 黃色 -》 綠色 -》 藍色),還因為這完全是使用 Adafruit Feather 組件構(gòu)建的,所以它是幾乎只是一個簡單的焊料,即插即用。

poYBAGJGpySAN-wnAAYW0MktBpw096.png

NeoPixel FeatherWing 需要默認的封閉跳線切割和另一個焊接(與 Feather HUZZAH ESP8266 #15 引腳對齊)。

pYYBAGJGpymARtlNAARYPNu6IaE112.png

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

poYBAGJGpy-AZZldAAXOzOZjdiE511.png

在進入固件之前就差不多了。但首先,需要為 AWS IoT 傳感器和用戶進行一些設置,因為我們需要從那里獲取一些信息才能正確連接。

物聯(lián)網(wǎng)

如果您還沒有設置這一步,則需要“開始”使用 AWS IoT:

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

當您可以看到 AWS IoT 儀表板,我們就可以添加一個“事物”。

首先,單擊“創(chuàng)建資源”。

poYBAGJGpzWAEiuDAAD_M06U6UA569.png

然后單擊“創(chuàng)建事物”。

poYBAGJGpzuAe88nAAEBFKQxY_c076.png

將事物命名為“soil-sensor-one”,然后單擊“創(chuàng)建”。

poYBAGJGp0OABAGNAAHnU9lTqNA922.png

單擊您剛剛添加的“事物”以查看其詳細信息并記下詳細信息窗格頂部的“REST API 端點”。

pYYBAGJGp0mAZ0DwAAH4qrktkvY500.png

正如我之前提到的,MQTT 端點不能真正與 ESP8266 一起使用,因為它無法執(zhí)行所需的基于證書的身份驗證。相反,我們可以使用帶有版本 4 簽名的 REST API。

因此,為了使用 REST API,我們需要添加一個擁有 AWS IoT 權(quán)限的新用戶。為此,請單擊頁面頂部的“服務”,然后單擊左側(cè)的“IAM”。

poYBAGJGp06ATeHqAAIS_493S8E078.png

點擊“用戶”

pYYBAGJGp1mAVtu4AAC0I6951wg863.png

然后“創(chuàng)建新用戶”

pYYBAGJGp2CAR42ZAADx1cKTYCE917.png

輸入用戶名,然后單擊“創(chuàng)建”。

pYYBAGJGp2aAB4AyAABqfV7oXqQ837.png

創(chuàng)建用戶后,單擊“顯示用戶安全憑據(jù)”

pYYBAGJGp22ABFn7AAB2uzXlGsU796.png

并記下密鑰和秘密。稍后固件中的 keys.cpp 文件將需要這些,不要與任何人分享這些內(nèi)容!

poYBAGJGp3OAQEfjAAC7y5rWvb0865.png

如果需要,也可以下載憑據(jù),然后單擊“關閉”(如果您不下載,它會在關閉時發(fā)出警告)。

pYYBAGJGp3iACG20AABd3uiEapE173.png

現(xiàn)在需要授予新用戶訪問 AWS IoT 的權(quán)限。單擊新創(chuàng)建的用戶。

poYBAGJGp3-AOdv8AAETgWSiMIw662.png

單擊“附加策略”。

pYYBAGJGp7OARGeuAAEqwFux48o643.png

在過濾器中輸入“iot”,選擇“AWSIoTDataAccess”,然后單擊“AttachPolicy”。

poYBAGJGp7mAfJXDAADA0F32HmY665.png

之后可以賦予用戶以下權(quán)限。

{ "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 驅(qū)動程序和了解通用設備特定的 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 , 將其解壓縮到驅(qū)動器上的某個位置并將 src/esp8266 文件夾符號鏈接到 ~/Documents /Arduino/libraries(在 OSX 上——位置可能因操作系統(tǒng)而異)。然后獲取傳感器代碼

https://github.com/heskew/things-aws-iot-soil-monitor/tree/master/sensor , 添加一個keys.cpp并為keys.h中的所有內(nèi)容添加值。使用 https://github.com/heskew/things-aws-iot-soil-monitor/tree/master/monitor對監(jiān)視器執(zhí)行相同操作,并對那里的 keys.cpp 執(zhí)行相同操作。

閃存每個設備,可能需要對“端口”和“上傳速度”進行一些調(diào)整,僅此而已。

默認情況下,傳感器模塊將讀取讀數(shù),連接到 wifi 并使用標準化值(0-100 刻度)更新傳感器陰影,然后休眠 30 秒(并重復)。

在編寫本文時,監(jiān)視器模塊將每 5 秒讀取一次,并根據(jù)值更新 NeoPixel 顏色(使用當前組成的一組范圍為紅色 -》 黃色 -》 綠色 -》 藍色刻度)。

基本上:

紅色:植物可能正在受傷

黃色:植物可以用水

綠色:植物在水位上表現(xiàn)良好

藍色:植物瀕危

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 監(jiān)測器

    關注

    0

    文章

    174

    瀏覽量

    38784
  • ESP8266
    +關注

    關注

    50

    文章

    962

    瀏覽量

    45018
收藏 人收藏

    評論

    相關推薦

    如何利用ESP8266制作植物澆水監(jiān)控

    NodeMCU ESP8266 板可監(jiān)控植物的土壤水分,并在需要澆水時通過 Telegram 通知您!
    發(fā)表于 09-22 15:41 ?1927次閱讀
    如何<b class='flag-5'>利用</b><b class='flag-5'>ESP8266</b>制作植物澆水監(jiān)控<b class='flag-5'>器</b>

    升級版土壤水分傳感

    `土壤水分傳感產(chǎn)品簡介 土壤水份傳感是我公司基于電導理論并運用頻域測量技術(shù)自主研發(fā)的、具有世界先進水平的新一代傳感。能夠測量
    發(fā)表于 04-24 10:30

    升級版土壤水分傳感

    `土壤水分傳感產(chǎn)品簡介 土壤水份傳感是我公司基于電導理論并運用頻域測量技術(shù)自主研發(fā)的、具有世界先進水平的新一代傳感。能夠測量
    發(fā)表于 05-23 17:11

    土壤水分傳感

    應用范圍:農(nóng)業(yè)、林業(yè)、環(huán)境保護、水利、氣象等行業(yè)部門用于土壤墑情監(jiān)測、節(jié)水灌溉,可對各種土質(zhì)的土壤進行野外流動現(xiàn)場測試,快速準確地檢測出土壤含水量。不僅能夠測試
    發(fā)表于 08-23 10:14

    土壤水分傳感

    FDS-100土壤水分/濕度傳感名稱土壤水分/濕度傳感 型號FDS-100 技術(shù)參數(shù):.測量原理:FDR頻域法.單 位:%.量 程:0~100%.探針長度:5.5cm.探針直徑:3
    發(fā)表于 06-23 14:58

    土壤墑情監(jiān)測系統(tǒng)實現(xiàn)土壤水分和溫度遠程監(jiān)測

    多路土壤水分傳感,并將傳感布置在不同的深度,實現(xiàn)監(jiān)測點的剖面土壤墑情檢測。2、系統(tǒng)拓撲圖3、
    發(fā)表于 09-06 14:42

    土壤水分傳感土壤水分監(jiān)測系統(tǒng)

    `產(chǎn)品概述FD-350土壤水分傳感由電源模塊、變送模塊、漂零及溫度補償模塊、數(shù)據(jù)處理模塊等組成。采用FDR頻域法,可以實時精確測定各種土壤不同剖面的水分含量。傳感
    發(fā)表于 04-25 09:25

    談一談QY-800S土壤水分測量儀/土壤墑情測量儀的用途?。?!

    談一談QY-800S土壤水分測量儀/土壤墑情測量儀的用途Call:QY常慧杰***簡單概述:  土壤水分測量儀又名非接觸式土壤水分測量儀、土壤
    發(fā)表于 12-24 16:24

    土壤水分監(jiān)測系統(tǒng)是什么,它的用途都有哪些

    托普云農(nóng)土壤水分監(jiān)測系統(tǒng)能夠實現(xiàn)土壤墑情的長時間連續(xù)監(jiān)測。用戶可以根據(jù)監(jiān)測需要,靈活布置
    的頭像 發(fā)表于 10-15 11:30 ?2591次閱讀

    使用土壤水分測定儀來測量土壤水分的優(yōu)勢是什么

    為什么要使用土壤水分測定儀來測量土壤水分?一方面是因為測量土壤水分對農(nóng)業(yè)生產(chǎn)有著重要的影響,另一方面是因為利用土壤水分測定儀來測量
    的頭像 發(fā)表于 11-24 11:49 ?2101次閱讀

    多點土壤水分監(jiān)測系統(tǒng)是什么,它的用途都有哪些

    托普云農(nóng)多點土壤水分監(jiān)測系統(tǒng)能夠實現(xiàn)土壤墑情的長時間連續(xù)監(jiān)測。用戶可以根據(jù)監(jiān)測需要,靈活布置
    的頭像 發(fā)表于 12-01 16:24 ?1664次閱讀

    土壤水分傳感土壤水分監(jiān)測誤差的分析

    和物理過程不可缺少的介質(zhì),是土壤肥力的重要因素。因此,經(jīng)常進行土壤水分狀況測定,掌握土壤水分變化規(guī)律,對農(nóng)業(yè)生產(chǎn)實時服務和理論研究都具有重要意義。? 然而,在實際進行土壤水分
    發(fā)表于 02-03 16:22 ?1012次閱讀

    土壤水分測定儀在測量土壤水分的優(yōu)勢

    土壤水分測定儀用于測量土壤水分有哪些優(yōu)勢?一方面是因為測定土壤水分對農(nóng)業(yè)生產(chǎn)有著重要的影響,另一方面是因為利用土壤水分測定儀來測量
    發(fā)表于 09-27 10:16 ?636次閱讀

    使用Bolt IoT監(jiān)測土壤水分

    電子發(fā)燒友網(wǎng)站提供《使用Bolt IoT監(jiān)測土壤水分.zip》資料免費下載
    發(fā)表于 12-14 10:23 ?0次下載
    使用Bolt IoT<b class='flag-5'>監(jiān)測</b><b class='flag-5'>土壤水分</b>

    土壤水分監(jiān)測

    TPFS-WS系列土壤水分監(jiān)測站主要用于土壤水分溫度等土壤墑情數(shù)據(jù)測定,四款型號可選,分別可在線測定單層、雙層、三層、四層土壤水分溫度,
    的頭像 發(fā)表于 06-01 17:23 ?537次閱讀