يُثبَّت الوكيل المستهدف على حاسوب Linux أحادي اللوحة موصول بوحدة التحكم بالطيران عبر UART أو USB. بعد الإصدار، ينبغي للوحة الحالة عرض عنوان URL المحلي، ولقائمة المتصفح تأكيد MAVLink والفيديو والشبكة والتسليم إلى Mission Control.
لم يُنشر مثبّت KairOS الخاص بعد؛ تحدد الصفحة عقد تثبيت قابلًا للتحقق دون عنوان URL زائف.
مستودع KairOS ↗في هذه الصفحة +
وكيل يعتمد Rust أساسًا بجانب وحدة التحكم بالطيران
يجب أن يعمل الوكيل المستهدف على الحاسوب المرافق، ويتلقى heartbeat من FC، ويخدم REST على 8080 وتوجيه MAVLink والفيديو والاتصال اللاسلكي والسحابة الاختيارية. تُخصص طبقة Python للذكاء الاصطناعي والرؤية وتهيئة الأجهزة وبيئة تشغيل الإضافات. يشرف systemd على كل خدمة واعتمادياتها.
الأجهزة والبرمجيات قبل التثبيت
- حاسوب أحادي اللوحة يعمل بنظام 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 مصمم للكاميرا وأجهزة الراديو والحمل الأقصى.
تختار أداة Flash Tool المستهدفة اللوحة وتولّد الأمر
إقلاع نظام التشغيل الأصلي
اكتب نظام تشغيل مدعومًا من المصنّع وشغّله، وفعّل SSH وحدّث النظام الأساسي.
افتح Flash Tool
بعد نشر Mission Control، اختر Drone Agent الجوي والطراز الدقيق للوحة.
انسخ الأمر المولّد
تولّد الأداة أمر curl بسطر واحد للمثبّت الحالي والملف المختار.
نفّذه عبر SSH
يتطلب البرنامج النصي sudo، ويثبت الاعتماديات وينشئ المستخدم والأدلة والإعدادات ووحدات systemd.
انتظر الحالة السليمة
يجب أن يكتمل اكتشاف اللوحة وتشغيل الخدمات والحالة الأولى دون وحدات فاشلة.
اعتُمد للتخطيط زمن 3–8 دقائق، لكنه ليس اتفاقية مستوى خدمة KairOS. لا يُدرج عنوان URL ثابت عمدًا: يجب أن تولّد أداة Flash Tool المُصدرة الأمر الصحيح. سيكون kairos/install.sh غير الموجود إرشادًا زائفًا وربما خطرًا.
الحالة أولًا، ثم URL
kairos| المسار | URL |
|---|---|
| الجهاز نفسه | http://127.0.0.1:8080 |
| mDNS | http://kairos.local:8080 |
| نقطة اتصال الوكيل | http://192.168.4.1 |
| مشاركة اتصال USB | http://10.55.0.1:8080 |
| LAN | http://<sbc-ip>:8080 |
kairos status
kairos status --jsonسبع شاشات قبل التسليم إلى Mission Control
التعريف
الاسم والدور وملف اللوحة والإصدار والمنطقة الزمنية.
MAVLink
Heartbeat من FC والبرنامج الثابت والمنفذ التسلسلي والباود ومعرّفات النظام/المكوّن وعنوان URL للموجّه.
الفيديو
اكتشاف الكاميرا والدقة والترميز وWHEP المحلي وحالة التسجيل؛ ويمكن تجاوزها دون كاميرا.
الشبكة
نقطة الاتصال/LAN وعميل Wi‑Fi وEthernet ومشاركة USB والمودم وmDNS.
الوصول عن بُعد
نفق/سحابة اختياريان؛ والوضع المحلي حالة كاملة وصحيحة.
Mission Control
افتح GCS وأضف العقدة باسم المضيف/IP أو اكتشفها تلقائيًا.
إنهاء
احفظ ملخص الدعم وتحقق من الخدمات واخرج من التهيئة الأولية.
الحد الأدنى لـCLI للحالة ودورة الحياة
kairos
kairos status
kairos status --json
kairos update
kairos uninstallتقرأ عمليات الحالة البيانات فقط. يغيّر التحديث وإلغاء التثبيت النظام، ويتطلبان قرارًا مستقلًا من المشغّل وإعدادات محفوظة وخطة استعادة. لا تشغّل أوامر دورة الحياة أثناء إعداد رحلة أو تنفيذها.
افصل بين المشرف وMAVLink والكاميرا
journalctl -u kairos-supervisor -n 50 --no-pager
ss -tlnp | grep 8080ls -la /dev/ttyUSB* /dev/ttyAMA* /dev/ttyACM* 2>/dev/null
journalctl -u kairos-mavlink -n 50 --no-pagerls -la /dev/video*
v4l2-ctl --list-devices- إذا لم يكن :8080 يستمع، فتحقق أولًا من حالة المشرف والخدمات، لا ذاكرة المتصفح المؤقتة.
- إذا غاب الجهاز التسلسلي، فتحقق من الكابل وطاقة FC وتعداد USB والصلاحيات.
- إذا لم تظهر heartbeat، فقارن معدل الباود وإعدادات منفذ القياس عن بُعد في FC.
- إذا وُجد /dev/video* لكن التدفق لا يبدأ، فتحقق من التنسيقات وما إذا كانت عملية أخرى تشغل الجهاز.
- لا تنشر سجل journal يحوي مفاتيح API أو بيانات اعتماد Wi‑Fi أو حالة الاقتران.
