يُصمَّم KairOS Drone Agent بوصفه طبقة حوسبة مرافقة مفتوحة على متن المركبة لـ#bezpiLOTa: يربط وحدة التحكم بالطيران والفيديو وAPI المحلية والاتصال والقياس السحابي عن بُعد والذكاء الاصطناعي على المركبة والتوسعات على حاسوب Linux أحادي اللوحة.
البنية المستهدفة موصوفة بالكامل؛ وتُثبت جاهزية كل وظيفة من وظائف KairOS بصورة مستقلة.
مستودع KairOS ↗في هذه الصفحة +
كل ما يقع فوق منظومة التثبيت
تظل وحدة التحكم بالطيران مسؤولة عن المحركات والتثبيت وGPS والمستشعرات الأساسية. يضيف KairOS Drone Agent طبقة حوسبة بجانبها: يوجّه MAVLink ويجمع القياس عن بُعد ويعالج الفيديو ويخدم الواجهات المحلية ويربط الاتصال اللاسلكي والشبكة ويشغّل التوسعات ويتيح للتطبيقات منظومة برمجية موحدة.
هذه بنية أفقية وليست منظومة رأسية مغلقة. يجب أن يتدرج الوكيل الواحد من Raspberry Pi منخفضة القدرة، حيث لا يلزم سوى القياس عن بُعد والاتصال، إلى Jetson Orin التي تتيح نماذج الرؤية وأحمال العمل المستقلة. تتيح حدود الخدمات وAPI المتطابقة تغيير اللوحة دون إعادة كتابة المستوى الأعلى.
منصة واحدة
تُطوَّر التوسعة أو عملية التكامل مرة واحدة وتُنشر على ملفات KairOS المتوافقة.
المحلي أولًا
لا تتطلب MAVLink والفيديو وREST والإعداد المحلي حسابًا سحابيًا إلزاميًا.
مصمم للأساطيل
تُضاف منظومة MQTT/WebRTC السحابية بوصفها مسارًا ثانيًا للمراقبة والأوامر عن بُعد.
توسعات آمنة
تقلل الحزم الموقعة والعمليات المستقلة وصلاحيات القدرات نطاق الإخفاق.
مسار تثبيت واحد على الحاسوب المرافق
يعمل مسار التثبيت المستهدف عبر SSH على Raspberry Pi OS أو Ubuntu أو Armbian أو Debian. ينبغي للمثبّت المستقبلي تحديد اللوحة وتثبيت الاعتماديات وإنشاء مستخدم النظام والأدلة وكتابة الإعدادات وتسجيل خدمات systemd وتشغيل الوكيل. لن يصبح الأمر جزءًا من المنتج إلا بعد نشر مثبّت KairOS الخاص والتحقق منه.
git clone https://github.com/1kairosgo/KairOS_Drone-Agent.git
cd KairOS_Drone-Agent
# Следуйте README выбранной версииسبعة حدود بين Linux والمشغّل
| الطبقة | المسؤولية | الحد المستقر |
|---|---|---|
| L7 | Mission Control أو لوحة متابعة أو تطبيق | WebSocket, MQTT, REST, WebRTC |
| L6 | واجهة التحكم | القياس عن بُعد والمعلمات والمهمات والأوامر |
| L5 | التوسعات | حزم .kairosplug موقعة، وعزل، واتصال IPC بصلاحيات قدرات |
| L4 | نقل بيانات الطيران | موجّه MAVLink، ومسار الفيديو، وMQTT، وWi‑Fi، والاتصال اللاسلكي |
| L3 | تجريد الأجهزة | اكتشاف اللوحة، وGPIO، وI²C/SPI، والكاميرات، والمودمات |
| L2 | الثقة ودورة الحياة | TLS، ومثبّتات موقعة، وOTA، والتسجيل |
| L1 | التنسيق | systemd، ومراقبة الصحة، وترتيب الاعتماديات |
| L0 | نظام التشغيل | Linux على ARM64 أو بنية متوافقة |
الغرض من الطبقات هو حصر نطاق التغيير. يجب ألا تفتح إضافة في المستوى L5 منفذ UART لوحدة التحكم بالطيران مباشرة وتتجاوز L4؛ وألا تتحكم لوحة ويب في المستوى L7 في systemd دون API موثّقة في المستوى L6. يجعل هذا الفصل السلوك قابلًا للمراقبة ويتيح استبدال الخدمات بصورة مستقلة.
خدمات طويلة التشغيل بلغة Rust، ومنظومة بلغة Python
Rust / المسار الحرج
المشرف وموجّه MAVLink ومسار الفيديو وحزمة الاتصال اللاسلكي وواجهة التحكم HTTP. تتطلب تدفقات بيانات الطيران أمان الذاكرة وقابلية التنبؤ واستهلاكًا محدودًا للموارد.
Python / المنظومة
استدلال الذكاء الاصطناعي والرؤية وتهيئة الأجهزة وبيئة تشغيل الإضافات والتكامل مع المكتبات التي تتطور بالفعل ضمن منظومة Python.
تُشغَّل الخدمات بصورة مستقلة ويشرف عليها systemd. يجب ألا يؤدي خطأ في وحدة رؤية أو توسعة إلى إيقاف موجّه MAVLink. تجمع طبقة الصحة الحالة وتتيحها للطرفية وتطبيق الإعداد وMission Control عبر كائن حالة واحد.
ما الذي يغطيه الوكيل
وصلة الطيران
تُوزَّع قناة serial أو USB واحدة لوحدة FC بين WebSocket وTCP وUDP والخدمات المحلية والمرحّل السحابي؛ ويمر توقيع MAVLink v2 بصورة شفافة.
الفيديو
اكتشاف كاميرات CSI وUSB UVC وIP، والترميز العتادي عند توفره، وOSD، وWHEP/WebRTC، ومنظومة WFB-ng.
الأسطول
القياس عن بُعد عبر MQTT وطبقة حالة HTTP والاقتران وإشارات WebRTC للمسار الثاني البعيد.
الاستقلالية
ينشر الاستدلال على متن المركبة نتائج الكشف في ناقل مشترك للإضافات وحامل الكاميرا والوظائف المستقلة المستقبلية.
التوسعات
تعمل الحزم الموقعة في بيئة معزولة لعملية فرعية ولا تتلقى إلا صلاحيات القدرات التي منحها المشغّل.
التشغيل
التعرف التلقائي على اللوحة والإعداد المحلي وحالة للقراءة فقط والصحة وملخص الدعم والتحديث المُدار.
ملفات تعريف اللوحات المستهدفة
يجب أن يحدد KairOS طراز اللوحة عند الإقلاع ويفعّل فقط الوظائف التي يدعمها النظام على الشريحة والتوصيلات المعنية. فيما يلي الملفات المستهدفة؛ سيحصل كل منها على حالة مستقلة بعد بناء قابل للتكرار واختبار على أجهزة فعلية.
| العائلة | الملفات |
|---|---|
| Raspberry Pi | Pi 3, Pi 4B, Pi 5, CM3, CM4, CM5 |
| Radxa | CM3, CM4, Cubie A7Z, Rock 5C Lite |
| Orange Pi | Orange Pi 5 |
| Rockchip | RK3566, RK3576, RV1126B armv7l |
| NVIDIA | Jetson Nano, Jetson Orin Nano |
| الخيار الاحتياطي | ARM64 عام |
من القياس عن بُعد إلى تنسيق المجموعة
المستوى 1 — الاتصال
MAVLink والقياس عن بُعد عبر 4G أو Wi‑Fi أو الشبكة المحلية.
المستوى 2 — الحوسبة على متن المركبة
الفيديو والتوسعات وأحمال عمل الرؤية على الحاسوب المرافق.
المستوى 3 — التكامل الكامل
أجهزة ومستشعرات إضافية للوظائف المستقلة؛ وتتطلب تحققًا خاصًا في KairOS.
المستوى 4 — الشبكات المتداخلة والأسراب
تنسيق المجموعة والمنطق الموزع. يظل هذا المستوى في KairOS مجالًا بحثيًا، ولا يُعلن عنه بوصفه وظيفة جاهزة.
