ESP32_S3_Ble模拟键鼠,并在多个设备之间切换,实现BLE_KVM切换器,arduino

随便写写,不一定是最好的方法

一. 优缺点

缺点

1. 做不到秒切,每次切换都有1-2秒的延迟,如果做成秒切的那种,ESP32会报一个内存分配的错误,E (780391) BT_INIT: Malloc failed E (874750) BT_INIT: Malloc failed,虽然实测并不会影响使用,但是始终是个隐患,所以最后采用的办法是每次切换都彻底重启一遍ESP32,切换速度取决于esp32的重启速度

2. 同一台设备(电脑)与同一个ESP32(开发板)的蓝牙只能配对一次, 也就是假如电脑1连接了一次ESP32的蓝牙1,那么就不能再次连接ESP32的蓝牙2,否则会出现一直连接不上! 如果不小心配对了两次,只需要将电脑上的同名设备删除重新配对就行了

优点

1. 支持配对设备的数量很多很多!!! (目前只做了10个,也就是键盘上的0-9,ESP32有一个默认16个配对设备的限制,应该可以改)对的没错,如果你能接受上面的2个缺点的话,这会是最完美的方案!

2. 使用快捷键,键盘鼠标同时切换, 现在的键鼠设备,想在多个电脑上切换连接的话,除了使用专业KVM切换器,就只能一个一个的切换连接,也就是先把键盘切换连接到电脑2,再去切换鼠标

二. 实现功能的相关代码

1.多设备间切换的实现

使用电脑键盘的 右Ctrl+右Alt+键盘数字键(0-9) 完成切换, 这段代码是检测到同时按下了右Ctrl+右Alt 后不发送这两个键值到电脑,同时发送松开这两个键值的指令到电脑

下面这段代码是检测到同时按下了右Ctrl+右Alt 后,如果还按下了键盘上的数字键(0-9)的话,就切换ESP32的MAC地址

看到这里,相信大家都已经知道了多设备切换的原理了,没错!就是通过改变MAC地址来实现曲线救国! 

其实ESP32本身是支持同时连接多个设备的(好像是4个还是几个来着),但是同时连接的设备多了之后会导致资源占用比较多,考虑到后续还要加功能上去,还是切换MAC地址来的实惠些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值