2022-09-25 12:48:25 +08:00
|
|
|
|
# **GeekTrack**
|
2022-09-03 21:45:40 +08:00
|
|
|
|
|
2022-09-25 12:48:25 +08:00
|
|
|
|
## 一、功能描述:
|
2022-09-09 12:45:40 +08:00
|
|
|
|
|
2022-09-25 12:48:25 +08:00
|
|
|
|
一个无线姿态追踪模块,可以追踪姿态。可以用于全身动作捕捉也可以用于人体步态追踪, GeekTrack实际是GeekMotion阉割屏幕减少尺寸的版本,目的是为了方便固定在身体上,用于姿态追踪
|
2022-09-03 21:45:40 +08:00
|
|
|
|
|
|
|
|
|
- WIFI通信功能
|
2022-09-25 12:48:25 +08:00
|
|
|
|
- IMU、MAG传感器、气压传感器、温度传感器
|
2022-09-03 21:45:40 +08:00
|
|
|
|
- LettleShell命令行模块,可以采用命令行和ESP32交互。
|
|
|
|
|
- 计步器
|
|
|
|
|
- 运动识别(待实现)
|
|
|
|
|
- 电梯识别(待实现)
|
|
|
|
|
- SD卡存储
|
|
|
|
|
|
2022-09-24 12:07:56 +08:00
|
|
|
|
<img src="./6.Image/Board.jpg" alt=".\6.I" style="zoom: 50%;" />
|
2022-09-03 21:45:40 +08:00
|
|
|
|
|
2022-09-24 12:07:56 +08:00
|
|
|
|
<img src="./6.Image/Board_Real.jpg" alt=".\6.I" style="zoom: 50%;" />
|
2022-09-18 18:55:06 +08:00
|
|
|
|
|
2022-09-03 21:45:40 +08:00
|
|
|
|
命令行支持(移植letter shell):
|
|
|
|
|
|
2022-09-24 12:07:56 +08:00
|
|
|
|
<img src="./6.Image/GeekMotion-Shell.png" alt=".\6.I" style="zoom: 50%;" />
|
2022-09-03 21:45:40 +08:00
|
|
|
|
|
|
|
|
|
支持:
|
|
|
|
|
|
|
|
|
|
- 命令行自动补全
|
|
|
|
|
- 历史命令行记忆
|
|
|
|
|
- ...
|
|
|
|
|
|
2022-09-25 12:48:25 +08:00
|
|
|
|
注意:命令行被log覆盖的时候按下回车即可。
|
|
|
|
|
|
|
|
|
|
## 二、使用方法
|
|
|
|
|
|
|
|
|
|
WIFI的配置(通过命令行):
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
# 命令行设置WIFI账号和密码
|
|
|
|
|
set_wifi_cfg "your wifi ssid" "your wifi password"
|
|
|
|
|
# 设置完成后重启生效
|
|
|
|
|
reboot
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
配置设备索引:可以用数字表示设备的索引,数字可以为0~65536
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
set_dev_idx "device_type_num"
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
设备传感器信息的发送,默认UDP端口9000:
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
# dev_Index yaw roll pitch
|
|
|
|
|
0 -75.127640 5.829678 -67.846695
|
|
|
|
|
0 -75.029457 5.810158 -67.830681
|
|
|
|
|
0 -74.926865 5.784514 -67.806129
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 三、更新日志
|
|
|
|
|
|
|
|
|
|
**2022-09-03 :** 上传第一版原理图和PCB图
|
|
|
|
|
|
|
|
|
|
**2022-09-19 :** 第一版固件调试通过
|
|
|
|
|
|
|
|
|
|
**2022-09-24 :**
|
2022-09-03 21:45:40 +08:00
|
|
|
|
|
2022-09-25 12:48:25 +08:00
|
|
|
|
1. 优化app_main, 精简总行数 < 40
|
|
|
|
|
2. 调整结构,迁移网络部分到HAL_Network.cpp
|
|
|
|
|
3. 删除GeekTrack无用的关于lvgl部分
|
|
|
|
|
4. 删除无用的lvgl仿真器
|
|
|
|
|
5. 增加NVS存储获取设备索引信息(Idx,可以描述设备0~n)
|
|
|
|
|
6. UDP发送增加Idx识别信息
|
|
|
|
|
7. 增加NVS设置Idx
|
2022-09-03 21:45:40 +08:00
|
|
|
|
|
2022-09-25 12:48:25 +08:00
|
|
|
|
**2022-09-25:** 增加NVS设置WIFI ssid和WIFI 密码功能
|
2022-09-09 12:45:40 +08:00
|
|
|
|
|
2022-09-25 12:48:25 +08:00
|
|
|
|
## 四、编译说明
|
2022-09-09 12:45:40 +08:00
|
|
|
|
|
2022-09-03 21:45:40 +08:00
|
|
|
|
**lettleShell移植支持说明:** 需要适配esp32的ld文件。
|
|
|
|
|
|
|
|
|
|
样例:
|
|
|
|
|
C:\Users\Administrator\esp\esp-idf\components\esp32\ld\
|
|
|
|
|
在这个文件夹里面,把原来的esp32.project.ld.in替换当前目前的id文件,用于支持命令行,替换前记得备份
|
|
|
|
|
|
|
|
|
|
```c++
|
|
|
|
|
/* 核心原理是找到这个.flash.appdesc, 然后加入_shell_command_start和*_shell_command_end/
|
|
|
|
|
.flash.appdesc : ALIGN(0x10)
|
|
|
|
|
{
|
|
|
|
|
_rodata_start = ABSOLUTE(.);
|
|
|
|
|
|
|
|
|
|
*(.rodata_desc .rodata_desc.*) /* Should be the first. App version info. DO NOT PUT ANYTHING BEFORE IT! */
|
|
|
|
|
*(.rodata_custom_desc .rodata_custom_desc.*) /* Should be the second. Custom app version info. DO NOT PUT ANYTHING BEFORE IT! */
|
|
|
|
|
|
|
|
|
|
_shell_command_start = ABSOLUTE(.);
|
|
|
|
|
KEEP (*(shellCommand))
|
|
|
|
|
_shell_command_end = ABSOLUTE(.);
|
|
|
|
|
|
|
|
|
|
/* Create an empty gap within this section. Thanks to this, the end of this
|
|
|
|
|
* section will match .flah.rodata's begin address. Thus, both sections
|
|
|
|
|
* will be merged when creating the final bin image. */
|
|
|
|
|
. = ALIGN(ALIGNOF(.flash.rodata));
|
|
|
|
|
} >default_rodata_seg
|
|
|
|
|
```
|
|
|
|
|
|