लक्षित प्रक्रिया local demo mode से शुरू होती है: Dashboard, Plan, Configure, Flight Control और Simulate synthetic data से सीखे जाते हैं। वास्तविक FC component publication और secure context, serial flow तथा safety conditions की जाँच के बाद ही जोड़ा जाता है।
#bezpiLOTa Mission Control ecosystem का अलग component है, KairOS Drone Agent का हिस्सा नहीं; executable repository अभी प्रकाशित नहीं हुई है।
KairOS repository ↗इस पृष्ठ पर +
Development environment और ब्राउज़र
- Node.js 20 या नया।
- npm 9 या नया।
- Repository publication के बाद source code clone और update करने के लिए Git।
- सामान्य UI के लिए Chrome, Edge या Firefox; WebSerial/WebUSB के लिए Chromium browser चाहिए।
- बाद में वास्तविक FC जोड़ने के लिए data lines वाला USB cable।
node --version
npm --version
git --versionFC के बिना सुरक्षित demo प्रणाली
Demo mode वास्तविक वाहन जोड़े बिना interface सीखने के लिए बनाया जा रहा है। यह simulated telemetry उपयोग करता है और test bench को सक्रिय flight system नहीं बताता।
स्थानीय demo mode
# Отдельный репозиторий #bezpiLOTa Mission Control ещё не опубликован
# После выпуска ожидаемый поток будет таким:
npm install
NEXT_PUBLIC_DEMO_MODE=true npm run devनियोजित interface http://localhost:4000 पर खुलेगा। NEXT_PUBLIC_DEMO_MODE=true होने पर external database, SITL और physical hardware आवश्यक नहीं हैं। यह block launch contract निर्धारित करता है, मौजूदा KairOS Drone Agent repository में command होने का दावा नहीं करता।
पाँच मुख्य workspaces
डैशबोर्ड
Attitude, GPS/altitude, battery, flight mode, connection path और system alerts।
योजना
Waypoints, सात generators, altitude/speed/camera trigger, geofences, rally, QGC WPL/KML/CSV।
सेटअप करें
Failsafe, PID, power, OSD, ports, sensors, gimbal और firmware-specific panels।
Flight control
Arm/disarm, 25+ ArduPilot modes, 50 Hz gamepad/HOTAS, keyboard और guided waypoint।
Simulation चलाएँ
3D mission path, terrain following, camera markers, timing और altitude profile।
Localhost पर WebSerial flow
npm run devLocalhost खोलें
Chromium browser में http://localhost:4000 खोलें।
FC जोड़ें
Data USB cable उपयोग करें, Connect दबाएँ और browser prompt में serial port चुनें।
Serial port खोलना
ब्राउज़र user gesture permission प्राप्त करके port खोलता है।
Heartbeat
Mission Control FC heartbeat की प्रतीक्षा करके autopilot/vehicle पहचानता है।
क्षमताएँ
AUTOPILOT_VERSION और protocol capabilities माँगता है।
Streams + params
Telemetry streams माँगता है और parameters डाउनलोड करता है; handshake का design target 2–5 seconds है।
WebSerial केवल secure context में काम करता है
WebSerial, WebUSB और Web Bluetooth को HTTPS या localhost पर विशेष trust चाहिए। इसलिए http://localhost:4000 अनुमत है, लेकिन दूसरे device से http://<lan-ip>:4000 को ये APIs नहीं मिलतीं। दूसरे device पर hardware access के लिए HTTPS या desktop/Electron build चाहिए।
सामान्य WebSocket और REST द्वारा Drone Agent connection WebSerial permission उपयोग नहीं करता, लेकिन browser mixed-content rules फिर भी महत्वपूर्ण हैं: HTTPS page plain HTTP/WS Agent को block कर सकता है। पूर्ण local plain-HTTP mode के लिए GCS और Agent संगत context में उपलब्ध होने चाहिए।
एक network पर local server और Agent
npm run dev
# GCS on this machine
http://localhost:4000
# GCS from another LAN client
http://<your-lan-ip>:4000
# Example KairOS Agent address
http://kairos.local:8080
http://192.168.1.50:8080वास्तविक वाहन के बिना physics और protocol
cd KairOS_Drone-Agent/tools/sitl
npm install
npm startArduPilot SITL अलग install करना होगा; binary सामान्यतः ~/.ardupilot/ में होती है। Bridge simulator telemetry को browser transport से जोड़ता है। यह वाहन पर पहला protocol experiment करने से सुरक्षित है, फिर भी versions, parameters और mission behavior की जाँच आवश्यक है।
Hardware APIs और standalone package के लिए Electron
npm run desktop:dev
npm run desktop:demo
npm run desktop:build:mac
npm run desktop:buildPlanning में लगभग 200 MB disk और 200–300 MB RAM का अनुमान है। वास्तविक आवश्यकताएँ platform/runtime version पर निर्भर करेंगी और Mission Control build के साथ प्रकाशित होंगी।
Mode और external infrastructure variables
| Variable | डिफ़ॉल्ट | उद्देश्य |
|---|---|---|
| NEXT_PUBLIC_DEMO_MODE | false | वास्तविक sources के बजाय सात simulated drones |
| PORT | 4000 | Development server का port |
| NEXT_PUBLIC_CONVEX_URL | none | वैकल्पिक Convex backend |
| NEXT_PUBLIC_MQTT_URL | none | वैकल्पिक MQTT broker |
Local/direct mode को cloud variables नहीं चाहिए। Convex या MQTT की अनुपस्थिति direct USB, local Agent discovery या offline mission planning रोकनी नहीं चाहिए।
अलग GCS की लक्षित संरचना
KairOS_Drone-Agent/
├── agent/ onboard runtime
├── api/ local control surface
├── protocols/ MAVLink and MSP adapters
├── media/ video transports
├── extensions/ sandbox runtime and SDK
├── tools/sitl/ simulator bridge
├── deploy/systemd/ Linux services
├── docs/ project documentation
└── tests/ contracts and hardware profiles
