手势模组指的是手势传感器的模块组。
手势传感器是一种能够感知人类手势或动作的传感器。它可以捕捉、识别和解释人类的手部动作或姿势,并将其转换成电信号或数字信号,通过识别人体的手势动作来实现与电子设备的交互,如控制电视、医疗设备、游戏机及VR设备等。
所以很多应用板都会集成手势模组,以提供多样的用户体验。
这里选用了正点原子手势识别模块组ATK-PAJ7620,集成到rk3588板上。
1、固件支持
购买手势模块,会提供一些sdk代码,需要集成到固件里面。然后把最新固件烧录到rk3588板上。
2、连线方式
rk3588板的J8口插上一个6pin排线,排线的另一个连接上6pin的杜邦头。杜邦头连接ATK-PAJ7620的直插接口。
J8与ATK-PAJ7620的管脚一一对接即可。
3、编码实现
因为作的是移动开发项目,所以需要集成到android stduio工程。
而ATK-PAJ7620的示例代码为c。
3.1 java调用c++,使用Jni
jni网上很多描述,这里简单介绍下:
1)在build.gradle(app)里,增加:
defaultConfig {
。。。。。。
externalNativeBuild {
cmake {
// 支持 c++11,配置内容仅举例,具体以实际项目需求为准
cppFlags '-std=c++11'
}
}
}
externalNativeBuild {
cmake {
path "src/main/jni/CMakeLists.txt"
}
}
2)新增的目录src/main/jni下,增加CMakeLists.txt和对应的手势模组核心代码:集成卖方提供的gesture_handle.c/h。
CMakeLists.txt参考如下:
cmake_minimum_required(VERSION 3.10.2)
add_library(native-lib SHARED
gesture_handler.c)
# 查找NDK中的日志库
find_library(log-lib log)
target_link_libraries(native-lib
${log-lib})
3)新增JniInterface.java文件,native-lib对应CMakeLists.txt里编译生成的so,表示java系统会加载手势模组c++的so。