หน่วยสาธิตระบบจัดเรียงของระยะไกล (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

