สารบัญ:

Weather Interlock สำหรับทำความร้อนในบ้าน - IoT RasPi Zero & ESP12: 5 ขั้นตอน
Weather Interlock สำหรับทำความร้อนในบ้าน - IoT RasPi Zero & ESP12: 5 ขั้นตอน

วีดีโอ: Weather Interlock สำหรับทำความร้อนในบ้าน - IoT RasPi Zero & ESP12: 5 ขั้นตอน

วีดีโอ: Weather Interlock สำหรับทำความร้อนในบ้าน - IoT RasPi Zero & ESP12: 5 ขั้นตอน
วีดีโอ: สอนทำ!! โปรเจค Arduino เครื่องวัดอุณหภูมิ ความชื้น เปิดปิดอุปกรณ์ EP1/4 "การทำงานของเครื่อง" 2024, พฤศจิกายน
Anonim
Weather Interlock สำหรับทำความร้อนในบ้าน - IoT RasPi Zero & ESP12
Weather Interlock สำหรับทำความร้อนในบ้าน - IoT RasPi Zero & ESP12

เรื่องราว

ข้อสังเกต

โปรเจ็กต์นี้ขึ้นอยู่กับคุณมี RaspberryPi Zero ที่รันเซิร์ฟเวอร์บ้านอัตโนมัติของ Domoticz (สร้างได้ง่ายมาก) ด้วยโหนดสีแดงและถูกตั้งค่าเป็นนายหน้า MQTT

ทำไมต้องเขียนตู้โชว์นี้?

เพื่อแสดงวิธีแก้ปัญหาของฉันเกี่ยวกับวิธีที่ฉันประหยัดค่าใช้จ่ายด้านความร้อน/การใช้พลังงาน และเพื่อนำความคิดเข้าสู่ตัวคุณ เพื่อให้สามารถนำไปใช้ในบ้านของคุณหรือปรับเปลี่ยนให้เหมาะกับความต้องการของคุณได้

ภาพรวม

ในช่วงฤดูใบไม้ผลิและฤดูใบไม้ร่วงซึ่งอุณหภูมิอากาศภายนอกอาจอยู่ที่ประมาณ 11 องศาเซลเซียส ฉันสังเกตเห็นว่าบ้านของฉันสูญเสียอุณหภูมิภายนอกเพียงเล็กน้อยหรือไม่มีเลย ฉันยังสังเกตเห็นว่าในตอนเช้าระบบทำความร้อนจะสว่างขึ้นเป็นเวลาหนึ่ง (ไม่เกิน 30 นาที) แล้วดับไปจนกว่าจะถึงวันถัดไป ฉันเห็นสิ่งนี้เป็นการสิ้นเปลืองพลังงานเช่นเดียวกับในวันที่มีแดดจัดหรือที่อุณหภูมิสูงกว่า 12 องศาเซลเซียสนอกบ้านจะอบอุ่นตามธรรมชาติจนถึงอุณหภูมิที่สบาย โดยปกติ นี่จะเป็นช่วงเวลาของปีที่ฉันจะปิดระบบทำความร้อนเพื่อประหยัดการใช้แก๊ส โปรเจ็กต์นี้คือการทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติโดยอิงตามอุณหภูมิอากาศภายนอกในพื้นที่ และใช้เซ็นเซอร์อุณหภูมิในครัวเรือนที่มีอยู่บางส่วนของฉัน โปรเจ็กต์มีข้อได้เปรียบในการรู้อุณหภูมิที่คาดการณ์ไว้และดำเนินการตามนั้น แต่ถ้าบ้านสูญเสียอุณหภูมิมากเกินไป จะทำให้ความร้อน ที่จะกลับมา

ข้อกำหนดโครงการ

  • ใช้อุณหภูมิอากาศภายนอกในปัจจุบัน
  • ใช้การคาดการณ์ในท้องถิ่นภายนอกอุณหภูมิอากาศ
  • ป้องกันความร้อนจากการทำงานแต่ไม่ส่งผลต่อการผลิตน้ำร้อน
  • คำนึงถึงสภาพบ้าน (แต่อย่าอ่อนไหวเกินไป)

ขั้นตอนที่ 1: การตั้งค่าบริการฮาร์ดแวร์/ซอฟต์แวร์

การตั้งค่าบริการฮาร์ดแวร์/ซอฟต์แวร์
การตั้งค่าบริการฮาร์ดแวร์/ซอฟต์แวร์
การตั้งค่าบริการฮาร์ดแวร์/ซอฟต์แวร์
การตั้งค่าบริการฮาร์ดแวร์/ซอฟต์แวร์
  1. Raspberry Pi Zero ทำงานเป็นนายหน้า MQTT พร้อม Domoticz และ Node-Red พร้อมเซ็นเซอร์ในพื้นที่ (Room 1) ประเภท Dallas 18b20
  2. ESP12 ที่รันโปรแกรม Arduino IDE ตัวควบคุมนี้ยังดำเนินการเชื่อมต่อโดยให้ความร้อนอยู่ในตู้ที่มีวาล์วควบคุมความร้อนอยู่ นอกจากนี้ยังมีเซ็นเซอร์ดัลลัสในพื้นที่ (ห้อง 2) สำหรับห้องที่อยู่ติดกัน
  3. ESP01 ใช้งานโปรแกรม Arduino IDE เพื่อส่งการอ่านค่าอุณหภูมิ/ความชื้นในห้องจากเซ็นเซอร์ DHT22 (ห้อง 3)

ขั้นตอนที่ 2: การดึงข้อมูล

การอ่านอุณหภูมิห้องที่ 1, 2 และ 3 จะถูกส่งไปยังเซิร์ฟเวอร์บ้านอัตโนมัติของ Domoticz สำหรับการบันทึกข้อมูลและการดูอย่างง่าย ซึ่งส่งผ่านข้อความ MQTT โดยใช้รูปแบบ DomoticzJSON ฉันใช้โหนดสีแดงเพื่อสร้างการอ่านอุณหภูมิเฉลี่ยของ 3 ห้องซึ่งต่อมา -ส่งผ่าน MQTT ให้กับลูกค้าที่สนใจ (ESP12 เป็นหนึ่งเดียว) และไปยัง Domoticz สำหรับการบันทึก

เซิร์ฟเวอร์ Domoticz ยังเชื่อมต่อกับ OpenWeatherMap เพื่อดึงข้อมูลสภาพอากาศในท้องถิ่น (ทุกๆ 10 นาที) Domoticz ยังส่งข้อมูลนี้อีกครั้งผ่านหัวข้อ "ออก" ของ MQTT อย่างไรก็ตาม ขนาดของข้อความนี้มีขนาดใหญ่ ดังนั้นฉันจึงใช้ node-red เพื่อเปลี่ยนและลบข้อมูลนี้เพื่อให้มีข้อมูลอุณหภูมิเท่านั้น ข้อมูลนี้จะถูกส่งไปในหัวข้อที่ ESP12 สมัครรับข้อมูล นอกจากนี้ โหนดสีแดงจะเชื่อมต่อกับ OpenWeatherMap และดึงข้อมูลการคาดการณ์สำหรับพื้นที่ของฉัน อีกครั้งข้อมูลที่ได้รับนี้มีรายละเอียดมากและมีข้อมูลเป็นเวลา 5 วัน ดังนั้นฉันจึงใช้โหนดสีแดงเพื่อปรับข้อมูลนี้ลงเป็นการคาดการณ์อุณหภูมิ 3/6 ชั่วโมงถัดไป และ การส่งซ้ำอีกครั้งอยู่ในหัวข้อเดียวกับด้านบน

ขั้นตอนที่ 3: Interlock ความร้อนทางกายภาพ

ESP12 อยู่ในตู้เดียวกันกับที่มีถังเก็บน้ำร้อนและจุดต่อสายไฟสำหรับวาล์ว/เทอร์โมสแตท ด้วยประสบการณ์ในระบบควบคุมไฟฟ้า ฉันจึงลากสายเคเบิลเพื่อค้นหาสายเคเบิลเทอร์โมสตัทหลักของห้อง ฉันจึงเดินสายไฟที่มีพิกัดกระแสไฟที่เหมาะสมไปยังกล่องควบคุมของฉัน และติดตั้งรีเลย์ที่ ESP12 สามารถควบคุมได้ ฉันต่อรีเลย์ ESP12 แบบอนุกรมกับเทอร์โมสตัทในห้องเพื่อให้สามารถปิดระบบทำความร้อนได้หากต้องการ นอกจากนี้ ฉันยังกังวลว่า "จะเกิดอะไรขึ้นหาก ESP12 ล้มเหลว" ดังนั้นฉันจึงวางสวิตช์ทางกายภาพขนานกับรีเลย์ เพื่อให้สามารถกู้คืนสภาวะปกติได้หากจำเป็น (ฉันยังไม่ได้ทำ)

ขั้นตอนที่ 4: การทำงานของซอฟต์แวร์

การทำงานของซอฟต์แวร์
การทำงานของซอฟต์แวร์

ESP12 มีจุดที่กำหนดไว้สำหรับอุณหภูมิภายนอกปัจจุบัน อุณหภูมิพยากรณ์ 3 ชั่วโมง อุณหภูมิพยากรณ์ 6 ชั่วโมง และอุณหภูมิบ้านเฉลี่ย

ดูผังงาน

โดยสรุป การให้ความร้อนจะถูกปิดใช้งานหากอุณหภูมิภายนอกสูงกว่า 10.5degC และอุณหภูมิโรงเลี้ยงเฉลี่ยสูงกว่า 19.4degC (ตัวควบคุมอุณหภูมิของฉันตั้งไว้ที่ 19.5degC) หรือการคาดการณ์สำหรับวันนี้สูงกว่า 11degC การทำความร้อนจะเปิดใช้งานหากการอ่านค่าต่างๆ อยู่ต่ำกว่าค่าที่ตั้งไว้ซึ่งต่ำกว่าค่าที่ตั้งไว้ก่อนหน้านี้เล็กน้อยเพื่อลดการสลับที่ก่อกวน

ขั้นตอนที่ 5: การพัฒนาในอนาคต?

  • คำนึงถึงว่าแดดจัดหรือไม่ เมื่อบ้านไม่โดนแสงแดด เขาสามารถตั้งค่าจุดที่ตั้งไว้ได้
  • สภาพลม?
  • รวมการแทนที่ระยะไกล

แนะนำ: