目录
目录README.md

UbiWare: 智能原生的泛在中间件

项目简介

本项目是一个智能原生的中间件系统,实现设备自主发现、设备间无缝通信、上下文感知的任务协同,减少通信延迟,降低多设备协同开发门槛。为了展示 UbiWare 的各项能力,本项目基于该中间件开发了面向火灾场景的智能感知与协同的示例应用。

项目架构

整体结构

├── app                 # 展示应用:智能火场指挥系统
│   ├── android         # Android 手机端应用 (Capacitor)
│   ├── backend         # 指挥中心后端 (Python + FastAPI)
│   ├── config
│   ├── device          # LicheeRV nano 端嵌入式设备
│   └── frontend        # 指挥中心前端 (Vue.js + TypeScript)
├── docs
└── middleware          # 中间件实现
    ├── core            # 核心功能实现
    ├── sdk             # 调用中间件接口
    └── utils

技术栈与主要功能

模块 技术栈 主要功能
指挥中心前端 Vue.js + TypeScript + Vite + Echarts 地图显示、场景编排、实时监控
指挥中心后端 Python + Flask + SQLite + OpenAI SDK 设备注册、数据处理、任务协同
LicheeRV nano 端嵌入式设备 Python + 传感器驱动 环境数据采集
Android 手机端应用 Capacitor + Leaflet 移动端界面、语音识别、实时定位
共享模块 Python 配置管理、工具函数

快速开始

1. 指挥中心后端

需安装 uv (Python 包管理器)

安装依赖

cd app/backend
uv sync

部署运行

需设置环境变量 LLM_API_KEY 以访问在线 LLM 服务。默认使用 doubao-lite-32k,可在 shared/config.py 中进行更改.

# Linux/macOS
cd app/backend && ./run.sh

可选参数

  • --server-id: 服务器ID (可选),需手动修改 run.sh
  • --keep-old-data: 是否保留上一次运行的历史数据 (默认false) ,需手动修改 run.sh

2. LicheeRV nano 端嵌入式设备

运行于 LicheeRV nano 开发板上,需连接 M702 七合一传感器,并通过 A18 进行数据传输。

需安装 python >= 3.11,无额外依赖。

运行客户端

cd app/device && ./run.sh

可选参数

  • client_id: 标记自身 ID (与手机相匹配),通过环境变量 CLINET_ID 进行传输。

3. 指挥中心前端

快速测试

cd app/frontend
npm install
npm run dev

部署运行

# 配置后端API地址
# 编辑 .env.production 文件
VITE_API_BASE_URL=http://your_server_ip:your_server_port/api

# 构建
npm run build

# 部署
npm install -g serve
serve -s dist

4. Android 手机端应用

直接下载FIREye.apk安装包即可运行,也可以通过USB调试功能连接手机直接进行调试。

构建APK

cd android

# 确保开启手机开发者模式以及USB调试功能,adb能够检测到设备
adb devices 

# 运行
npx cap run android
关于
1.0 GB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号