التصور والتطويررياضة الأنظمة غير المأهولة · #bezpiLOTa · KAIROS DRONE AGENTالوثائق
البدء السريع / DRONE AGENT

يُثبَّت الوكيل المستهدف على حاسوب Linux أحادي اللوحة موصول بوحدة التحكم بالطيران عبر UART أو USB. بعد الإصدار، ينبغي للوحة الحالة عرض عنوان URL المحلي، ولقائمة المتصفح تأكيد MAVLink والفيديو والشبكة والتسليم إلى Mission Control.

مخطط له

لم يُنشر مثبّت KairOS الخاص بعد؛ تحدد الصفحة عقد تثبيت قابلًا للتحقق دون عنوان URL زائف.

مستودع KairOS ↗
8080الإعداد / REST
SYSTEMDالإشراف على الخدمات
LOCALالوضع الافتراضي
SSHمسار التثبيت
01
ما الذي ستبنيه

وكيل يعتمد Rust أساسًا بجانب وحدة التحكم بالطيران

يجب أن يعمل الوكيل المستهدف على الحاسوب المرافق، ويتلقى heartbeat من FC، ويخدم REST على 8080 وتوجيه MAVLink والفيديو والاتصال اللاسلكي والسحابة الاختيارية. تُخصص طبقة Python للذكاء الاصطناعي والرؤية وتهيئة الأجهزة وبيئة تشغيل الإضافات. يشرف systemd على كل خدمة واعتمادياتها.

02
المتطلبات المسبقة

الأجهزة والبرمجيات قبل التثبيت

  • حاسوب أحادي اللوحة يعمل بنظام Linux مدعوم.
  • وحدة تحكم بالطيران مع ArduPilot أو PX4 أو Betaflight أو iNav، متصلة عبر UART أو USB.
  • كاميرا USB UVC أو CSI فقط عند الحاجة إلى الفيديو.
  • اتصال بالإنترنت على SBC أثناء تثبيت الاعتماديات.
  • Raspberry Pi OS Bookworm أو Ubuntu 22.04+ أو Armbian أو Debian 12+ أو Linux متوافق.
  • وصول SSH وأداة curl.
  • مصدر طاقة مستقل ومستقر لـSBC مصمم للكاميرا وأجهزة الراديو والحمل الأقصى.
03
التثبيت

تختار أداة Flash Tool المستهدفة اللوحة وتولّد الأمر

01

إقلاع نظام التشغيل الأصلي

اكتب نظام تشغيل مدعومًا من المصنّع وشغّله، وفعّل SSH وحدّث النظام الأساسي.

02

افتح Flash Tool

بعد نشر Mission Control، اختر Drone Agent الجوي والطراز الدقيق للوحة.

03

انسخ الأمر المولّد

تولّد الأداة أمر curl بسطر واحد للمثبّت الحالي والملف المختار.

04

نفّذه عبر SSH

يتطلب البرنامج النصي sudo، ويثبت الاعتماديات وينشئ المستخدم والأدلة والإعدادات ووحدات systemd.

05

انتظر الحالة السليمة

يجب أن يكتمل اكتشاف اللوحة وتشغيل الخدمات والحالة الأولى دون وحدات فاشلة.

اعتُمد للتخطيط زمن 3–8 دقائق، لكنه ليس اتفاقية مستوى خدمة KairOS. لا يُدرج عنوان URL ثابت عمدًا: يجب أن تولّد أداة Flash Tool المُصدرة الأمر الصحيح. سيكون kairos/install.sh غير الموجود إرشادًا زائفًا وربما خطرًا.

04
افتح الإعداد المحلي

الحالة أولًا، ثم URL

bashCLI المستهدفة لـKairOS
kairos
واجهة KairOS المستهدفة: لا يصبح الأمر قابلًا للتنفيذ إلا بعد إصدار المكوّن المعني.
المسارURL
الجهاز نفسهhttp://127.0.0.1:8080
mDNShttp://kairos.local:8080
نقطة اتصال الوكيلhttp://192.168.4.1
مشاركة اتصال USBhttp://10.55.0.1:8080
LANhttp://<sbc-ip>:8080
bashحالة مختصرة وقابلة للقراءة آليًا
kairos status
kairos status --json
واجهة KairOS المستهدفة: لا يصبح الأمر قابلًا للتنفيذ إلا بعد إصدار المكوّن المعني.
05
أكمل قائمة التحقق

سبع شاشات قبل التسليم إلى Mission Control

01

التعريف

الاسم والدور وملف اللوحة والإصدار والمنطقة الزمنية.

02

MAVLink

Heartbeat من FC والبرنامج الثابت والمنفذ التسلسلي والباود ومعرّفات النظام/المكوّن وعنوان URL للموجّه.

03

الفيديو

اكتشاف الكاميرا والدقة والترميز وWHEP المحلي وحالة التسجيل؛ ويمكن تجاوزها دون كاميرا.

04

الشبكة

نقطة الاتصال/LAN وعميل Wi‑Fi وEthernet ومشاركة USB والمودم وmDNS.

05

الوصول عن بُعد

نفق/سحابة اختياريان؛ والوضع المحلي حالة كاملة وصحيحة.

06

Mission Control

افتح GCS وأضف العقدة باسم المضيف/IP أو اكتشفها تلقائيًا.

07

إنهاء

احفظ ملخص الدعم وتحقق من الخدمات واخرج من التهيئة الأولية.

إعداد الوكيل: اتصال MAVLink بـArduCopter ومنفذ تسلسلي وWi-Fi وLTE ومنافذ الشبكة وقيود جغرافية وخريطة المهمة.
الواجهة / مثال مرئيالتحقق من الاتصال قبل التسليم إلى Mission Control

تجتمع معلمات MAVLink والشبكة وحالة القناة وخريطة المهمة في واجهة الوكيل. تربط هذه النظرة إعداد FC باتصال المشغّل اللاحق.

06
أوامر مفيدة

الحد الأدنى لـCLI للحالة ودورة الحياة

bashCLI المستهدفة لدورة الحياة
kairos
kairos status
kairos status --json
kairos update
kairos uninstall
واجهة KairOS المستهدفة: لا يصبح الأمر قابلًا للتنفيذ إلا بعد إصدار المكوّن المعني.

تقرأ عمليات الحالة البيانات فقط. يغيّر التحديث وإلغاء التثبيت النظام، ويتطلبان قرارًا مستقلًا من المشغّل وإعدادات محفوظة وخطة استعادة. لا تشغّل أوامر دورة الحياة أثناء إعداد رحلة أو تنفيذها.

07
استكشاف الأعطال

افصل بين المشرف وMAVLink والكاميرا

bashالوكيل لا يفتح تطبيق الويب
journalctl -u kairos-supervisor -n 50 --no-pager
ss -tlnp | grep 8080
واجهة KairOS المستهدفة: لا يصبح الأمر قابلًا للتنفيذ إلا بعد إصدار المكوّن المعني.
bashلا توجد heartbeat من FC
ls -la /dev/ttyUSB* /dev/ttyAMA* /dev/ttyACM* 2>/dev/null
journalctl -u kairos-mavlink -n 50 --no-pager
واجهة KairOS المستهدفة: لا يصبح الأمر قابلًا للتنفيذ إلا بعد إصدار المكوّن المعني.
bashلم يُعثر على الكاميرا
ls -la /dev/video*
v4l2-ctl --list-devices
واجهة KairOS المستهدفة: لا يصبح الأمر قابلًا للتنفيذ إلا بعد إصدار المكوّن المعني.
  • إذا لم يكن :8080 يستمع، فتحقق أولًا من حالة المشرف والخدمات، لا ذاكرة المتصفح المؤقتة.
  • إذا غاب الجهاز التسلسلي، فتحقق من الكابل وطاقة FC وتعداد USB والصلاحيات.
  • إذا لم تظهر heartbeat، فقارن معدل الباود وإعدادات منفذ القياس عن بُعد في FC.
  • إذا وُجد /dev/video* لكن التدفق لا يبدأ، فتحقق من التنسيقات وما إذا كانت عملية أخرى تشغل الجهاز.
  • لا تنشر سجل journal يحوي مفاتيح API أو بيانات اعتماد Wi‑Fi أو حالة الاقتران.