电脑端手机姿态演示功能实现

Nov 23,2017   775 words   3 min

Tags: Web

一、功能需求与描述

PC端运用相关技术构建出手机的三维模型,并实时展示手机当前姿态,用于演示等用途。 手机与PC通过WiFi网络连接。需要PC端有一个接收程序,手机端有一个发送程序。

二、技术分析

1.整体框架

任务需求可以简化为手机通过网络向电脑发送数据的过程。 手机端实时获取传感器数据并发送给电脑,电脑实时接收并解析数据,运用相关技术对数据进行可视化。

2.手机端

这里讨论基于Android系统的实现,语言为Java。通过调用系统传感器API,给应用注册传感器监听器,对手机方向传感器的数据进行实时获取。 同时当数据发生变化时将最新的数据通过网络发送出去。

3.电脑端

电脑端首先要对数据进行解析,从而获得数据。基于C++,采用OpenGL实现数据可视化,进行实时三维展示。

4.数据传输

采用Socket方式进行数据的发送与接收。手机端通过Socket向指定IP的端口不断发送数据,电脑端通过Socket不断接收数据,从而实现数据传输。

三、功能实现

代码及工程详见GitHub。https://github.com/zhaoxuhui/PhonePresentation

四、使用及功能展示

1.打开电脑端程序,指定用于接收数据的端口号,如这里输入2017。

2.打开手机客户端,输入本机对应的IP地址。必须保证和手机在同一局域网内(连接同一个WiFi),否则无法连接。 如在手机端输入的是10.129.174.242。

3.在手机端点击“连接”,进行数据连接。若连接成功,则会提示“accepted client…”,同时开始接收数据。

若需停止,在手机端点击“断开”即可。若需重新连接或更换IP,重新输入IP或端口号,再次点击“连接”即可。

下图展示了从连接到姿态获取的过程。

本文作者原创,未经许可不得转载,谢谢配合

返回顶部