《ESP32 學習筆記》 之 ESP32 模擬 藍牙鍵盤-Keyboard

目錄

1.簡介

2.硬件平臺

3.軟件平臺

4.庫文件

4.1 ESP32_BLE_Arduino

4.2 ESP32-BLE-Keyboard

5.示例程序

6.配對&測試


 

1.簡介

這兩天一直看見各種客製化鍵盤的製作視頻,搞得我也想做一個玩玩,芯片我有四種選擇:

(1)Atmega32U4(USB)

(2)STM32F4(USB)

(3)ESP32(藍牙)

(4)NRF51822(藍牙)

現在樂鑫已經推出了 ESP32-S2,此款芯片支持了USB模擬功能,如果加上它的藍牙鍵盤模擬功能,我們很容易只做一款藍牙+USB+WIFI的客製化鍵盤,但這些都等待 ESP32-S2 開發環境的完善之後再玩吧~

2.硬件平臺

安信可 NODEMCU-32S 開發板:

3.軟件平臺

Arduino (1.8.10)     或     VScode 環境下 PlatformIO 插件

4.庫文件

4.1 ESP32_BLE_Arduino

ESP藍牙驅動庫,地址:https://github.com/nkolban/ESP32_BLE_Arduino

4.2 ESP32-BLE-Keyboard

ESP32鍵盤模擬庫,依賴於ESP32_BLE_Arduino這個庫,地址:https://github.com/T-vK/ESP32-BLE-Keyboard

5.示例程序

代碼:

/**
 * 時間:2020/5/18
 * 作者:劉澤文
 * 功能:使用ESP32的藍牙功能模擬藍牙鍵盤
 */
#include <BleKeyboard.h>
#include <WiFi.h>

BleKeyboard bleKeyboard("ESP32藍牙鍵盤","Espressif",100);//其中“ESP32藍牙鍵盤”爲鍵盤名稱;"Espressif"爲製造商

void setup() {
  Serial.begin(115200);
  Serial.println("Starting BLE work!");
  bleKeyboard.begin();
}

void loop() {
  if(bleKeyboard.isConnected()) {
    //多媒體測試
    Serial.println("Sending Play/Pause media key...");
    bleKeyboard.write(KEY_MEDIA_PLAY_PAUSE);

    delay(1000);

    //Ctrl+Alt+Delete任務管理器,並進行鎖屏操作
    Serial.println("Sending Ctrl+Alt+Delete...");
    bleKeyboard.press(KEY_LEFT_CTRL);
    bleKeyboard.press(KEY_LEFT_ALT);
    bleKeyboard.press(KEY_DELETE);
    delay(100);
    bleKeyboard.releaseAll();

    //輸入密碼並開機
    Serial.println("下面填入你的開機密碼↓");
    bleKeyboard.print("--你的開機密碼,注意大小寫--");
    delay(100);
    Serial.println("Enter");
    bleKeyboard.write(KEY_RETURN);
  }
  Serial.println("Waiting 5 seconds...");
  delay(5000);
}

6.配對&測試

給你的ESP32開發板插上電,打開你的筆記本電腦->打開藍牙->添加藍牙或設備->鼠標、鍵盤類,你將會看到名爲“ESP32藍牙鍵盤”的設備,點擊即可連接。然後打開你電腦上的音樂軟件播放歌曲。

接下來,你的筆記本將會一直重複  停止播放音樂+鎖屏+解鎖+開始播放音樂  的操作~,如果想停下,請直接關閉筆記本的藍牙,或拔掉開發板。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章