提醒:本项目的服务端是手机端 APP(
server/RemoteSensorServer.cpp), 客户端是封装好的 C++ 库(include/RemoteSensor/+src/RemoteSensor/)。 以下示例全部是客户端库的使用方式:先在手机上启动服务端 APP,再在电脑上 编译运行这些示例即可拿到传感器数据。
这些示例已接入 CMake,构建整个项目时会一并生成(也可单独指定目标):
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build生成的程序位于 build/ 下:
| 可执行文件 | 演示内容 |
|---|---|
Example01DiscoveryConnect |
发现服务端 / 直连 / 查询设备信息与传感器列表 |
Example02CallbackMode |
回调模式读取多种传感器 |
Example03QueueMode |
队列模式(waitForEvents / readEvents / getLatestEvent) |
Example04ReadEverySensor |
遍历设备上所有受支持传感器并逐个读取 |
- 手机与电脑处于同一局域网;
- 手机上已启动服务端 APP(监听 TCP 45999 / UDP 45998);
- 若不想用自动发现,可在命令行直接传 IP(和端口):
./Example01DiscoveryConnect.exe 192.168.1.100 [45999]
- 01_discovery_connect.cpp —— 两种连接方式:自动发现、命令行直连;
演示
getDeviceInfo()、getSensorList()。 - 02_callback_mode.cpp —— 回调模式:
openSensor()+setEventCallback()start(),覆盖矢量/旋转矢量/单值/计步/心率等典型读取。
- 03_queue_mode.cpp —— 队列模式:
waitForEvents()(阻塞拉取)、readEvents()(非阻塞)、getLatestEvent()(取最近一帧)。 - 04_read_every_sensor.cpp —— 一次遍历设备上所有受支持传感器,按类型 正确打印 X/Y/Z、四元数 w、单值、累计步数、心率等数据(每种传感器一个独立函数)。