Բովանդակություն:

HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266- ի միջոցով (սերիայի կոդի օրինակ!) `3 քայլ
HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266- ի միջոցով (սերիայի կոդի օրինակ!) `3 քայլ

Video: HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266- ի միջոցով (սերիայի կոդի օրինակ!) `3 քայլ

Video: HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266- ի միջոցով (սերիայի կոդի օրինակ!) `3 քայլ
Video: Երեւանում ջերմաստիճանը նույնն է, ինչ Արագած լեռան գագաթին 2024, Նոյեմբեր
Anonim
HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266 (սերիայի կոդի օրինակ!)
HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266 (սերիայի կոդի օրինակ!)
HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266 (սերիայի կոդի օրինակ!)
HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266 (սերիայի կոդի օրինակ!)
HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266 (սերիայի կոդի օրինակ!)
HRV ջերմաստիճանը OpenHAB- ի միջոցով ESP8266 (սերիայի կոդի օրինակ!)

HRV - Անլար OpenHAB- ին

Այս հրահանգը հատուկ նրանց համար է, ովքեր ունեն HRV (ջեռուցման շրջանառության օդափոխություն) համակարգ, չնայած տպատախտակի, բաց կոնֆիգուրացիայի կամ Arduino կոդի մասերը (օրինակ ՝ TTL սերիական տվյալների ընթերցումը) կարող են օգտակար լինել ձեր սեփական նախագծերին կամ լավ ծառայել ուսման համար: Այն ենթադրում է, որ դուք ողջամիտ գիտեք Arduino IDE- ի և ESP8266 չիպի մասին:

Ներածություն

Հետևյալը նկարագրում է, թե ինչպես կարելի է կառուցել ESP8266, որը միանում է HRV համակարգին և տանիքի և տան ջերմաստիճանը, կառավարման վահանակի ջերմաստիճանը և օդափոխիչի արագությունը MQTT հաղորդագրությունների միջոցով OpenHAB- ին: Սա նախատեսված է ESP8266-01 տախտակի հետ աշխատելու համար (չնայած այն պետք է աշխատի ցանկացած ESP8266 3.3V տարբերակի հետ) Եթե այլընտրանքային վաճառողից ունեք նմանատիպ HRV տիպի համակարգ, դուք պետք է որոշեք ՝ արդյոք տվյալները ուղարկվում են որպես TTL սերիա, և եթե այո:, ինչ կառուցվածքով են տվյալները ուղարկվում:

OpenHAB և Mosquitto

ESP8266 ծածկագիրը հատուկ գրված է OpenHAB- ի (բաց կոդով տան ավտոմատացման ծրագրակազմ) և MQTT բրոքերի հետ աշխատելու համար, ինչպիսին է Mosquitto- ն (հաղորդագրությունների բաժանորդագրման/հրապարակման տիպի արձանագրություն, որը թեթև է և հիանալի սարքերի միջև հաղորդակցության համար) Թույլ մի տվեք անունները կամ հապավումները վախեցնում են ձեզ, դրանք իսկապես բավականին պարզ են օգտագործել, երբ իմանաք, թե ինչպես են դրանք աշխատում: Ես OpenHAB- ն օգտագործում եմ NTC C. H. I. P (9 ԱՄՆ դոլար համակարգիչ) վրա, այնուամենայնիվ, շատ մարդիկ օգտագործում են Raspberry Pi կամ նմանատիպ: Այս ձեռնարկը ենթադրում է, որ դուք իրականացրել եք OpenHAB- ը (եթե օգնության կարիք ունեք OpenHAB- ի ստեղծման համար, հետևեք կայքի այս կայքէջի այս հիանալի հոդվածին) Դուք նաև պետք է ներբեռնեք և տեղադրեք Mosquitto (MQTT բրոքեր) և դրա հետ կապված OpenHAB կապը: Դուք կարող եք այն տեղադրել ձեր ցանցի այլուր, սակայն մարդկանց մեծամասնությունը պարզապես այն տեղադրում են OpenHAB- ի նույն մեքենայի վրա `այն պարզ պահելու համար:

Mosquitto- ն տեղադրելու համար հետևեք այս հղմանը, ապա ընտրեք օգտագործվող սարքի տեսակը և հետևեք հրահանգներին: Քանի որ C. H. I. P- ն վարում է Debian- ը (essեսսի), կարող եք հետևել Raspberry Pi- ի հրահանգներին, եթե C. H. I. P- ն օգտագործում եք ձեր տան ավտոմատացման սարքի համար (նշեք նաև, որ ամենալավն այն է, որ CHIP- ը վերակազմավորվի CLI- ից բեռնման համար: Դրա համար կան հրահանգներ այստեղ)

OpenHAB- ի և Mosquitto- ի գործարկումից հետո դուք պետք է պատրաստեք Arduino IDE- ն ESP8266- ի և ծածկագրի համար: Նախ, անհրաժեշտ է ավելացնել «PubSubClient» գրադարանը: Arduino IDE- ում, ընտրացանկից անցեք ուրվագիծ, ներառեք գրադարան, կառավարեք գրադարանները theտիչի որոնման դաշտում մուտքագրեք PubSubClient- ը, այնուհետև նշեք որոնման արդյունքը և կտտացրեք Տեղադրեք (գրելու պահին վերջին տարբերակը 2.6.0 է): անհրաժեշտ է նաև ավելացնել ESP8266 տախտակը Arduino IDE- ին, ինչը կարելի է անել ՝ հետևելով այստեղի հրահանգներին

Ի՞նչ է սա տալիս ինձ:

Ինչպես արդեն նշվեց, այս նախագիծը թույլ կտա Ձեզ դիտել ձեր HRV կառավարման վահանակի տանիքը, տունը, կառավարման վահանակի ջերմաստիճանը և օդափոխիչի արագությունը OpenHAB GUI- ում (իրական ժամանակում): Պատկերները ցույց են տալիս, թե ինչ տեսք ունի այն իմ iPhone- ից, գումարած ձեզ գրաֆիկները: այն կստանա տարբեր ջերմաստիճանների հորատման միջոցով:

Գրաֆիկները ստանալու համար ձեզ հարկավոր է տեղադրել և կարգավորել RRD4J- ի կապը (սա շատ ուղիղ է) Սա թույլ կտա ձեզ կտտացնել «Տուն» կամ «Տանիք» և ստանալ անցյալի յուրաքանչյուրի համար HRV ջերմաստիճանի պատմություն: ժամ, օր կամ շաբաթ (կամ ավելի երկար, եթե փոխում եք կազմաձևը ըստ ցանկության)

Բացի այդ, ես ստեղծեցի OpenHAB տեսք, որը ցույց է տալիս համեմատություն Արտաքին ջերմաստիճանի (տրամադրված Եղանակի պարտադիր հավելումով, իմ դեպքում ՝ Wunderground) համեմատած տանիքի և տան ջերմաստիճանի հետ ՝ կտտացնելով «Կառավարում» տարբերակին (նկարը ցույց է տալիս գրաֆիկը տան, տանիքի և արտաքին ջերմաստիճանի գծապատկերները): Ես պլանավորում եմ օգտագործել այս տվյալները կանոններում `անհրաժեշտության դեպքում ջեռուցման սարքերը միացնելու համար: Պարզապես եղանակի տարրը ավելացրեք կայքի քարտեզի ձեր Պատկերի URL- ին և ներառեք այն նույն գրաֆիկի վրա (օրինակ ՝… տարրեր = 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 ohm դիմադրություն (քաշման դիմադրություն 3.3 լարման կարգավորիչի և ESP CH_PD- ի միջև)
  • 10V 10uF կոնդենսատոր (կամ նմանատիպ ՝ HRV- ից ներգնա հոսանքը հարթելու և կայունացնելու համար)
  • 10V 1uF կոնդենսատոր (կամ նմանատիպ ՝ ESP- ի ելքային հզորությունը հարթելու և կայունացնելու համար)
  • Ընտրովի սահիկի կոճակ ՝ ESP- ը ծրագրավորելու համար (այլապես, ծրագրավորման համար անհրաժեշտ է GPIO0- ը ձեռքով քաշել GND)
  • FTDI ադապտեր (ESP- ի ծրագրավորման համար, USB- ը վերածում է սերիայի)

Հավաքեք ըստ սխեմայի

Գրատախտակի պատկերը ցույց է տալիս, թե ինչպես պետք է մասերը հավաքվեն: Նկատի ունեցեք, որ առաստաղում կան 6 կապում, որոնք իջնում են ժապավենի մալուխը HRV վերահսկիչ միավորից.

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 -րդ և այլն): պատկերներում)) FTDI- ն միացնելու համար ՝ ESP- ն հետագայում ծրագրավորելու համար, և ցուցադրված անջատիչը այն դնում է «ծրագրավորման» ռեժիմի: Սրանք ընտրովի են, բայց խորհուրդ են տրվում (օրինակ ՝ եթե փոխեք ձեր 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* գաղտնաբառ = "your_wifi_password_here"; // MQTT բրոքեր IPAddress MQTT_SERVER (192, 168, 222, 254);

MQTT թեստավորում

Փորձարկման համար կարող եք թողնել ձեր FTDI ադապտերը միացված և Arduino IDE- ում բացել Serial Monitor- ը, դուք պետք է տեսնեք մխիթարելում ջերմաստիճանի մասին տեղեկություններ տպող հաղորդագրություններ: Եթե Ձեզ անհրաժեշտ է ESP8266- ից ձեր MQTT բրոքերին լուծել մուտքային MQTT հաղորդագրությունները, ապա Mosquitto սերվերի վրա գործարկեք հետևյալ հրամաններից մեկը `մուտքային հաղորդագրություններին բաժանորդագրվելու համար.

mosquitto_sub -d -t openhab/hrv/կարգավիճակ

Դուք պետք է տեսնեք ներգնա ՀՐԱՊԱՐԱԿԱԿԱՆ հաղորդագրություններ, որոնք ESP8266- ից գալիս են ամեն 30 վայրկյանը մեկ «1» թվով (նշանակում է «ես կենդանի եմ»): Եթե տեսնում եք հաստատուն «0» (կամ ընդհանրապես ոչինչ), ապա հաղորդակցություն չկա: Երբ տեսնում եք, որ թիվ 1 է գալիս, ապա դա նշանակում է, որ ESP8266- ը շփվում է MQTT բրոքերի հետ (որոնեք «MQTT Վերջին կամքը և կտակը» լրացուցիչ տեղեկությունների համար, թե ինչպես է դա աշխատում, կամ տեսեք այս իսկապես լավ բլոգի գրառումը)

Այժմ կարող եք հետևել ջերմաստիճանի և օդափոխիչի արագության տվյալներին, բաժանորդագրվել հետևյալներից մեկին: Այնուամենայնիվ, նշեք, որ ծածկագիրը ուղարկում է միայն ջերմաստիճանի տվյալները, եթե որևէ տվյալ փոխվել է: Այն հետևում է վերջին ջերմաստիճանի, օդափոխիչի արագության և այլ տվյալների, որոնք ուղարկվել են, այնպես որ կարող եք չտեսնել անմիջապես եկող տեղեկությունները:

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 սմ x 7 սմ չափի PCB- ն հիանալի տեղավորվում է HRV կառավարման վահանակի հետևի ողողման տուփի մեջ: Ես խորհուրդ կտայի դա անել միայն այն դեպքում, եթե դա պլաստմասե լցված տուփ է, քանի որ մետաղյա տուփը կարող է միջամտել Wifi ազդանշաններին կամ, հնարավոր է, կարճ միակցիչներին PCB տախտակին: Այլապես, դուք կարող եք տպել պլաստիկ 3D պատյան ՝ տախտակը տեղադրելու համար:

Քայլ 3. OpenHAB- ի փոփոխություններ

OpenHAB կոնֆիգուրացիա

OpenHAB- ի պահանջվող փոփոխությունները հետևյալն են.

'տարրերի' ֆայլ:

/* HRVNumber hrvStatus "HRV Status [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: state: default]"} Number houseTemp "House [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: state: default] "} House number Temp_Chart_Period" Chart Period "Number roofTemp" Roof [%.1f C] "(gHRV) {mqtt =" << վիճակ: լռելյայն] "} String fanSpeed" Fan Speed [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

'կայքի քարտեզ' ֆայլ

Շրջանակի պիտակ = "HRV ջերմաստիճան" {Տեքստային նյութ = տանիք {{Շրջանակ {Փոխել նյութը = տանիքըՏեմպ_Չարթ_Պարիոդ label = ""ամանակաշրջան" քարտեզագրում = [0 = ""ամ", 1 = "Օր", 2 = "Շաբաթ"] Պատկերի url = "https:// localhost: 8080/rrdchart-p.webp

Ներառված են OpenHAB- ի լրացուցիչ պատկերակները (աջ սեղմեք և պահեք պատկերները)

Պահեք այս ֆայլերը.. / OpenHAB Home / webapps / images ձեր OpenHAB սերվերի պանակում

Խորհուրդ ենք տալիս: