2013-09-07 117 views
5

Có ai biết cách thiết lập kết nối bluetooth từ ứng dụng iOS tự viết cho brick lập trình LEGO Mindstorms EV3 mới không?Kết nối Bluetooth với khối LEGO Mindstorms EV3 từ ứng dụng iOS

Tôi đã cố gắng thực hiện điều này thông qua phương thức scanForPeripheralsWithServices: options: phương thức CBCentralManager, nhưng không nhận dạng được.

Nhưng nếu tôi bật Bluetooth trong Cài đặt của iPhone thì thiết bị EV3 được hiển thị ở đó. Ngoài ra còn có một ứng dụng trong AppStore từ LEGO ("Commander") nói chuyện với gạch thông qua Bluetooth, vì vậy tôi nghĩ rằng điều này có thể nói chung (như tôi biết, nó không thể cho gạch Mindstorms NXT trước đó).

Có ai có ý tưởng về cách tôi có thể thực hiện việc này không?

Cảm ơn!

+0

Tôi cũng tự hỏi mình có thể tìm giao thức bluetooth cho iphone và android ở đâu. Hãy cho tôi biết tiến trình của bạn plz – GingerJim

+0

[tại đây] (http: //bricks.stackexchange.com/questions/652/how-can-i-wirelessly-connect-the-nxt-and-an-ios-device) một số thông tin trong liên kết này có thể có liên quan. iphone chỉ cho phép kết nối bluetooth với tai nghe và các thiết bị ios khác. không chắc chắn cách ứng dụng chính thức đạt được điều đó – GingerJim

+0

Bạn có đang chuyển bất kỳ dịch vụ nào vào mảng dịch vụ không? Nếu bạn đang có, bạn có thể chặn gạch. Ngoài ra, bạn có chắc chắn để thiết lập các đại biểu để tự? – Mark

Trả lời

0
  1. Bật tùy chọn Bluetooth và iPod/iPhone trên gạch EV3. Có thể được thực hiện từ menu công cụ trên EV3.
  2. Bật Bluetooth trên iPhone.
  3. Bắt đầu quá trình ghép nối Bluetooth.
  4. Khởi chạy ứng dụng Lego EV3 trên iPhone. Xong.
+1

Xin lỗi - có lẽ câu hỏi của tôi chưa đủ rõ ràng. Tôi muốn biết làm thế nào để làm điều này trong mã từ ứng dụng tự viết của riêng tôi. – iosdeveloper

+0

đây không phải là câu trả lời rõ ràng – GingerJim

1

Bạn sẽ phải chờ cho đến khi Lego phát hành SDK, hy vọng chứa thông tin về giao thức. Nó có thể với NXT và tôi nghĩ rằng nó sẽ có thể với EV3.

Đồng thời, bạn có thể thử gửi tin nhắn qua Wifi là possible right now.

2

Như đã nói, các thiết bị không được liệt kê bằng CoreBluetooth, đã nhận nó sử dụng khuôn khổ EAcessory, bạn cần phải có mục "COM.LEGO.MINDSTORMS.EV3" trong UISupportedExternalAccessoryProtocols tại của bạn App-Info.plist:

<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) 
} 

Giống như ứng dụng Lego, trước tiên bạn cần kết nối với EV3 bằng Ứng dụng Cài đặt. Sau đó, hãy xem mẫu Apple EADemo, nó cho thấy cách sử dụng EASession (đóng gói luồng đọc/ghi).

Có thể gửi dữ liệu như C# được thu thập từ mã nguồn monobrick.dk (cho biết trong câu trả lời Mailerdaimon) sẽ hoạt động ... Tôi sẽ thử qua Wifi (sau khi chuyển C# sang ObjC, công việc dài), sau đó, bằng văn bản cho EASession có thể dễ dàng hơn. Tôi sẽ cập nhật câu trả lời này khi hoàn thành.

0

Lưu ý rằng có hai giao thức mà EV3 liên lạc qua Bluetooth. Một được sử dụng bởi các ứng dụng LEGO EV3 trên iPhone và một trong những khác là cùng có sẵn trên USB-HID và WiFi và được một phần quy định bởi Communication developer manual và bởi source code. Giao thức thứ hai là giao thức bạn nên sử dụng.

Bạn có thể gọi/liên kết ngược/kiểm tra mã nguồn của my uploader cho c4ev3 để biết cách kết nối được thực hiện.

HTH.