7

有人知道如何建立从自写 iOS 应用程序到新的 LEGO Mindstorms EV3 可编程积木的蓝牙连接吗?

我尝试通过 CBCentralManager 的 scanForPeripheralsWithServices:options: 方法执行此操作,但无法识别砖块。

但是如果我在 iPhone 的设置中启用蓝牙,那么 EV3 设备就会显示在那里。LEGO(“指挥官”)的 AppStore 中还有一个应用程序,它通过蓝牙与积木交谈,所以我认为这通常应该是可能的(据我所知,以前的 Mindstorms NXT 积木是不可能的)。

有人知道我该怎么做吗?

谢谢!

4

4 回答 4

4

如前所述,该设备未使用 CoreBluetooth 列出,使用 EAcessory 框架获取,您需要在 App-Info.plist 中的 UISupportedExternalAccessoryProtocols 中拥有项目“COM.LEGO.MINDSTORMS.EV3”:

<EAAccessory: 0x15567180> {
  connected:YES
  connectionID:18565483
  name: MFI Accessory
  manufacturer: LEGO
  modelNumber: DM240411
  serialNumber: 
  firmwareRevision: 1.0.0
  hardwareRevision: 1.0.0
  protocols: (
    "COM.LEGO.MINDSTORMS.EV3"
)
  delegate: (null)
}

与 Lego 应用程序一样,您需要先使用设置应用程序连接到 EV3。然后,查看 Apple EADemo示例,它展示了如何使用 EASession(封装读/写流)。

也许发送像从 monobrick.dk 源代码中收集的 C# 之类的数据(在 Mailerdaimon 回答中说)会起作用......我将通过 Wifi 尝试(在将 C# 移植到 ObjC 之后,长期工作),之后,写入 EASession 可能更容易。完成后我会更新这个答案。

于 2014-02-24T21:11:37.273 回答
1

您将不得不等到 Lego 发布希望包含有关协议信息的 SDK。NXT 可以做到,我认为 EV3 也可以。

同时,您可以尝试通过 Wifi 发送您的消息,这现在是可行的

于 2013-10-30T13:25:01.207 回答
0

请注意,EV3 通过蓝牙进行通信有两种协议。一种由 iPhone 上的 LEGO EV3 应用程序使用,另一种可通过 USB-HID 和 WiFi 使用,部分由通信开发人员手册源代码指定。后一种协议是您应该使用的协议。

您可以调用/链接/检查我的c4ev3上传器的源代码,以查看连接是如何实现的。

HTH。

于 2016-06-08T12:27:48.473 回答
-1
  1. 启用 EV3 程序块上的蓝牙和 iPod/iPhone 选项。可以从 EV3 上的工具菜单中完成。
  2. 在 iPhone 上启用蓝牙。
  3. 开始蓝牙配对过程。
  4. 在 iPhone 上启动 Lego EV3 应用程序。完毕。
于 2013-09-08T04:56:50.660 回答