Агуулгын хүснэгт:

HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!): 3 алхам
HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!): 3 алхам

Видео: HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!): 3 алхам

Видео: HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!): 3 алхам
Видео: Гроуконтроллер 2024, Долдугаар сарын
Anonim
HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!)
HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!)
HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!)
HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!)
HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!)
HRV -ийн температур OpenHAB -аас ESP8266 -ээр дамждаг (Цуваа кодын жишээ!)

HRV - OpenHAB руу утасгүй холболт

Энэхүү зааварчилгаа нь HRV (халаалтын дахин эргэлтийн агааржуулалт) системтэй хүмүүст зориулагдсан болно. Гэхдээ хэлхээний самбар, openhab тохиргоо эсвэл Arduino кодын хэсэг (TTL сериал өгөгдлийг унших гэх мэт) нь өөрийн төсөлд ашиглахад хялбар эсвэл сурахад сайн үйлчилгээтэй байж болно. Энэ нь танд Arduino IDE болон ESP8266 чип гэж юу болох талаар хангалттай мэдлэгтэй гэж үзэж байна.

Танилцуулга

HRV системд холбогдож дээвэр, байшингийн температур, хяналтын самбарын температур, сэнсний хурдыг MQTT мессежээр OpenHAB руу илгээдэг ESP8266 -ийг хэрхэн бүтээх талаар доор тайлбарласан болно. Энэ нь ESP8266-01 самбартай ажиллахад зориулагдсан болно (гэхдээ ямар ч ESP8266 3.3V хувилбартай ажиллах ёстой) Хэрэв танд өөр үйлдвэрлэгчээс HRV төрлийн ижил төстэй систем байгаа бол өгөгдлийг TTL сериал хэлбэрээр илгээсэн эсэхийг тодорхойлох шаардлагатай болно., өгөгдлийг ямар бүтэц хэлбэрээр илгээдэг.

OpenHAB ба шумуул

ESP8266 кодыг тусгайлан OpenHAB (гэрийн эх сурвалжтай автоматжуулалтын програм хангамж) болон Mosquitto гэх мэт MQTT брокертой ажиллахад зориулагдсан болно. Товчилсон үгс нь таныг айлгадаг, тэд хэрхэн ажилладаг талаар олж мэдээд ашиглахад маш энгийн байдаг. Би OpenHAB -ийг NTC C. H. I. P (9 долларын үнэтэй компьютер) дээр ашигладаг боловч олон хүмүүс Raspberry Pi эсвэл үүнтэй төстэй зүйлийг ашигладаг. Энэхүү гарын авлагад та OpenHAB -ийг хэрэгжүүлсэн гэж үзнэ (хэрэв танд OpenHAB -ийг тохируулахад тусламж хэрэгтэй бол makeuseof вэбсайтаас энэхүү гайхалтай нийтлэлийг дагана уу) Та Mosquitto (MQTT брокер) болон холбогдох OpenHAB холболтыг татаж суулгах хэрэгтэй. Та үүнийг сүлжээнийхээ өөр газар суулгаж болно, гэхдээ ихэнх хүмүүс үүнийг энгийн байлгахын тулд үүнийг OpenHAB -тай ижил машин дээр суулгадаг.

Mosquitto -ийг суулгахын тулд энэ линкийг дагаж өөрийн ашиглаж буй төхөөрөмжийн төрлийг сонгоод зааврыг дагана уу. C. H. I. P нь Debian (Jessie) програмыг ажиллуулдаг тул та гэрийн автоматжуулалтын төхөөрөмж дээрээ C. H. I. P -ийг ашиглаж байгаа бол Raspberry Pi -ийн зааврыг дагаж болно (мөн CLI -ээс ачаалах CHIP -ийг дахин тохируулах нь хамгийн сайн арга гэдгийг энд анхаарна уу. Энд заавар байна)

OpenHAB болон Mosquitto ажиллуулсны дараа та Arduino IDE -ийг ESP8266 болон кодод бэлтгэх хэрэгтэй. Нэгдүгээрт, та "PubSubClient" номын санг нэмэх хэрэгтэй. Arduino IDE дээр цэснээс Sketch, Номын санг оруулах, Номын санг удирдах хэсэгт очоод шүүлтүүр хайх талбарт PubSubClient гэж бичээд хайлтын үр дүнг тодруулаад Суулгах дээр дарна уу (бичих үед хамгийн сүүлийн хувилбар нь 2.6.0 байна). ESP8266 самбарыг Arduino IDE дээр нэмэх шаардлагатай бөгөөд энд байгаа зааврыг дагана уу

Энэ надад юу өгч байна вэ?

Өмнө дурьдсанчлан, энэхүү төсөл нь HRV хяналтын самбарын дээвэр, байшин, хяналтын самбарын температур, сэнсний хурдыг OpenHAB GUI (бодит цаг хугацаанд!) Харах боломжийг танд олгоно. өөр өөр температурт өрөмдөх замаар олж авах болно.

График авахын тулд та RRD4J холбогчийг суулгаж тохируулах шаардлагатай болно (энэ нь маш шууд харагддаг) Энэ нь танд 'House' эсвэл 'Roof' дээр дарж өнгөрсөн хугацаанд тус бүр HRV -ийн температурын түүхийг авах боломжийг олгоно. цаг, өдөр эсвэл долоо хоног (эсвэл тохиргоог тохируулбал илүү урт хугацаанд) Хэрэв үзүүлсэн зургууд нь цельсийн хэмжээтэй байгаа бөгөөд үүнийг хийхдээ дэлхийн бөмбөрцгийн өмнөд хэсэгт өвөлжсөн нь тодорхой байна!

Нэмж дурдахад би "Хяналт" сонголтыг дарж гаднах температур (цаг агаарыг холбох нэмэлт хэрэгслээр хангагдсан), дээвэр ба байшингийн температурын харьцуулалтыг харуулсан OpenHAB дүрсийг бүтээв (зураг нь диаграмыг харуулав) байшин, дээвэр, гаднах температурыг зурсан). Шаардлагатай бол халаалтын төхөөрөмжийг асаахын тулд би энэ өгөгдлийг дүрмээр ашиглахаар төлөвлөж байна. Зүгээр л сайтын зургийн файл дахь Зургийн URL дээр Цаг агаарын зүйлийг нэмж оруулаад үүнийг ижил график дээр оруулна уу (жишээлбэл:… items = houseTemp, roofTemp, weatherTemp …)

Алхам 1: Шаардлагатай эд анги / угсралт

Шаардлагатай эд анги / угсралт
Шаардлагатай эд анги / угсралт
Шаардлагатай эд анги / угсралт
Шаардлагатай эд анги / угсралт
Шаардлагатай эд анги / угсралт
Шаардлагатай эд анги / угсралт

Танд дараах хэсгүүд хэрэгтэй болно

  • RJ11 задлагч (энэ нь дохиог дээвэр дээрх удирдлагаас хяналтын самбар болон ESP8266 руу хуваадаг)
  • Зарим тууз кабель ба RJ11 залгуур (задлагчаас ESP8266 руу утас ажиллуулах)
  • ESP8266-01 (бусад 3.3V хувилбарууд ажиллах ёстой)
  • TTL логик түвшний хөрвүүлэгч (өгөгдлийг 5V -> 3.3V -аас өөрчлөх)
  • AMS1117 3.3V хүчдэлийн зохицуулагч (эсвэл үүнтэй төстэй, хүчдэлийг HRV 5V -> 3.3V -ээс ESP8266 болгон өөрчлөх)
  • 1N5817 schottky диод (зарим шалтгааны улмаас энэ нь HRV хяналтын самбарыг ESP асаахад дахин тохируулахыг зогсооход тусалсан)
  • 10K ом эсэргүүцэл (3.3 хүчдэлийн зохицуулагч ба ESP CH_PD хоорондох татах эсэргүүцэл)
  • 10V 10uF конденсатор (эсвэл үүнтэй төстэй, HRV -ээс орж ирж буй хүчийг тэгшлэх, бэхжүүлэх)
  • 10V 1uF конденсатор (эсвэл үүнтэй төстэй, ESP рүү гарах хүчийг жигдрүүлж, тогтворжуулах)
  • ESP програмчлах нэмэлт слайд товч (өөрөөр хэлбэл програмчлахын тулд GPIO0 -ийг GND руу гараар татах шаардлагатай болно)
  • FTDI адаптер (ESP програмчлах, USB -ийг цуваа болгон хөрвүүлэх)

Схемийн дагуу угсарна

Талхны хавтангийн зураг нь эд ангиудыг хэрхэн яаж угсрах ёстойг харуулж байна. HRV хянагчийн хэсгээс тууз кабелийг таазанд буулгадаг 6 голтой болохыг анхаарна уу.

1 ба 6 -р зүү нь 5V VCC юм

2 ба 5 -р зүү нь GND юм

3 ба 4 -р зүү нь өгөгдөл юм.

Та зөвхөн 1, 2, 3, 6 -р зүү ашиглах хэрэгтэй (1 ба 6 VCC хүч ESP8266 ба TTL логик хөрвүүлэгчийн дээд тал, 2 нь нийтлэг ойлголт, 3 нь TTL серийн өгөгдлийг унших зориулалттай)

Танд хэрэгтэй задлагч нь зүгээр л RJ11 задлагч байх болно, зүгээр л тээглүүр нь шулуун байгаа эсэхийг шалгаарай (жишээлбэл: 1 -р зүү 1 -р зүү рүү, 2 -р зүү хүртэл 2 -р зүү гэх мэт) Нэмэлт эмэгтэй зүү (Зураг дээр харуулав) нь ESP -ийг дараа дахин програмчлахад зориулагдсан FTDI -ийг холбоход зориулагдсан бөгөөд үзүүлсэн унтраалга нь үүнийг "програмчлах" горимд оруулдаг. Эдгээр нь заавал биш боловч санал болгодог (жишээлбэл: хэрэв та WiFi нууц үгээ өөрчилдөг бол WiFi AP болон нууц үгийг кодонд хатуу програмчлагдсан байдаг бөгөөд үүнийг ESP8266 -ийг суулгасны дараа байршуулах шаардлагатай болно)

Алхам 2: Код байршуулах, тест хийх

Код байршуулж, туршиж байна
Код байршуулж, туршиж байна
Код байршуулж, туршиж байна
Код байршуулж, туршиж байна
Код байршуулж, туршиж байна
Код байршуулж, туршиж байна
Код байршуулж, туршиж байна
Код байршуулж, туршиж байна

Кодын өөрчлөлт

Arduino код руу татаж авах өөр линкийг ЭНД дарна уу

Arduino IDE дээр нээгээд ESP самбарыг PubSubClient -тэй суулгаж, ESP8266 самбарыг сонгосон эсэхээ шалгаарай (Багаж, самбар, ерөнхий ESP8266 самбар) Кодыг засварлаж, WiFi AP нэр, нууц үг, IP хаягаа өөрчилнө үү. таны MQTT брокер (эдгээрийг өөрчлөх шаардлагатай цорын ганц зүйл бол) доор үзүүлсэн болно. 'Баталгаажуулах' товчлуур дээр дарж үүнийг зөв эмхэтгэж байгаа эсэхийг шалгаарай, дараа нь зөв COM портыг сонгосон эсэхийг шалгаарай (Багаж, Порт) ба кодыг ESP8266 руу байршуулна уу. Үүнийг хэрхэн хийх талаар маш олон нийтлэл байдаг, би энд дугуйг дахин зохион бүтээхгүй.

// Wifi

const char* ssid = "your_wifi_ssid_here"; const char* password = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);

MQTT тест

Туршилт хийхийн тулд та FTDI адаптераа асаалттай байлгаж, Arduino IDE дээрх Цуваа мониторыг нээж болно, та консол дахь температурын мэдээллийг хэвлэж буй мессежийг харах ёстой. Хэрэв та ESP8266 -аас MQTT брокер руу ирж буй MQTT мессежүүдийн алдааг олж засварлах шаардлагатай бол Mosquitto сервер дээр ирж буй мессежийг захиалахын тулд дараах тушаалуудын аль нэгийг ажиллуулна уу.

mosquitto_sub -d -t openhab/hrv/status

Та ESP8266 -аас 30 секунд тутамд "1" гэсэн тоогоор орж ирж буй PUBLISH мессежийг харах ёстой ("Би амьд байна" гэсэн утгатай) Хэрэв та тогтмол "0" (эсвэл огт юу ч биш) харвал харилцаа холбоо байхгүй болно. Та 1 дугаар орж ирж байгааг хараад ESP8266 нь MQTT брокертой харилцаж байна гэсэн үг юм (энэ нь хэрхэн ажилладаг талаар дэлгэрэнгүй мэдээллийг "MQTT Last Will and Testament" -ээс хайж олох эсвэл энэ үнэхээр сайн блог оруулгыг үзнэ үү).

Та одоо температур, сэнсний хурдны мэдээллийг хянах боломжтой бөгөөд дараахь зүйлсийн аль нэгийг захиалах боломжтой. Гэсэн хэдий ч код нь өгөгдөл өөрчлөгдсөн тохиолдолд л температурын өгөгдлийг илгээдэг болохыг анхаарна уу. Энэ нь илгээсэн сүүлийн температур, сэнсний хурд гэх мэт өгөгдлийг хянадаг тул та тэр даруй ирж буй мэдээллийг харахгүй байж магадгүй юм.

mosquitto_sub -d -t openhab/hrv/rooftemp

mosquitto_sub -d -t openhab/hrv/housetemp

mosquitto_sub -d -t openhab/hrv/controltemp

mosquitto_sub -d -t openhab/hrv/fanspeed

Зөвлөмж: Дээрх хяналтын самбарын температурыг захиалж, дараа нь хяналтын самбар дээрх температурын товчлуурыг дарж шинэ температурын тохиргоо гарч ирэх болно.

Үүнийг гагнах үед 3 см х 7 см хэмжээтэй ПХБ нь HRV хяналтын самбарын ард байрлах угаалтуурын хайрцагт сайн таардаг. Металл хайрцаг нь Wifi дохиог саатуулж эсвэл ПХБ -ийн самбар дээрх холболтыг тасалдуулж болзошгүй тул би үүнийг хуванцар угаах хайрцаг байвал л хийхийг зөвлөж байна. Эсвэл самбарыг суулгахын тулд хуванцар 3D хайрцгийг хэвлэж болно.

Алхам 3: OpenHAB -ийн өөрчлөлтүүд

OpenHAB тохиргоо

OpenHAB -ийн шаардлагатай өөрчлөлтүүд дараах байдалтай байна.

'items' файл:

/* HRVNumber hrvStatus "HRV төлөв C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: state: default] "} House houseTemp_Chart_Period" Chart Period "Number roofTemp" Roof [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Тооны дээвэрTemp_Chart_Period" Chart Period "Number controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: төлөв: анхдагч] "} String fanSpeed" Сэнсний хурд [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: төлөв: анхдагч] "}**/

'sitemap' файл:

Frame label = "HRV Temperature" {Text item = roofTemp {Frame {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Цаг", 1 = "Өдөр", 2 = "Долоо хоног"] Зургийн url = "https:// localhost: 8080/rrdchart-p.webp

OpenHAB -ийн нэмэлт дүрсүүдийг оруулсан болно (зураг дээр хулганы баруун товчийг дараад хадгална уу)

Эдгээр файлуудыг OpenHAB сервер дээрх.. / OpenHAB Home / webapps / images фолдерт хадгална уу

Зөвлөмж болгож буй: