Satura rādītājs:

HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!): 3 soļi
HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!): 3 soļi

Video: HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!): 3 soļi

Video: HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!): 3 soļi
Video: Симптомы и признаки неисправности датчика температуры ОЖ. Назначение и проверка ДТОЖ 2024, Decembris
Anonim
HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!)
HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!)
HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!)
HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!)
HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!)
HRV temperatūra līdz OpenHAB, izmantojot ESP8266 (sērijas koda piemērs!)

HRV - bezvadu savienojums ar OpenHAB

Šī pamācība ir īpaši paredzēta tiem, kam ir HRV (apkures recirkulācijas ventilācijas) sistēma - lai gan shēmas plates daļas, openhab konfigurācija vai Arduino kods (piemēram, TTL sērijas datu nolasīšana) varētu būt noderīgi jūsu projektiem vai kalpot mācībām. Tas pieņem, ka jums ir pamatotas zināšanas par Arduino IDE un to, kas ir ESP8266 mikroshēma.

Ievads

Tālāk ir aprakstīts, kā izveidot ESP8266, kas savienojas ar HRV sistēmu un nosūta jumta un mājas temperatūru, vadības paneļa temperatūru un ventilatora ātrumu, izmantojot MQTT ziņojumus uz OpenHAB. Tas ir paredzēts darbam ar ESP8266-01 plati (lai gan tam vajadzētu darboties ar jebkuru ESP8266 3.3V versiju) Ja jums ir līdzīga HRV tipa sistēma no cita piegādātāja, jums būs jānosaka, vai dati tiek nosūtīti kā TTL sērijas un ja tā, kādā struktūrā dati tiek nosūtīti.

OpenHAB un Mosquitto

ESP8266 kods ir rakstīts speciāli darbam ar OpenHAB (atvērtā pirmkoda mājas automatizācijas programmatūru) un MQTT brokeri, piemēram, Mosquitto (ziņojumapmaiņas abonēšanas/publicēšanas tipa protokols, kas ir viegls un lieliski piemērots saziņai starp ierīcēm). akronīmi jūs biedē, tos tiešām ir diezgan vienkārši lietot, tiklīdz jūs uzzināsit, kā tie darbojas. Es izmantoju OpenHAB NTC C. H. I. P (9 ASV dolāru datorā), tomēr daudzi cilvēki izmanto Raspberry Pi vai līdzīgu. Šajā apmācībā tiek pieņemts, ka esat ieviesis OpenHAB (ja jums nepieciešama palīdzība OpenHAB iestatīšanā, izpildiet šo lielisko rakstu no vietnes makeuseof). Jums arī jālejupielādē un jāinstalē Mosquitto (MQTT brokeris) un saistītā OpenHAB saistīšana. Jūs varat to instalēt citur savā tīklā, tomēr lielākā daļa cilvēku to vienkārši instalē tajā pašā datorā, kurā atrodas OpenHAB, lai tas būtu vienkārši.

Lai instalētu Mosquitto, sekojiet šai saitei, pēc tam atlasiet izmantotās ierīces veidu un izpildiet norādījumus. Tā kā C. H. I. P darbojas ar Debian (Jessie), jūs varat izpildīt Raspberry Pi norādījumus, ja izmantojat C. H. I. P savai mājas automatizācijas ierīcei (arī ņemiet vērā, ka vislabāk ir pārkonfigurēt CHIP, lai sāktu darbu no CLI. Šeit ir norādījumi par to)

Kad OpenHAB un Mosquitto darbojas, jums ir jāsagatavo Arduino IDE ESP8266 un kodam. Pirmkārt, jums jāpievieno bibliotēka "PubSubClient". Arduino IDE izvēlnē dodieties uz Skice, Iekļaut bibliotēku, Pārvaldīt bibliotēkas. Filtra meklēšanas lodziņā ierakstiet PubSubClient, pēc tam iezīmējiet meklēšanas rezultātu un noklikšķiniet uz Instalēt (rakstīšanas laikā jaunākā versija ir 2.6.0). arī Arduino IDE jāpievieno tāfele ESP8266, ko var izdarīt, izpildot šeit sniegtos norādījumus

Ko tas man dod?

Kā minēts iepriekš, šis projekts ļaus jums apskatīt HRV vadības paneļa jumtu, māju, vadības paneļa temperatūru un ventilatora ātrumu OpenHAB GUI (reālā laikā!) Attēli parāda, kā tas izskatās no mana iPhone, kā arī grafikus iedziļinās dažādās temperatūrās.

Lai iegūtu grafikus, jums būs jāinstalē un jākonfigurē saite RRD4J (tas ir ļoti vienkārši). Tas ļaus jums noklikšķināt uz "Māja" vai "Jumts" un iegūt HRV temperatūras vēsturi katram iepriekšējā laikā stunda, diena vai nedēļa (vai ilgāk, ja maināt konfigurāciju, lai tā atbilstu) Parādītie attēli ir norādīti pēc Celsija skalas un, protams, ziema dienvidu puslodē, kad es to izdarīju!

Turklāt es izveidoju OpenHAB skatu, kurā parādīts salīdzinājums starp ārējo temperatūru (ko nodrošina laika apstākļu saistīšanas papildinājums, manā gadījumā izmantojot Wunderground) un jumta un mājas temperatūru, noklikšķinot uz opcijas “Kontrole” (attēlā parādīta diagramma ar attēlota māja, jumts un āra temperatūra). Es plānoju izmantot šos datus noteikumos, lai pēc vajadzības ieslēgtu sildierīces. Vietnes kartes failā vienkārši pievienojiet vienumu Laika apstākļi savam attēla URL un iekļaujiet to tajā pašā diagrammā (piemēram:… items = houseTemp, roofTemp, weatherTemp…)

1. darbība. Nepieciešamās detaļas / montāža

Nepieciešamās detaļas / montāža
Nepieciešamās detaļas / montāža
Nepieciešamās detaļas / montāža
Nepieciešamās detaļas / montāža
Nepieciešamās detaļas / montāža
Nepieciešamās detaļas / montāža

Jums būs nepieciešamas šādas daļas

  • RJ11 sadalītājs (tas sadala signālu no kontroliera jumtā, uz vadības paneli un ESP8266)
  • Daži lentes kabeļi un RJ11 kontaktdakša (lai vadītu vadus no sadalītāja līdz ESP8266)
  • ESP8266-01 (citām 3.3V versijām vajadzētu darboties)
  • TTL loģikas līmeņa pārveidotājs (lai mainītu datus no 5V -> 3.3V)
  • AMS1117 3.3V sprieguma regulators (vai līdzīgs, lai mainītu spriegumu no HRV 5V -> 3.3V uz barošanu ESP8266)
  • 1N5817 schottky diode (nez kāpēc tas palīdzēja apturēt HRV vadības paneļa atiestatīšanu pēc ESP ieslēgšanas)
  • 10K omu rezistors (pievilkšanas rezistors starp 3.3 sprieguma regulatoru un ESP CH_PD)
  • 10V 10uF kondensators (vai līdzīgs, lai izlīdzinātu un stabilizētu ienākošo jaudu no HRV)
  • 10V 1uF kondensators (vai līdzīgs, lai izlīdzinātu un stabilizētu izejošo jaudu līdz ESP)
  • Papildu slīdēšanas poga, lai programmētu ESP (pretējā gadījumā, lai programmētu, manuāli jāvelk GPIO0 uz GND)
  • FTDI adapteris (lai programmētu ESP, pārvērš USB par sērijveida)

Salieciet saskaņā ar shēmu

Maizes dēļa attēls parāda, kā detaļas jāsamontē. Ņemiet vērā, ka griestos no lentes kabeļa no HRV kontrollera ir 6 tapas:

1. un 6. tapas ir 5 V VCC

2. un 5. tapas ir GND

3. un 4. tapas ir dati.

Jums jāizmanto tikai 1., 2., 3. un 6. tapas (1 un 6 VCC baro ESP8266 un TTL loģiskā pārveidotāja augsto pusi, 2 ir kopīgs pamats un 3 ir paredzēts TTL sērijas datu lasīšanai)

Jums nepieciešamais sadalītājs būs tikai RJ11 sadalītājs, tikai pārliecinieties, vai tas ir sadalītājs, kur tapas ir taisnas (piemēram: 1. tapa iet uz 1. tapu, 2. tapa līdz 2. tapai un tā tālāk) Ņemiet vērā, ka papildu sieviešu tapas (kā attēlos) ir paredzēti FTDI pievienošanai, lai vēlāk pārprogrammētu ESP, un parādītais slēdzis ievieto to "programmēšanas" režīmā. Tie nav obligāti, bet ieteicami (piemēram: ja maināt WiFi paroli, jo WiFi AP un parole ir ieprogrammēta kodā, kas jums būs jāaugšupielādē, tiklīdz jūsu ESP8266 ir izveidots)

2. darbība: koda augšupielāde un pārbaude

Augšupielādes kods un pārbaude
Augšupielādes kods un pārbaude
Augšupielādes kods un pārbaude
Augšupielādes kods un pārbaude
Augšupielādes kods un pārbaude
Augšupielādes kods un pārbaude
Augšupielādes kods un pārbaude
Augšupielādes kods un pārbaude

Koda izmaiņas

Alternatīva lejupielādes saite uz Arduino kodu ŠEIT

Atveriet Arduino IDE, pārliecinieties, vai ir instalēta ESP plate, kā arī PubSubClient un vai esat izvēlējies ESP8266 plati (rīki, tāfele, vispārējā ESP8266 tāfele) Rediģējiet kodu un mainiet WiFi piekļuves punkta nosaukumu un paroli un IP adresi jūsu MQTT brokeris (šīs ir vienīgās lietas, kas jums jāmaina), kā parādīts zemāk. Noklikšķiniet uz pogas “Verificēt”, lai pārliecinātos, ka tā ir kompilēta, un pārliecinieties, vai ir atlasīts pareizais COM ports (rīki, ports) un augšupielādējiet kodu savā ESP8266. Apkārt ir daudz rakstu par to, kā to izdarīt, es šeit neizgudrošu riteni no jauna.

// Bezvadu internets

const char* ssid = "tavs_wifi_ssid_šeit"; const char* parole = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);

MQTT pārbaude

Pārbaudei varat atstāt FTDI adapteri pieslēgtu un atvērt sērijas monitoru Arduino IDE, jums vajadzētu redzēt ziņojumus, kas drukā temperatūras informāciju konsolē. Ja jums ir jānovērš ienākošo MQTT ziņojumu no ESP8266 jūsu MQTT brokerim, tad Mosquitto serverī izpildiet vienu no šīm komandām, lai abonētu ienākošos ziņojumus:

mosquitto_sub -d -t openhab/hrv/status

Jums vajadzētu redzēt ienākošos PUBLISH ziņojumus, kas nāk no ESP8266 apmēram ik pēc 30 sekundēm ar skaitli "1" (tas nozīmē "es esmu dzīvs"). Ja redzat nemainīgus "0" (vai vispār neko), tad nav saziņas. Kad redzat, ka ienāk skaitlis 1, tas nozīmē, ka ESP8266 sazinās ar MQTT brokeri (lai iegūtu plašāku informāciju par to, kā tas darbojas, meklējiet “MQTT Last Will and Testament” vai skatiet šo patiešām labo emuāra ierakstu)

Tagad varat izsekot temperatūrai un ventilatora ātruma datiem, abonējiet kādu no šīm iespējām. Tomēr ņemiet vērā, ka kods nosūta temperatūras datus tikai tad, ja ir mainījušies kādi dati. Tas seko pēdējiem nosūtītajiem temperatūras, ventilatora ātruma uc datiem, tāpēc jūs, iespējams, neredzēsit tūlīt saņemto informāciju.

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

Padoms: abonējiet iepriekš minēto vadības paneļa temperatūru, pēc tam nospiediet temperatūras pogu pašā vadības panelī, lai redzētu jauno temperatūras iestatījumu.

Kad jūs to pielodējat, 3 cm x 7 cm PCB labi iederas skalošanas kastē aiz HRV vadības paneļa. Es ieteiktu to darīt tikai tad, ja tā ir plastmasas skalošanas kārba, jo metāla kārba var traucēt Wifi signālus vai, iespējams, saīsināt savienojumus PCB plāksnē. Varat arī izdrukāt plastmasas 3D korpusu, lai uzstādītu dēli.

3. darbība: OpenHAB izmaiņas

OpenHAB konfigurācija

Nepieciešamās OpenHAB izmaiņas ir šādas:

"vienumu" fails:

/* HRVNumber hrvStatus "HRV statuss [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] "} Number houseTemp_Chart_Period" Diagrammas periods "Number roofTemp" Roof [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Number roofTemp_Chart_Period" Diagrammas periods "Number controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: state: default] "} String fanSpeed" Ventilatora ātrums [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

"vietnes kartes" fails:

Frame label = "HRV Temperature" {Text item = roofTemp {Frame {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Stunda", 1 = "Diena", 2 = "Nedēļa"] Attēla URL = "https:// localhost: 8080/rrdchart-p.webp

Ir iekļautas papildu OpenHAB ikonas (ar peles labo pogu noklikšķiniet un saglabājiet attēlus)

Saglabājiet šos failus OpenHAB servera mapē.. / OpenHAB Home / webapps / images

Ieteicams: