Backup.
This commit is contained in:
parent
df85a88d62
commit
3b7f7ba326
|
@ -14,6 +14,8 @@
|
||||||
|
|
||||||
## 1.2. 状态机设计
|
## 1.2. 状态机设计
|
||||||
|
|
||||||
|
### 1.2.1. 状态树设计图
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
stateDiagram-v2
|
stateDiagram-v2
|
||||||
[*] --> TopState
|
[*] --> TopState
|
||||||
|
@ -38,6 +40,9 @@ MissionState --> 4G管理
|
||||||
MissionState --> Upgrade
|
MissionState --> Upgrade
|
||||||
```
|
```
|
||||||
|
|
||||||
|
1. 任意状态处理命令时,不能阻塞,否则整个应用将会瘫痪无法响应任意的命令;
|
||||||
|
2. MissionState: 任务状态,在此状态下,由任务状态处理各种逻辑命令,根据逻辑命令定义,切换到相应的状态再处理数据,处理完数据会停留在当前状态,等待新的命令;
|
||||||
|
|
||||||
## 1.3. 任务状态获取启动
|
## 1.3. 任务状态获取启动
|
||||||
|
|
||||||
  应用程序运行后,首先需要知道主控是由于何种任务被唤醒,然后根据任务来执行相应的功能代码;
|
  应用程序运行后,首先需要知道主控是由于何种任务被唤醒,然后根据任务来执行相应的功能代码;
|
||||||
|
|
|
@ -1 +1,112 @@
|
||||||
# 手机APP对接
|
# 1. 打猎相机APP(WiFi单机版)设计文档
|
||||||
|
|
||||||
|
## 1.1. 概述
|
||||||
|
|
||||||
|
    打猎相机手机APP是用于查看相机的实时视频,回放保存在SD卡的MP4视频文件,以及对相机进行设置/管理。
|
||||||
|
|
||||||
|
**备注:** 本文基于六帧探APP现有功能,最小修改量实现APP的定制开发。
|
||||||
|
|
||||||
|
## 1.2. APP功能详解
|
||||||
|
|
||||||
|
### 1.2.1. 主页
|
||||||
|
|
||||||
|
  主页分三大块:相机管理,本地相册,更多(APP相关)。
|
||||||
|
|
||||||
|
#### 1.2.1.1. 相机管理
|
||||||
|
|
||||||
|
* 相机管理-添加设备
|
||||||
|
|
||||||
|
  手机连接设备的AP热点后,自动搜索设备,并添加到设备列表。可多次添加多个设备,设备列表中可对设备进行删除。
|
||||||
|
|
||||||
|
* 相机管理-连接设备
|
||||||
|
|
||||||
|
  APP只能连接当前WiFi设备,如果当前WiFi未发现设备,提示用户正确连接设备WiFi。连接设备后,跳转到设备管理页面。
|
||||||
|
|
||||||
|
#### 1.2.1.2. 本地相册
|
||||||
|
|
||||||
|
  本地相册可查找从相机下载到手机本地的文件(视频/图片)。“紧急”分类里面显示记录仪碰撞时的文件。
|
||||||
|
|
||||||
|
  在打猎机的产品形态中,“紧急”分类显示PIR触发时拍摄的图片/视频。
|
||||||
|
|
||||||
|
#### 1.2.1.3. 更多
|
||||||
|
|
||||||
|
  保持不变。
|
||||||
|
|
||||||
|
#### 1.2.1.4. 问题列表
|
||||||
|
|
||||||
|
1. 如果用户未对设备出厂设置进行修改,如何区分不同的设备?
|
||||||
|
2. 如果APP面对多个出厂设备(设备信息完全一样),如何快速判断连接的是哪个设备?
|
||||||
|
|
||||||
|
### 1.2.2. 相机连接页
|
||||||
|
|
||||||
|
  APP连接设备后,可手动开始/停止录像;可手动拍照。可跳转到相机文件/相机设置界面。
|
||||||
|
|
||||||
|
#### 1.2.2.1. 实时播放界面
|
||||||
|
|
||||||
|
* 实时播放rtsp视频流;
|
||||||
|
* 可手动开始/停止录像;
|
||||||
|
* 可手动拍照;
|
||||||
|
|
||||||
|
#### 1.2.2.2. 相机文件
|
||||||
|
|
||||||
|
  对设备的文件进行分类显示。可下载到手机本地/删除/编辑等操作。
|
||||||
|
|
||||||
|
##### 1.2.2.2.1. 文件分类
|
||||||
|
|
||||||
|
1. PIR触发图片/视频;
|
||||||
|
2. 手动抓拍图片/视频;
|
||||||
|
3. 定时抓拍图片/视频;
|
||||||
|
4. 全部文件;
|
||||||
|
|
||||||
|
**文件分类整改方案:**
|
||||||
|
|
||||||
|
  目前APP支持的四种协议类型显示:循环/拍照/紧急/停车。打猎相机的分类定义为全部/PIR/手动/定时,根据协议进行一一对应回复,全部-循环,PIR-紧急,手动-拍照,定时-停车,在不修改协议的情况下,只需要修改APP的显示文字即可实现APP定制开发。
|
||||||
|
|
||||||
|
##### 1.2.2.2.2. 相机设置
|
||||||
|
|
||||||
|
  对设备的参数进行读取/修改。目前基于记录仪产品的设置内容无法满足打猎机产品需求。
|
||||||
|
|
||||||
|
**记录仪当前参数列表:**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 取值说明 | 备注 |
|
||||||
|
| ---- | ---- | ---- | ---- |
|
||||||
|
| 记录仪WiFi名称 | ---- | ---- | ---- |
|
||||||
|
| 记录仪WiFi密码 | ---- | ---- | ---- |
|
||||||
|
| 固件版本 | ---- | ---- | ---- |
|
||||||
|
| 格式化存储卡 | ---- | ---- | ---- |
|
||||||
|
| 恢复出厂设置 | ---- | ---- | ---- |
|
||||||
|
|
||||||
|
**打猎机参数需求列表:**
|
||||||
|
|
||||||
|
| 参数名称 | 数据类型 | 取值说明 | 备注 |
|
||||||
|
| ---- | ---- | ---- | ---- |
|
||||||
|
| 记录仪WiFi名称 | ---- | ---- | ---- |
|
||||||
|
| 记录仪WiFi密码 | ---- | ---- | ---- |
|
||||||
|
| 固件版本 | ---- | ---- | 仅显示 |
|
||||||
|
| ---- | ---- | ---- | ---- |
|
||||||
|
| 工作模式 | 数字 | 0:图片<br>1:图片+视频 | ---- |
|
||||||
|
| 连拍|数字 | 1/2/3 | 单位:P |
|
||||||
|
| 连拍间隔 | 数字 | 0~60 | 单位:s |
|
||||||
|
| 图片大小 | 数字 | 8/16/24/32/40 | 单位:M |
|
||||||
|
| 视频长度 | 数字 | 10/15 | 单位:s |
|
||||||
|
| PIR延时 | 数字 | 0~60 | 单位:s |
|
||||||
|
| 工作时间 | 时间 | 起始的时间设置<br>例如:起点20:00至终点6:00 | ---- |
|
||||||
|
| 循环存储 | 数字 | 0:OFF<br>1:ON | ---- |
|
||||||
|
| 红外灯功率 | 数字 | 0/1/2 | 低/中/高 |
|
||||||
|
| PIR灵敏度 | 数字 | 0~9 | ---- |
|
||||||
|
| 恢复出厂 | ---- | ---- | 功能 |
|
||||||
|
| 格式化SD卡 | ---- | ---- | 功能 |
|
||||||
|
| 重启 | ---- | ---- | 功能 |
|
||||||
|
|
||||||
|
#### 1.2.2.3. 问题列表
|
||||||
|
|
||||||
|
1. 针对软件迭代需求,除了一些和APP业务逻辑相关的参数需要特殊处理外,是否可以通过协议来获取设备自定义的参数设置?方便设备可以随意的增加/删除设置参数。
|
||||||
|
2. 没发现升级功能。
|
||||||
|
|
||||||
|
## 1.3. APP定制整改总结
|
||||||
|
|
||||||
|
1. “记录仪”统一修改为“相机”;
|
||||||
|
2. 本地相册-“紧急”分类,改为“PIR”;
|
||||||
|
3. APP连接设备后,自动录像,改为默认不录像,可手动录像;
|
||||||
|
4. APP上的“循环”改成“全部”,“拍照”改成“手动”,“紧急”改成“PIR”,“停车”改成“定时”;
|
||||||
|
5. 相机设置需要实现设备自定义设置项功能;
|
|
@ -70,10 +70,12 @@ TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_Demo0)
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
|
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
|
||||||
IAppManager::GetInstance()->UnInit();
|
IAppManager::GetInstance()->UnInit();
|
||||||
}
|
}
|
||||||
// ../output_files/test/bin/AppManagerTest --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_Demo
|
// ../output_files/test/bin/AppManagerTest --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_Demo
|
||||||
TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_Demo)
|
TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_Demo)
|
||||||
{
|
{
|
||||||
|
std::shared_ptr<VAppMonitor> monitor = AppManagerTestTool::MakeMonitorMock();
|
||||||
IAppManager::GetInstance()->Init(mAppParam);
|
IAppManager::GetInstance()->Init(mAppParam);
|
||||||
|
IAppManager::GetInstance()->SetAppMonitor(monitor);
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||||
MockGetProductInfo();
|
MockGetProductInfo();
|
||||||
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user