MSITBlog

4 minutes reading time (702 words)

ระบบติดตามการโดยสารบนรถแท๊กซี่

 

ระบบติดตามการโดยสารบนรถแท๊กซี่

ปัญหาและแรงจูงใจ

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

คุณสมบัติการทำงานของระบบ

1.      ใช้ทรัพยากรมือถือ และกล่องติดตามการโดยสาร ในการทำ Block Chain

2.      สามารถเข้าถึงข้อมูลการใช้บริการได้ตามช่วงเวลาที่ต้องการ

3.      สามารถติดตามพิกัดของแท๊กซี่ได้

4.      สามารถติดต่อกับแท๊กซี่ที่ให้บริการได้

ภาพรวมการทำงานของแอพลิเคชัน

การทำงานของระบบติดตามการโดยสารบนรถแท๊กซี่ แสดงดังรูปที่ 1 มีโครงสร้างของระบบดังนี้

1.      เครื่องเซิร์ฟเวอร์ (Server)

ทำหน้าที่เป็นเซิร์ฟเวอร์สำหรับการ Miner เพื่อยืนยัน transaction ในการทำ Block Chain

2.      กล่องติดตามการโดยสาร (Tracking Box)

ทำหน้าที่ในการสร้าง Transaction ของผู้โดยสารกับรถแท๊กซี่คันที่โดยสาร โดยภายในจะประกอบไปด้วยโมดูลต่างๆ ดังนี้

-        โมดูลจีพีเอสในการระบุตำแหน่งของรถแท๊กซี่

-        โมดูลซิมที่ใช้สัญญาณอินเทอร์เน็ตจากผู้ให้บริการ (บริษัท AppTrackxi) เพื่อใช้ในการส่งข้อมูลตำแหน่งของรถแท๊กซี่

-        โมดูล NFC ใช้ในการส่งข้อมูลของแท๊กซี่คันที่โดยสารไปยังมือถือของผู้โดยสาร

-        ชุดจัดเก็บพลังงาน ประกอบไปด้วย

o  แผงโซล่าเซลล์ (Solar cell panel) ขนาด 5 วัตต์ ใช้ในการแปลงพลังงานแสงอาทิตย์เป็นไฟฟ้ากระแสตรง

o  เครื่องควบคุมการชาร์จ (Solar Charge Controller) ใช้ในการควบคุมการชาร์จไฟที่ได้จากแผงโซล่าเซลล์ลงแบตเตอรี่

o  แบตเตอรี่ 2600 mah 3.6 v ซึ่งจะทำให้กล่องมีพลังงานเพียงพอที่จะทำงานได้โดยไม่มีแสงอาทิตย์ประมาณ 24 ชั่วโมง

-        บอร์ดไมโครคอนโทรลเลอร์ สำหรับจัดการการรับส่งข้อมูลต่างๆ

-        แผ่น QR Code สำหรับสมาร์ทโฟนของผู้โดยสารที่ไม่มีระบบ NFC

3.      โทรศัพท์มือถือสมาร์ทโฟน

ทำหน้าที่แสดงข้อมูลการติดตามการโดยสาร และการส่ง transaction การโดยสารไปยังเซิร์ฟเวอร์เพื่อทำ Block Chain

รูปที่ 1 โครงสร้างการทำงานของระบบติดตามการโดยสารบนรถแท๊กซี่

โพรโทคอลที่ใช้ในระบบ

          การทำงานของโพรโทคอลในชั้นแอพลิเคชันนี้แบ่งเป็น 3 โพรโทคอล ซึ่งทำงานในรูปแบบสถาปัตยกรรมของ Peer to Peer และใช้โพรโทคอลชั้นทรานสปอตคือ TCP ทั้งโพรโทคอลเนื่องจากต้องการความถูกต้องของการส่งข้อมูลระหว่าง Peer กับ Peer

1.      โพรโทคอลการสื่อระหว่างกล่องติดตามการโดยสารกับสมาร์ทโฟน โดยโพรโทคอลนี้เรียกว่า DDP (Driver Data Protocol) โดยมีลักษณะข้อความที่ใช้ในการสื่อสาร 2 รูปแบบ คือ DDP request กับ DDP response

2.      โพรโทคอลการสื่อสารระหว่างมือถือสมาร์ทโฟนด้วยกันและเซิร์ฟเวอร์ โดยโพรโทคอลนี้เรียกว่า NCTP (No Confirm Transaction Protocol) โดยมีลักษณะข้อความที่ใช้การสื่อสารกัน 1 รูปแบบ คือ NCTP Push

3.      โพรโทคอลการสื่อสารระหว่างเซิร์ฟเวอร์กับมือถือสมาร์ทโฟน โดยโพรโทคอลนี้เรียกว่า CTP (Confirm Transaction Protocol) โดยมีลักษณะข้อความที่ใช้การสื่อสารกัน 1 รูปแบบ คือ CTP Push

4.      โพรโทคอลที่ใช้ในการปรับข้อมูล Block Chain ให้กับมือถือสมาร์ทโฟนทุกเครื่องเป็นข้อมูลล่าสุดเมื่อออนไลน์ โดยโพรโทคอลนี้เรียกว่า TIP (Transaction Initial Protocol) โดยมีลักษณะข้อความที่ใช้การสื่อสารกัน 1 รูปแบบ คือ TIP Broadcast


 

รูปที่ 2 ลักษณะการทำงานของโพรโทคอล

          การทำงานเริ่มจากสมาร์ทโฟนของผู้โดยสาร เมื่อทำการร้องขอข้อมูลคนขับรถแท๊กซี่ขับที่โดยสาร (DDP request) กล่องติดตามการโดยสารจะส่งข้อมูลกลับมายังมือถือสมาร์ทโฟน (DDTP response) เมื่อแอพลิเคชันของผู้โดยสารได้รับข้อมูลคนขับก็จะทำการส่งข้อมูลออกไปยังเซิร์ฟเวอร์ และมือถือของผู้โดยสารคนอื่นๆที่ใช้บริการแอพลิเคชันนี้ที่ออนไลน์อยู่ด้วย (NCTP Push) และเมื่อเซิร์ฟเวอร์ทำการยืนยันข้อมูลที่ได้รับเรียบร้อยแล้ว ก็ทำการส่งข้อมูลการยืนยันออกไปให้กับสมาร์ทโฟนทุกๆเครื่องที่ใช้บริการแอพลิเคชันนี้ (CTP Push) และในกรณีที่มีมือถือสมาร์ทโฟนที่ไม่ได้ออนไลน์ ณ ขณะนั้น เซิร์ฟเวอร์จะทำการแชร์ Block Chain ล่าสุดให้ เมื่อมือถือสมาร์ทโฟนเครื่องที่ออฟไลน์อยู่กลับมาออนไลน์อีกครั้ง (TIP Broadcast)


 

โพรโทคอล DDP (Driver Data Protocol)

DDP request

DDP Code

SP

Information

CR

LF

 

 

รูปที่ 3 รูปแบบทั่วไปของ DDP request

ฟิลด์ Code เป็นรหัสที่บอกวิธีการติดต่อกับกล่องติดตามการโดยสาร ซึ่งแบ่งเป็นดังนี้

ฟิลด์ Code

ความหมาย

01

การขอการเชื่อมต่อ

02

การขอดูหมายเลขคนขับ

03

การขอดูตำแหน่ง

04

การขอหมายเลขรถแท๊กซี่

05

การยืนยันรหัสคนขับ

 

ฟิลด์ SP คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ CR คือ รหัสแอสกี้ Carriage return

ฟิลด์ LF คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ Information เป็นรายละเอียดของข้อมูลเพื่อใช้งานร่วมกับฟิลด์ Code

ฟิลด์ Code

รายละเอียดฟิลด์ Information

ตัวอย่างฟิลด์ Information

01

หมายเลขผู้ใช้งาน

1122334455667788

02

หมายเลขคนขับ

Get: ThisDriverID

03

การขอดูตำแหน่ง

Get: ThisPosition

04

การขอหมายเลขรถแท๊กซี่

Get: ThisLicensePlate

05

การยืนยันรหัสคนขับ

Verify:1234567891011

 

DDP response

DDP Status

SP

Information

CR

LF

 

 

รูปที่ 4 รูปแบบทั่วไปของ DDP response

ฟิลด์ Code เป็นรหัสที่บอกวิธีการติดต่อกับกล่องติดตามการโดยสาร ซึ่งแบ่งเป็นดังนี้

ฟิลด์ Code

ความหมาย

01

การขอการเชื่อมต่อสำเร็จ

02

การขอดูหมายเลขคนขับสำเร็จ

03

การขอดูตำแหน่งสำเร็จ

04

การขอหมายเลขรถแท๊กซี่สำเร็จ

05

การยืนยันรหัสคนขับสำเร็จ

11

การขอการเชื่อมต่อสำเร็จไม่สำเร็จ

12

การขอดูหมายเลขคนขับไม่สำเร็จ

13

การขอดูตำแหน่งไม่สำเร็จ

14

การขอหมายเลขรถแท็กซี่ไม่สำเร็จ

15

การยืนยันรหัสคนขับไม่สำเร็จ

 

ฟิลด์ SP คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ CR คือ รหัสแอสกี้ Carriage return

ฟิลด์ LF คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ Information เป็นรายละเอียดของข้อมูลเพื่อใช้งานร่วมกับฟิลด์ Code

ฟิลด์ Code

รายละเอียดฟิลด์ Information

ตัวอย่างฟิลด์ Information

01

แสดงสถานะของการขอเชื่อมต่อสำเร็จ

Connection: Success

02

แสดงหมายเลขของคนขับแท็กซี่สำเร็จ

DID: 1234567891011

03

แสดงหมายเลขของตำแหน่งสำเร็จ

LNG:13.8422351, LAT:100.8533307

04

แสดงหมายเลขของรถแท๊กซี่สำเร็จ

LP: ษท-9999

05

แสดงสถานะของการยืนยันคนขับแท๊กซี่สำเร็จ

Verify: Success

11

แสดงสถานะของการขอเชื่อมต่อผิดพลาด

Connection: Fail

12

แสดงหมายเลขของคนขับแท็กซี่ผิดพลาด

DID: -error

13

แสดงหมายเลขของตำแหน่งผิดพลาด

LNG: -error, LAT: -error

14

แสดงหมายเลขของรถแท็กซี่ผิดพลาด

LP: -error

15

แสดงสถานะของการยืนยันคนขับแท๊กซี่ผิดพลาด

Verify: Fail

 

โพรโทคอล NCTP (No Confirm Transaction Protocol)

NCTP Push

NCTP Code

SP

Information

CR

LF

 

 

รูปที่ 5 รูปแบบทั่วไปของ NCTP Push

ฟิลด์ Code เป็นรหัสที่บอกวิธีการติดต่อกับกล่องติดตามการโดยสาร ซึ่งแบ่งเป็นดังนี้

ฟิลด์ Code

ความหมาย

00

หมายเลข transaction

01

หมายเลขผู้ใช้ของ transaction

02

เวลาของ transaction

03

ตำแหน่งของ transaction

04

หมายเลขคนขับของ transaction

05

หมายเลขรถแท็กซี่ของ transaction

06

สถานะของ transaction

 

ฟิลด์ SP คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ CR คือ รหัสแอสกี้ Carriage return

ฟิลด์ LF คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ Information เป็นรายละเอียดของข้อมูลเพื่อใช้งานร่วมกับฟิลด์ Code

ฟิลด์ Code

รายละเอียดฟิลด์ Information

ตัวอย่างฟิลด์ Information

00

แสดงหมายเลขของ transaction

1234567891011121

01

แสดงหมายเลขผู้ใช้ของ transaction

1122334455667788

02

แสดงวันและเวลาของ transaction ประกอบไปด้วย วัน-เดือน-ปี-ชั่วโมง-นาที-วินาที

DateTime:1-1-2019-00-30-10

03

แสดงตำแหน่งของ transaction

LNG:13.8422351, LAT:100.8533307

04

แสดงหมายเลขคนขับของ transaction

DID: 1234567891011

05

แสดงหมายเลขรถแท็กซี่ของ transaction

LP: ษท-9999

06

แสดงสถานะของ transaction

Status: No Confirm

 

โพรโทคอล CTP (Confirm Transaction Protocol)

CTP Push

CTP Code

SP

Information

CR

LF

 

 

รูปที่ 6 รูปแบบทั่วไปของ CTP Push

ฟิลด์ Code เป็นรหัสที่บอกวิธีการติดต่อกับกล่องติดตามการโดยสาร ซึ่งแบ่งเป็นดังนี้

ฟิลด์ Code

ความหมาย

00

หมายเลข transaction

11

สถานะของ transaction

 

ฟิลด์ SP คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ CR คือ รหัสแอสกี้ Carriage return

ฟิลด์ LF คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ Information เป็นรายละเอียดของข้อมูลเพื่อใช้งานร่วมกับฟิลด์ Code

ฟิลด์ Code

รายละเอียดฟิลด์ Information

ตัวอย่างฟิลด์ Information

00

แสดงหมายเลขของ transaction

1234567891011121

11

แสดงสถานะของ transaction

Status: Confirm

 

โพรโทคอล TIP (Transaction Initial Protocol)

TIP

TIP Code

SP

Information

CR

LF

 

 

รูปที่ 7 รูปแบบทั่วไปของ TIP request

ฟิลด์ Code เป็นรหัสที่บอกวิธีการติดต่อกับกล่องติดตามการโดยสาร ซึ่งแบ่งเป็นดังนี้

ฟิลด์ Code

ความหมาย

00

หมายเลข transaction

01

หมายเลขผู้ใช้ของ transaction

02

เวลาของ transaction

03

ตำแหน่งของ transaction

04

หมายเลขคนขับของ transaction

05

หมายเลขรถแท็กซี่ของ transaction

06

สถานะของ transaction

21

หมายเลข transaction ก่อนหน้า

 

ฟิลด์ SP คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ CR คือ รหัสแอสกี้ Carriage return

ฟิลด์ LF คือ รหัสแอสกี้ช่องว่าง

ฟิลด์ Information เป็นรายละเอียดของข้อมูลเพื่อใช้งานร่วมกับฟิลด์ Code

ฟิลด์ Code

รายละเอียดฟิลด์ Information

ตัวอย่างฟิลด์ Information

00

แสดงหมายเลขของ transaction

1234567891011121

01

แสดงหมายเลขผู้ใช้ของ transaction

1122334455667788

02

แสดงวันและเวลาของ transaction ประกอบไปด้วย วัน-เดือน-ปี-ชั่วโมง-นาที-วินาที

DateTime:1-1-2019-00-30-10

03

แสดงตำแหน่งของ transaction

LNG:13.8422351, LAT:100.8533307

04

แสดงหมายเลขคนขับของ transaction

DID: 1234567891011

05

แสดงหมายเลขรถแท็กซี่ของ transaction

LP: ษท-9999

06

แสดงสถานะของ transaction

Status: Confirm

21

แสดงหมายเลข transaction ก่อนหน้า

Before trans: 1234567891011120

 

 

Near Field Communication (NFC)
ระบบแจ้งเตือนฝนตกผ่านโทรศัพท์มือถือ
 

Comments

No comments made yet. Be the first to submit a comment
Already Registered? Login Here
Guest
Thursday, 20 February 2020