• [XMOVE自主设计的体感方案] XMove Studio管理系统(一)——基于XFrmWork的PC端框架


    一 . XMove Studio简介

      XMove Studio ,是XMove框架的PC桌面整合平台,是XMove的管理系统和应用中心。它的开发基于我开发的XFrmWork桌面软件框架,采用插件结构,共享基类库。它具备以下特点:

    •   与节点通信,控制,采集,重现数据的能力。
    • 可扩展的应用平台,已开发了基于Unity3D的虚拟实境系统,空中鼠标和数据分析器等。并提供API向第三方开放
    • 可增删节点通信方法,包括蓝牙,WIFI,串口和USB等

      作为XMove 4.0最重要的变化之一,XMove Studio的的引入使得管理所有节点的功能上移到PC端。清晰的结构划分使得整个XMOVE框架变得更加灵活,例如,添加新功能仅需要添加PC更新包,所有节点程序不需要变动,管理软件可自动配置节点参数,实现数据流控制,从而实现新功能。

    二. 功能组件介绍

      拜于XFrmWork所赐,系统采用插件结构的模块设计方法。除了XFrmWork提供的底层服务,如调试和界面显示功能以外,XMove Studio有清晰的模块划分。我们可以将其分为三个组成部分。通信管理器,节点管理器和应用程序管理器。  通信管理器负责将节点采集的传感器数据(或是存储器,网络甚至模拟产生的数据)传递给节点管理器。节点管理器的节点组获取数据后,会以事件的方式通知注册到相关节点的应用程序,各应用即可从而完成相关功能。我们可以将三个部分分别看成数据源,数据池,和使用数据的应用。

      下图(来源于系统运行截图),展现了数据流向,和不同节点,通信方式以及应用的联系关系。您可以从该图中完整的看到每个通信信道开启的时间和流量,不同节点收到的数据量和信号强度,以及各应用挂载节点的情况。

       1. 节点管理器

         节点管理器是联系通信管理器和应用管理器的中心纽带,为了方便读者更好的了解系统,我们先介绍节点管理器。

         XMove的节点部署方案如下图,15个节点部署于人体各处,手机和接收节点是可选节点。共17个节点构成节点组。每个节点组对应一个实际用户。系统可以支持多个用户,但此处的节点可以动态的与实际硬件节点实现绑定。您可以随时改变映射关系,这意味着,在用户0上的节点数据,可以映射到用户1身上的硬件节点。不同的节点组通过节点组编号区分,可以在运行时添加或删除用户。但注意,任何情况都必须至少保留一个节点组实例。

      当您将鼠标放置在虚拟节点图标上时,图标会放大,展现节点的类型和功能:

       可以切换到列表视图,系统会展示已经被激活的所有节点的特性,这些特性包括电池电量,信号强度,工作模式,组别和节点类型等。同时,系统还会提示该节点的硬件配置等。

      

          2. 通信管理器

        通信管理器是数据输入源,传感器数据可以同时以多种方式传递给节点管理器。目前XMove可接受如下类型的通信方式:

    通信名称

    最大传输速率

    支持的节点类型

    功能说明

    ATL标准串口

    115200bps

    所有节点

    与节点通信的主要方式

    标准蓝牙

    560Kbps

    安卓手机节点

    安卓手机通信

    虚拟蓝牙串口

    115200bps

    Wince,塞班手机节点

    提供可模拟为蓝牙串口设备的支持

    模拟数据调试

    ——

    ——

    可按算法要求模拟出虚拟数据,方便调试

    USB高速传输

    2Mbps

    4.0桥接结点

    通过USB-HID与桥接结点通信

    虚拟通信

    与录制时速度相同

    ——

    可录制真实节点的数据,可将其回放

    虚拟网络通信

    100Mbps

    另一台PC终端

    可将另一台PC采集的节点数据通过网络发送到本PC

    WIFI局域网

    ——

    手机

    与手机的WIFI通信方式

    3G网络

    实测最大600KBPS

    手机

    与手机的3G网络通信方式

       值得注意的是,XMove可完整支持Kinect,其通信方法和应用在扩展应用组件里,此处从略。会有专门的一篇文章介绍其功能。

      使用时,您可以方便的将不同的通信方式,从左边的列表拖动到右边的列表当中,即可自动配置:

      下面,我们以模拟数据通信为例,介绍其配置方法:

      模拟数据调试是一个为调试应用提供方便的通信方法,它是虚拟的,内置了多种产生数据的算法,例如,产生映射的节点绕X轴旋转的”虚拟数据“,但对应用程序来说这是透明的。 在左边的下拉菜单可选择不同通信端口(对模拟数据通信是不同产生数据的逻辑)。

      下方是节点映射关系配置。所有的硬件传感器都通过RawID区分,但您可以将这些硬件节点映射到相应的虚拟节点,配置其”节点组ID“和对应的节点位置即可。列表每一项的右侧,红色的五星代表该节点未激活,绿色代表节点工作正常。同时给出该节点的节点类型。您可以通过右方的加减号添加或删除节点映射项。  这些映射关系在关闭程序时,系统会自动保存,并在第二次开启时恢复。

      您可以开启或关闭该端口,在配置界面的右上角可显示当前通信方法的流量和开启时长。  

      若您不想使用该通信方法,直接拖动该项到通信管理器外部,系统就会自动回收资源,关闭端口.  

      系统可以同时开启多个通信信道,这些信道之间互不干扰。系统允许两个信道同时为一个节点传输数据,但在使用时通常不建议这么做。

       3. 应用程序管理器

      应用程序管理器是XMove Studio的核心价值所在。XFrmWork的插件结构方便随时添加新的应用程序,您只需要将组件包拷贝到应用程序相应的插件目录文件夹下,系统就会自动加载。

      所有的应用程序都需要节点管理器提供的数据,XMove节点管理器通过事件方式通知应用程序,开放式的API可以为应用提供完整的服务。

      应用程序管理器的使用和通信管理器非常类似。您可以拖动应用到右方的应用列表中,不同的应用程序可互不干扰的执行。

      我们以空中鼠标为例,介绍其使用。空中鼠标主要使用传感器节点的陀螺仪,当您拖动空中鼠标到右边应用栏后,将出现下图所示的配置界面。节点映射配置器可以方便您要映射的节点,右侧五角星符号的颜色给出其是否被激活。考虑到不同的应用对节点的功能要求不一致,例如,有些应用必须要求节点拥有HID键盘设备,或必须包含GPS定位功能等,此时节点映射必须满足基本功能要求,否则不会映射成功。值得注意的是,下拉菜单的节点中,不满足节点功能要求的已经被删除,已经激活的节点会优先排列。

      您可以点击开始或关闭按钮实现对该功能的配置。当点击开始时,资源会自动加载,同时会自动注册节点事件。点击关闭时,管理器会以相反地顺序进行。

    三. 程序结构介绍

      XMove扩展了XFrmWork的基本功能,包含以下基本类库:

      

      其中Interface库是所有库之间的公共接口库,定义了不同库的抽象结构和它们之间的交互逻辑。

         XFrmWork.Application 是应用无关的插件容器,是最终的应用启动点。

    四. 具体使用和其他注意事项

      1. 在使用时,您应该首先开启XMove Studio应用程序,系统会自动加载所需资源并完成初始化。

      2. 开启通信管理器,将接收器以您所希望的通信方式接入Studio.

      3.  此时开启子节点,接收器应该可以接受所有子节点并在节点管理器中实时显示。配置这些节点,使其映射到相应的虚拟节点组。

      4. 确认所有节点已正常工作后,拖动您希望开启的应用到应用程序列表,配置节点映射关系和其他配置,选择开启。

        5. 应用程序启动,完成应用后,应正常关闭应用和端口。若您选择直接关闭主框架,Studio会自动帮您回收资源。

    五 . 总结

      本文介绍了XMove Studio的基本结构,三大主要管理器:节点管理器,通信管理器和应用管理器的作用和使用方式,同时介绍了Studio的基本使用步骤。

      考虑到文集的其他部分对其使用做了详细的说明,因此此处并不打算深入的介绍所有组件的使用方法,仅作为综述性文章。

          

  • 相关阅读:
    OK335x mksd.sh hacking
    Qt jsoncpp 对象拷贝、删除、函数调用 demo
    OK335xS 256M 512M nand flash make ubifs hacking
    Qt QScrollArea and layout in code
    JsonCpp Documentation
    Qt 4.8.5 jsoncpp lib
    Oracle数据库生成UUID
    freemarker得到数组的长度
    FreeMarker中if标签内的判断条件
    freemarker语法
  • 原文地址:https://www.cnblogs.com/buptzym/p/2588885.html
Copyright © 2020-2023  润新知