【Linux语音控制 安卓设备刷短视频 orangePi zero2 H616 (已开源) 】.md uptada:23/11/07

news2024/11/28 18:55:29

文章目录

      • H616_实现Ubuntu语音控制安卓设备刷短视频
        • 小美效果展示
        • H616 ubuntu系统 安装adb
        • 智能公元 SU-03T 离线语音模组 固件制作
        • 配合串口实现 小美_控制安卓刷抖音

H616_实现Ubuntu语音控制安卓设备刷短视频

注意:orangePi zero2 H616 安装系统为ubuntu

小美效果展示

语言小美

H616 ubuntu系统 安装adb
  1. 在 Ubuntu PC 上安装 adb 工具
    test@test:~$ sudo apt update
    test@test:~$ sudo apt install -y adb

  2. 插入u口连接手机后,查看:
    test@test:~$ adb devices
    List of devices attached
    8c00141167058911ccd device

  3. 然后在 Ubuntu PC 上连接网络 adb
    // IP 地址需要修改为需控制的安卓手机IP 地址,并处于同一局域网段
    // 手机打开 开发者模式 开启adb调试
    test@test:~$ adb connect 192.168.1.xxx

  • daemon not running; starting now at tcp:5037
  • daemon started successfully
    connected to 192.168.1.xxx:5555
    test@test:~$ adb devices
    List of devices attached
    192.168.1.xxx:5555 device
  1. 拔掉u口数据线,断开与手机的有线连接;
    如果不断开 这时u口有线连接+局域网ip连接,会有两个设备,故为方便操作,断开数据线,只保留一个设备即可;有线连接也能用,但是无线更帅一点嘛;
    test@test:~$ adb devices
    List of devices attached
    8b983433 device
    192.168.1.166:5555 device

  2. 然后在 Ubuntu PC 上通过 adb shell 就可以登录 android 系统
    test@test:~$ adb shell
    huawei-p20:/ #

智能公元 SU-03T 离线语音模组 固件制作

在线官网 选择对应产品 纯离线方案制作固件并发布
下载固件后 据工具官方文档及工具烧录固件即可
具体制作示例(简易图形化操作即可完成固件定制):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配合串口实现 小美_控制安卓刷抖音

源码:

/* xiaomei shuaDouYin*/
#include <stdio.h>
#include <string.h>
#include <errno.h>
// #include <wiringPi.h>
// #include <wiringSerial.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>
#include "uartTool.h" // 不使用wiringPi库,这里为自己封装的串口库;
// 详见往期:
//【全志H616 使用标准库 完成自制串口库(分文件实现) orangepi zero2(开源)】.md updata: 23/11/07:
// http://t.csdnimg.cn/IaKXW

int fd;

void* func1()
{
    char data[32] = {0};  
    while(1){
        memset(data,'\0',32);
        scanf("%s",data);
        //发送数据_串口
        mySerialsend (fd, data) ;     
    }
}

void* func2()
{
    char buf[32] = {0};
    while(1){
        while(mySerialread(fd,buf)){ 
        //接收数据_串口   
        printf("%s\n",buf);  
        //判断串口指令
        for(int i = 0; i < strlen(buf); i++){
            switch (buf[i]){                           
                case 'N':
                printf("next\n");
                system("adb shell input swipe 540 1300 540 500 100");
                break;
                case 'U':
                printf("up\n");
                system("adb shell input swipe 540 500 540 1300 100");
                break;
                case 'Z':
                printf("zan\n");
                system("adb shell input tap 350 1050");
                system("adb shell input tap 350 1050");
                break;
                case 'Q':
                printf("qu\n");
                system("adb shell input keyevent 26");
                break;
            }
        }
        }
    }
}

int main ()
{
    pthread_t t1,t2;
    if ((fd = mySerialOpen ("/dev/ttyS5", 115200)) < 0)
    {
        fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ;
        return 1 ;
    }    
    pthread_create(&t1,NULL,func1,NULL); 
    pthread_create(&t2,NULL,func2,NULL);     
    while(1){sleep(10);};    
    return 0 ;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1187868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

与创新者同行,Apache Doris in 2023

在刚刚过去的 Doris Summit Asia 2023 峰会上&#xff0c;Apache Doris PMC 成员、飞轮科技技术副总裁衣国垒带来了“与创新者同行”的主题演讲&#xff0c;回顾了 Apache Doris 在过去一年所取得的技术突破与社区发展&#xff0c;重新思考了在面对海量数据实时分析上的挑战与机…

Docker两个容器互相请求接口

BEGIN 环境&#xff1a;Docker-Windows-Hyperf 1. 过以下命令查看Docker中的所有网络 docker network ls这个命令会列出所有的Docker网络&#xff0c;包括其ID、名称、驱动以及作用范围 在 Docker 中&#xff0c;容器通过 Docker 网络进行相互通信&#xff1b;在 Docker 中有…

面试题:说一下线程、线程锁与线程池

文章目录 前言一、线程1.线程概念2.线程与进程的关系3.定义4.wait()和sleep()5.线程的状态及其他API 二、线程锁1. 普通锁机制2. Lock 三、线程同步工具类1. CountDowmLatch闭锁&#xff1a;2. CyclicBarrier栅栏&#xff1a;3. Exchanger交换机&#xff1a;4. 信号量 四、线程…

C#文件上传的常用几种方式

1.第一种上传方式,基本通用于.net所有的框架 [HttpPost][Route("Common/uploadFile1")]public string uploads(){HttpContextBase context (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统contextHttpRequestBase request context.Re…

su root失败 sudo su成功进入root

目录 0.场景 1.su root输入密码kali失败 2.对kali用户暂时提权 3.问题原因 0.场景 刚刚安装好kali&#xff0c;想使用su root切换进入root账户 1.su root输入密码kali失败 2.对kali用户暂时提权 只要你的用户在sudoers里面&#xff0c;就可以输入当前用户密码暂时变成root…

QT学习_14_一种开线程来实现串口通信方法

基于QT的上位机软件&#xff0c;和下位机一般都存在通信。 但如果是在主窗体类里面实现通信&#xff0c;往往会和主线程争抢CPU&#xff0c;导致通信非常容易出现异常。 最好的方式是给通信程序单独开一个线程来实现&#xff0c;而主窗体类&#xff08;主线程&#xff09;则主要…

全自动内衣洗衣机什么牌子好?好用又便宜的内衣洗衣机测评

在内衣洗衣机越来越受欢迎的今天&#xff0c;不少朋友都在犹豫要不要买一台内衣洗衣机&#xff0c;专门来清洗一些自身的贴身衣物&#xff0c;这个问题的答案是很有必要的&#xff0c;因为目前市场上的大型洗衣机只是起到了清洁的作用&#xff0c;并不能有效地清洁干净我们的贴…

云渲染3ds Max过程中,本地电脑可以断网或关机吗?

云渲染在近年来被越来越多的设计师所采用&#xff0c;因为它可以显著提高渲染速度&#xff0c;节省大量时间和精力。然而&#xff0c;一些用户不清楚云渲染的工作原理&#xff0c;也不知道在使用3ds Max、Maya等软件进行云渲染时&#xff0c;我们的本地电脑是否可以断网或关机。…

网络爬虫代理ip有什么好处?爬虫工作使用代理IP有哪些优势?

在爬虫工作中&#xff0c;使用代理IP有很多好处&#xff0c;可以帮助爬虫程序更加高效地完成任务。以下是使用代理IP的几个优势&#xff1a; 1. 增加匿名性 使用代理IP可以隐藏爬虫程序的真正IP地址&#xff0c;增加匿名性&#xff0c;避免被目标网站封禁。通过代理IP&#xff…

专门为Web应用程序提供安全保护的设备-WAF

互联网网站面临着多种威胁&#xff0c;包括网络钓鱼和人为的恶意攻击等。这些威胁可能会导致数据泄露、系统崩溃等严重后果。 因此&#xff0c;我们需要采取更多有效的措施来保护网站的安全。其中WAF&#xff08;Web application firewall&#xff0c;Web应用防火墙&#xff0…

边缘计算多角色智能计量插座:用电监测和资产管理的未来智能化引擎

目前主流的智能插座涵盖了红外遥控&#xff08;控制空调和电视等带有红外标准的电器&#xff09;&#xff0c;配备着测温、测湿等仓库应用场景&#xff0c;配备了人体红外或者毫米波雷达作为联动控制&#xff0c;但是大家有没有思考一个问题&#xff0c;就是随着对接的深入&…

CentOS7安装Xrdp以便Windows远程桌面连接

Centos7已经安装了桌面环境&#xff0c;想要Windows系统远程连接到桌面。 1&#xff0c;which vncserver 如果返回no vncserver,则需要安装 2&#xff0c;yum -y install tigervnc* 3&#xff0c;安装Xrdp yum install epel* -y yum --enablerepoepel -y install xrdp 4…

ruoyi-vue前端数据字典值引用与回显(列表中回显,多选框回显)

1. 列表中回显&#xff1a; 代码&#xff1a; <el-table v-if"refreshTable" v-loading"loading" :data"deptList" row-key"deptId" :default-expand-all"isExpandAll" :tree-props"{children: children, hasChil…

网络安全(黑客技术)-高效自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高&#xff1b; 二、则是发展相对成熟…

【云备份|| 日志 day5】文件热点管理模块

云备份day5 热点管理模块 热点管理模块 服务器端的热点文件管理是对上传的非热点文件进行压缩存储&#xff0c;节省磁盘空间。 而热点文件的判断在于上传的文件的最后一次访问时间是否在热点判断时间之内&#xff0c;比如如果一个文件一天都没有被访问过我们就认为这是一个非…

c++ 信奥编程 1129:统计数字字符个数

#include<bits/stdc.h> using namespace std; int main() {string arr; //定义变量 arr getline(cin, arr); //通过函数输入并存储到变量中 int a 0; // 定义变量a&#xff0c;并赋初值0for(int i 0; i < arr.length(); i){ if(arr[i] < 57 && arr[i] &…

2023年【北京市安全员-A证】最新解析及北京市安全员-A证复审模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年北京市安全员-A证最新解析为正在备考北京市安全员-A证操作证的学员准备的理论考试专题&#xff0c;每个月更新的北京市安全员-A证复审模拟考试祝您顺利通过北京市安全员-A证考试。 1、【多选题】《中华人民共和…

【C语法学习】20 - 文件访问顺序

文章目录 0 前言1 文件位置指示符2 rewind()2.1 函数原型2.2 参数2.3 返回值2.4 使用说明 3 ftell()函数3.1 函数原型3.2 参数3.3 返回值 4 fseek()4.1 函数原型4.2 参数4.3 返回值 5 示例5.1 示例15.2 示例2 0 前言 C语言文件访问分为顺序文件访问和随机文件访问。 1 文件位…

「Verilog学习笔记」使用子模块实现三输入数的大小比较

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 分析 题目要求编写子模块实现两个输入数的大小比较并输出较小值&#xff0c;可以使用if-else语句实现。同时要求在主模块中实现三个输入数值的大小比较&#xff0c;假设三个…

cortex-A7核 中断实验(按键中断实验)

1.选择按键触发方式 下降沿 2.解决消抖的方法 1&#xff09;ARM中&#xff1a;延时消抖 2&#xff09;linux驱动开发&#xff1a;定时器函数 3.框图 内部流程框图&#xff1a; 需要RCC GPIO EXTI GIC章节 中断触发流程&#xff1a; 4.RCC 章节 1&#xff09;使能GPIOF组 …