Skip to content

shiye515/osmo-control-flutter

Repository files navigation

osmo-control-flutter

一个用于控制 DJI Osmo 设备的跨平台移动应用,支持 iOS 和 Android。

🙏 如果这个项目对你有帮助,请考虑请作者喝杯咖啡,您的支持是我继续维护的动力...

打赏二维码

下载

功能特性

设备状态显示

  • 电量百分比
  • 存储容量
  • 当前分辨率
  • 增稳模式(RS/HS/RS+/HB)
  • 相机模式(视频/拍照/延时摄影等)

拍摄控制

  • 切换拍摄模式
  • 开始/结束录制
  • 拍照快门控制

GPS 数据推送

  • 推送位置信息到相机(经纬度、高度、速度分量)
  • 支持多种推送频率(2s/5s/10s)
  • 开启 GPS 推送后进行录制,可在 DJI Mimo App 内编辑视频时开启仪表盘显示

测试设备

设备类型 型号
iOS iPhone XS, iPhone 16 Pro Max
Android Moto X Style
相机 DJI Osmo Action 4

技术栈

  • Flutter - 跨平台移动应用框架
  • flutter_blue_plus - BLE 蓝牙通信
  • geolocator - GPS 位置服务
  • Provider - 状态管理
  • go_router - 路由导航

项目结构

apps/mobile/
├── lib/
│   ├── api/           # BLE 服务、协议编解码
│   ├── config/        # 常量、环境配置、主题
│   ├── models/        # 数据模型
│   ├── providers/     # Provider 状态管理
│   ├── routes/        # go_router 路由定义
│   ├── ui/            # 可复用 UI 组件
│   ├── utils/         # 工具函数
│   └── view/          # 页面视图
└── pubspec.yaml

开发

# 安装依赖
cd apps/mobile
flutter pub get

# 运行应用
flutter run

# 构建 APK
flutter build apk

# 构建 iOS
flutter build ios

致谢

  1. 本仓库的想法源自这个仓库欧思魔控 (osmoControl)
  2. 本应用使用 DJI R SDK 协议与 Osmo 设备通信,协议文档参考Osmo-GPS-Controller-Demo
  3. 感谢阿里云提供coding-plan,感谢claude-code提供agent,感谢智谱开源GLM-5

License

本作品采用 CC BY-NC-ND 4.0 协议授权。

允许:分享、个人学习使用 禁止:商业使用、修改后分发

About

一个用于控制 DJI Osmo 设备的跨平台移动应用,支持 iOS 和 Android。

Topics

Resources

License

Stars

Watchers

Forks

Contributors