gpt4 book ai didi

bluetooth - 从定制的蓝牙设备发送命令到 Android 手机来控制音乐播放器

转载 作者:行者123 更新时间:2023-12-02 22:21:29 25 4
gpt4 key购买 nike

我使用以下组件创建了一个简单的蓝牙设备

  • HC05模块
  • Arduino Uno 板(带有可重新编程的微 Controller )

我想知道是否可以从我的 BT 设备发送命令,就像这些命令是从蓝牙耳机发送一样?

我的意思是:

  • 我们发送 0x00000055 key 代码 - 然后音乐暂停(KEYCODE_MEDIA_PLAY_PAUSE)
  • 我们发送 0x00000058 - 上一首歌曲开始播放(KEYCODE_MEDIA_PREVIOUS)
  • ...

以下是 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);

}

两个设备都已配对,但我手机上的音乐播放器不受这些命令的影响。是否可以在不为“来自 BT 的传入命令”创建侧面应用程序的情况下控制音乐播放器?

最佳答案

问题是您的主板是否支持 AVRCP Controller BT 配置文件?

如果是这样,您“仅”需要根据您的手机 AVRCP 目标 BT 配置文件进行连接。当您有 AVRCP BT 连接时,有指定的命令如何暂停和跳过歌曲。

这就是“即插即用”耳机的工作原理。

了解有关蓝牙配置文件的更多信息。 http://en.wikipedia.org/wiki/Bluetooth_profile

查看您的代码,您已经设置了通往手机的串行链接。此链接使用 SPP 配置文件,您只能通过该链接发送原始数据。如果这是 Arduino Uno 板上的 BT 堆栈具有的唯一配置文件,您将被迫在手机端创建一个应用程序,以便能够读取原始数据并对其执行某些操作,例如暂停音乐。

希望这能为您解决一些问题。

关于bluetooth - 从定制的蓝牙设备发送命令到 Android 手机来控制音乐播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19203543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com