แยกสามชั้นของการสื่อสาร
MAVLink กำหนดรูปแบบและความหมายของข้อความ ส่วน serial/UDP/TCP เป็นวิธีขนส่ง และ radio/Wi-Fi/cellular เป็นช่องทางเชื่อมต่อ การเปลี่ยนเครือข่ายจึงไม่รับรองว่าพฤติกรรม mission หรือ failsafe จะเหมือนเดิม
ระบุ system ID, component ID, endpoint, port, baud rate เมื่อมี serial และอัตราข้อความที่ต้องการ HEARTBEAT ช่วยเห็นการมีอยู่ของระบบ แต่ไม่บอกว่าข้อมูลจาก sensor ทุกชุดยังสดใหม่
วัดข้อมูลที่โปรแกรมใช้งานจริง
เริ่มจากอ่าน ATTITUDE หรือ position ใน SITL แล้วบันทึก timestamp พร้อมหน่วย ถ้ามี packet capture ให้เทียบอัตรา packet กับอัตราข้อความที่ application อ่านได้ ข้อความหลายชนิดอาจอยู่ใน traffic เดียวกัน
| เครื่องมือ | เหมาะกับ |
|---|---|
| MAVProxy | forwarding, GCS และ log analysis |
| pymavlink | อ่าน/สร้างข้อความระดับ protocol |
| MAVSDK | telemetry/mission API ระดับสูง |
| Wireshark | packet ฝั่ง IP และเวลา |
| GNU Radio | signal/noise/filter ใน simulation |
Link loss มีหลายความหมาย
Telemetry loss, RC loss และ GCS failsafe เป็นคนละเหตุการณ์ ทดสอบโดยหยุด forwarding ในระบบจำลองแล้วอ่าน log ว่า mode เปลี่ยนหรือไม่ อย่าถือว่าลิงก์ขาดทุกกรณีต้อง RTL หรือควรทำงานเหมือนกัน
Signing และการปกป้องข้อมูล
MAVLink2 signing ใช้ตรวจความแท้ของข้อความ ไม่ใช่การเข้ารหัสเนื้อหา เมื่อนำไปใช้กับ IP network ต้องพิจารณาวิธีปกป้องข้อมูลและสิทธิ์เข้าถึงแยกจาก protocol การทดลองเริ่มที่ loopback/local simulator ได้ก่อนมีวิทยุ
เก็บหลักฐานให้ทำซ้ำได้
เก็บ topology, firmware/API version, endpoint configuration, packet/application log และเวลาที่ตัดต่อ link ส่วนความถี่/กำลังส่งเมื่อใช้วิทยุจริงต้องตรวจตามอุปกรณ์และข้อกำหนดพื้นที่
อ่านต่อและแหล่งอ้างอิง
- เอกสารตั้งต้น: DTI, Drone_Communication_v1
- MAVLink protocol overview
- MAVLink signing
- MAVProxy
- MAVSDK
- MQTT และ Mosquitto
เนื้อหานี้เรียบเรียงจากเอกสารที่ DTI เอื้อเฟื้อและแหล่งอ้างอิงข้างต้น ตัวอย่างตัวเลขเป็นกรณีเพื่อการเรียนรู้ อ่านกิตติกรรมประกาศและที่มาของเนื้อหา