สารบัญ:

เครื่องชงกาแฟอัจฉริยะ - ส่วนหนึ่งของระบบนิเวศ SmartHome: 4 ขั้นตอน
เครื่องชงกาแฟอัจฉริยะ - ส่วนหนึ่งของระบบนิเวศ SmartHome: 4 ขั้นตอน

วีดีโอ: เครื่องชงกาแฟอัจฉริยะ - ส่วนหนึ่งของระบบนิเวศ SmartHome: 4 ขั้นตอน

วีดีโอ: เครื่องชงกาแฟอัจฉริยะ - ส่วนหนึ่งของระบบนิเวศ SmartHome: 4 ขั้นตอน
วีดีโอ: ลองให้ | ชงกาแฟและตีฟองนมแบบสุดเนียนกับเครื่องชงกาแฟ Nespresso Atelier 2024, พฤศจิกายน
Anonim
เครื่องชงกาแฟอัจฉริยะ - ส่วนหนึ่งของระบบนิเวศ SmartHome
เครื่องชงกาแฟอัจฉริยะ - ส่วนหนึ่งของระบบนิเวศ SmartHome

เครื่องชงกาแฟที่ถูกแฮ็กทำให้เป็นส่วนหนึ่งของ SmartHome Ecosystemฉันมีเครื่องชงกาแฟ Delonghi (DCM) แบบเก่าที่ดี (ไม่ใช่การโปรโมตและต้องการให้ "ฉลาด" ขึ้น ดังนั้นฉันจึงแฮ็กโดยติดตั้งโมดูล ESP8266 พร้อมอินเทอร์เฟซไปยังสมอง/ไมโครคอนโทรลเลอร์โดยใช้ เฟิร์มแวร์ Tasmota DCM ใช้ไมโครคอนโทรลเลอร์ PIC (uC) ดังนั้น เพื่อให้ทำงานโดย ESP8266 โดยมี Tasmota ออนบอร์ด ฉันได้สร้างอินเทอร์เฟซไปยัง PIC uC ในลักษณะที่ไม่รบกวนการทำงานปกติของมัน แน่นอนว่า ฟังก์ชัน DCM ที่มีอยู่ทั้งหมดเพื่อ ถูกสงวนไว้ วิธีที่ง่ายที่สุดคือการจำลองปุ่ม ฉันใช้ opto-couplers เพื่อให้แน่ใจว่าโมดูล ESP จะไม่รบกวนการทำงานของอุปกรณ์อิเล็กทรอนิกส์ DCM และ uC

เสบียง

โมดูล ESP8266

ขั้นตอนที่ 1: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์

บัดกรีโมดูล "อัจฉริยะ" ตามโมดูล ESP-12F ESP8266 (ดูรูป) คุณสามารถใช้โมดูล sonoff มาตรฐานในการแฮ็กตามแผนผังของฉัน ฉันใช้ GPIO16, 14 และ 12; โดยปกติแล้วจะว่างในโมดูล sonoff และคุณจะต้องบัดกรีสายไฟกับหมุด ESP8266 ที่เกี่ยวข้อง อย่างไรก็ตาม เป้าหมายของฉันคือการหลีกเลี่ยงการใช้รีเลย์ ดังนั้นฉันจึงถ่ายทอดบนอินเทอร์เฟซที่ใช้ออปโตคัปเปลอร์

ขั้นตอนที่ 2: เชื่อมต่อกับแผงควบคุมเครื่องชงกาแฟ

ส่วนต่อประสานกับแผงควบคุมเครื่องชงกาแฟ
ส่วนต่อประสานกับแผงควบคุมเครื่องชงกาแฟ

ในการจัดการ DCM โมดูล ESP จะเชื่อมต่อกับปุ่มหลักสองปุ่ม: "เปิด/ปิด" และ "ทำถ้วยกาแฟ" ฉันบัดกรีสายไฟคู่หนึ่งเข้ากับหน้าสัมผัสของแต่ละปุ่มบนแผงควบคุม (ดูรูป, สาย 2xGray สำหรับแต่ละปุ่ม) บอร์ดนี้เคลือบด้วยกาวร้อนเพื่อป้องกันความชื้น ฉันจึงหลอมมันด้วยการบัดกรีเหล็กที่อุณหภูมิ ~120*C จากนั้นจึงบัดกรีลวด หน้าสัมผัสติดกาว และสายไฟกลับ ฉันยังบัดกรีลวดกับ GND (ลวดสีเขียว) บนรูปภาพ) ไปยังรูปหลายเหลี่ยมขนาดใหญ่รูปใดรูปหนึ่งบนแผงควบคุม พบ/ตรวจสอบโดยมัลติมิเตอร์

ขั้นตอนที่ 3: แผนผังของโมดูล ESP8266

แผนผังของโมดูล ESP8266
แผนผังของโมดูล ESP8266
แผนผังของโมดูล ESP8266
แผนผังของโมดูล ESP8266
แผนผังของโมดูล ESP8266
แผนผังของโมดูล ESP8266

ออปโตคัปเปิล (ดูแผนผัง) เชื่อมต่อแบบขนานกับปุ่มที่มีตัวต้านทานจำกัดกระแส 1k ปกติปุ่มจะถูกดึงขึ้นไปที่บัสบวกโดยตัวต้านทานแบบดึงขึ้น ในการเชื่อมต่อออปโตคัปเปลอร์อย่างถูกต้อง คุณต้องค้นหา "จุดสิ้นสุดที่เป็นบวก" ของปุ่ม ที่สามารถทำได้ด้วยมัลติมิเตอร์โดยการวัดแรงดันไฟแต่ละเส้นและ GND ตัวรวบรวม opto-pair เพื่อเชื่อมต่อกับสายบวกผ่านตัวต้านทาน 1k Emitter – ไปยังสายที่สอง (ซึ่งมักจะเชื่อมต่อกับ GND)

สายสีแดงที่รูปภาพเชื่อมต่อกับบัส +5V (เพื่อวัตถุประสงค์อื่น ไม่ได้ใช้สำหรับโมดูล ESP ไม่อยู่ในโพสต์นี้)

ในการจ่ายไฟให้กับ ESP8266 ฉันใช้แหล่งจ่ายไฟ 5V 1A เฉพาะ แหล่งจ่ายไฟ DCM ที่มีอยู่ไม่เพียงพอต่อการเรียกใช้โมดูล ESP ที่กินไฟได้ถึง 800mA ในรูป ดังนั้นจึงดีกว่า/เสถียร/ปลอดภัยกว่ามากในการตั้งค่าแหล่งจ่ายไฟ 5V โดยเฉพาะ คุณสามารถใช้ที่ชาร์จโทรศัพท์ 1A รุ่นเก่าที่เชื่อมต่อกับสายไฟหลักภายใน DCM

ลิงก์ EasyEDA ไปยังแผนผัง:

ขั้นตอนที่ 4: เฟิร์มแวร์/การกำหนดค่า

Tasmota ด้วยการกำหนดค่าต่อไปนี้:

1. ตั้งค่า "รีเลย์" สองตัว อินพุตสำหรับสัญญาณ DCM "พร้อมชงกาแฟ" และกำหนดค่า LED ในตัว ESP8266 ดังต่อไปนี้:

  • GPIO2 LED1i
  • GPIO16 Relay 1 - เพื่อจำลองปุ่ม "เปิด/ปิด"
  • GPIO14 Relay 2 - เพื่อจำลองปุ่ม "Make a Cup of Coffee"
  • GPIO13 Switch3 - อินพุตสำหรับสัญญาณ Cup Presence จากโมดูลการมีอยู่ของถ้วยอินฟราเรด
  • GPIO12 Switch4 - สัญญาณพร้อมจาก DCM (ยังไม่ได้ใช้งานโดย Tasmota)

2. เพื่อจำลองการกดปุ่มสั้น ๆ ฉันใช้คุณสมบัติ BLINK ของ Tasmota; กำหนดค่า Blink โดยทำตามคำสั่งใน Tasmota Console:

  • เวลากะพริบ 3 - หมายถึงระยะเวลากะพริบ 0.3 วินาที – เพื่อเลียนแบบการกดปุ่มสั้นๆ
  • Blinkcount 1 - ต้องการเพียงแค่กดปุ่มเดียว
  • นอน 250 - เพื่อประหยัดพลังงาน

3. ในการ "กดปุ่ม" ฉันใช้คำสั่งต่อไปนี้ (เป็นทางลัดในสมาร์ทโฟนของฉัน):

  • https://cm?cmnd=Power1%20blink // สำหรับปุ่ม “เปิด/ปิด”
  • 192.168.1.120/cm?cmnd=Event%20Brew // ตรวจสอบว่าใส่ถ้วยเข้าที่แล้วดำเนินการ "Power2 Blink"

4. เพิ่มโมดูลการแสดงตนของถ้วย (กู้โมดูล "การมีอยู่ของกระดาษ" จากเครื่องถ่ายเอกสารเก่า) ดังนั้นกาแฟจะไม่ถูกต้มถ้าถ้วยไม่ได้อยู่ในจุด:

การกำหนดค่า VAR1 เป็น 1 หรือ 0 ขึ้นอยู่กับการมีอยู่ของถ้วย:

Rule3 ON Switch3#state=1 DO VAR1 1 ENDON ON Switch3#state=0 DO VAR1 0 ENDON // ตั้งค่า VAR1 // รันคำสั่ง brew ขึ้นอยู่กับค่า VAR1:

Rule2 ON Event#brew DO IF (VAR1==1) Power2 Blink ENDIF ENDON //ถ้า CUP อยู่ในตำแหน่ง -> ชงกาแฟ

ทำงานเหมือนมีเสน่ห์!

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

ลิงก์ไปยังแผนผัง EasyEDA:

แนะนำ: