用握力器玩谷歌小恐龙游戏(三)

news2024/11/20 12:45:08

往期回顾

用握力器玩谷歌小恐龙游戏(一)

用握力器玩谷歌小恐龙游戏(二)

GS-GAME-PC

前言

这次更新主要是,将原来的使用Wifi Mesh+串口接收+上位机的方法,改成了蓝牙直连电脑的方式,这种方式的一个好处是连接电脑特别方便,就和普通的蓝牙鼠标一样,而且双握力器也不用改动什么,设备连接到电脑,切换到不同的模式就行,缺点是虽然有现成的库,但还是遇到了不少坑,尤其是从键盘设备切换到鼠标设备的时候要重启&重连一下,目前也没法解决,具体细节放到注意事项了;还有一个地方是添加了一个esp32c3超低功耗功能。

功能介绍
双握力器模式

蓝牙键盘模式

蓝牙鼠标模式

模式切换

连接提示及模式掉电保存
按键动作区分

低功耗睡眠

硬件

软件
  1. 移植自仓库Home-Connection: 家庭互联(Home Connection),初步是电脑桌互联生态搭建,如,检测人、自动&定时上下电一些设备;强关联项目:Desktop-Robot

  2. 推荐游戏:Chrome Dino(chrome://dino/),节奏天国

  3. 推荐游戏(部分需要翻墙):edge://surf/,Crowd Run 3D - 在 SilverGames 上在线玩 Crowd Run 3D 🕹️,Slope 2 玩家 - 在 SilverGames 上在线玩 Slope 2 玩家 🕹️,高山滑雪 - 在 SilverGames 上在线玩 高山滑雪 🕹️,Atari Breakout - 在 SilverGames 上在线玩 Atari Breakout 🕹️,Mad Medicine - 在 SilverGames 上在线玩 Mad Medicine 🕹️,Impossible Parkour - 在 SilverGames 上在线玩 Impossible Parkour 🕹️,乒乓球 - 在 SilverGames 上在线玩 乒乓球 🕹️,Atari Missile Command - 在 SilverGames 上在线玩 Atari Missile Command 🕹️,Stickman Shooter - 在 SilverGames 上在线玩 Stickman Shooter 🕹️,Wheelie Cross - 在 SilverGames 上在线玩 Wheelie Cross 🕹️,自行车模拟器 - 在 SilverGames 上在线玩 自行车模拟器 🕹️,赛狗 - 在 SilverGames 上在线玩 赛狗 🕹️

注意事项
  1. 滚轮模式下,长按(1秒左右)是向默认方向滚动,双击是相反方向滚动

  2. 目前用的成品模块,按键是GPIO9,而进入深度睡眠后只能从GPIO0-5中进行触发,所以后续硬件需将按键改为GPIO0-5中任意一个

  3. 自从蓝牙模式控制鼠键后,对个人上位机的维护暂停,不建议使用

  4. 因为键鼠分别用了两个库,不能同时使用,所以切换模式后进行mcu复位,根据设置的模式决定上电开启的是keyboard还是mouse蓝牙

  5. 如果中途从键盘模式切换为鼠标模式,需要把电脑上相应蓝牙设备删除,重新连接(坑),蓝牙名字分别是“esp32-KeyBoard”,“esp32-Mouse”

  6. 本来想用ESP32-BLE-Combo,这样就不存在7、了,但是弄了半天一直不行,感觉不支持c3

  7. 注意ESP32-NimBLE-Keyboard和ESP32-BLE-Keyboard是不一样的,c3用NimBLE,用另一个一直不行(坑),这样的话应该可以解释8、了,Combo估计合并的BLE版本,ESP32-BLE-Gamepad同理;BleMouse虽然也区分了,但是人家在BLE仓库里面可以通过宏来切换模式

  8. 如果中途NimBLE和BLE程序混了,需要把电脑上相应蓝牙设备删除,重新连接(坑)

其它

演示 视频:使用ESP32C3改造的双握力器玩Edge的冲浪游戏_哔哩哔哩_bilibili

B站:“大饼酱人”(大饼酱人的个人空间-大饼酱人个人主页-哔哩哔哩视频 (bilibili.com))

CSDN:“大饼酱人”(大饼酱人-CSDN博客)

公众号:“大饼酱人”

微信交流群:

可定制化或自行修改源仓库:https://gitee.com/yangfei_addoil/gs-game-pc
                        
 

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

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

相关文章

Google Chrome Close AutoUpdate

DOMException: play() failed because the user didn‘t interact with the document first.-CSDN博客 html5 audio video-CSDN博客 Google Chrome Close AutoUpdate 关闭google浏览器自动更新 1:检查是否已安装google浏览器,并卸载: 2&…

【JS】基于node-media-server搭建流媒体服务器示例

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍基于node-media-server搭建流媒体服务器示例。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&…

【Shell的运行原理以及Linux当中的权限问题】

Shell的运行原理以及Linux当中的权限问题 Shell的运行原理Linux当中的权限问题Linux权限的概念如何实现用户账号之间的切换如何仅提升当前指令的权限如何将普通用户添加到信任列表 Linux权限管理文件访问者的分类 (人)文件类型和访问权限 (事物属性)文件权限值的表示方法文件访…

少儿编程考级:智慧启迪还是智商税?

在当前科技日新月异的时代背景下,少儿编程教育日益受到家长和社会的广泛关注。与此同时,各类少儿编程考级应运而生,引发了公众对于其价值和意义的深度探讨。一部分人认为这是对孩子逻辑思维与创新能力的有效锻炼,是智慧启迪的重要…

业务拓展利器!跨境电商如何选对代理IP?IPIDEA 一键连接全球商机!

文章目录 一、跨境电商发展与海外代理IP的重要性1.1 跨境电商的发展现状1.2 海外代理IP在跨境电商中的重要性 二、选对代理IP品牌的关键因素三、IPIDEA海外IP代理的优势3.1 IPIDEA的优势3.2 IPIDEA提供的代理类型 四、使用IPIDEA爬虫实战五、总结 一、跨境电商发展与海外代理IP…

算法——二分查找算法

1. 二分算法是什么? 简单来说,"二分"指的是将查找的区间一分为二,通过比较目标值与中间元素的大小关系,确定目标值可能在哪一半区间内,从而缩小查找范围。这个过程不断重复,每次都将当前区间二分…

五、Redis之发布订阅及事务管理

5.1 发布订阅 5.1.1 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 ,以及订阅这个频道的三个客户端 —— client1 、client2 …

2 月 5 日算法练习- 动态规划

DP&#xff08;动态规划&#xff09;全称Dynamic Programming&#xff0c;是运筹学的一个分支&#xff0c;是一种将复杂问题分解成很多重叠的子问题、并通过子问题的解得到整个问题的解的算法。 在动态规划中有一些概念&#xff1a; n<1e3 [][] &#xff0c;n<100 [][][…

Jenkins配置http请求github,发布release

学无止境&#xff0c;气有浩然&#xff01; Jenkins配置http请求github&#xff0c;发布release 前言Jenkins配置github配置在这里插入图片描述 打完收工! 前言 工作中进行了github迁移&#xff0c;原先的gitlab中配置的Jenkins的CI/CD步骤需要发布到Github发布release版本&am…

基于SpringBoot+Vue的电影影城购票管理系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

网站不收录,与服务器不备案有关吗

随着互联网的快速发展&#xff0c;网站已经成为企业、个人和机构宣传和展示自己的重要平台。然而&#xff0c;许多网站在建设完成后却面临着不收录的问题&#xff0c;这给网站的管理者和拥有者带来了很大的困扰。其中&#xff0c;一些人认为&#xff0c;网站不收录的原因与服务…

DBeaver连接人大金仓数据库

人大金仓的驱动 1. 打开DBeaver软件&#xff0c;点击“数据库”&#xff0c;选择“驱动管理器” 2. 点击“新建”进行达人大金仓驱动管理器配置。 3、创建驱动-设置&#xff1a;驱动名称、类名、url 驱动名称&#xff1a;人大金仓&#xff1b; 类名&#xff1a;com.kingbas…

MongoDB系列之WiredTiger引擎

概述 关系型数据库MySQL有InnoDB存储引擎&#xff0c;存储引擎很大程度上决定着数据库的性能。 在MongoDB早期版本中&#xff0c;默认使用MMapV1存储引擎&#xff0c;其索引就是一个B-树&#xff08;也称B树&#xff09;。 从MongoDB 3.0开始引入WiredTiger&#xff08;以下…

Linux Shell编程系列--开篇

一、目的 从本篇开始介绍Linux Shell脚本编程&#xff0c;为简单起见&#xff0c;本篇中以一个显示当前时间的shell脚本来帮助大家理解shell脚本的组成。 SHELL脚本中可以包含变量、函数、命令等部分。 二、介绍 我们通过vim新建一个myshell.sh的脚本&#xff0c;然后输入以下…

控制台npm start终止不了?

控制台npm start终止不了&#xff1f; 在开发的过程中我遇到了这样的问题&#xff0c;想结束控制台3002端口运行&#xff0c;但是ControlC不起作用&#xff0c;不管我敲多少遍&#xff0c;依旧没有任何动静&#xff1a; 再次启动的时候它又会自动启动3003端口&#xff0c;300…

指针的学习3

目录 字符指针变量 数组指针变量 二维数组传参的本质 函数指针变量 函数指针变量的创建 函数指针变量的使用 两段有趣的代码 typedef关键字 函数指针数组 转移表 回调函数&#xff1a; 字符指针变量 int main() {char arr[10] "abcdef";char* p1 arr;//…

面试经典150题——判断子序列

​"Success is not final, failure is not fatal: It is the courage to continue that counts." - Winston Churchill 1. 题目描述 2. 题目分析与解析 2.1 思路一——双指针 按照双指针的解法应该大家都能比较快的想出来&#xff0c;就是一个指针pointS指向字符…

消息中间件(消息队列)简介

MQ&#xff08;message queue&#xff09;消息队列&#xff0c;也叫消息中间件。消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能&#xff0c;成为异步RPC的主要手段之一。它是类似于数据库一样需要独立部…

消息中间件之RocketMQ源码分析(六)

Consumer消费方式 RocketMQ的消费方式包含Pull和Push两种 Pull方式。 用户主动Pull消息&#xff0c;自主管理位点&#xff0c;可以灵活地掌控消费进度和消费速度&#xff0c;适合流计算、消费特别耗时等特殊的消费场景。 缺点也显而易见&#xff0c;需要从代码层面精准地控制…

【发票识别】新增针对图片发票的识别(升级中)

说明 为了完善发票识别的功能&#xff0c;目前发票识别支持发票图片格式的识别&#xff0c;增加可用性。 体验 体验地址&#xff1a;https://invoice.behappyto.cn/invoice-service/ 体验地址上面有示例的发票&#xff0c;可以下载上传识别或者复制url地址进行识别。 技术栈…