从iOS应用程序到LEGO Mindstorms EV3砖的蓝牙连接

时间:2013-09-07 20:02:31

标签: ios bluetooth lego mindstorms

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

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

但如果我在iPhone的设置中启用蓝牙,则会在那里显示EV3设备。 LEGO(“Commander”)的AppStore中还有一个应用程序通过蓝牙与砖块对话,所以我认为这应该是可能的(因为我知道,以前的Mindstorms NXT砖块是不可能的)。 / p>

有人知道我该怎么做吗?

谢谢!

4 个答案:

答案 0 :(得分:3)

如上所述,设备未使用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)
}

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

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

答案 1 :(得分:1)

您必须等到乐高发布SDK,希望其中包含有关协议的信息。 有可能使用NXT,我认为可以使用EV3。

与此同时,您可以尝试通过Wifi possible right now发送消息。

答案 2 :(得分:0)

请注意,EV3有两种协议可通过蓝牙进行通信。一个用于iPhone上的LEGO EV3应用程序,另一个用于通过USB-HID和WiFi提供,部分由Communication developer manualsource code指定。后一种协议是您应该使用的协议。

您可以致电/链接/查看my uploader c4ev3的源代码,了解如何实现连接。

HTH。

答案 3 :(得分:-1)

  1. 在EV3磁贴上启用蓝牙和iPod / iPhone选项。可以从EV3上的工具菜单中完成。
  2. 在iPhone上启用蓝牙。
  3. 启动蓝牙配对过程。
  4. 在iPhone上启动Lego EV3应用程序。 完成。