【问题标题】:my experience writing an iPhone bluetooth remote control app for personal use only我编写仅供个人使用的 iPhone 蓝牙遥控应用程序的经验
【发布时间】:2016-12-21 05:06:56
【问题描述】:

所以我正在尝试在 XCode 中编写一个应用程序,该应用程序只需要传输 4 个唯一信号(上、下、左、右)来控制连接到 arduino 的电机。我不打算分发这个应用程序或它将命令的设备,我只是作为一个业余爱好者项目来做这个。

我才刚刚开始使用 xcode,但我设法在我的 iPhone 上创建了一个简单的单页应用程序,其中有 4 个按钮可以在按下/释放时更改图像。但是当我开始研究向我的应用程序添加蓝牙功能时,我遇到了一些障碍。

如果我从我的研究中正确理解,xcode 的主要蓝牙框架“核心蓝牙”仅适用于蓝牙 4.0“低能耗”设备或蓝牙经典设备的特定子集。我正在使用蓝牙伴侣银 (RN-42);蓝牙 Classic 2.1 + EDR 设备,假设能够与以下网站上宣传的 iOS 设备建立数据通信:http://www.microchip.com/wwwproducts/en/RN42

我确实设法通过我的 iPhone 连接到该板(由 iPhone 和 RN-42 分线板上的连接状态 LED 确认),方法是将其设置为使用 iOS 设备的指定配置文件,然后设置其 UUID到本站生成的一个:http://bluetooth-pentest.narod.ru/software/bluetooth_class_of_device-service_generator.html

UUID 0x200400 是通过为#Major Service Class 选择Audio,然后为#Major Device Class 选择Audio/Video 生成的。我只是在尝试这个站点生成的不同 UUID,它恰好是第一个导致我的蓝牙板被我的 iPhone 发现的 UUID,所以我可能还可以使用其他 UUID。

我读到有另一个用于 xcode 的蓝牙工具集,称为蓝牙管理器框架,但我读到它需要 Made For iPod (MFi) 开发人员许可证,该许可证适用于计划销售/分销产品的人所以显然我不想为此付出代价。有什么方法可以使用蓝牙管理器框架向已经通过 iPhone 设置配对/连接的设备发送传输命令?

现在一切似乎都如此绝望,但我并没有放弃,因为我确实成功地将我的蓝牙板连接到我的 iPhone,我只需要在每次按下按钮时发送一个字符,甚至是 2 位值(至少) /发布。我觉得必须有某种方法让我的 iPhone 在连接后向我的电路板传输一些东西。即使是通过发送快进、暂停、播放或倒带命令并将其用作电机控制信号。

在这一切之后,我确信我得到了一个 Android,但我仍然很想完成这项工作。任何有关此项目无望的帮助/建议/确认将不胜感激。

【问题讨论】:

  • 是的,RN42 模块不适合您想要做的事情。它可以通过添加 MFi 许可的芯片组或作为键盘 (HID) 与 iOS 一起使用,但这只会将数据发送到您的应用程序,它不能用于从您的应用程序接收数据。像这样的东西 - adafruit.com/products/2479 更适合。它可以获取使用 Core Bluetooth 发送的数据并将其传送到您的 Arduino 上的串行端口。

标签: ios iphone swift xcode bluetooth


【解决方案1】:

正如@Paulw11 提到的,我建议您使用除 MFi 之外的 BLE 板。 无论两个字节或更多字节,您都可以轻松建立链接并发送字符。 我记得微芯片确实有另一个启用了 AT 命令接口的 BLE 模块。请参考http://www.microchip.com/ParamChartSearch/Chart.aspx?branchID=12094 它们是您工作的两个选择:

  1. 您只需在您的 xcode 和您的 arduino 上实现一个 BLE 数据链路通道,此请求您还需要在 arduino 端编写代码来解析 up/down/other 事件。
  2. 您可以在您的 xcode 上实现 BLE 触摸或鼠标设备,这需要添加设备描述符,您可能不需要在 arduino 上编程(我还没有检查 arduino 侧代码)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多