該項(xiàng)目使用廉價(jià)的熱驅(qū)動(dòng)閥(ebay 上 10 英鎊左右)和基于 ESP8266 的獨(dú)立電子設(shè)備來提供 WiFi 可控的散熱器閥。然后可以使用“家庭助手”(在 Raspberry Pi 上)來控制閥門,如果需要,也可以控制鍋爐。
可以添加 DHT22 溫度檢測器,以便電子設(shè)備也可以將溫度反饋給 Home Assistant。帶有多個(gè)繼電器的板可用于控制多個(gè)散熱器。您可以使用 13A 插頭 PSU(推薦)使閥門和電路板在 24V 上運(yùn)行,或者在 240V 上運(yùn)行的閥門和電路板。
完成此項(xiàng)目需要一臺(tái) 3D 打印機(jī)和一個(gè)不起眼的步進(jìn)電機(jī)。這是一個(gè)不起眼的項(xiàng)目,但它很有效,而且在我的公寓里正在滴答作響,相當(dāng)成功。
補(bǔ)給品
閥門:ebay上有幾種閥門,有的24V,大部分240V,我建議選擇240VC常開的。
電子產(chǎn)品選擇:
帶有 ESP01 板、24v 至 5v 降壓轉(zhuǎn)換器和平滑組件的 24V 系統(tǒng)
單板 ESP12、24V 或 240V,如果您愿意,可以添加 DHT22 溫濕度傳感器。
(1 更有趣,也許更有趣,而且更小。2 更方便。)
變壓器
第 1 步:基于 ESP-01 的 24V 閥門控制器
這比單板方法更容易焊接和理解,但它很有趣,而且物理上非常緊湊。
此解決方案僅為 24V。零件是:
24V 1A 13A 插頭變壓器
ESP-01
ESP-01 中繼卡
24V 至 5V 降壓轉(zhuǎn)換器
100n 和 10n 聚酯電容器,10microFarad 電解電容器,最小的鐵氧體磁珠,一小塊電路板 - 如果您包括額外的平滑,請參見下文
小盒子 - 我用的是 72x48x24mm
24V 熱驅(qū)動(dòng)閥
ESP8266 是一款令人驚嘆的小型微控制器,配有 Wifi,只需幾英鎊。有時(shí)它對 PSU 上的噪音有點(diǎn)敏感。所有這些中國 PSU 和轉(zhuǎn)換器都非常符合價(jià)格,而且可能很吵。因此,我在降壓轉(zhuǎn)換器和 5V ESP-01 繼電器板之間添加了平滑處理。
我使用的降壓轉(zhuǎn)換器具有可變輸出電壓,我需要用制表師的飛利浦螺絲刀在微型電位器中仔細(xì)設(shè)置它,并用萬用表檢查電壓。
您可以看到我已經(jīng)過度小型化,并且 vero-board 部分小得難以管理。事實(shí)上,我什至不確定它是否需要 - ESP-01 可能只使用降壓轉(zhuǎn)換器并且沒有平滑電容器或鐵氧體磁珠就可以正常工作。
看看我是如何在這里和那里焊接到電路板背面的——你需要一個(gè)精致、干凈的烙鐵頭和一點(diǎn)技巧。
添加 DHT22 傳感器可能并不容易,我還沒有嘗試過。
第 2 步:ESP-12f 繼電器板 - 24V
這是比上面的 ESP-01 方法更簡單、更整潔的解決方案。ESP-12f 更勝一籌 - 4Mb 內(nèi)存超過 1Mb,并且有更多 GPIO 可用。如果您希望電子箱具有溫度/濕度傳感器,可以輕松添加 DHT22,家庭助理可以使用它來控制打開和關(guān)閉散熱器。盒子不必緊挨著閥門(您可以選擇盒子和閥門之間的電線長度),這樣溫度傳感器的位置就可以非常有用,遠(yuǎn)離散熱器的扭曲效應(yīng)。
如果添加 DHT22,它有 4 個(gè)引腳,但只使用了 3 個(gè)(請參閱網(wǎng)絡(luò)上的大量信息。)它需要一個(gè)上拉電阻,我使用了 6.8K,在“sense”和 Vcc 之間 - 看看我是如何焊接的將電線連接到傳感器上(而不是在盒子內(nèi))。這提供了一個(gè)傳感器,如果需要,可以從主板上斷開,這更容易構(gòu)建,如果你愿意,也可以拆卸。非常清楚您插入了哪個(gè) I/O 引腳編號(hào),以便您可以對其進(jìn)行配置(請參閱。)
這些板采用 12v 到 80v 之類的任何直流電壓。我們?yōu)殚y門使用 24V,所以它非常整潔:電路板和閥門的一個(gè)電源。它也非常安全:所有電源電壓都在 13A 插頭 PSU 內(nèi),在官方制造的部件中安全絕緣。
第 3 步:ESP-12f 繼電器板 - 240V
如果你真的很細(xì)心并且非常確定你理解的話,你可以使用 240V 的閥門和電路板。
事實(shí)上,據(jù)我所知,240V 閥門更容易獲得(盡管找到 24V 應(yīng)該沒有問題。)
與上一步中的電路板非常相似的電路板可以在其上安裝一點(diǎn) 240V 開關(guān)模式電源,幾乎不再需要了。我想我付了 8 英鎊而不是 6 英鎊。驚人的!
然而 - 我真的不喜歡電源電壓。你冒著震驚和火災(zāi)的風(fēng)險(xiǎn)——為什么要冒這個(gè)險(xiǎn)?
也就是說,這很容易。在我的身上,我有 DHT22 選項(xiàng)(請注意,我使用熱塑料來保護(hù) dht22 電線 - 我弄錯(cuò)了,這張照片是在重新熔化和改造之前拍攝的。)我會(huì)說,盡管有 240V在內(nèi)部,添加 DHT22 是一個(gè)進(jìn)一步不必要的風(fēng)險(xiǎn),所以再說一次 - 我認(rèn)為我們應(yīng)該為這個(gè)項(xiàng)目堅(jiān)持使用 24V,因?yàn)樗阋?、整潔、簡單和安全?/p>
這些板有點(diǎn)大。ebay上有一個(gè)10x6x2.5cm的盒子,很便宜。
第 4 步:鍋爐控制
只有corgi注冊工程師才能在鍋爐上工作。我的威能有一個(gè)用于打開加熱的開關(guān)的兩線接口,時(shí)鐘采用兩根線并在“開啟”時(shí)間時(shí)關(guān)閉它們之間的開關(guān)。我建議您像這樣運(yùn)行該項(xiàng)目 - 只需繼續(xù)使用您的時(shí)鐘,但在 Home Assistant 上設(shè)置您的 wifi 控制閥門以與時(shí)間一致。然而,控制器對鍋爐的工作與將 24V 電源切換到熱驅(qū)動(dòng)閥一樣。
我的所有散熱器都沒有遙控器,所以鍋爐總是有一些散熱器要加熱。我不是供暖工程師或管道工,但我相信如果所有散熱器都關(guān)閉,鍋爐的泵就會(huì)受到影響,我認(rèn)為我說供暖工程師總是安裝一個(gè)沒有恒溫閥的散熱器是對的。無論如何,即使您在所有散熱器上都有我的閥門設(shè)計(jì),您仍然可以通過 Home Assistant 中的自動(dòng)化配置確保至少有一個(gè)是打開的。
第 5 步:安裝散熱器閥門
這應(yīng)該是擰下舊恒溫閥并擰上電動(dòng)閥的問題。這樣做時(shí),您可能需要非常用力地按壓。
有趣的是,閥門的行程似乎非常小,據(jù)我所知可能只有 5 或 6 毫米,但我嘗試過的所有閥門似乎都運(yùn)行良好。如圖所示,我忘記了它的制造商,它的螺紋可能略少:它不會(huì)在我的一個(gè)散熱器上運(yùn)行,而其他散熱器則可以。
第 6 步:Arduino Sketch - 加載和配置
我制作了一個(gè)通用草圖,可以與繼電器和溫度/濕度傳感器中的一個(gè)或兩個(gè)一起使用。它使用 LittleFS 上傳配置文件,該文件配置存在的硬件以及 GPIO 引腳是什么(它們在 ESP-01 和不同的板之間有所不同。)
您甚至可以在虛擬溫度或繼電器類中進(jìn)行編譯,因?yàn)槲覍⒂布?xì)節(jié)移到了單獨(dú)的類中。ESP-01 只有 1Mb,我們想要 LittleFS 和 Arduino “空中”上傳,這樣我們就不必拔下 ESP-01 或?qū)?USB 串行連接到卡的 TX/RX(不止一次好歹。)
附加的草圖和包含的文件,以及一些配置文件。
在 Arduino 上,您需要 ESP8266 板庫(網(wǎng)上有很多信息。)
您還需要 LittleFS、PubSubClient、ArduinoJson(參見草圖頂部的#includes。)使用庫管理器添加這些。
我認(rèn)為你默認(rèn)得到所有其他人。
請注意,我已經(jīng)刪除了我的姓名和密碼:
char mqtt_user[34] = “xx”;
char mqtt_pwd[34] = “xxxxx”;
你可以放你的,但你也可以將它們添加到配置文件中,就像你喜歡的那樣。
如果要配置溫度或繼電器:
//#include “DummyTemp.h”
#include “Temp.h”
//#include “DummyRelay.h”
#include “Relay.h”
只需通過評論更改為使用虛擬版本即可。實(shí)際上,您可能不需要這個(gè)。我認(rèn)為它可能對 ESP-01 有所幫助,以節(jié)省一點(diǎn)內(nèi)存并保持 OTA 工作,但我認(rèn)為編譯的代碼無論如何都足夠小。
請注意,配置文件是卡 ID - 您只有在第一次運(yùn)行草圖時(shí)才能看到它,因此您只能在運(yùn)行一次后創(chuàng)建文件。然后您可以在 Arduino 的“工具”下使用 LittleFS 上傳。
ESP-01 和 ESP-12f 板的上傳代碼不同。確保在工具菜單上選擇正確的內(nèi)存和文件系統(tǒng)大小。對于 ESP-01,它是 1Mb,對于 ESP-12f,它是 4Mb(Arduino 可能會(huì)自動(dòng)檢測,不能保證。)選擇您看到的最小大小的文件系統(tǒng),讓 OTA 工作的最大值(它只會(huì)在ESP-01 上工作) !)
ESP-01 - 您拔下并插入 USB/ESP-01 串行適配器,然后插入 Arduino 環(huán)境的 PC 串行板。
ESP-12f 卡 - 你需要一個(gè)普通的 USB 到串行適配器,查看照片,并使用 3 路帶狀連接器將 TX、RX 和 Gnd 連接到板上(參見其中一個(gè)板連接器的圖片,但它們不同稍微。)請注意,您必須在電路板和插頭之間反轉(zhuǎn) TX 和 RX,以便電路板的 TX 轉(zhuǎn)到插頭的 RX,反之亦然(否則,如果您明白我的意思,您將傳輸?shù)桨l(fā)射器。)
確保您了解兩種情況下程序和運(yùn)行模式之間的區(qū)別。ESP8266 重復(fù)使用 I/O 線進(jìn)行上傳,您必須將 IO0 接地才能設(shè)置此模式。ESP-01 USB 適配器有一個(gè)小開關(guān),但對于 ESP-12,您需要使用電路板隨附的小跳線來橋接 GND 和 IO0(參見照片 - 拍攝時(shí)未安裝跳線。)
這個(gè)項(xiàng)目使用了非常漂亮的 WiFiManager。第一次運(yùn)行草圖時(shí),Wifi 進(jìn)入接入點(diǎn)模式。使用筆記本電腦或智能手機(jī)連接到電路板 - 我認(rèn)為它顯示為“AutoConnectAP”但我忘記了。這應(yīng)該是顯而易見的。然后您可以選擇您的wifi名稱,輸入密碼并保存。然后該板連接到您的 wifi。
在插入串行監(jiān)視器的情況下第一次運(yùn)行卡(見圖。)很抱歉,我有一個(gè)未診斷的錯(cuò)誤,因此當(dāng)您運(yùn)行上傳的代碼時(shí),沒有配置文件,它很快崩潰,*但是*您將在 Arduino(或膩?zhàn)踊蚱渌┥系拇斜O(jiān)視器中看到顯示的卡名稱。然后,您可以創(chuàng)建一個(gè)配置文件并將其上傳到 Tools/LittleFS。我注意到一些 ESP-01 卡會(huì)導(dǎo)致 Arduino 在加載結(jié)束時(shí)顯示錯(cuò)誤,但它們?nèi)匀贿_(dá)到 100% 并加載。很煩,但我解決不了。配置文件必須位于名為 data 的子目錄中!示例配置(附上幾個(gè))
{
“mqtt_server”:“ha.abe”,
“mqtt_port”:1883,
“mqtt_topic_suffix”:“-240v”,
“dht_gpio”:4,
“temp_correction”:-1.8,
“濕度校正”:-4,
“detector_type”: “dht22”、
“led_gpio”:16、
“relay_gpio”:[5]、
“relay_active_state”:1、
“l(fā)ed_active_state”:0
}
配置是 JSON。這些控制器使用 MQTT 與 Home Assistant 控制器進(jìn)行通信(您還可以使用 mosquitto 工具 mosquitto_sub 和 mosquitto_pub 監(jiān)控消息并發(fā)送自己的消息。)
您很可能在 LAN 上使用 mDNS(又名“Bonjour”、avahi 等)。如果是這樣,您的 mqtt 服務(wù)器將具有“本地”域。我認(rèn)為草圖可能不適用于 .local 域 - 但我不確定(可能需要添加 mDNA 代碼 - 我只是不確定。)
如果您設(shè)置檢測器類型,則您正在配置溫度/濕度檢測器。使用 dht22。您可以使用 dht11,它們更便宜 - 但不要打擾。
您可以有 0 個(gè)或多個(gè)中繼,這就是 JSON 數(shù)組的原因。通常你只有一個(gè)用于繼電器的 GPIO,但我有一個(gè)帶有 2 個(gè)繼電器的有用板,用于控制我的臥室和大廳外面的散熱器。然后你有兩個(gè) GPIO(和 2 組 mqtt 東西,見下文。)你確實(shí)需要從卡文檔中找出哪些 GPIO。有些繼電器卡需要您在繼電器引腳和 GPIO 引腳之間添加跳線(我的雙繼電器是我遇到的那個(gè)。)
MQTT 在這里完全超出了范圍,但如果被問到,我會(huì)添加詳細(xì)信息和建議。
一個(gè)關(guān)鍵概念是topic。消息是在“主題”上發(fā)送的。這些板具有溫度(如果使用)和繼電器狀態(tài)的信息主題。當(dāng)板子啟動(dòng)時(shí),它會(huì)讀取其卡 ID,后綴“-dh22”和/或“-relay”中的一個(gè)或兩個(gè)以顯示您擁有的硬件,然后為您配置的“mqtt_topic_suffix”添加后綴 - 您將其設(shè)置為識(shí)別閥門控制器在其他人中。
卡運(yùn)行后,通過 LittleFS 上傳配置文件,您可以測試 mqtt。為您的平臺(tái)安裝 mosquitto 實(shí)用程序 - 我認(rèn)為 Windows 也將擁有它;我使用Linux。這是我最新的中繼卡的一些輸出:
mosquitto_sub -v -h ha.abe -u XX -P YYYY -t ‘#’ | ts | grep 0F74
Feb 15 18:43:45 esp0F74D3-dht22-relay-240v-NO OFF
Feb 15 18:45:04 esp0F74D3-dht22-relay-240v-NO OFF
Feb 15 18:46:19 esp0F74D3-dht22-relay-240v-NO OFF
Feb 15 18:46:35 esp0F74D3-dht22-relay-240v-NO-cmd ON
Feb 15 18:46:37 esp0F74D3-dht22-relay-240v-NO ON
Feb 15 18:47:28 esp0F74D3-dht22-relay-240v-NO-cmd STATUS
Feb 15 18:47:29 esp0F74D3-dht22-relay-240v-NO ON
Feb 15 18:47:36 esp0F74D3-dht22-relay-240v-NO-cmd RESET
Feb 15 18:47:44 esp0F74D3-dht22-relay-240v-NO OFF
請注意我如何在命令通道上發(fā)送命令以打開繼電器,并在信息主題上以新狀態(tài)回答,然后我使用 STATUS 命令進(jìn)行詢問,如果您想要卡,我還添加了 RESET 命令重啟。如果您安裝了 dht22 并等待 10 分鐘,您將獲得溫度:
Feb 15 19:15:05 esp0F74D3-dht22-relay-240v-NO-temp {“humidity”:“52.9”,“medianh”:“53.0”,“temperature”:“18.0”,“mediant”:“18.0”,“hum-correct”:0,“temp-correct”:0}
Feb 15 19:27:38 esp0F74D3-dht22-relay-240v-NO-temp {“humidity”:“52.3”,“medianh”:“52.3”,“temperature”:“18.2”,“mediant”:“18.2”,“hum-
請注意,您可以根據(jù)已知溫度計(jì)監(jiān)控溫度和濕度,并將更正設(shè)置到配置文件中。dht22s 有時(shí)可能需要 2 或 3 度!dht22也很吵。我希望商業(yè)的也是如此(比如 Tuya zigbee 溫度計(jì),它物超所值),但它們會(huì)有平滑代碼。我通過使用 Hampel 庫來剔除異常值來做到這一點(diǎn),這樣我的溫度計(jì)幾乎和 Tuyas 一樣光滑。如果您使用串行監(jiān)視器運(yùn)行該板,您將看到調(diào)試代碼顯示何時(shí)丟棄異常值。您可以調(diào)整異常值參數(shù)、樣本數(shù)量和采樣頻率,但我希望您能找到我努力的目標(biāo)。
當(dāng)卡配置并工作時(shí),您可以分離串口,或拔下 esp01 并插入繼電器(或溫度)模塊。您應(yīng)該會(huì)看到它在運(yùn)行時(shí)在 mqtt 上發(fā)送信息!
虛擬溫度.h下載
虛擬繼電器.h下載
esp0EF487.txt下載
esp7FD57A.txt下載
esp29A28C.txt下載
esp2548B5.txt下載
溫度.h下載
繼電器.h下載
中繼-temp-hampel-littlefs-oo.ino
第 7 步:Pi + MQTT 上的家庭助理
家庭助理的安裝、設(shè)置和配置大多超出了范圍。有很多教程文檔。默認(rèn)安裝有一個(gè)專門用于家庭助理的樹莓派,這是官方“支持”的。您可以將它安裝在現(xiàn)有的 pi 上。
您還需要 MQTT 代理插件。您可以單獨(dú)安裝 MQTT,但盡管我在安裝時(shí)遇到了一些麻煩,但我認(rèn)為可能是代理最好的。
配置傳感器和開關(guān)也有點(diǎn)棘手,但請參閱我的屏幕截圖顯示兩者。我的傳感器沒有進(jìn)入?yún)^(qū)域。對于在 yaml 中配置 mqtt 傳感器的家庭助理來說,這似乎并不簡單,因?yàn)樗皇呛苈闊覜]有嘗試過。這只是意味著您的自動(dòng)化不能說“打開樓下的散熱器”,而是必須有一個(gè)開關(guān)列表。
你會(huì)看到我做了兩個(gè)自動(dòng)化:在我起床之前打開散熱器,如果/當(dāng)它變熱時(shí)關(guān)閉它們。你會(huì)看到我讓我的公寓保持涼爽。將我的鍋爐置于混亂的流動(dòng)和回流狀態(tài)的主體,因此散熱器閥門處于回流狀態(tài),這使得它們在切換時(shí)非常嘈雜 - 這就是為什么在操作鍋爐之前您會(huì)看到閥門完全打開或完全關(guān)閉(但請記住- 這是一個(gè)控制鍋爐的實(shí)驗(yàn) - 你應(yīng)該使用你的時(shí)鐘。)我希望大家不要遇到這個(gè)麻煩。
-
散熱器
+關(guān)注
關(guān)注
2文章
1057瀏覽量
37635 -
樹莓派
+關(guān)注
關(guān)注
117文章
1710瀏覽量
105757
發(fā)布評論請先 登錄
相關(guān)推薦
評論