有谁知道如何建立一个从自己编写的iOS应用程序到新的乐高Mindstorms EV3可编程积木的蓝牙连接?
我试图通过CBCentralManager的scanForPeripheralsWithServices:options:方法来实现这一点,但是砖块不被识别。
但是如果我在iPhone的设置中启用了蓝牙,那么EV3设备就会显示在那里。还有一个来自乐高(“指挥官”)的AppStore应用程序可以通过蓝牙与砖块对话,所以我认为这在一般情况下应该是可能的(据我所知,这对于之前的Mindstorms NXT砖块是不可能的)。
有谁知道我该怎么做吗?
谢谢!
发布于 2014-02-25 05:11:37
如上所述,该设备不是使用CoreBluetooth列出的,而是使用EAcessory框架获取的,你需要在你的应用程序信息列表中的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。然后,看看苹果EADemo示例,它展示了如何使用EASession (封装读/写流)。
也许像从monobrick.dk源代码中收集的C#一样发送数据(在Mailerdaimon的回答中是这样说的)会起作用……我将尝试通过Wifi (在将C#移植到ObjC之后,这是一项漫长的工作),在那之后,写入EASession可能会更容易。完成后,我会更新这个答案。
发布于 2013-10-30 21:25:01
你将不得不等到乐高发布SDK,它有希望包含有关协议的信息。这在NXT上是可能的,我认为在EV3上也是可能的。
同时,你也可以尝试通过possible right now无线网络发送你的信息。
发布于 2016-06-08 20:27:48
请注意,EV3在蓝牙上使用两种协议进行通信。一个是由iPhone上的乐高EV3应用程序使用的,另一个是通过USB-HID和WiFi提供的,部分由Communication developer manual和source code指定。后一种协议是您应该使用的。
您可以针对/链接/查看c4ev3的my uploader源代码来查看连接是如何实现的。
HTH。
https://stackoverflow.com/questions/18677386
复制相似问题