ฉันมีปัญหา แต่ทำให้แน่ใจว่าโครงการของฉันเป็นไปได้จริง ๆ
สิ่งที่ฉันต้องการเก็บถาวร: ควบคุมเครื่องชงกาแฟ Senseo ของฉันผ่านอินเทอร์เน็ต มันเดือดลงไปเพียงแค่ควบคุม 2 ปุ่ม
ทางออกแรกที่ง่าย:
- ตั้งค่าเซิร์ฟเวอร์ NodeJS บน Raspberry Pi ของฉัน
- ฉันเสียบ Raspberry GPIO ของฉันกับทรานซิสเตอร์ 2 ตัวเพื่อควบคุมปุ่มเครื่องชงกาแฟ
- ฉันสามารถควบคุม Raspberry GPIO ได้โดยตรงใน Javascript ตัวอย่างเช่นการเรียกhttp://myraspberrypi.com/makemeacoffeeเปิดใช้งาน GPIO เปิดใช้งานปุ่มและกระแสกาแฟ
แต่: ฉันไม่ต้องการเสียบ raspberry ของฉันกับเครื่องชงกาแฟของฉัน (ฉันต้องการ Pi สำหรับวัตถุประสงค์อื่น) และฉันคิดว่าการแยกเว็บเซิร์ฟเวอร์และตัวควบคุมนั้นเป็นความคิดที่ดี ถ้าพรุ่งนี้ฉันต้องการตรวจสอบอุณหภูมิของห้องน้ำของฉันหรือควบคุมเครื่องชงกาแฟเครื่องที่สอง (ใช้ ESP8266 อีกเครื่อง) ฉันต้องการที่จะทำมันโดยไม่ต้องคิดใหม่ทั้งหมด
สิ่งที่ฉันต้องเก็บถาวรนั่นคือ ESP8266 กับ NodeMCU เพื่อใช้เป็นคอนโทรลเลอร์ไร้หัว Wi-Fi (ดูลิงค์นี้ ) Raspberry GPIO ไม่ได้ใช้งานอีกต่อไป (นั่นคือประเด็น) มีเว็บเซิร์ฟเวอร์ NodeJS บน Pi เท่านั้น
ให้ฉันอธิบายบทบาทขององค์ประกอบหลัก:
- Raspberry Pi: โฮสต์เว็บเซิร์ฟเวอร์ NodeJS
- เว็บเซิร์ฟเวอร์ NodeJS: แสดงหน้าเว็บแก่ผู้ใช้ปลายทาง โดยทั่วไปหน้าด้วยปุ่ม "Make me a coffee" เบื้องหลังเราต้อง "ดัน" ปุ่มความร้อนขึ้นน้ำรอ 30 วินาทีจากนั้น "กด" ปุ่มกาแฟ เว็บเซิร์ฟเวอร์ทำเช่นนั้นโดยส่งคำขอ HTTP ไปยัง ESP8266 (ผ่าน Wi-Fi) เซิร์ฟเวอร์ NodeJS ทำการบันทึกและวิเคราะห์ข้อมูลด้วย (คุณดื่มกาแฟปีนี้เท่าไหร่?)
- ESP8266: ใช้ NodeMCU GPIO ของมันถูกต่อเข้ากับทรานซิสเตอร์ที่ควบคุมปุ่มเครื่องชงกาแฟ ฉันไม่สนใจวิธีการใช้พลังงานของ ESP8266 มันรันเว็บเซิร์ฟเวอร์เพื่อฟังคำขอ Raspberry Pi และดำเนินการกับ GPIO ตามนั้น
สถาปัตยกรรมนี้เป็นไปได้หรือไม่ สถาปัตยกรรมนี้มีความยืดหยุ่นหรือไม่?
แก้ไขเพื่อตอบ Sean Houlihane (สปอยเลอร์เพื่อให้โพสต์ค่อนข้างสั้น):
ฉันไม่แน่ใจ 100% เกี่ยวกับเรื่องนี้ แต่ทรานซิสเตอร์ดูเหมือนจะเพียงพอแล้ว สวิตช์เครื่องชงกาแฟทำงานบนแรงดันไฟฟ้าต่ำ (3,3V) และ ESP8266 จะไม่แบ่งปันพื้นดินกับเครื่องชงกาแฟ
เกี่ยวกับการตรวจจับอุณหภูมิและการควบคุมระดับน้ำเครื่องชงกาแฟ Senseo มีเครื่องในตัวนี้ การใช้งานทั่วไป: กดปุ่มกลางเพื่อเริ่มกระบวนการอุ่นเครื่องเลือกขนาดกาแฟของคุณโดยการกดปุ่ม "เดี่ยว" หรือ "คู่" เมื่อกระบวนการให้ความร้อนสิ้นสุดลงกาแฟจะเริ่มไหล หากมีน้ำไม่เพียงพอก็จะสิ้นสุดและ LED จะกระพริบ
ความคืบหน้าฉันคาดหวัง:
- เวอร์ชัน 1.0 จะเป็น "เพียงเรียกใช้เครื่องชงกาแฟฉันแน่ใจว่าพร้อมแล้ว" ฉันควบคุมปุ่มถ้วยเดียวและปุ่มเพิ่มความร้อน
เวอร์ชั่น 2.0 จะเป็น "เรียกใช้เครื่องและให้ข้อเสนอแนะ" ฉันมีอีก ESP8266 เสียบกับข้อเสนอแนะ LED (เพื่อให้ฉันสามารถรู้เมื่อมันร้อนขึ้นและเมื่อมันออกจากน้ำ) และอีกหนึ่งในระดับเพื่อให้แน่ใจว่า มีถ้วยก่อนที่จะเรียกใช้เครื่องชงกาแฟ ฉันอาจเพิ่มการแจ้งเตือนเมื่อมีการเรียกใช้เครื่องชงกาแฟเพื่อแจ้งให้ผู้ใช้เปลี่ยนพ็อด
เวอร์ชั่น 3.0 จะค้นหาวิธีที่จะบอกว่าพ็อดเปลี่ยนไปหรือไม่โดยการติดตามการเปิดกลไกด้วยสวิตช์บางชนิด แต่นี่ไม่ใช่ขอบเขตของโครงการของฉันในขณะนี้