首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从iOS应用程序蓝牙连接到乐高Mindstorms EV3积木

从iOS应用程序蓝牙连接到乐高Mindstorms EV3积木
EN

Stack Overflow用户
提问于 2013-09-08 04:02:31
回答 4查看 15.7K关注 0票数 7

有谁知道如何建立一个从自己编写的iOS应用程序到新的乐高Mindstorms EV3可编程积木的蓝牙连接?

我试图通过CBCentralManager的scanForPeripheralsWithServices:options:方法来实现这一点,但是砖块不被识别。

但是如果我在iPhone的设置中启用了蓝牙,那么EV3设备就会显示在那里。还有一个来自乐高(“指挥官”)的AppStore应用程序可以通过蓝牙与砖块对话,所以我认为这在一般情况下应该是可能的(据我所知,这对于之前的Mindstorms NXT砖块是不可能的)。

有谁知道我该怎么做吗?

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2014-02-25 05:11:37

如上所述,该设备不是使用CoreBluetooth列出的,而是使用EAcessory框架获取的,你需要在你的应用程序信息列表中的UISupportedExternalAccessoryProtocols中有"COM.LEGO.MINDSTORMS.EV3“项:

代码语言:javascript
复制
<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。然后,看看苹果EADemo示例,它展示了如何使用EASession (封装读/写流)。

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

票数 4
EN

Stack Overflow用户

发布于 2013-10-30 21:25:01

你将不得不等到乐高发布SDK,它有希望包含有关协议的信息。这在NXT上是可能的,我认为在EV3上也是可能的。

同时,你也可以尝试通过possible right now无线网络发送你的信息。

票数 1
EN

Stack Overflow用户

发布于 2016-06-08 20:27:48

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

您可以针对/链接/查看c4ev3my uploader源代码来查看连接是如何实现的。

HTH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18677386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档