新买的Mac Mini没有妙控键盘,不能用touchId?每次输入密码太麻烦?教你10分钟实现Mac mini 免密登录!

199 阅读2分钟

物料

  • esp32 开发板(需要有蓝牙功能),我用的是带CH340驱动的
  • 一个开关按钮
  • 一根数据线,用来连接开发板和电脑

下载arduino

下载地址:www.arduino.cc/en/software 然后安装Arduino IDE

下载蓝牙驱动

下载地址:github.com/T-vK/ESP32-… 选择ESP32-BLE-Keyboard.zip

将下载的蓝牙驱动添加到Arduino IDE中

选择项目-添加zip库,选择刚刚下载好的蓝牙驱动

image.png

安装库文件

在左侧的导航栏,选择第二个:开发板管理器,搜索esp32,安装esp32 by Espressif Systems,版本选择2.0.17,不要选3.X.X,会编译失败

image.png

在上方的驱动选择中选择/dev/cu.usbserial-XXXXX

image.png

选择Esp32 Dev Module,点击确定

image.png

回到项目文件夹,开始编码

复制以下代码:

/**
 * This example turns the ESP32 into a Bluetooth LE keyboard that writes the words, presses Enter, presses a media key and then Ctrl+Alt+Delete
 */
#include <BleKeyboard.h>

BleKeyboard bleKeyboard;
const int buttonPin = 15; // 按钮连接到GPIO 0
int buttonState = 0;
void setup() {
  Serial.begin(115200);
  Serial.println("Starting BLE work!");
  pinMode(buttonPin, INPUT_PULLUP); // 设置按钮引脚为输入并启用内部上拉
  bleKeyboard.begin();
}

void loop() {
   if (bleKeyboard.isConnected()) {
    buttonState = digitalRead(buttonPin);
    
    if (buttonState == LOW) { // 检测按钮按下
      Serial.println("Button pressed");
      bleKeyboard.print("awesomeman");
      bleKeyboard.write(KEY_RETURN);
      delay(1000); // 延迟以避免重复输入
    }
  }

  delay(10);
}

点击左上角验证,等待验证通过

上传代码到esp32开发板

首先在工具中找到上传速度或Upload Speed,指定速率为115200,不要选921600,否则会报存在噪声或连接失败

image.png

指定完成后,选择上传,等待上传完成。如果像下图一样,就是上传成功了:

image.png

通过蓝牙连接Esp32和电脑

从设置中找到蓝牙-搜索蓝牙-找到Esp32 keyBoard,然后选择连接。

如果Mac系统提示设置键盘,让你按下左Shift旁边的键,直接退出就行。

短接GND和D15引脚

打开一个可以输入文字的地方,然后通过一根导线连接GND和D15引脚或者将开关按钮的两根线连接GND和D15引脚。

按下按钮,在文字编辑区即可显示设置的【awesome man】字符。

测试

按住【^ + Command + Q】锁定屏幕,并激活密码输入框,按下按钮,系统自动解锁。