Სარჩევი:

HRV ტემპერატურა OpenHAB– ს მეშვეობით ESP8266 (სერიული კოდის მაგალითი!): 3 ნაბიჯი
HRV ტემპერატურა OpenHAB– ს მეშვეობით ESP8266 (სერიული კოდის მაგალითი!): 3 ნაბიჯი

ვიდეო: HRV ტემპერატურა OpenHAB– ს მეშვეობით ESP8266 (სერიული კოდის მაგალითი!): 3 ნაბიჯი

ვიდეო: HRV ტემპერატურა OpenHAB– ს მეშვეობით ESP8266 (სერიული კოდის მაგალითი!): 3 ნაბიჯი
ვიდეო: 🔵 LUZ AZUL ACESA no painel (HONDA FIT, CITY, C3, TIIDA, HRV, YARIS) 🚙 2024, დეკემბერი
Anonim
HRV ტემპერატურა OpenHAB– ით ESP8266– ით (სერიული კოდის მაგალითი!)
HRV ტემპერატურა OpenHAB– ით ESP8266– ით (სერიული კოდის მაგალითი!)
HRV ტემპერატურა OpenHAB– ით ESP8266– ით (სერიული კოდის მაგალითი!)
HRV ტემპერატურა OpenHAB– ით ESP8266– ით (სერიული კოდის მაგალითი!)
HRV ტემპერატურა OpenHAB– ით ESP8266– ით (სერიული კოდის მაგალითი!)
HRV ტემპერატურა OpenHAB– ით ESP8266– ით (სერიული კოდის მაგალითი!)

HRV - უკაბელო OpenHAB– ზე

ეს ინსტრუქცია სპეციალურად მათთვისაა, ვისაც აქვს HRV (გათბობის რეცირკულაციის ვენტილაცია) სისტემა - თუმცა მიკროსქემის დაფის ნაწილები, ღია კონფიგურაცია ან არდუინოს კოდი (როგორიცაა 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 კომპიუტერი), თუმცა ბევრი იყენებს ჟოლოს Pi ან მსგავსს. ეს სახელმძღვანელო ვარაუდობს, რომ თქვენ განახორციელეთ OpenHAB (თუ გჭირდებათ დახმარება OpenHAB– ის შექმნისას, მიჰყევით ამ შესანიშნავი სტატიას ვებ – გვერდიდან) თქვენ ასევე უნდა ჩამოტვირთოთ და დააინსტალიროთ Mosquitto (MQTT ბროკერი) და მასთან დაკავშირებული OpenHAB სავალდებულო. თქვენ შეგიძლიათ დააინსტალიროთ იგი სხვაგან თქვენს ქსელში, თუმცა ადამიანების უმეტესობა უბრალოდ აყენებს ამას იმავე აპარატზე, როგორც OpenHAB, რომ ის მარტივი იყოს.

Mosquitto– ს დასაყენებლად, მიჰყევით ამ ბმულს, შემდეგ შეარჩიეთ მოწყობილობის ტიპი, რომელსაც იყენებთ და მიჰყევით ინსტრუქციას. იმის გამო, რომ C. H. I. P მართავს Debian (Jessie), თქვენ შეგიძლიათ მიჰყევით Raspberry Pi ინსტრუქციას, თუ თქვენ იყენებთ C. H. I. P– ს თქვენი სახლის ავტომატიზაციის მოწყობილობისთვის (ასევე გაითვალისწინეთ, რომ საუკეთესოა CHIP– ის კონფიგურაცია CLI– დან ჩატვირთვისას. ამის ინსტრუქცია აქ არის)

მას შემდეგ რაც გაუშვებთ OpenHAB და Mosquitto, თქვენ უნდა მოამზადოთ Arduino IDE ESP8266 და კოდი. პირველ რიგში, თქვენ უნდა დაამატოთ "PubSubClient" ბიბლიოთეკა. Arduino IDE– ში, მენიუდან გადადით ჩანახატზე, ჩართეთ ბიბლიოთეკა, მართეთ ბიბლიოთეკები ფილტრის საძიებო ველში ჩაწერეთ 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.3 ვ ვერსიები უნდა მუშაობდეს)
  • TTL ლოგიკური დონის გადამყვანი (მონაცემების შესაცვლელად 5V -> 3.3V)
  • AMS1117 3.3V ძაბვის მარეგულირებელი (ან მსგავსი, ძაბვის შესაცვლელად HRV 5V -> 3.3V სიმძლავრის ESP8266)
  • 1N5817 schottky დიოდი (რატომღაც ამან ხელი შეუწყო HRV მართვის პანელის ESP ჩართვაზე გადატვირთვის შეჩერებას)
  • 10K ohm resistor (pullup resistor შორის 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- ში. ირგვლივ უამრავი სტატიაა იმის შესახებ, თუ როგორ უნდა გავაკეთოთ ეს, მე აქ ბორბალს არ გამოვაგონებ.

// Ვაი - ფაი

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– ში, თქვენ უნდა ნახოთ შეტყობინებები, რომლებიც ბეჭდავენ ტემპერატურის ინფორმაციას კონსოლში. თუ თქვენ გჭირდებათ ESP8266– დან შემომავალი MQTT შეტყობინებების პრობლემის მოგვარება თქვენს MQTT ბროკერზე, მაშინ Mosquitto სერვერზე გაუშვით ერთი შემდეგი ბრძანება შემომავალი შეტყობინებების გამოსაწერად:

mosquitto_sub -d -t openhab/hrv/სტატუსი

თქვენ უნდა ნახოთ შემომავალი PUBLISH შეტყობინებები, რომლებიც მოდის 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]"} ნომერი houseTemp "სახლი [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: state: default] "} ნომერი სახლი Temp_Chart_Period" დიაგრამა პერიოდი "ნომერი სახურავი Temp" სახურავი [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} ნომერი სახურავი Temp_Chart_Period" დიაგრამა პერიოდი "რიცხვის კონტროლი Temp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp მდგომარეობა: ნაგულისხმევი] "} სიმებიანი fanSpeed" Fan Speed [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

'საიტის რუქის' ფაილი:

ჩარჩოს ეტიკეტი = "HRV ტემპერატურა" {ტექსტის ელემენტი = სახურავი Temp {ჩარჩო {გადართვა ელემენტი = სახურავი Temp_Chart_Period label = "პერიოდი" mappings = [0 = "საათი", 1 = "დღე", 2 = "კვირა"] სურათის url = "https:// localhost: 8080/rrdchart-p.webp

შედის OpenHAB– ის დამატებითი ხატები (დააწკაპუნეთ მარჯვენა ღილაკით და შეინახეთ სურათები)

შეინახეთ ეს ფაილები.. / OpenHAB Home / webapps / images საქაღალდეში თქვენს OpenHAB სერვერზე

გირჩევთ: