ชื่อโปรเจกต์: เชื่อมต่อระบบทำความร้อน EvoHome ของคุณเข้ากับ Arduino Cloud
Climate Command: การดึงข้อมูล EvoHome เพื่อเชื่อมต่อกับ Arduino Cloud
Honeywell EvoHome เป็นระบบทำความร้อนแบบหลายโซนระดับสูงที่มีราคาแพงมาก ซึ่งจำกัดผู้ใช้ให้อยู่ในระบบนิเวศแอปพลิเคชันเฉพาะของตน โปรเจกต์นี้จะปลดพันธนาการเหล่านั้น! ด้วยการใช้ ESP8266 หรือ Arduino MKR WiFi 1010 ไมโครคอนโทรลเลอร์จะเชื่อมต่อไปยัง Web API endpoints ที่ซ่อนอยู่ของ EvoHome ดึงอุณหภูมิที่แม่นยำของหม้อน้ำทุกตัวในบ้านของคุณออกมา และเชื่อมโยงพารามิเตอร์เหล่านั้นเข้ากับ Arduino IoT Cloud ขนาดใหญ่ทั่วโลกสำหรับการสร้าง Dashboard แบบกำหนดเอง!

การยืนยันตัวตนและการดึงข้อมูลจาก API Web
EvoHome ไม่ได้มีพอร์ต 192.168.x.x ในเครือข่ายภายในที่ใช้งานง่าย ข้อมูลทั้งหมดจะถูกเก็บไว้ใน Cloud Server ของบริษัท Honeywell
- ESP8266 จะต้องทำการ HTTPS TLS handshake กับ
tccna.honeywell.comโดยตรง - จากนั้นจะดำเนินการ
POSTrequest ที่ซับซ้อน โดยส่ง username/password ของ Honeywell ของคุณในรูปแบบ JSON payload ที่ปลอดภัยเพื่อรับaccess_token - เมื่อได้ token มาอย่างปลอดภัย ก็จะส่ง
GETrequest เพื่อดึง JSON array ซ้อนกันขนาดใหญ่ที่มีสถานะของวาล์วหม้อน้ำทุกตัว!
// Parsing the massive EvoHome JSON response inside the ESP8266!
DynamicJsonDocument doc(4096);
deserializeJson(doc, httpResponseString);
// Extract the literal integer temperature of the Living Room!
float livingRoomTemp = doc[0]["temperatureStatus"]["temperature"];
float setpointTemp = doc[0]["setpointStatus"]["targetHeatTemperature"];
// Push this data instantly directly to Arduino IoT Cloud properties!
ArduinoCloud_LivingRoom = livingRoomTemp;
ArduinoCloud_Target = setpointTemp;
การเชื่อมต่อเข้ากับ Arduino IoT Cloud
เมื่อข้อมูลถูกดึงมาจาก Honeywell ได้สำเร็จ จะต้องนำเข้าสู่เฟรมเวิร์กแบบเปิด
- ไลบรารี
ArduinoIoTCloudจัดการการซิงค์ข้อมูลเบื้องหลังโดยอัตโนมัติ - คุณกำหนด "Things" เฉพาะบนเว็บไซต์ Arduino (เช่น
CloudTemperatureSensor) - ESP8266 เพียงแค่อัปเดตตัวแปรในเครื่อง และไลบรารีจะผลักดันการอัปเดตเหล่านั้นผ่าน MQTT เหนือ Wi-Fi ไปยัง Arduino Server โดยตรง เพื่ออัปเดต Dashboard กราฟิกที่สวยงามบนสมาร์ทโฟนของคุณได้ทันทีทั่วโลก!
ข้อกำหนดโครงสร้างพื้นฐาน
- ESP8266 (NodeMCU/Wemos D1), ESP32, หรือ Arduino Nano 33 IoT (ต้องมีความสามารถ Wi-Fi แบบ SSL/TLS ในตัว)
- ระบบ Honeywell EvoHome ที่ใช้งานอยู่ โดยเปิดใช้งาน Connected Gateway แล้ว
- บัญชี Arduino IoT Cloud (Free tier มักจะเพียงพอสำหรับ property สองสามรายการ แต่ Maker tier ช่วยให้สามารถติดตามหม้อน้ำได้หลายสิบตัวพร้อมกัน)
- ไลบรารี
<ArduinoJson.h>ที่น่าทึ่งสำหรับถอดรหัสข้อมูลจำนวนมหาศาลของ Honeywell!