目录
● 简要说明
● 语音模块配置
● 固件烧录
● Linux adb操作控制android手机
● 用shell指令来操作手机屏幕,模拟手动滑动屏幕
● 代码实现
● 简要说明
语音模块根据对应的语音信号转化为电信号,并向H616输出对应的数据,H616根据对应的数据进行相应的adb操作,最后在抖音APP实现语音控制功能。
①语音模块:语音信号——>电信号 ②H616:电信号——>指令信息 ③指令信息——>模拟滑动屏幕操作 ④抖音:显示操作。
● 语音模块配置
进入语音模块官网 http://www.smartpi.cn/#/ ,配置词条和识别后的串口输出指令。
Pin脚配置
唤醒词和唤醒回复选择默认即可,离线命令词与应答语需要自定义。
添加控制
下载配置好的SDK
● 固件烧录
打开烧录工具
将语音模块通过串口的方式连接USB转TTL插入电脑USB口;
选择镜像文件uni_app_release_ipdata.bin,点击烧录后,在给设备上电(打开语音模块开关),完成固件烧录。
● Linux adb操作控制android手机
● adb(Android debug bridege)是安卓调试桥,可以对装有安卓系统的终端进行调试。
● 准备Android系统的手机一部,usb数据线,用数据线将全志板子和手机进行连接。
① 输入指令:dmesg 查看连接USB的设备信息(此处查看手机信息)
② 输入指令:sudo apt-get install adb 安装adb工具
③ 命令查看设备:adb devices可以看到adb检查到的串行设备数字
④ 打开手机开发者选项,允许usb进行调试
⑤ adb shell进入手机,出现以下页面,表示进入手机成功
⑥ 退出命令:exit
● 用shell指令来操作手机屏幕,模拟手动滑动屏幕
adb shell input swipe 540 1300 540 500 100 //向下滑动540是水平的,1300是竖直方向,下 是500
adb shell input swipe 540 500 540 1300 100 //向上滑动
adb shell “seq 4 | while read i;do input tap 350 1050 & input tap 350 1050 &sleep 0.01;done;” //点赞
adb shell input keyevent 26 //锁屏
● 代码实现
1 #include "uartTool.h" 2 #include "pthread.h" 3 #include "string.h" 4 #include "unistd.h" 5 #include "stdlib.h" 6 #include "stdio.h" 7 8 int fd; 9 10 void* readSerial() 11 { 12 char cmd; 13 while(1){ 14 cmd = myserialGetchar(fd); 15 switch(cmd){ 16 case 'N': 17 system("adb shell input swipe 540 1300 540 500 100"); 18 printf("next\n"); 19 break; 20 case 'P': 21 system("adb shell input swipe 540 500 540 1300 100"); 22 printf("preview\n"); 23 break; 24 case 'Z': 25 system("adb shell \"seq 4 | while read i;do input tap 350 1050 & input tap 350 1050 & sleep 0.01;done;\""); 26 printf("dian zan\n"); 27 break; 28 case 'Q': 29 system("adb shell input keyevent 26"); 30 printf("quit\n"); 31 break; 32 } 33 } 34 } 35 int main(int argc,char **argv) 36 { 37 char deviceName[32]; 38 pthread_t readt; 39 40 if(argc<2){ 41 printf("uage:%s /dev/ttyS?\n",argv[0]); 42 return -1; 43 } 44 45 strcpy(deviceName,argv[1]); 46 if((fd = serialOpen(deviceName,115200)) == -1){ 47 printf("open %s error \n",deviceName); 48 return -1; 49 } 50 51 pthread_create(&readt,NULL,readSerial,NULL); 52 while(1){sleep(10);} 53 54 return 0; 55 }
执行代码后,唤醒语音模块,就可实现语音刷抖音的功能。