TC软件详细设计文件

TC软件详细设计文件

作者:狼就是鲸鱼

时间:16-27-2021

一、整体框图

1、UI界面

主界面:顶部是LOGO、快捷键、设置,左侧是设备管理列表,中间是手机界面展示,右侧是日志信息(可隐藏)

 

设置弹出框:设置全局参数(具体选项待调整),并保存到配置文件

 

2、功能框图

 

二、业务流程图

1、主流程图

 

三、模块实现

1、adb模块

adb负责查询所有设备、开启设备触摸、开启反向控制、安装apk、发送并启动server建立tcp连接,后续的工作都交给tcp连接来完成。

需要用到adb的有主界面、设备模块、server模块、文件模块

2、群组列表模块

  

设备群组列表模块包含json解析处理模块、列表显示、设备列表管理(显示状态、增加、删除、连接、断开、分组、指定主控)。

 

3、鼠标键盘系统模块

当UI界面上有键盘按下、鼠标键按下或者鼠标键按下并移动的事件产生时,根据指针所在位置,通知当前位置下UI对应模块的处理函数。

接收键盘键值的界面区域只有主程序、UI上的文本输入框和手机界面显示区域。

接收鼠标事件的区域只有UI上的按钮、文本输入框和手机界面显示区域。

 

4、设备管理模块

 

设备管理模块:管理一组设备(一个主控设备,多个被控设备)、连接和断开单个设备、连接和断开当前组所有设备、更新群组键值映射配置、更新群组操作脚本、取消和绑定快捷键操作按钮、设置反向群控主机、映射所有群控从机、响应群控主机的手机操作并发送到其它从机

 

5、快捷键模块

快捷键模块:根据当前被选中的设备或设备组,向设备管理模块发送以下命令:设置为主控设备、下拉通知栏、显示触摸、息屏、关机、音量大、音量小、切换应用、菜单栏、返回、返回主界面、截屏。

 

6、设备模块

设备模块的功能:操作一台设备,响应键值操作,响应群控操作,响应发送文件、安装apk操作,adb连接手机,启动TCP传输视频流和消息。

设备模块使用了:键值事件、server模块、视频帧缓存、解码、文件操作、视频流处理、画面显示UI、控制器键值映射、配置。

server子模块:传输和启动设备server,设置反向控制

server子模块使用了:TCP Socket

解码子模块:使用ffmpeg库

videobuffer子模块:处理解码完之后的一帧图片

avframeconvert 子模块:将解码后的原始YUV格式的一帧图片转换成RGB格式,以便用于显示

控制器子模块:使用tcp连接,响应快捷键操作,进行剪切板操作,进行键值映射转换

设备画面UI模块:使用openGL显示、安装快捷键映射、响应键值。

 

四、参考资料

资源下载: