Có thể để MacBook của tôi trở thành một iBeacon?


14

Có thể để MacBook của tôi trở thành một iBeacon ?

Tôi muốn nó tự phát sóng tới các thiết bị iOS hỗ trợ iBeacons. Nếu điều này là có thể, các yêu cầu phần cứng của máy tính là gì (ví dụ như Bluetooth 4.0 có đủ không?) Và tôi sẽ làm như thế nào?

Cập nhật : Tôi chủ yếu tìm kiếm một cách để làm điều này mà không cần bất kỳ phần cứng bổ sung nào (vì MacBook của tôi đã tích hợp Bluetooth).


Xem stackoverflow.com/a/19741615/35690 cho một câu hỏi tương tự.
Ý thức

Câu trả lời:


6

Nếu bạn là một lập trình viên, tôi đã đăng các hướng dẫn về cách sử dụng MacBook với Mavericks như một iBeacon. Bạn có thể tìm thấy các hướng dẫn trên blog của tôi tại http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/

Nếu / Khi tôi có cơ hội tôi có thể tạo một ứng dụng mà bạn có thể sử dụng để quảng cáo iBeacon.

Đây là câu trả lời tôi đã đưa ra cho một câu hỏi tương tự trên Stack Overflow


Mavericks không có hỗ trợ iBeacon trong Vị trí cốt lõi đã được thêm vào iOS 7. Tuy nhiên, Mavericks hiện có khả năng hoạt động như một thiết bị ngoại vi BLE. Cho rằng một iBeacon về cơ bản là một thiết bị ngoại vi, nên có thể sử dụng Mavericks như một iBeacon.

Để tạo iBeacon trên iOS, trước tiên bạn tạo một CLBeaconRegionđối tượng và sau đó sử dụng peripheralDataWithMeasuredPower:phương thức để lấy NSDictionarydữ liệu quảng cáo cần thiết để phát. Nếu bạn lấy nội dung này NSDictionarytừ thiết bị iOS và sử dụng nó trên Mavericks thì bạn sẽ nhận được iBeacon.

Tôi đã tạo một lớp để làm điều này dễ dàng hơn và cho phép bạn tạo từ điển dữ liệu quảng cáo trực tiếp trên Mavericks. Mã nguồn có sẵn tại https://github.com/mttrb/BeaconOSX

Các BLCBeaconAdvertisementDatalớp học lấy proximityUUID, major, minorvà các giá trị năng lượng hiệu chuẩn và tạo ra một NSDictionary có thể được truyền cho startAdvertising:phương pháp CBPeripheralManagertrên Mavericks.

Các BLCBeaconAdvertisementDatalớp học khá đơn giản. Công việc chính được thực hiện theo phương pháp sau:

- (NSDictionary *)beaconAdvertisement {
    NSString *beaconKey = @"kCBAdvDataAppleBeaconKey";

    unsigned char advertisementBytes[21] = {0};

    [self.proximityUUID getUUIDBytes:(unsigned char *)&advertisementBytes];

    advertisementBytes[16] = (unsigned char)(self.major >> 8);
    advertisementBytes[17] = (unsigned char)(self.major & 255);

    advertisementBytes[18] = (unsigned char)(self.minor >> 8);
    advertisementBytes[19] = (unsigned char)(self.minor & 255);

    advertisementBytes[20] = self.measuredPower;

    NSMutableData *advertisement = [NSMutableData dataWithBytes:advertisementBytes length:21];

    return [NSDictionary dictionaryWithObject:advertisement forKey:beaconKey];
}

Tôi có một bài viết blog chi tiết hơn về điều này tại http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/


4

1) Bạn sẽ cần có chipset / bộ thu bluetooth 4.0 BLE (Bluetooth Low Energy) để gắn vào / cài đặt trong MacBook.

Điều này sẽ cho phép bạn truyền tín hiệu đèn hiệu.

2) Bạn sẽ cần tạo hoặc mua phần mềm có thể sử dụng chipset một cách thích hợp.

Điều này sẽ cho phép bạn nhận ra sự hiện diện của các thiết bị hỗ trợ đèn hiệu gần đó, chẳng hạn như iPhone mới và tương tác với chúng một cách thích hợp.

Đây là một trang web giải thích thêm về iBeacons và BLE với một số video ví dụ hay (thực sự được liên kết đến từ 'iBeacon' trong câu hỏi ban đầu):

Apple iBeacons đã giải thích - Nó là gì và tại sao nó lại xuất hiện - Pocket-lint

Dưới đây là đường dẫn đến một công ty bán máy phát / máy thu BLE để sử dụng thương mại (được đề cập trong bài viết trên). Trang web này cũng cung cấp một cái nhìn tổng quan về cách thức hoạt động của công nghệ:

Beacons ước tính - bối cảnh thế giới thực cho các ứng dụng của bạn

Trang web này cung cấp chi tiết về BLE:

Năng lượng thấp | Trang web công nghệ Bluetooth

Sau đó, tôi sẽ nói, đội chiếc mũ kỹ thuật của bạn và bắt đầu tìm kiếm chipset và giải pháp phần mềm!

Chúc vui vẻ!

Biên tập:

Một tên khác cho BLE là Bluetooth Smart. Tìm kiếm phần cứng và / hoặc phần mềm là Bluetooth Smart (chỉ sử dụng BLE) hoặc Bluetooth Smart Ready (thực hiện cả bluetooth và BLE cũ). Một số danh sách có trên Trang web Công nghệ Bluetooth (giống như trên) và tìm kiếm Google sẽ đưa ra một vài ứng dụng đã được tạo.

Một tìm kiếm khác đưa ra một tài liệu cho các nhà phát triển của Apple:

Nguyên tắc thiết kế Bluetooth của Apple (từ trung tâm nhà phát triển của họ)

và một công cụ phát triển nhanh chóng cho các nhà phát triển của Apple (từ bluetooth.org):

Nhà phát triển Apple | Cổng thông tin phát triển Bluetooth


Xin lỗi, tôi nên làm rõ, tôi đang tìm một giải pháp không yêu cầu phần cứng bên ngoài. Vì một số MacBook đã tích hợp Bluetooth 4.0, tôi đã hy vọng có một giải pháp có thể sử dụng đó thay vì phải thêm nhiều phần cứng.
Ý thức

Các yêu cầu là như nhau - vì vậy MacBook của bạn là Bluetooth Smart Ready. Bây giờ, bạn cần tìm (hoặc viết phần mềm của riêng bạn) để tận dụng lợi thế của công nghệ.
leanne

Tôi đã thêm một số liên kết và thông tin thêm trong câu trả lời của mình để giúp nghiên cứu bổ sung.
leanne

2

Tôi đã sử dụng một công cụ nhỏ gọi là MactsAsBeacon. Tất cả bạn cần làm là tải xuống tệp .app và mở nó. Sau đó, nó cho phép bạn đặt các giá trị UUID, Major, Minor và Power.

https://github.com/timd/MactsAsBeacon


Đẹp tìm thấy! Đó là một sự phù hợp hoàn hảo cho vấn đề.
Ian C.

0

Tạo một VM sẽ hoạt động như một iBeacon.

http://developer.radiusnetworks.com/ibeacon/virtual.html

:)


Bạn đã đăng bài này dưới dạng câu trả lời, chỉ dành cho những điều trực tiếp trả lời câu hỏi.
Daniel

Câu trả lời này có liên quan đến câu hỏi mặc dù tôi tin rằng nó yêu cầu phần cứng bên ngoài mà OP không muốn. Sử dụng máy ảo trong bài viết sẽ cung cấp cho bạn một iBeacon hoạt động trên MacBook.
mttrb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.