แสนยากร ชัยพิพัฒน์วรกุล
English
ผลงานทั้งหมด

ใช้งานจริง

บริการเก็บยอดผลิตผ่าน MQTT

ฟังข้อมูล MQTT จากอุปกรณ์นับยอดในไลน์ผลิต แล้วเป็นตัว trigger บอกว่าสินค้าตัวไหนเริ่มผลิตหรือหยุดผลิตแล้ว พร้อมเก็บยอดผลิตสดเทียบแผนใน ERP และกู้สถานะหลังรีสตาร์ต

ช่วงเวลา
2026
บทบาท
พัฒนาคนเดียว
ฝ่ายที่ใช้
ฝ่ายผลิต

ปัญหาเดิม

อุปกรณ์ IoT ส่งแต่ยอดสะสม ซึ่งเอาไปใช้ต่อยาก ธุรกิจต้องการ log รายช่วงเวลาตามวันทำงานของโรงงาน

สิ่งที่สร้าง

บริการ Python ใน Docker ที่ฟัง MQTT แล้วจับจากการเคลื่อนไหวของยอดว่าสินค้าตัวไหนเริ่มผลิต ผลิตครบแผน หรือหยุดผลิต แต่ละเหตุการณ์ส่งผ่าน n8n ขึ้นหน้าแจ้งเตือนของแดชบอร์ด ระหว่างผลิตก็แปลงยอดสะสมเป็นยอดต่อช่วง 10 นาที ซึ่งเป็นฐานของกราฟยอดต่อชั่วโมงในแดชบอร์ด

ฟีเจอร์หลัก

  • เริ่มบันทึกเมื่อยอดขยับจริงเท่านั้น
  • ตรวจจับการรีเซ็ตตัวนับของเครื่อง แล้วขึ้นล็อตใหม่
  • หยุดเมื่อถึงยอดตามแผนใน ERP หรือไม่ขยับนาน 60 นาที
  • รีสตาร์ตแล้วโหลดสถานะล่าสุดจากฐานข้อมูล
  • ประกาศรายการไลน์ที่ทำงานอยู่กลับไปที่ MQTT ให้ระบบอื่นใช้
  • ส่งเหตุการณ์เริ่มผลิต ครบตามแผน และหยุดผลิต พร้อมโรงงาน ไลน์ สินค้า และยอดเทียบแผน ผ่าน n8n ขึ้นหน้าแจ้งเตือนของแดชบอร์ด
  • สินค้าที่หยุดไปแล้วกลับมาผลิตต่อ ระบบจับได้และเริ่มบันทึกใหม่

เบื้องหลังทางเทคนิค

  • แยกค่าแรกจริงออกจาก noise: ค่าแรกต้องเท่ากับยอดสะสม ส่วนตัวนับที่ลดลงหมายถึงรีเซ็ต
  • paho-mqtt รันใน thread แยก ใช้ lock คุม buffer แล้ว flush เป็นช่วง 10 นาที
  • วันทำงานตัดรอบ 08:00 และแก้ปัญหา TLS ตอนต่อ SQL Server จากใน container

ระบบที่เกี่ยวข้อง