MDB 2 UART Protocol - Version 1
คำอธิบาย
MDB2UART Box คือ กล่องแปลงสัญญาณระหว่าง duckpay box (UART) กับ ตู้จำหน่ายสินค้าอัตโนมัติ (MDB)
1 port configuration
Boardrate : 9600
Parity : NONE
Data bits : 8
Stop bits : 1
2 Data Structure
data
- Header 1 และ 2 เป็นค่าคงที่
- *length บิตที่ 0-6 เป็นจำนวนไบต์ทั้งหมดของชุดข้อมูล บิตที่ 7 หากเป็น 1 แสดงว่าเป็นข้อมูลที่ส่งจากกล่องแปลง mdb ไปหา duckpay และถ้าเป็น 0 แสดงว่าเป็นข้อมูลที่ส่งจาก duckpay ไปหา กล่องแปลง mdb
- data 1 จะเป็น CMD ของชุดข้อมูล
- crc คือ ผลลัพธ์ที่ได้จากการบวกกันของทุกไบต์
| Header 1 (d) | Header 1 (g) | *length | cmd | data 1 | data N | crc |
|---|---|---|---|---|---|---|
| 0x64 | 0x67 | xx | xx | xx | xx | xx |
ACK and POLL
| Header 1 (d) | Header 1 (g) | *length | cmd | crc |
|---|---|---|---|---|
| 0x64 | 0x67 | 0x05 | 0x00 | 0xD0 |
####ตัวอย่าง
3 Data Command
3.1 คำสั่งอ่านสถานะของกล่องแปลง mdb
duckpay ส่งไปหา mdb2uart
| Header 1 (d) | Header 1 (g) | *length | cmd | crc |
|---|---|---|---|---|
| 0x64 | 0x67 | 0x05 | 0x01 | 0xD1 |
mdb2uart ตอบกลับ duckpay
| Header 1 (d) | Header 1 (g) | *length | cmd | data 1 | crc |
|---|---|---|---|---|---|
| 0x64 | 0x67 | 0x85 | 0x01 | 0x00 | xx |
data1 :
- bit 0 = 0 no vmc connect and 1 vmc connected
- bit 1 = 0 disable and 1 enable
- bit 2 = reserve
- bit 3 = reserve
- bit 4 = reserve
- bit 5 = reserve
- bit 6 = reserve
- bit 7 = reserve
3.2 คำสั่ง Vend Request
เป็นคำสั่งที่ส่งมาจาก mdb2uart เมื่อมีการกดหมายเลขที่เครื่องจำหน่ายสินค้า โดยที่หน้าเครื่องจำหน่ายสินค้าจะต้องไม่มียอดเงินค้างอยู่ ในชุดข้อมูลจะมีหมายเลขช่องและราคาส่งเข้ามา
mdb2uart สั่งไปหา duckpay
| Header 1 (d) | Header 1 (g) | *length | cmd | data 1 | data 2 | crc |
|---|---|---|---|---|---|---|
| 0x64 | 0x67 | 0x8B | 0x02 | xx | xx | xx |
- data 1 : เป็นหมายเลขช่องที่เลือก จะมี 2 ไบต์
- data 2 : เป็นราคาของช่องที่เลือก จะมี 4 ไบต์
duckpay ตอบกลับ mdb2uart ACK
| Header 1 (d) | Header 1 (g) | *length | data | crc |
|---|---|---|---|---|
| 0x64 | 0x67 | 0x05 | 0x00 | 0xD0 |
*กล่อง duckpay จะต้องตอบกลับด้วย ACK หากไม่ตอบ mdb2uart จะพยายามส่งอยู่ 10 ครั้งและหลังจากนั้นจะหยุดส่ง