iBeacon SDK trên Android

ibeacon sdk

trường hợp sử dụng càng tốt và mô hình kinh doanh cho các đèn hiệu cho phép người dùng tương tác vị trí phụ thuộc thậm chí trong các tòa nhà hiện đang được tranh luận sôi nổi. Trong cửa hàng quảng cáo và giảm giá, thanh toán di động, dẫn đường, phương tiện giao thông công cộng, nội địa hóa trong các tòa nhà công cộng và bảo tàng và tự động hóa nhà chỉ là những lời khuyên của tảng băng trôi. Và dĩ nhiên bộ sưu tập mặt ở khắp nơi dữ liệu – bây giờ mới và với thông tin vị trí chính xác. Trước khi tìm hiểu thêm về công nghệ iBeacon, chúng tôi cũng sẽ đề cập đến iBeacon SDK trong bài viết.

các hype là gì?

Giao thức iBeacon phát triển bởi Apple dựa trên Bluetooth Low Energy được hỗ trợ bởi một loạt các thiết bị. Bài báo giải thích iBeacons và Bluetooth năng lượng thấp và sử dụng các ví dụ về phát triển một ứng dụng Android cho danh sách mua sắm vị trí phụ thuộc vào thể hiện sự tương tác định vị phụ thuộc của một ứng dụng với iBeacons. Việc thực hiện được dựa trên MOKOSmart iBeacon SDK.

iBeacon, Bluetooth 4.0, BLE, THÔNG MINH. wot?

Công nghệ cơ bản cho iBeacon là Bluetooth. Bluetooth Low Energy (BLE), mà thường được gọi là nhãn marketing Bluetooth Smart, đã được bao gồm trong phiên bản 4.0 của chuẩn Bluetooth. BLE là không tương thích ngược với các phiên bản trước đó được gọi là Bluetooth cổ điển. Bluetooth 4.0 quy định cụ thể rằng các thiết bị tiêu chuẩn tuân thủ phải thực hiện một hoặc cả hai biến thể, ví dụ:. Năng lượng thấp hoặc cổ điển.

BLE được thực hiện trên điện thoại thông minh hầu hết hiện nay như iPhone 4+ và Samsung Galaxy 3+. Một chiếc iPhone có thể hoạt động cả hai như là một máy thu tín hiệu iBeacon và – không giống như Android – có một đèn hiệu chinh no. Android bao gồm trình điều khiển BLE từ phiên bản API 18, ví dụ:. Android 4.3. tình cờ, máy tính hiện nay cũng là BLE có khả năng. trong Windows, Tuy nhiên, các trình điều khiển chỉ có trên tàu từ Windows 8 và kể từ khoảng giữa năm 2011, BLE đã có sẵn trên máy tính Apple.

BLE tiếp tục hỗ trợ một loạt các thiết bị ngoại vi như máy theo dõi nhịp tim và máy bay trực thăng đồ chơi, nhiệt kế, thiết bị tập thể dục và bàn chải đánh răng, Vâng, bàn chải đánh răng và đôi giày thể thao.

Thú vị liên quan đến iBeacons là Sensor

Tag từ Texas Instruments, trong đó ngoài chức năng của nó như là một iBeacon cũng có thể đo nhiệt độ, độ ẩm, sức ép, và tăng tốc. Sensor Tag cũng đi kèm với một con quay hồi chuyển, một từ kế, và hai nút phần cứng. Các thiết bị lý tưởng để thuyết trình kiểm soát từ xa trong khi truyền tải và hiển thị độ ẩm và nhiệt độ của bàn tay của loa. Tôi nghĩ rằng dự án hố cát tiếp theo của tôi sẽ là sợ sân khấu-o-mat. Bạn có thể tìm thấy một danh sách chi tiết của thiết bị trên trang web chính thức Bluetooth.

GATT đã sẵn sàng

Mô hình truyền thông được sử dụng bởi các thiết bị để trao đổi dữ liệu được gọi là GATT – Generic Thuộc tính sơ. GATT xác định vai trò của client và server. Các khách hàng yêu cầu dữ liệu từ máy chủ thông qua các dịch vụ. Một cặp nhóm dịch vụ một số trọng điểm nguyên tử / giá trị, được gọi là đặc điểm. Cả hai dịch vụ và đặc điểm được xác định thông qua UUIDs và cũng có thể chứa thiệu thêm. Dịch vụ và đặc điểm của họ được xếp vào mục lục dưới dạng hồ sơ; đặc tả định nghĩa một phạm vi toàn bộ trong số họ từ các lĩnh vực chăm sóc sức khỏe, thể thao và tập thể dục và – trong trường hợp thú vị của chúng tôi – cảm biến tiệm cận. Các hồ sơ cá nhân và các dịch vụ và đặc điểm của họ có thể được tìm thấy trong các cổng thông tin nhà phát triển Bluetooth dưới GATT Thông số kỹ thuật.

GATT ibeacon sdk

Hãy đi thẳng vào ngọn hải đăng

Vì vậy, những gì iBeacons? iBeacon là một công nghệ rất đơn giản (và một thương hiệu của Apple cho phép tương tác định vị phụ thuộc với các ứng dụng. Một đèn hiệu gửi đi một tín hiệu có thể được nhận được với các thiết bị BLE tương thích và xử lý bởi các ứng dụng được cài đặt trên nó Signal chứa việc xác định các đèn hiệu và sức mạnh tiếp nhận. iBeacons mình đang có, vì thế – trái với tuyên bố không chính xác trên báo chí – không có khả năng cung cấp nội dung hay theo dõi các khách hàng hành vi. Đây là trách nhiệm của các ứng dụng nhận và do đó các nhà phát triển.

iBeacon IRL

triển khai lớn hơn của iBeacons ở Đức có lẽ sẽ là một thời gian dài sắp tới, nhưng có một số ví dụ từ Mỹ và Hà Lan. Ví dụ, Major League Baseball đã trang bị 28 sân vận động với iBeacons và sử dụng chúng, Trong số những thứ khác, cho check-in trong ứng dụng MLB “Tại Ballpark”.

Một giới thiệu được thực hiện trong Nhà Rubens ở Antwerp, mà cung cấp thông tin cơ bản như X-quang của bức tranh và Geocaching trò chơi dành cho khách.

Các ví dụ điển hình về quy mô xuất phát từ bản thân của Apple. Kết thúc 250 Apple Cửa hàng đã được trang bị với iBeacons. Kết hợp với ứng dụng Apple Store, thông điệp định vị phụ thuộc được gửi đến người mua đang ở trong cửa hàng. Tuy nhiên, sự tương tác có thể hiện dường như khá hạn chế: đánh giá đầu tiên báo cáo chỉ có hai khác nhau (và khá chung chung) thông điệp rằng họ sẽ nhận được. khuyến mại đặc biệt hoặc các thông tin cụ thể về các sản phẩm cá nhân lân cận không được cung cấp.

chức năng

iBeacon SDK không sử dụng một hồ sơ riêng biệt BLE, nhưng thay vì gói quảng cáo Bluetooth, ví dụ:. gói phát sóng, được sử dụng để khám phá các thiết bị Bluetooth. Nếu bạn đang quan tâm trong cấu trúc chính xác của gói, bạn có thể đọc, ví dụ, trên blog của Adam Warski của.

một gói đó được gửi đều đặn có thể được cấu hình thông qua GATT. Nó chứa các UUID của ngọn hải đăng, mà thường được cài đặt trước bởi nhà sản xuất. Vì vậy, tất cả các đèn hiệu MOKOSmart gửi UUID cùng. Lớn và nhỏ ID cũng được sử dụng để xác định các đèn hiệu cá nhân. ID chính thể đại diện, ví dụ, một chi nhánh của một cửa hàng hoặc một nhà hàng trong một chuỗi nhượng quyền thương mại, ID nhỏ một kệ đơn lẻ hoặc một bảng.

hơn nữa, cường độ tín hiệu được bao gồm trong các gói quảng cáo, mà có thể được sử dụng để đo khoảng cách của người nhận từ ngọn hải đăng. Tuy nhiên, bạn không thể mong đợi chính xác cao ở đây, kể từ khi tín hiệu có thể được che khuất bởi các chướng ngại vật không gian như bàn ghế hoặc những người.

IBeacon SDK cung cấp hai khái niệm cho sự tương tác của một ứng dụng với thông tin này: dao động và giám sát khu vực. khi dao động, khoảng cách đến ngọn hải đăng được xác định. Do sự thiếu chính xác nêu trên, này diễn ra chỉ trong ba giai đoạn. “Ngay tức khắc” là khoảng cách một vài cm, “Ở gần” là một vài mét và “Xa” là một khoảng cách hơn mười mét. Khác nhau, chỉ có thể nếu ứng dụng nhận được kích hoạt.

Đây không phải là cần thiết để giám sát khu vực. Trong chế độ này, một ứng dụng không hoạt động cũng có thể được thông báo khi vào hoặc rời khỏi một khu vực được xác định bởi một hoặc nhiều đèn hiệu. Chậm nhất bây giờ nó đang trở thành rõ ràng những gì làm cho công nghệ này hấp dẫn đối với quảng cáo và bán lẻ. Ngoài ra, đối với hầu hết các cảnh báo, sức mạnh truyền tải và khoảng thời gian có thể được cấu hình để tối ưu hóa tuổi thọ pin dựa trên điều kiện địa phương.

“Hầu hết các đèn hiệu” ngụ ý rằng có nhiều hơn một nhà sản xuất của iBeacons trên thị trường. Trong thực tế, có khá một vài: MOKOSmart, Kontakt.io, băng, Estimote, và Gimbal. Ngoài phần cứng, các nhà sản xuất cũng cung cấp dịch vụ và điện toán đám mây giải pháp iBeacon SDK cho việc quản lý các cảnh báo. Các người có sở thích giữa chúng ta có thể thiết lập iBeacon phát mình với tương đối ít nỗ lực sử dụng Raspberry Pi hoặc Arduino.

nhấp nháy danh sách

Chúng ta hãy giả định tình huống sau đây cho các ví dụ thực hiện: Các nhà phát triển là trong siêu thị vào sáng thứ bảy. trẻ em đói đang chờ đợi ở nhà và vào buổi chiều có một bán nướng ở trường. Chỉ khi đó sẽ ngày cuối tuần thực sự bắt đầu. lý do rất tốt để nhanh lên. không may, danh sách mua sắm được lâu và không phù hợp với cách bố trí của các siêu thị. Nếu siêu thị được trang bị iBeacons trong các phòng ban khác nhau, một ứng dụng danh sách mua sắm có thể làm nổi bật các mục phù hợp và làm giảm đáng kể mức độ căng thẳng của (dĩ nhiên hoàn toàn hư cấu) nhà phát triển.

Do ứng dụng của chúng tôi có để giao tiếp với Bluetooth, trước tiên chúng ta cần BLUETOOTH và BLUETOOTH_ADMIN phép trong manifest Android. Để có thể sử dụng các dịch vụ được cung cấp bởi các API Estimote để tương tác với iBeacons, chúng ta cũng phải làm cho nó được biết đến và đặt API tải trong libs của chúng tôi / thư mục.

Nguyên mẫu của chúng tôi bao gồm một đơn giản, danh sách và vùng lãnh thổ được xác định trước điền sẵn, ví dụ:. phòng ban trong siêu thị của chúng tôi. Một mục nhập danh sách biết mà khu vực đó được gán cho. Trong ví dụ của chúng tôi, chúng ta chỉ có một assign ngọn hải đăng cho từng vùng. Nó cũng có thể kết hợp một danh sách các cảnh báo vào một khu vực. Các hoạt động chính có trách nhiệm công nhận khu vực hiện tại và chuyển tiếp thông tin này để một adapter, có trách nhiệm cho làm nổi bật các mục danh sách. Ngoài ra, chúng ta thêm tùy chọn để chọn khu vực hoạt động mà không cảnh báo để làm kiểm chứng UI của chúng tôi mà không cần phần cứng bổ sung.

Trong hoạt động này là vào Create phương pháp, chúng tôi nhanh chóng một Giám đốc Beacon từ MOKOSmart cho ứng dụng của chúng tôi. Chúng tôi sử dụng một người biết lắng nghe đối với khu vực giám sát bằng cách làm cho khu vực hiện nay được biết đến với bộ chuyển đổi của chúng tôi và xác định khoảng thời gian cho quét đèn hiệu. Trong ví dụ này, chúng tôi xác định rằng một giây nên được quét và sau đó 250 ms nên chờ đợi. Những giá trị này được lựa chọn tương đối tích cực để có được kết quả nhanh chóng trong các thử nghiệm. Thực tế, sự cân bằng khó khăn giữa đáp ứng vs. Để đáp ứng Tuổi thọ pin. Trong nguyên mẫu này, chúng tôi cũng điền vào danh sách mua sắm của chúng tôi với các giá trị giả. Chúng ta bắt đầu hoặc ngừng theo dõi ở trên () Bắt đầu hoặc onStop () phương pháp hoạt động chính.

các ItemList

Adapter được thực hiện như một dẫn xuất của android.widget.Array Adapter và đè get Xem () phương pháp, được gọi là cho mỗi dòng được hiển thị. Tiêu đề của mục được viết trong dòng đầu tiên của tổng quan quy định tại các bố trí, trong lần thứ hai khu vực được phân công.

Như có thể thấy trong Liệt kê 1, khu vực nhập sẽ được chuyển giao cho các bộ chuyển đổi trong khu vực về nhập () gọi lại của MonitoringListener, mà được gán cho BeaconManager của chúng tôi: Danh mục Adaptor. phân biệt (khu vực). Khi gọi getView (), kiểm tra này cho dù khu vực của các mục nhập trong dòng phù hợp với khu vực hiện tại. Nếu đây là trường hợp, nó màu nền của dòng. Thêm vào đó hoặc cách khác, người ta cũng có thể đặt mục cho vùng hiện ngay từ đầu bằng cách phân loại danh sách.

Mã của ứng dụng là rõ ràng; nó không mất nhiều công sức triển khai để nhận tín hiệu iBeacon và xử lý chúng trong ứng dụng. Các khái niệm iBeacon khác nhau, và giám sát được ánh xạ trong MOKOSmart iBeacon SDK để họ có thể được sử dụng trực giác. Toàn bộ mã nguồn của ứng dụng có thể được tìm thấy trên GitHub.

Kết luận và triển vọng

Chúng tôi thấy rằng tương tác với iBeacons sử dụng MOKOSmart iBeacon SDK là dễ dàng để làm. Vì vậy, tôi không mong đợi rào cản lớn trong công nghệ thực hiện, mà là trong việc triển khai các cảnh báo và điều chỉnh công suất truyền. Các tham số này có tác động trực tiếp đến tính hiệu quả của ứng dụng khi vị trí thay đổi. Trong bất kỳ trường hợp nào, cân bằng nên khó khăn.

Đối với đặc biệt thú vị, ví dụ. B. trong lĩnh vực tự động hóa nhà, Tôi coi sự kết hợp của iBeacons với cảm biến, như trong Tag Sensor từ Texas Instruments nêu trên. Estimote cũng sẽ khởi động đèn hiệu điện thoại di động với cảm biến chuyển động và nhiệt độ trên thị trường với Estimote Stickers. Các nhà phát triển xem trước đầu tiên nên đã được chuyển giao vào cuối tháng Mười 2014, nhưng không có bộ dụng cụ được chuyển vào cuối năm 2014.

Nó vẫn còn phải chờ xem liệu các “nhà Navigation” khu vực ứng dụng có thể được ánh xạ một cách mạnh mẽ với công nghệ này. Do tính nhạy cảm của các tín hiệu Bluetooth để yếu tố can thiệp, chiếu sáng mạnh mẽ với các tín hiệu iBeacon của khu vực tương ứng và tính toán vị trí sử dụng tam giác với kế hoạch phòng sẽ là cần thiết. các giải pháp thích hợp được cung cấp bởi MOKOSmart (Trong nhà Navigation iBeacon SDK) và các nhà sản xuất khác nhau như LabWerk, nhưng tác giả là không nhận thức được bất kỳ báo cáo thực tế.

Với sự phát triển của một ứng dụng tương tác với iBeacons, khía cạnh bảo mật và bảo vệ dữ liệu cũng phải được đưa vào tài khoản. Do sự đơn giản của các tín hiệu, iBeacon là dễ bị giả mạo, mà không nên bị lãng quên trong sự phát triển. Dữ liệu như vị trí hiện tại và hồ sơ cá nhân phong trào có thể được thu thập dựa trên hành vi người dùng cũng có nhu cầu cao đối với bảo vệ.

SDK iKeacon MOKOSMART

giải pháp sdk ibeacon