Ale*_*lex 6 bluetooth arduino headset
我使用以下组件创建了一个简单的蓝牙设备
我想知道是否可以从我的 BT 设备发送命令,就像这些命令是从蓝牙耳机发送的一样?
我的意思是:
以下是 android 使用的键码的完整列表:http://developer.android.com/reference/android/view/KeyEvent.html
我可能可以创建一个单独的应用程序,它将读取传入的命令并模拟耳机按钮的按下,但这不是我想要的。就我而言 - 一些耳机是即插即用的,这意味着 Android 设备上不需要安装任何其他应用程序。这是我目前用来向 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);
}
Run Code Online (Sandbox Code Playgroud)
两个设备都已配对,但我手机上的音乐播放器不受这些命令的影响。是否可以在不为“来自 BT 的传入命令”创建侧面应用程序的情况下控制音乐播放器?
问题是您的主板是否支持 AVRCP 控制器 BT 配置文件?
如果是这样,您“仅”需要根据您的手机 AVRCP 目标 BT 配置文件进行连接。当您有 AVRCP BT 连接时,有指定的命令如何暂停和跳过歌曲。
这就是“即插即用”耳机的工作原理。
了解有关蓝牙配置文件的更多信息。 http://en.wikipedia.org/wiki/Bluetooth_profile
查看您的代码,您已经设置了通往手机的串行链接。此链接使用 SPP 配置文件,您只能通过该链接发送原始数据。如果这是 Arduino Uno 板上的 BT 堆栈具有的唯一配置文件,您将被迫在手机端创建一个应用程序,以便能够读取原始数据并用它执行某些操作,例如暂停音乐。
希望这对你来说没什么意义。
| 归档时间: |
|
| 查看次数: |
6420 次 |
| 最近记录: |