目标流程从本地演示模式开始:在合成数据上学习 Dashboard、Plan、Configure、Flight Control 和 Simulate。只有组件发布并确认安全上下文、串口流程和安全条件后,才连接真实飞控。
本页内容 +
开发环境与浏览器
- Node.js 20 或更新版本。
- npm 9 或更新版本。
- 仓库公开后使用 Git 克隆和更新源代码。
- 普通 UI 可使用 Chrome、Edge 或 Firefox;WebSerial/WebUSB 需要 Chromium 浏览器。
- 后续连接真实飞控时,需要具备数据线芯的 USB 线。
node --version
npm --version
git --version不连接飞控的安全演示链路
演示模式用于在不连接真实飞行器的情况下安全了解界面。它使用模拟遥测,不将测试台架冒充为实际飞行链路。
本地演示模式
# Отдельный репозиторий #bezpiLOTa Mission Control ещё не опубликован
# После выпуска ожидаемый поток будет таким:
npm install
NEXT_PUBLIC_DEMO_MODE=true npm run dev规划界面应在 http://localhost:4000 打开。设置 NEXT_PUBLIC_DEMO_MODE=true 时,无需外部数据库、SITL 或实体硬件。此处规定启动契约,并不宣称当前 KairOS Drone Agent 仓库已具备该命令。
五个主要工作界面
仪表板
姿态、GPS/高度、电池、飞行模式、连接路径和系统警报。
规划
航点、七个生成器、高度/速度/相机触发、地理围栏、集结点、QGC WPL/KML/CSV。
配置
失控保护、PID、电源、OSD、端口、传感器、云台和固件专用面板。
飞行控制
解锁/锁定、25 种以上 ArduPilot 模式、50 Hz 游戏手柄/HOTAS、键盘和引导航点。
仿真
3D 任务路径、地形跟随、相机标记、时间和高度剖面。
通过 localhost 使用 WebSerial
npm run dev打开 localhost
在 Chromium 浏览器中访问 http://localhost:4000。
连接飞控
使用 USB 数据线,点击 Connect,并在浏览器提示中选择串口。
打开串口
浏览器获取用户操作授权并打开端口。
心跳
Mission Control 等待飞控心跳并识别自动驾驶仪/飞行器。
能力
请求 AUTOPILOT_VERSION 和协议能力。
数据流与参数
请求遥测数据流并下载参数;握手设计参考时间为 2–5 秒。
WebSerial 仅在安全上下文运行
WebSerial、WebUSB 和 Web Bluetooth 要求 HTTPS,或对 localhost 的特殊信任。因此 http://localhost:4000 可用,而从另一设备访问 http://<lan-ip>:4000 无法使用这些 API。另一设备上的硬件访问需要 HTTPS 或桌面/Electron 构建。
通过普通 WebSocket 和 REST 连接 Drone Agent 不使用 WebSerial 权限,但仍受浏览器混合内容规则影响:HTTPS 页面可能阻止明文 HTTP/WS 代理。完全本地的明文 HTTP 模式要求 GCS 和代理处于相容上下文。
本地服务器与代理位于同一网络
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无需真实飞行器的物理与协议验证
cd KairOS_Drone-Agent/tools/sitl
npm install
npm startArduPilot SITL 须单独安装;二进制文件通常位于 ~/.ardupilot/。桥接连接仿真遥测与浏览器传输。这比直接在飞行器上进行首次协议实验更安全,但仍须检查版本、参数和任务行为。
Electron 提供硬件 API 和独立软件包
npm run desktop:dev
npm run desktop:demo
npm run desktop:build:mac
npm run desktop:build规划参考需求为约 200 MB 磁盘和 200–300 MB RAM。实际需求取决于平台/运行时版本,将与 Mission Control 构建一同公布。
模式与外部基础设施变量
| 变量 | 默认值 | 用途 |
|---|---|---|
| NEXT_PUBLIC_DEMO_MODE | false | 七架模拟无人机替代真实数据源 |
| PORT | 4000 | 开发服务器端口 |
| NEXT_PUBLIC_CONVEX_URL | none | 可选 Convex 后端 |
| NEXT_PUBLIC_MQTT_URL | none | 可选 MQTT 代理 |
本地/直连模式无需云端变量。缺少 Convex 或 MQTT 不应阻止 USB 直连、本地代理发现或离线任务规划。
独立 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
