蓝牙控制器和控制台之间的游戏命令格式

Game Command format between bluetooth controller and console

提问人:Manish Dubey 提问时间:7/14/2016 最后编辑:oolyviManish Dubey 更新时间:10/16/2023 访问量:843

问:

我正在创建一个 Android 项目,在其中我必须制作一个智能手表作为游戏控制器,该控制器可以向连接到该智能手表的手持设备上运行的游戏发送命令。android wearableBLE(Bluetooth Low Energy)

我在可穿戴设备上设计了一个控制器垫,可以通过单击控制器板的软按钮将一些硬编码文本发送到手持设备应用程序。问题是,我必须将该文本替换为在手持设备上运行的游戏所期望的游戏命令格式。而且,在手持设备上运行的应用程序可以通过可穿戴服务收听文本。我知道第三方游戏不会运行任何可穿戴服务,那么第三方游戏将如何接受/收听可穿戴智能手表发送的命令?

第三方游戏可以通过 Android SDK 支持硬件控制器

Wear-OS Android-BLE 游戏控制器

评论

0赞 Paul 7/22/2016
您可以在应用端解析传入的文本,因此它充当控制器。但我相信您正在寻求为多个应用程序(您无法控制)创建一个通用控制器。您可以在“BLE 控制器”上查找一些来源,我不确定“BLE HID”是否是控制器使用的。
2赞 Paul 7/22/2016
这可能有一些有趣的观点:bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=309012。它提到了“力反馈控制器”,但我认为它也应该适用于非力反馈控制器。
1赞 Jiang YD 8/4/2016
我认为你需要让你的手表成为 BT GameJoy Stick。

答:

0赞 TIMBLOCKER 5/3/2023 #1

您可以使用 BLE 标准中的“Manifacturer Specific Data”字节在可穿戴设备和手机之间发送一些数据。

您可以将手表用作一种信标,可以在消息部分发送您的数据。然后,您可以读取这些值并获取数据。请注意,在标准蓝牙规范中,您只能在 Manifactuer 特定数据部分中编码 31 个字节,并且您只能在每次接收蓝牙信标时读取输入。

You can see the BLE Spec here. For your Data you could use the Payload.

您可以在此处查看 BLE 规范。对于您的数据,您可以使用有效负载。 您必须永久扫描 ble 信标并获取新的有效载荷信息.

0赞 Md Aquib Raza 12/5/2023 #2

蓝牙控制器和控制台之间的游戏命令格式取决于设备使用的特定通信协议和标准。蓝牙游戏控制器的一个通用标准是蓝牙人机接口设备 (HID) 配置文件。以下是游戏命令通常如何在蓝牙控制器和主机之间格式化和传输的一般概述:

蓝牙配对:

控制器和控制台需要通过蓝牙配对,然后才能进行通信。这涉及一次性设置,其中设备交换身份验证信息。 HID 协议:

蓝牙 HID 配置文件通常用于游戏控制器。此配置文件允许控制器等设备使用标准 HID 报告与控制台通信。 HID 报告是数据包,其中包含有关控制器状态的信息,包括按钮按下、操纵杆位置和其他输入。 报告类型:

有不同类型的报告,例如输入报告、输出报告和功能报告。 输入报告:这些报告包含有关控制器状态的信息(例如,按钮按下、操纵杆位置)。 输出报告:这些报告用于将命令从控制台发送到控制器(例如,隆隆声命令)。 功能报告:这些报告用于不适合标准输入/输出类别的其他功能。 数据格式:

报表中的数据根据 HID 标准进行格式设置。它包括有关按钮状态、模拟摇杆位置、触发器和其他相关输入数据的信息。 每个按钮、操纵杆或触发器通常都有一个唯一的标识符,其状态(按下或未按下)在报告中传达。 连续流:

只要控制器打开电源并连接,控制器通常会持续将输入报告流式传输到控制台。 控制台会解释这些报告以了解用户的输入并相应地更新游戏。 蓝牙专业版files:

除 HID 外,其他蓝牙配置文件可用于特定功能,例如用于媒体控制的音频/视频远程控制配置文件 (AVRCP)。 实际实现细节可能因不同的控制台和控制器而异,因此必须参考设备制造商提供的特定文档。此外,不同的游戏开发人员可能有自己的协议和格式来处理游戏中的控制器输入。