基于ESP32的无线姿态追踪器
 
 
 
 
 
 
Go to file
詹力 fdd142ff05 更新GeekTrack的Altium Designer版本 2023-03-30 23:23:30 +08:00
1.Hardware 更新GeekTrack的Altium Designer版本 2023-03-30 23:23:30 +08:00
2.Firmware 修正AHRS坐标系的问题 2022-09-28 00:43:51 +08:00
3.Docs 更新GeekTrack的Altium Designer版本 2023-03-30 23:23:30 +08:00
4.Software 更新相关文档 2022-09-28 12:58:08 +08:00
6.Image 增加命令行配置WIFI账号密码功能 2022-09-25 12:48:25 +08:00
.gitignore 完成GeekTrack第一版SDK和C#测试工程 2022-09-23 01:45:38 +08:00
README.md 增加命令行配置WIFI账号密码功能 2022-09-25 12:48:25 +08:00

README.md

GeekTrack

一、功能描述:

一个无线姿态追踪模块,可以追踪姿态。可以用于全身动作捕捉也可以用于人体步态追踪, GeekTrack实际是GeekMotion阉割屏幕减少尺寸的版本目的是为了方便固定在身体上用于姿态追踪

  • WIFI通信功能
  • IMU、MAG传感器、气压传感器、温度传感器
  • LettleShell命令行模块可以采用命令行和ESP32交互。
  • 计步器
  • 运动识别(待实现)
  • 电梯识别(待实现)
  • SD卡存储
.\6.I .\6.I

命令行支持(移植letter shell)

.\6.I

支持:

  • 命令行自动补全
  • 历史命令行记忆
  • ...

注意命令行被log覆盖的时候按下回车即可。

二、使用方法

WIFI的配置(通过命令行)

# 命令行设置WIFI账号和密码
set_wifi_cfg "your wifi ssid" "your wifi password"
# 设置完成后重启生效
reboot

配置设备索引可以用数字表示设备的索引数字可以为0~65536

set_dev_idx  "device_type_num" 

设备传感器信息的发送默认UDP端口9000

# 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 :

  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-25: 增加NVS设置WIFI ssid和WIFI 密码功能

四、编译说明

lettleShell移植支持说明 需要适配esp32的ld文件。

样例: C:\Users\Administrator\esp\esp-idf\components\esp32\ld
在这个文件夹里面把原来的esp32.project.ld.in替换当前目前的id文件用于支持命令行替换前记得备份

  /* 核心原理是找到这个.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