หน่วยสาธิตระบบจัดเรียงของระยะไกล (TeleSorting System) เป็นเครื่องมือการเรียนรู้การเขียนโปรแกรมที่ให้ผลตอบรับได้ทันที ผู้ใช้จะเห็นได้เลยว่าคำสั่งส่งผลต่อการทำงานของเครื่องจักรจริงอย่างไร ทำให้การเรียนรู้มีประสิทธิภาพและน่าสนใจมากขึ้น หน่วยสาธิตประกอบด้วย Optical Proximity Sensor เพื่อตรวจจับชิ้นงานบนสายพาน Vision Sensor สำหรับตรวจจับสีของชิ้นงาน และ Linear Actuator สำหรับผลักชิ้นงานเพื่อเปลี่ยนทิศทางการลำเลียงชิ้นงาน
*คู่มือการใช้งานนี้ใช้สำหรับการเรียนรู้ร่วมกับ MQTT Protocol เท่านั้น
Input/Output
แผนผังตำแหน่งและหมายเลข (ID) ของอุปกรณ์ต่าง ๆ ภายในหน่วยสาธิตดังรูป

Input
ผู้ใช้งานสามารถอ่านค่าจาก Sensor ต่าง ๆ ในหน่วยสาธิตได้ มีรายละเอียดดังตารางนี้
ประเภทของ Input | หมายเลข (ID) | คำอธิบาย |
|---|---|---|
Optical Proximity Sensor | 0-9 | คืนค่าสถานะ (Value) เท่ากับ 1 เมื่อตรวจพบชิ้นงาน นอกเหนือจากนั้นคืนค่าสถานะเท่ากับ 0 |
Vision Sensor | 10 | คืนค่าสถานะ (Value) สีที่ตรวจจับได้ ได้แก่ RED, GREEN, CYAN, PURPLE และ YELLOW |
Output
ผู้ใช้งานสามารถควบคุมการทำงาน Actuator ในหน่วยสาธิตได้ มีรายละเอียดดังตารางนี้
ประเภทของ Output | หมายเลข (ID) | คำอธิบาย |
|---|---|---|
Linear Actuator | 0-9 | ส่งคำสั่งควบคุม (Action) เท่ากับ 1 เพื่อผลัก (Extend) ก้านกระบอกลมและส่งคำสั่งควบคุม (Action) เท่ากับ 0 เพื่อดึง (Retract) กระบอกลมกลับ |
ชิ้นงาน
ชิ้นงานในสายพานลำเลียงมีลักษณะเป็นลูกบาศก์ขนาด 2.5×2.5 ซ.ม. ลูกปล่อยเข้าสู่สายพานลำเลียงครั้งละ 1 ชิ้นและแต่ละชิ้นมีสีจำนวน 5 สีดังรูป

การอ่านค่า Input
อ่านค่าจาก Input ที่ต้องการโดยการ Subscribe ไปยัง Topic ของ Input ที่ต้องการ มีรูปแบบดังนี้
tss/1/sensor/[INPUT]
[INPUT] หมายถึง ID ของ Input ที่ต้องการอ่านค่าสถานะ
ผลลัพธ์การอ่านค่า Input
ข้อมูล (Payload) ที่ตอบกลับจากระบบจะอยู่ในรูปแบบ JSON โดยมีรายละเอียดดังนี้
{
“id”: [ID],
“type”: [TYPE],
“value”: [VALUE],
“detail”: [DETAIL]
}
- [ID] หมายถึง ID ของ Input เป็นข้อมูลประเภท Number
- [TYPE] หมายถึง ประเภทของ Input เป็นข้อมูลประเภท String
- [VALUE] หมายถึง ค่าสถานะของ Input เมื่ออ่านค่าจาก Proximity Sensor จะเป็นข้อมูลประเภท Number เมื่ออ่านค่าจาก Vision Sensor จะเป็นข้อมูลประเภท String
- [DETAIL] หมายถึง รายละเอียดเพิ่มเติมของ Input เป็นข้อมูลประเภท String
การส่งคำสั่งควบคุม Output
ส่งคำสั่งควบคุมไปยัง Output ที่ต้องโดยการ Publish ไปยัง Topic ของ Output ที่ต้องการ มีรูปแบบดังนี้
tss/1/rpc/request/[OUTPUT]
[OUTPUT] หมายถึง ID ของ Output ที่ต้องการส่งคำสั่งควบคุม
ข้อมูลการส่งคำสั่งควบคุม Output
ข้อมูล (Payload) ที่ส่งเข้าสู่ระบบจะอยู่ในรูปแบบ JSON โดยมีรายละเอียดดังนี้
{
“cmd”: “ACTUATOR”,
“param”: [[OUTPUT], [ACTION]]
}
- [OUTPUT] หมายถึง ID ของ Output เป็นข้อมูลประเภท Number
- [ACTION] หมายถึง ส่งคำสั่งควบคุมของ Output เป็นข้อมูลประเภท Number

