1.综述
利用语音模块,adb 控制刷抖音小项目,增长了相关方面认知(无什么实际作用)
2.语音模块
这里使用的语音模块为 YS-LDV7语音识别模块
在这里插入图片描述
通过阅读官方代码,修改所需识别的词条:
(1)增加所需识别的词条
在这里插入图片描述
(2)宏定义识别词条
在这里插入图片描述
(3)修改识别成功后通过串口发送的内容
在这里插入图片描述
3.语音模块与树莓派串口连接
树莓派串口编程可参考之前写的相关文章树莓派串口开发
这里进行简单修改:

#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <pthread.h>
#include "mySerial.h"
#include <unistd.h>
#include <stdlib.h>
int fd;


void *receiveHandler()
{
	char receBuf[8];
	char cmd;
	while(1){
		memset(receBuf,'\0',9);
		mySerialGetString(fd,receBuf);
		cmd  = receBuf[0];
		switch(cmd){
			case'N':
				printf("next\n");
				system("adb shell input swipe 540 1300 540 500 100");
				break;
			case'P':
				printf("pre\n");
				system("adb shell input swipe 540 500 540 1300 100");
				break;
			case'Z':
				printf("zan\n");
				system("adb shell \"seq 2 | while read i;do input tap 350 1050 &input tap 350 1050 & sleep 0.005;done\"");
				break;
			case'Q':
				printf("quit\n");
				system("adb shell input keyevent 26");
				break;

		}
	}
}

int main(int argc,char **argv)
{

	pthread_t SendFunID;
	pthread_t ReceiveFunID;
	char pathBuf[32] = {'\0'};

	if(argc < 2){
		printf("Please input the path of usart for example:/dev/ttyAMA0\n");
		return -1;
	}

	strcpy(pathBuf,argv[1]);

	fd = mySerialOpen(pathBuf,9600);

	pthread_create(&ReceiveFunID,NULL,receiveHandler,NULL);

	while(1);


	return 0 ;
}

4.树莓派adb连接安卓手机
(1)将手机用数据线与树莓派相连
(2)安装adb 工具:

sudo apt-get install adb

(3)可利用dmeg查看手机接入信息
在这里插入图片描述
(4)输入adb devices 会出现no permissions (verify udev rules) 因此需要进行以下操作:

sudo vi/etc/udev/rules.d/51-android.rules

并输入以下内容:

SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"

(5)之后便可通过adb shell 连接手机对手机进行操作
在这里插入图片描述
5.用shell指令操作手机屏幕,模拟手动滑屏、点赞、息屏等操作:
(1)向下滑动屏幕 :

adb shell input swipe 540 1300 540 500 100 

(2)向上滑动屏幕:

adb shell input swipe 540 500 540 1300 100 

(4)双击点赞:

adb shell "seq 2 | while read i;do input tap 350 1050 &input tap 350 1050 & sleep 0.005;done"

(5)息屏:

adb shell input keyevent 26
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐