xmove studio ,是xmove架構的pc桌面整合平台,是xmove的管理系統和應用中心。它的開發基于我開發的xfrmwork桌面軟體架構,采用插件結構,共享基類庫。它具備以下特點:
與節點通信,控制,采集,重制資料的能力。
可擴充的應用平台,已開發了基于unity3d的虛拟實境系統,空中滑鼠和資料分析器等。并提供api向第三方開放
可增删節點通信方法,包括藍牙,wifi,序列槽和usb等
作為xmove 4.0最重要的變化之一,xmove studio的的引入使得管理所有節點的功能上移到pc端。清晰的結構劃分使得整個xmove架構變得更加靈活,例如,添加新功能僅需要添加pc更新包,所有節點程式不需要變動,管理軟體可自動配置節點參數,實作資料流控制,進而實作新功能。

拜于xfrmwork所賜,系統采用插件結構的子產品設計方法。除了xfrmwork提供的底層服務,如調試和界面顯示功能以外,xmove studio有清晰的子產品劃分。我們可以将其分為三個組成部分。通信管理器,節點管理器和應用程式管理器。 通信管理器負責将節點采集的傳感器資料(或是存儲器,網絡甚至模拟産生的資料)傳遞給節點管理器。節點管理器的節點組擷取資料後,會以事件的方式通知注冊到相關節點的應用程式,各應用即可進而完成相關功能。我們可以将三個部分分别看成資料源,資料池,和使用資料的應用。
下圖(來源于系統運作截圖),展現了資料流向,和不同節點,通信方式以及應用的聯系關系。您可以從該圖中完整的看到每個通信信道開啟的時間和流量,不同節點收到的資料量和信号強度,以及各應用挂載節點的情況。
節點管理器是聯系通信管理器和應用管理器的中心紐帶,為了友善讀者更好的了解系統,我們先介紹節點管理器。
xmove的節點部署方案如下圖,15個節點部署于人體各處,手機和接收節點是可選節點。共17個節點構成節點組。每個節點組對應一個實際使用者。系統可以支援多個使用者,但此處的節點可以動态的與實際硬體節點實作綁定。您可以随時改變映射關系,這意味着,在使用者0上的節點資料,可以映射到使用者1身上的硬體節點。不同的節點組通過節點組編号區分,可以在運作時添加或删除使用者。但注意,任何情況都必須至少保留一個節點組執行個體。
當您将滑鼠放置在虛拟節點圖示上時,圖示會放大,展現節點的類型和功能:
可以切換到清單視圖,系統會展示已經被激活的所有節點的特性,這些特性包括電池電量,信号強度,工作模式,組别和節點類型等。同時,系統還會提示該節點的硬體配置等。
通信管理器是資料輸入源,傳感器資料可以同時以多種方式傳遞給節點管理器。目前xmove可接受如下類型的通信方式:
通信名稱
最大傳輸速率
支援的節點類型
功能說明
atl标準序列槽
115200bps
所有節點
與節點通信的主要方式
标準藍牙
560kbps
安卓手機節點
安卓手機通信
虛拟藍牙序列槽
wince,塞班手機節點
提供可模拟為藍牙序列槽裝置的支援
模拟資料調試
——
可按算法要求模拟出虛拟資料,友善調試
usb高速傳輸
2mbps
4.0橋接結點
通過usb-hid與橋接結點通信
虛拟通信
與錄制時速度相同
可錄制真實節點的資料,可将其回放
虛拟網絡通信
100mbps
另一台pc終端
可将另一台pc采集的節點資料通過網絡發送到本pc
wifi區域網路
手機
與手機的wifi通信方式
3g網絡
實測最大600kbps
與手機的3g網絡通信方式
值得注意的是,xmove可完整支援kinect,其通信方法和應用在擴充應用元件裡,此處從略。會有專門的一篇文章介紹其功能。
使用時,您可以友善的将不同的通信方式,從左邊的清單拖動到右邊的清單當中,即可自動配置:
下面,我們以模拟資料通信為例,介紹其配置方法:
模拟資料調試是一個為調試應用提供友善的通信方法,它是虛拟的,内置了多種産生資料的算法,例如,産生映射的節點繞x軸旋轉的”虛拟資料“,但對應用程式來說這是透明的。 在左邊的下拉菜單可選擇不同通信端口(對模拟資料通信是不同産生資料的邏輯)。
下方是節點映射關系配置。所有的硬體傳感器都通過rawid區分,但您可以将這些硬體節點映射到相應的虛拟節點,配置其”節點組id“和對應的節點位置即可。清單每一項的右側,紅色的五星代表該節點未激活,綠色代表節點工作正常。同時給出該節點的節點類型。您可以通過右方的加減号添加或删除節點映射項。 這些映射關系在關閉程式時,系統會自動儲存,并在第二次開啟時恢複。
您可以開啟或關閉該端口,在配置界面的右上角可顯示目前通信方法的流量和開啟時長。
若您不想使用該通信方法,直接拖動該項到通信管理器外部,系統就會自動回收資源,關閉端口.
系統可以同時開啟多個通信信道,這些信道之間互不幹擾。系統允許兩個信道同時為一個節點傳輸資料,但在使用時通常不建議這麼做。
應用程式管理器是xmove studio的核心價值所在。xfrmwork的插件結構友善随時添加新的應用程式,您隻需要将元件包拷貝到應用程式相應的插件目錄檔案夾下,系統就會自動加載。
所有的應用程式都需要節點管理器提供的資料,xmove節點管理器通過事件方式通知應用程式,開放式的api可以為應用提供完整的服務。
應用程式管理器的使用和通信管理器非常類似。您可以拖動應用到右方的應用清單中,不同的應用程式可互不幹擾的執行。
我們以空中滑鼠為例,介紹其使用。空中滑鼠主要使用傳感器節點的陀螺儀,當您拖動空中滑鼠到右邊應用欄後,将出現下圖所示的配置界面。節點映射配置器可以友善您要映射的節點,右側五角星符号的顔色給出其是否被激活。考慮到不同的應用對節點的功能要求不一緻,例如,有些應用必須要求節點擁有hid鍵盤裝置,或必須包含gps定位功能等,此時節點映射必須滿足基本功能要求,否則不會映射成功。值得注意的是,下拉菜單的節點中,不滿足節點功能要求的已經被删除,已經激活的節點會優先排列。
您可以點選開始或關閉按鈕實作對該功能的配置。當點選開始時,資源會自動加載,同時會自動注冊節點事件。點選關閉時,管理器會以相反地順序進行。
xmove擴充了xfrmwork的基本功能,包含以下基本類庫:
其中interface庫是所有庫之間的公共接口庫,定義了不同庫的抽象結構和它們之間的互動邏輯。
xfrmwork.application 是應用無關的插件容器,是最終的應用啟動點。
1. 在使用時,您應該首先開啟xmove studio應用程式,系統會自動加載所需資源并完成初始化。
2. 開啟通信管理器,将接收器以您所希望的通信方式接入studio.
3. 此時開啟子節點,接收器應該可以接受所有子節點并在節點管理器中實時顯示。配置這些節點,使其映射到相應的虛拟節點組。
4. 确認所有節點已正常工作後,拖動您希望開啟的應用到應用程式清單,配置節點映射關系和其他配置,選擇開啟。
5. 應用程式啟動,完成應用後,應正常關閉應用和端口。若您選擇直接關閉主架構,studio會自動幫您回收資源。
本文介紹了xmove studio的基本結構,三大主要管理器:節點管理器,通信管理器和應用管理器的作用和使用方式,同時介紹了studio的基本使用步驟。
考慮到文集的其他部分對其使用做了詳細的說明,是以此處并不打算深入的介紹所有元件的使用方法,僅作為綜述性文章。