我使用以下组件创建了一个简单的蓝牙设备
- HC05模块
- Arduino Uno 板(带有可重新编程的微控制器)
我想知道是否可以从我的 BT 设备发送命令,就好像这些命令是从蓝牙耳机发送的一样?
我的意思是:
- 我们发送 0x00000055 键码 - 音乐暂停(KEYCODE_MEDIA_PLAY_PAUSE)
- 我们发送 0x00000058 - 上一首歌曲开始播放(KEYCODE_MEDIA_PREVIOUS)
- ...
这是 android 使用的键码的完整列表:http: //developer.android.com/reference/android/view/KeyEvent.html
我可能可以创建一个单独的应用程序,它将读取传入的命令并模拟耳机按钮按下,但这不是我想要的。就我而言——有些耳机是即插即用的,这意味着安卓设备上不需要安装额外的应用程序。这是我目前用来向 Android 手机发送命令的代码:
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX | TX
enum { LED_PIN = 6 };
enum LedState { LED_ON, LED_OFF, LED_BLINK };
LedState led_state;
void setup()
{
led_state = LED_OFF;
pinMode(LED_PIN, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(9, LOW);
Serial.begin(9600);
Serial.println("Enter AT commands:");
BTSerial.begin(38400); // HC-05 default speed in AT command more
}
const int COMMAND_MUSIC = 85;
void loop()
{
digitalWrite(LED_PIN, HIGH);
delay(100);
digitalWrite(LED_PIN, LOW);
delay(100);
delay(10000);
// trying to play or pause once in 10 seconds
BTSerial.write(0x00000055);
//BTSerial.print(0x00000055, HEX);
}
两个设备都已配对,但我手机上的音乐播放器不受这些命令的影响。是否可以在不为“来自 BT 的传入命令”创建辅助应用程序的情况下控制音乐播放器?