3D-Printer Print notification mod
ผมมักจะสั่งพิมพ์งานบน 3D printer ของผมแล้วก็ไปทำงานอย่างอื่น บางครั้ง printer ของผมก็ยังคงทำงานต่อเป็นเวลานานหลังจากพิมพ์งานเสร็จแล้ว และผมก็ไม่รู้ว่างานพิมพ์เสร็จเมื่อไหร่ โดยที่ไม่ได้สนใจเรื่องเวลา
นั่นคือเหตุผลที่ผมสร้าง mod นี้สำหรับ 3D printer ของผม เมื่อพิมพ์งานเสร็จ หัวพิมพ์ของ printer จะเคลื่อนที่และกด push button ของอุปกรณ์ และมันจะส่ง notification ไปยังโทรศัพท์มือถือผ่านแพลตฟอร์ม Blynk IoT


Hardware
ในส่วนของ hardware ผมใช้ ESP8266 (ในรูปแบบ ESP01 form-factor) เป็นสมองของระบบ เนื่องจากมี WIFI ในตัวและมีขนาดเล็กกะทัดรัด




ผมออกแบบ enclosure สำหรับระบบใน Fusion 360 และพิมพ์ด้วย PLA filament

ผมใช้ Arduino Nano เพื่ออัปโหลดโค้ดไปยังโมดูล ESP01
การเชื่อมต่อเพื่ออัปโหลดโค้ดไปยังโมดูล ESP01 มีดังต่อไปนี้
ESP01 ---> Arduino Nano
TX ---> TX
RX ---> RX
GPIO0 ---> GND
GND ---> GND
Chip select pin ---> 3.3V
VIN ---> 3.3V
Arduino GND toArduino RST
หลังจากนั้น ให้ถอดการเชื่อมต่อทั้งหมดออกและเชื่อมต่อใหม่ตามด้านล่างนี้
GPIO2 ---> PUSH pin 1
GPIO2 + 10k Resistor + VIN
VIN ---> Chip select PIN
PUSH pin 2 ---> GND
Blynk Setup
หลังจากดาวน์โหลดและสร้างบัญชีบนแพลตฟอร์ม Blynk ให้สร้างโปรเจกต์ใหม่และเลือก Device เป็น ESP8266 และประเภทการเชื่อมต่อเป็น Wi-Fi

จากนั้นข้อความนี้จะปรากฏขึ้น กด ok, Authentication token จะถูกส่งไปยังที่อยู่อีเมลของคุณ ซึ่งเราจะต้องใช้ในการเขียนโปรแกรม

หลังจากนั้นจากกล่อง widget ให้เลือก notification widget และทุกอย่างก็เสร็จสิ้นที่นี่

Code
ผมใช้ Arduino IDE เพื่อเขียนโปรแกรมโมดูล ESP01 และใช้ Blynk IoT library เพื่อส่ง notifications ไปยังมือถือ เมื่อ push button ถูกกด โมดูล ESP จะตรวจจับได้และส่ง notification ไปยังมือถือผ่าน Blynk App
คุณต้องติดตั้ง Blynk library เพื่อเรียกใช้โค้ดนี้
ใช้ auth token จากอีเมลของคุณในส่วนของ auth [] ของโค้ด

Video
EXPANDED TECHNICAL DETAILS
Industrial IoT Manufacturing Monitor
mod นี้ช่วยให้ 3D printer ใดๆ ก็ตามสามารถเชื่อมต่อกับ cloud ได้ โดยส่งการอัปเดตความคืบหน้าแบบ real-time และการแจ้งเตือน "Finish" ไปยังโทรศัพท์ของคุณผ่านแพลตฟอร์ม Blynk
- G-Code Event Sniffing: Arduino (ESP8266 หรือ ESP32) เชื่อมต่อกับ controller ของ printer (เช่น RAMPS หรือ SKR) โดยจะ monitor สัญญาณ G-code M73 หรือเหตุการณ์ "Heater Off" เพื่อระบุว่างานพิมพ์เสร็จสมบูรณ์เมื่อใด
- Blynk Push-Notification Hub: เมื่อพิมพ์งานเสร็จ Arduino จะส่งเหตุการณ์ "Finish" ที่มีความสำคัญสูงไปยัง Blynk app เพื่อแจ้งให้ผู้ใช้ทราบว่าตอนนี้พวกเขาสามารถนำงานออกจาก build plate ได้แล้ว
Interaction
- Web-Based Dashboard: แสดง "Nozzle Temperature" ปัจจุบันและ "Remaining Time" (หากมี) บน mobile gauge ทำให้ผู้ใช้สามารถ monitor ห้องทำงานของตนได้จากทุกที่