12/08/2018, 14:26

Sử dụng Beacon để xây dựng chức năng định vị trong nhà trên điên thoại đi động

Giới thiệu 1. Khái niệm chung: Beacon là thiết bị điện tử nhỏ phát ra tín hiệu bluetooth năng lượng thấp Bluetooth Low Energy (BLE). Bất kỳ thiết bị nào có công nghệ BLE đều có thể bắt được tín hiệu này, chẳng hạn điện thoại thông minh và máy tính bảng. Công nghệ mới này tạo ra cuộc cách ...

Giới thiệu

1. Khái niệm chung:

Beacon là thiết bị điện tử nhỏ phát ra tín hiệu bluetooth năng lượng thấp Bluetooth Low Energy (BLE). Bất kỳ thiết bị nào có công nghệ BLE đều có thể bắt được tín hiệu này, chẳng hạn điện thoại thông minh và máy tính bảng. Công nghệ mới này tạo ra cuộc cách mạnh hóa cho quyết định của các công ty về phương thức tùy chỉnh sản phẩm và dịch vụ của mình hướng đến khách hàng.

Hiện tại thì cả 2 ông lớn trong làng công nghệ là Apple và Google đều đã phát triển riêng cho mình những thiết bị dựa trên Beacon để phục vụ các mục đích khác nhau.

a. Với Apple, các đại gia đã sản xuất ra thiết bị được đặt tên là Ibeacon

  • Thiết bị có thể định vị vị trí dựa trên Bluetooth thông minh để trao đổi thông tin với các iBeacon. Hệ thống hoạt động dựa trên một số nhận diện ID mà bộ phát sử dụng để truyền thông tin tới các ứng dụng Apps gần thiết bị di động. iBeacon được giới thiệu trong sự kiện cập nhật thông tin về iOS 7 của Apple, và được triển khai trong hệ thống cửa hàng của Apple Stores từ tháng 12, năm 2013.
  • iBeacon có thể được sử dụng nhiều nơi: bao gồm khả năng tạo ra tour du lịch thông minh trong viện bảo tàng, với ứng dụng chỉ ra lịch sử và thông tin của các hiện vật ở gần thiết bị di động. iBeacon còn được sử dụng bới khách hàng và người bán hàng để hộ trợ định vị khách hàng trong cửa hàng và gởi thông báo thông tin giảm giá và danh sách sản phẩm mà khách hàng quan tâm, bên cạnh đó có khả năng thay thế hệ thống thanh toán truyền thống, tiền mặt, check và thẻ tín dụng. iBeacon được sử dụng để định vị vị trí chính xác trong nhà, khác với GPS dùng để định vị vị trí ngoài trời.
  • iBeacon được triển khai ứng dụng ra bên ngoài Apple, từ đấu năm, tháng 1, năm 2014, với lựa chọn từ cửa hàng Giant Eagle và Safeway.
  • Thiết bị điện thoại/ đi động hỗ trợ iBeacons: thiết bị iOS 7, như iPhone 4S trở lên (iPhone 5, iPhone 5S, iPad3, iPad mini, Ipad retina, ..) và các thiết bị Android 4.3 trở lên với Bluetooth Smart 4.0 ..

b. Với Google, họ đã phát hành một loại thiết bị tương tự có tên EddyStone

  • So với Ibeacon của google thì EddyStone có vẻ ưu việt hơn ở phần phạm vi sử dụng. nếu Ibeacon chỉ sử dụng được trên nền tảng IOS thì EddyStone có thể dùng được ở cả IOS và Android.
  • Do đây là dự án mã nguồn mở nên việc hỗ trợ phần cứng sẽ càng được mở rộng hơn trong tương lai, chưa kể đến chuyển nó sẽ giúp cho hệ sinh thái beacon phát triển và ngày càng được dùng phổ biến hơn
  • Đặc biệt, Eddystone còn có khả năng gửi một đường link, link đó sẽ được mở bằng bất kì trình duyệt nào để tải dữ liệu tương ứng một cách nhanh chóng, không buộc người dùng phải cài app (tiện trong những trường hợp cần tương tác nhanh lẹ).
  • Về phần Google, trước mắt hãng muốn dùng Eddystone để gửi thông tin đến Google Now trên điện thoại của chúng ta, từ đó giúp Now hiển thị thông tin chính xác hơn dựa trên địa điểm của người dùng (ví dụ: tự hiện menu khi bạn đang trong nhà hàng).
  1. Quy trình làm việc của Beacon
  • Mỗi ngọn Beacon có một máy phát Bluetooth năng lượng thấp. Nó phát tín hiệu vô tuyến nhỏ duy nhất trong không khí, vị trí cụ thể dữ liệu.
  • Điện thoại thông minh sẽ không ngừng quét các tín hiệu. Nếu vào phạm vi của ứng dụng liên quan đến phản ứng với những hành động mong muốn.
  • Ví dụ, nó có thể lấy nội dung được gắn vào hồ sơ của người dùng hoặc vi địa điểm. Ứng dụng cũng có thể đẩy vào dữ liệu người dùng trên đám mây hay thống kê.
  • Nội dung sẽ được hiển thị như một thông báo hoặc trực tiếp trong ứng dụng. màn hình gần đó cũng có thể phản ứng với các thông tin có liên quan.
  • Dưới đây là đoạn code nhỏ mô phỏng hoạt động của Beacon
let monitoringManager = ESTMonitoringManager()
        monitoringManager.startMonitoringForIdentifier("7f6d1ab0", inProximity: .Near)

        func monitoringManager(manager: ESTMonitoringManager,
                               didEnterRangeOfIdentifier identifier: String) {
          ESTRequestGetBeaconDetails(identifier: identifier).sendRequest { (details)
            if user.isFirstTimeIn(details.geoLocation) {
              showNotification("First time in (details.name)? Swipe here for our recommendations.")
            } else {
              showNotification("Welcome back to (details.name)! Swipe here to learn what's new.")
            }
          }
        }

0