Mavlink - Micro Air Vehicle Message Library
Mavlink เป็นไลบรารีข้อความที่มีน้ำหนักเบามาก ๆ สำหรับการสื่อสารระหว่างโดรนและ/หรือสถานีควบคุมภาคพื้นดิน ประกอบด้วยข้อมูลจำเพาะที่ตั้งค่าข้อความเป็นหลักสำหรับระบบที่แตกต่างกัน ("ภาษาถิ่น") ที่กำหนดไว้ในไฟล์ XML และเครื่องมือ Python ที่แปลงสิ่งเหล่านี้เป็นซอร์สโค้ดที่เหมาะสมสำหรับภาษาที่รองรับ มีสคริปต์ Python เพิ่มเติมที่ให้ตัวอย่างและยูทิลิตี้สำหรับการทำงานกับข้อมูล mavlink
Tip Mavlink เหมาะอย่างยิ่งสำหรับแอปพลิเคชันที่มีแบนด์วิดท์การสื่อสารที่ จำกัด มาก การใช้งานอ้างอิงใน C ได้รับการปรับให้เหมาะสมอย่างมากสำหรับระบบที่มีทรัพยากรที่มีการ จำกัด ทรัพยากรด้วย RAM และหน่วยความจำแฟลชที่ จำกัด มันได้รับการพิสูจน์แล้วและนำไปใช้ในผลิตภัณฑ์จำนวนมากที่ทำหน้าที่เป็นส่วนต่อประสานการทำงานร่วมกันระหว่างส่วนประกอบของผู้ผลิตที่แตกต่างกัน
ในการติดตั้งสภาพแวดล้อม mavlink ขั้นต่ำบน Ubuntu LTS 20.04 หรือ 22.04 ให้ป้อนสิ่งต่อไปนี้บนเทอร์มินัล:
# Dependencies
sudo apt install python3-pip
# Clone mavlink into the directory of your choice
git clone https://github.com/mavlink/mavlink.git --recursive
cd mavlink
python3 -m pip install -r pymavlink/requirements.txt
จากนั้นคุณสามารถสร้าง mavlink2 c-library สำหรับ message_definitions/v1.0/common.xml
จากไดเรกทอรี /mavlink
ดังที่แสดง:
python3 -m pymavlink.tools.mavgen --lang=C --wire-protocol=2.0 --output=generated/include/mavlink/v2.0 message_definitions/v1.0/common.xml
หากต้องการรวมส่วนหัวใน CMake ให้ติดตั้งในเครื่องเช่น install
ไดเรกทอรี:
cmake -Bbuild -H. -DCMAKE_INSTALL_PREFIX=install -DMAVLINK_DIALECT=common -DMAVLINK_VERSION=2.0
cmake --build build --target install
จากนั้นใช้ find_package
เพื่อรับการพึ่งพาใน CMakeLists.txt
:
find_package(MAVLink REQUIRED)
add_executable(my_program my_program.c)
target_link_libraries(my_program PRIVATE MAVLink::mavlink)
และผ่านไดเรกทอรีการติดตั้งท้องถิ่นไปยัง CMake (ปรับให้เข้ากับโครงสร้างไดเรกทอรีของคุณ):
cd ../my_program
cmake -Bbuild -H. -DCMAKE_PREFIX_PATH=../mavlink/install
สำหรับตัวอย่างเต็มรูปแบบตรวจสอบตัวอย่าง/c
หมายเหตุ: แม้ว่าเราจะใช้ target_link_libraries
ใน cmake แต่จริง ๆ แล้วมันไม่ได้ "ลิงก์" ไปยัง mavlink เนื่องจากเป็นเพียงห้องสมุดส่วนหัวเท่านั้น
คำแนะนำสำหรับการใช้ไลบรารี C จะถูกครอบคลุมในการใช้ไลบรารี C Mavlink (Mavgen)
หมายเหตุ: การติดตั้ง Mavlink Toolchain อธิบายวิธีการติดตั้ง Mavlink บนแพลตฟอร์มและ Windows Ubuntu อื่น ๆ ในขณะที่การสร้างไลบรารี Mavlink อธิบายวิธีการสร้าง Mavlink สำหรับภาษาการเขียนโปรแกรมอื่น ๆ ที่สนับสนุนโดยโครงการ หัวข้อย่อยของการใช้ไลบรารี Mavlink อธิบายวิธีการใช้ไลบรารีที่สร้างขึ้น