基于Linux串口实现语音控制刷抖音

目录

● 简要说明

● 语音模块配置

● 固件烧录

● Linux adb操作控制android手机

● 用shell指令来操作手机屏幕,模拟手动滑动屏幕

● 代码实现 


● 简要说明

语音模块根据对应的语音信号转化为电信号,并向H616输出对应的数据,H616根据对应的数据进行相应的adb操作,最后在抖音APP实现语音控制功能。

①语音模块:语音信号——>电信号  ②H616:电信号——>指令信息  ③指令信息——>模拟滑动屏幕操作 ④抖音:显示操作。

● 语音模块配置

进入语音模块官网 http://www.smartpi.cn/#/ ,配置词条和识别后的串口输出指令。

Pin脚配置

 

 唤醒词和唤醒回复选择默认即可,离线命令词与应答语需要自定义。

 

 添加控制

 下载配置好的SDK

固件烧录

打开烧录工具

将语音模块通过串口的方式连接USB转TTL插入电脑USB口;

选择镜像文件uni_app_release_ipdata.bin,点击烧录后,在给设备上电(打开语音模块开关),完成固件烧录。

🔺语音模块和USB-TTL要连接4根线VCC GND TXD RXD,TXD和RXD交叉连接

 

● 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 }

执行代码后,唤醒语音模块,就可实现语音刷抖音的功能。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

D.•

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值