Lua Scripting چیست؟
Lua یک زبان برنامهنویسی سبک است که ArduPilot اجازه میدهد اسکریپتهای آن را مستقیماً روی فلایت کنترلر اجرا کنید. با این قابلیت میتوانید رفتارهای سفارشی بسازید — مثل روشن کردن چراغ در ارتفاع خاص، کنترل سرو بر اساس شرط، یا افزودن حسگر جدید — بدون نیاز به تغییر کد اصلی فریمور.
اسکریپتها فایلهای .lua هستند که در پوشه APM/scripts روی کارت SD فلایت کنترلر قرار میگیرند و هنگام بوت اجرا میشوند. این یکی از قدرتمندترین قابلیتهای پیشرفته ArduPilot است.
🛠️ کارت پروژه
| پیشنیاز | FC با کارت SD و حافظه کافی (H7 بهتر) |
| فریمور | نسخه دارای Scripting |
گام ۱: فعالسازی Scripting
SCR_ENABLE = 1
SCR_HEAP_SIZE = 100000 (حافظه اختصاصی به بایت)
# پس از تغییر، FC را ریاستارت کنید
گام ۲: ساختار یک اسکریپت ساده
-- نمونه: ارسال پیام و خواندن ولتاژ باتری هر ثانیه
function update()
local volt = battery:voltage(0)
gcs:send_text(6, "Battery: " .. tostring(volt) .. " V")
return update, 1000 -- اجرای دوباره بعد از 1000ms
end
return update, 1000
گام ۳: قرار دادن اسکریپت روی FC
- فایل را با نام مثل
battmon.luaذخیره کنید. - آن را در پوشه
APM/scriptsروی کارت SD کپی کنید (یا از طریق MAVFtp). - FC را ریاستارت کنید؛ پیامها در Messages تب Mission Planner ظاهر میشوند.
کتابخانههای پرکاربرد Lua
| شیء | کاربرد |
|---|---|
| gcs | ارسال پیام به ایستگاه زمینی |
| battery | خواندن ولتاژ/جریان |
| SRV_Channels | کنترل خروجی سرو |
| vehicle | تغییر حالت و وضعیت پرواز |