電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>ESP32+后端的室內(nèi)氣培花園自動化制作指南

ESP32+后端的室內(nèi)氣培花園自動化制作指南

2023-07-07 | zip | 0.00 MB | 次下載 | 免費

資料介紹

本指南最終有點冗長,還包括將我?guī)У竭@一點的旅程的詳細(xì)信息,而不是一套簡短的說明。這樣做的原因是,在這段旅程中,我遇到了很多選擇,我相信在這里和那里提供更多的細(xì)節(jié)可能會幫助任何人——像我一樣——開始成為一名制造商、室內(nèi)園丁或程序員。

我在這個項目中使用的每一項知識都是自學(xué)的,并且是從互聯(lián)網(wǎng)上免費提供的資料中獲取的。我希望這會鼓勵您學(xué)習(xí)、試驗,讓您和您的社區(qū)的生活更美好,并在途中獲得很多樂趣。我當(dāng)然會:)

花園

這一切都始于大約 2 年前,當(dāng)時我收到一小籃子羅勒和歐芹作為喬遷禮物,我很快就迷上了用新鮮香草烹飪的想法,即使是在隆冬。由于這些年來我也在休假,所以事情注定會失控——以一種好的方式

首先,我開始從當(dāng)?shù)爻刑匾赓徺I新的羅勒植物,很快我的櫥窗里就有 6 到 7 株,腦子里有無數(shù)的新計劃和想法。因此,唯一合乎邏輯的下一步是購買一些生長燈,并最終將該項目發(fā)展成一個半自動化的氣培花園,只需要不時手動更換營養(yǎng)液。

這也是我對 Maker 世界的介紹。

種植容器和氣培法

我最終選擇了氣培法而不是其他方法,因為它似乎是最有效的資源利用方式,而且想到擁有一大桶根莖,在我家中間懸掛在蒸發(fā)的營養(yǎng)液中也具有奇怪的吸引力。

因為它計劃是一個實驗性的構(gòu)建,我使用了一個宜家盒子(可能不是食品級的,所以我不推薦它)在頂部為網(wǎng)杯切幾個洞,就是這樣。

單一容器方法效果很好,但也有缺點:一旦根部接觸到營養(yǎng)液,就很難控制根腐病,因為造霧器不能使水充分充氧。我經(jīng)常需要使用過氧化氫 (H2O2) 對其進(jìn)行消毒。還有其他更好的變體(參見:高壓氣培法),但這個是最容易建造的。

poYBAGOW5qOAbtI0AAVVB90gmq8803.jpg

在為 netcups 鉆孔之前找到正確的安排

到目前為止,使用超聲波霧化器并不是最好的解決方案,但它是氣培法的簡單介紹,效果好且維護成本低。

一定要買一個帶有“漂浮物”的,因為它們只能在理想的深度下工作。如果造霧機有一個浸沒傳感器,它也有幫助,這樣它就不會在離開水時打開并損壞自身(例如,當(dāng)容器在炎熱的夏天排水得更快時)。

當(dāng)您更換營養(yǎng)物時,還要確保清潔裝置和漂浮物,因為它可能是細(xì)菌的培養(yǎng)箱。

外殼:

幾個月來,我一直在看著我客廳中央的一個相當(dāng)丑陋的帳篷,它是用反光救生毯、錫箔和電線搭起來的,讓它看起來更像是一個廢棄的臨時***實驗室,而不是羅勒花園。所以我決定使用木框和雙面反光板來升級外殼。它便宜、易于制造,最終大大提高了生長燈的效率。

使用專為該任務(wù)打造的材料:耐熱、表面不平整的反光材料(以避免形成熱點)、耐用、不透明、一側(cè)顏色適合您的環(huán)境。通常一個簡單的熱屏就足夠了。

正在制作中的新外殼

控制器單元

pYYBAGOW5vaADcJxAAxRYlXv-wY992.jpg

帶DS18B20溫度傳感器的控制器

pYYBAGOW5v2AQFp4AADNjIHmpvM320.png

原理圖

免責(zé)聲明

在這一點上,我必須補充一點,我只是一個愛好者,而不是工程師,所以挑戰(zhàn)我的解決方案總是一個好主意。也就是說,當(dāng)前的設(shè)置是對無數(shù)項目和指南進(jìn)行數(shù)月研究的結(jié)果,旨在尋找最佳實踐來構(gòu)建負(fù)擔(dān)得起但安全的解決方案。

它經(jīng)歷了多次迭代,并且總是有很大的改進(jìn)空間,但目前的原型已經(jīng)在我的花園里全天候服務(wù)了一年多,并被證明是可靠的。

電源連接:

請注意,輸入和輸出電源連接器均為IEC_60320 C14,可輕松更換,并且也是許多生長燈和計算機制造商的標(biāo)準(zhǔn)。

我使用 PC 電源線作為輸入,并使用組裝好的自定義連接器作為輸出。

電源輸入通過電線連接器分配,我使用的是 wago 221s。微控制器(3V3)和繼電器模塊(5V)有一個 5V 直流電源,其余通過繼電器模塊路由到生長燈和灌溉。

安全注意事項:

繼電器缺點:對于輸出電源連接器,接地是直接連接的,但火線和中性線只有一根由繼電器切換,因為這在這類家庭項目中很常見。因此,即使繼電器處于關(guān)閉狀態(tài),也應(yīng)將末端的任何東西視為帶電。在進(jìn)行任何手動交互之前,將它們與設(shè)備完全斷開。

入口和出口:對于像我這樣的新手來說,區(qū)分相同連接器標(biāo)準(zhǔn)的入口和出口可能也不是很明顯(我只熟悉 PC 電源的入口),但是有非常明顯和合乎邏輯的安全原因使用插座作為輸出連接器,否則您最終會在設(shè)備側(cè)面的裸露金屬針腳上獲得電源電壓。這是次優(yōu)的:)

傳感器:

經(jīng)過幾次嘗試,我發(fā)現(xiàn)將我的傳感器連接到設(shè)備的最簡單方法是通過 3.5 毫米音頻連接器(具有 3 個或更多極)和音頻電纜(至少具有相同數(shù)量的電線)。端口、連接器和電纜均易于采購、易于組裝并符合 3V3-5V 標(biāo)準(zhǔn)。

在這個項目中,我只使用了 DS18B20 溫度傳感器的防水變體來監(jiān)測營養(yǎng)液的溫度。但在房間的另一邊,有一個類似的單元負(fù)責(zé)照看土壤種植的羅勒,它使用電容式土壤濕度傳感器、DHT11 溫濕度傳感器,這些也可以在 MCU 側(cè)項目的模塊中找到模板:: https://github.com/tlvlp/iot-mcu-modules/tree/master/modules

繼電器模塊:

我使用的是 5V 電源和 3V3 控制,非常適合 ESP32。

確保它額定切換電源電壓并且它可以承受灌溉和植物生長燈的負(fù)載。請注意“電源連接”部分中的安全警告!

生長燈:

網(wǎng)上有很多關(guān)于為你的花園選擇合適的燈的材料,它本身就是一門藝術(shù),這取決于你的植物的要求和主要的書呆子水平:)

由于控制器可以處理任何由電源電壓供電的生長燈,您只需考慮繼電器模塊的額定值或選擇適合您選擇的照明的繼電器。

?

組件清單:

ESP32 WROOM 或 WROVER 開發(fā)板

固態(tài)繼電器模塊

交直流5V電源

3.5 毫米音頻連接器

3+線音頻線

信號

DS18B20水溫傳感器

生長燈

PC電源線插頭

輸入的電源兼容開關(guān)

電源插座

3 個額定電源線連接器https://www.wago.com/221/us/

項目箱 - 最好是防水的

MCU、固件和軟件:

選擇微控制器 - ESP32

首先,我在 Arduino Nanos 上碰了碰運氣,它非常適合學(xué)習(xí),但幾乎無法用于物聯(lián)網(wǎng)目的。我最終選擇了 ESP32 WROVER 和 WROOM 開發(fā)板,因為即使它們是市場上的新產(chǎn)品,對于內(nèi)置 WiFi 且具有良好性能和存儲容量的 MCU 來說,它們也相對便宜。

我為 ESP 構(gòu)建了一個小型對接平臺,并將所有傳感器、繼電器控制和電源連接到該平臺,使開發(fā)板可從設(shè)置中移除。

選擇語言 - MicroPython

在使用 C++ 和 PlatformIO 大約一個月后,一旦我想對項目進(jìn)行模塊化,我很快就不知所措,最終在不得不調(diào)試一些晦澀的 mqtt 連接問題時放棄了。

那是我找到 MicroPython 并最終在項目中使用它的時候。

它在性能方面當(dāng)然有其缺點,但使用相對強大的 ESP 芯片,我很樂意用一些性能損失來換取可讀性、開發(fā)和調(diào)試的便利性。

與編譯后的 C++ 不同,MP 還必須在內(nèi)存中有其解釋器,占用更多空間。但它的優(yōu)點是不必每次更改都重新編譯和上傳整個項目,而只需上傳已修改的腳本。

通過串行連接的 REPL 也是加速編寫和測試代碼的一個很好的特性。

為您的硬件編寫自定義模塊

由于硬件模塊種類繁多,您很有可能會為它們編寫自定義軟件模塊。

最好的開始方式是決定您的硬件設(shè)置,從下面克隆模塊存儲庫,實施您的解決方案。另請參閱上面的傳感器部分以獲取更多信息。

UAsyncIO 和協(xié)作式多任務(wù)處理

在自定義 MCU 模塊和設(shè)置時,確保使用與現(xiàn)有實現(xiàn)類似的 uasyncio(Python 的 asyncio 的微型版本)庫,尤其是對于較慢的模塊,以保持單元響應(yīng) - 否則,例如。等待較慢的傳感器會阻止設(shè)備接收 MQTT 調(diào)用。

代碼庫:

https://github.com/tlvlp/iot-mcu-modules - MCU 端 API 詳細(xì)信息和啟動您自己的項目的通用模板

https://github.com/tlvlp/iot-mcu-modules - MCU 端 API 詳細(xì)信息和啟動您自己的項目的通用模板

https://github.com/tlvlp/iot-mcu-bazsalikon-aero - 在這里您可以找到我的花園中當(dāng)前使用的上述模板的實現(xiàn)

更新固件并將項目上傳到 MCU:

https://github.com/tlvlp/micropython-upload - 我用來更新固件、上傳項目文件、訪問 REPL 等的腳本集合。

https://micropython.org/ - 官方 MicroPython 資源,包括開發(fā)板特定的固件和一個非常有用的社區(qū)

poYBAGOW52GAYgM1AAiFsaAJerE480.jpg

ESP32 - Lolin32 v1.0.0 開發(fā)板

服務(wù)器端

因為在做這個項目的時候,我也正在轉(zhuǎn)行成為一名軟件開發(fā)人員,所以我發(fā)現(xiàn)用這個項目作為學(xué)習(xí)新技術(shù)的動力是一個好主意。

因此,服務(wù)器端并不像您對類似規(guī)模的創(chuàng)客項目所期望的那樣輕巧,它不需要在 MCU 或 Raspberry Pi 上運行,它需要一個中等大小的家用服務(wù)器或計算機,但作為回報,它可以擴展以處理更多的 MCU :)

可以在此處找到項目摘要存儲庫,其中包含部署所需的所有詳細(xì)信息和材料:https ://github.com/tlvlp/iot-project-summary

特點

機組監(jiān)控

每個單元中的模塊電平控制(例如繼電器)

以計劃任務(wù)的形式實現(xiàn)自動化

報告:使用原始數(shù)據(jù)和每小時、每天、每周、每月和每年的平均值為單元動態(tài)生成模塊級報告。

安全——所有公開的端點都使用 TLS、身份驗證和授權(quán)規(guī)則。所有密碼均在安裝期間生成并存儲在 Docker 機密中。

Dockerized 服務(wù)堆棧提供安全可靠性并與服務(wù)器的其余部分分離

大多數(shù)服務(wù)都可以通過 Docker Swarm 進(jìn)行擴展(詳情在部署倉庫中)

部分:

Linux服務(wù)器

網(wǎng)絡(luò)連接

TLS 證書(最好使用域加密)

下圖顯示了服務(wù)之間可能的 API 調(diào)用的概覽。除了 MQTT 代理之外的所有服務(wù)都使用數(shù)據(jù)庫,因此為了清楚起見,我省略了這些連接。

API 網(wǎng)關(guān)控制大部分流程,但 MQTT 客戶端和調(diào)度程序也可以通過專用的內(nèi)部用戶帳戶調(diào)用網(wǎng)關(guān)。

poYBAGOW52SAGQxqAAC7DDG4N_k531.png

服務(wù)器后端+前端服務(wù)圖

后端部署:

我已經(jīng)為幾種情況編寫了安裝、部署和卸載腳本。

在獲得 TLS 證書和簡短配置后,安裝是完全自動的。

所有詳細(xì)信息都可以在https://github.com/tlvlp/iot-server-deployment repo 中找到。

網(wǎng)絡(luò)門戶:

https://github.com/tlvlp/iot-api-gateway是與服務(wù)交互的最穩(wěn)定方式,您可以制作自己的前端實現(xiàn)。

在撰寫此摘要時,我對前端世界還比較陌生,因此在當(dāng)前狀態(tài)下,該項目附帶的門戶充其量是粗糙的,尤其是在涉及 UX 時,但它是安全且功能齊全的。

特征:

完全實現(xiàn)后端 API

由 TLS 保護

桌面和移動兼容

PWA(漸進(jìn)式 Web 應(yīng)用程序),您可以將其作為應(yīng)用程序安裝到桌面和手機以方便訪問

單元詳細(xì)信息部分包含從單元列表視圖中選擇的單個單元的所有詳細(xì)信息和可用操作,例如:

開關(guān)繼電器模塊

添加、編輯預(yù)定事件

查看單元活動日志

為單元的給定模塊生成報告

pYYBAGOW52mAKiEcAABVY13--8o520.png

單位詳情查看

報告部分顯示單個單元模塊的可自定義報告。

可以同時顯示不同的平均范圍,這將在當(dāng)前基于文本的報告被可視化圖表取代時更有用。

如果從“單元詳細(xì)信息”視圖打開,報告參數(shù)會預(yù)先填充單元和模塊特定詳細(xì)信息。

poYBAGOW522ACuy8AABTzVga80E197.png

報告視圖

Admin 部分僅供具有 ADMIN 角色的用戶訪問,目前是注冊新用戶的唯一途徑。

poYBAGOW53OARigdAACLyCkBtRM128.png

用戶管理員視圖

構(gòu)建您自己的自定義輕量級后端的技巧:

您可以將項目的后端部分替換為您自己的解決方案。

只要滿足以下條件,您就可以使用您熟悉的任何語言和庫:

它需要包括一個 MQTT 服務(wù)器和客戶端

它必須實現(xiàn)https://github.com/tlvlp/iot-mcu-modules的 README 中詳述的 MCU 端 API

如果您了解一點 java 和 SpringBoot,快速構(gòu)建在 RaspberryPi 上運行的輕量級單體后端的一種方法是:

安裝和配置 MQTT 代理(例如 Mosquitto 或 VerneMQ)

克隆https://github.com/tlvlp/iot-mqtt-client存儲庫

在 /mqtt/MessagingService.java 中,將您的自定義邏輯添加到這些方法:handleIncomingMessage() 和 handleOutgoingMessage()

使用 Spring security 添加身份驗證和 TLS。示例可以在https://github.com/tlvlp/iot-api-gateway/ repo 的 src/.../config 包中找到

您還可以在各自的 repos 中找到調(diào)度、報告和單元處理相關(guān)邏輯,所有這些都在https://github.com/tlvlp/iot-project-summary中引用

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費