VBLUno - Tutorial 2 - Tổng quan về công nghệ BLE và ví dụ minh họa (Phần 1)

Mô tả dự án: 

Qua tutorial 1, các bạn đã được giới thiệu về bo mạch VBLUno, hướng dẫn cài đặt môi trường cho Arduino và ví dụ Hello World. Như đã nói, với VBLUno thì điểm nhấn chính là khả năng hỗ trợ giao tiếp Bluetooth Low Energy (BLE). Trước khi bắt tay vào lập trình giao tiếp BLE, các bạn cần phải nắm được các vấn đề cơ bản về BLE. Bài viết này được viết với mục đích đó, hy vọng sẽ tạo tiền đề thuận lợi cho các bạn trong quá trình nghiên cứu sâu hơn về BLE

Giới thiệu

Nội dung trình bày trong phần này

  • Giới thiệu công nghệ Bluetooth Low Energy (BLE);
  • Mô hình mạng truyền thông cho BLE.

Nội dung sẽ trình bày trong phần 2:

  • Protocols và Profiles;
  • Bộ giao thức cho BLE;
  • Các profiles quan trọng: GAP và GATT;
  • Ví dụ minh họa thiết bị theo dõi nhịp tim (Heart Rate Monitor).

Giới thiệu công nghệ Bluetooth Low Energy

Trước hết cần nói rằng BLE không phải là tất cả, nó không thay thế hoàn toàn các chuẩn truyền thông không dây khác như Wifi, Zigbee,… hay thậm chí là Classic Bluetooth (2.0). Nó được thiết kế với mục đích chuyên biệt hơn, với miền ứng dụng cụ thể hơn.

BLE (Bluetooth 4.0 trở đi) được thiết kế cho các ứng dụng:

  • Siêu tiết kiệm năng lượng, cho phép thiết bị hoạt động trong vài tháng hoặc vài năm chỉ với một viên pin đồng xu (coin-cell battery);
  • Khoảng cách ngắn, hoạt động ổn định trong phạm vi 10m;
  • Dữ liệu truyền tải không lớn, thích hợp cho các ứng dụng điều khiển không liên tục, cảm biến.

Các ứng dụng điển hình sử dụng BLE như thiết bị theo dõi sức khỏe, beacons, nhà thông minh, an ninh, giải trí, cảm biến tiệm cận, ô tô. Trung tâm của một hệ thống ứng dụng BLE thường là Smart phones, tablets và PCs.

Lịch sử phát triển công nghệ Bluetooth

BR
Basic Rate (1Mbps)
1.0, 1.1, 1.2
1999, 2002, 2003
EDR
Enhanced Data Rate (2Mbps và 3 Mbps)
2.0
2004
HS
High Speed
3.0
2009
LE
Low Energy (1Mbps), siêu tiết kiệm năng lượng)
4.0
2010
LE, có hỗ trợ LTE
4.1
2013
LE, cho phép kết nối IP, bảo mật và tốc độ cao
4.2
2014
 
Đã ra mắt : So với BT4.2 thì tốc độ tăng 2 lần, tầm phủ sóng tăng 4 lần
Dự kiến quý 1 năm 2017 sẽ xuất hiện trên các thiết bị thương mại
5.0
2016

Bo mạch VBLUno của VNGIoTLab sử dụng chip Nordic nRF51822, hiện tại hỗ trợ đến chuẩn Bluetooth 4.2

Điều gì làm BLE trở nên khác biệt?

  • Sự phát triển mạnh của các thiết bị thông minh dẫn đến nhu cầu kết nối các thiết bị với bên ngoài tăng mạnh. Trong khi BLE được tích hợp trong hầu hết các điện thoại thông minh.
  • Giá thành thấp.
  • BLE cho phép các thiết bị có thể “nói chuyện” với các nền tảng di động hiện đại.
  • Một số thiết bị chỉ cần truyền nhận một lượng nhỏ dữ liệu cho mỗi chu kỳ kết nối và chúng cũng cần tiết kiệm năng lượng, ví dụ như thiết bị theo dõi nhịp tim, thiết bị quản lý trẻ em,…
  • BLE có mô hình dữ liệu tương đối dễ hiểu, không cần chi phí giấy phép với một Protocol stack không quá phức tạp.

Các kiểu thiết bị Bluetooth

Tài liệu Bluetooth Specification (4.0 trở đi) định nghĩa hai công nghệ không dây sau:

  • BR/EDR (Classic Bluetooth)
  • BLE (Bluetooth Low Energy)

Các kiểu thiết bị Bluetooth phổ biến hiện nay được khái quát trong hình dưới:

Hình 1: Các kiểu thiết bị Bluetooth

Như hình trên ta thấy, thiết bị BLE gồm hai loại là Bluetooth Smart và Bluetooth Smart Ready.

  • Bluetooth Smart (Single mode): Chỉ có thể giao tiếp với thiết bị Bluetooth Smart hoặc Bluetooth Smart Ready
  • Bluetooth Smart  Ready (Dual mode): Có thể giao tiếp được các loại thiết bị Bluetooth như Bluetooth Smart, Bluetooth Smart Ready và Classic Bluetooth.

Chip nRF51822 thuộc loại Bluetooth Smart.

Các khối chính của một thiết bị Bluetooth

Mỗi thiết bị Bluetooth gồm 3 khối chính sau:

  • Application: Ứng dụng người dùng giao tiếp với Bluetooth protocol stack.
  • Host: Các lớp trên của Bluetooth protocol stack.
  • Controller: Các lớp dưới của Bluetooth protocol stack, bao gồm chức năng truyền nhận radio.

(Bluetooth Protocol Stack: Bộ giao thức dạng stack cho phép các thiết bị Bluetooth thiết lập, kết nối, truyền nhận dữ liệu với nhau)

Ba khối chính của một thiết bị Bluetooth được tích hợp vào phần cứng theo nhiều kiểu khác nhau, dưới đây là 3 kiểu cấu hình phần cứng chính:

Hình 2: Các kiểu cấu hình phần cứng cho thiết bị Bluetooth

Chip nRF51822 thuộc loại System on Chip (SoC), các thành phần của Bluetooth được tích hợp trong một chip duy nhất.

Các giới hạn chính của BLE

Thông lượng dữ liệu nhỏ

Tần số điều chế của sóng BLE trong không gian là 1Mbps. Đây là giới hạn trên của thông lượng theo lý thuyết. Tuy nhiên trong thực tế tham số này nhỏ hơn do ảnh hưởng của nhiều yếu tố.

Để minh họa ta đặt giả thiết là một thiết bị trung tâm (Master) được khởi tạo và thiết lập kết nối đến một ngoại vi (Slave) qua giao diện BLE:

  • Ta có khái niệm về chu kỳ kết nối (Conneciton interval), đây là khoảng thời gian giữa 2 sự kiện kết nối liên tiếp. Với BLE, khi một sự kiện kết nối diễn ra, các thiết bị trong kết nối sẽ trao đổi dữ liệu với nhau, sau đó trở về trạng thái IDLE để tiết kiệm năng lượng, và chờ đến thời điểm thì thực hiện sự kiện kết nối tiếp theo. Tham số này nằm trong khoảng 7.5ms đến 4s.
  • nRF51822 có thể truyền đến 6 gói dữ liệu trong mỗi sự kiện kết nối. Mỗi gói có thể chứa 20 bytes dữ liệu của người dùng.
  • Giả sử tần số sự kiện kết nối là lớn nhất (chu kỳ kết nối nhỏ nhất = 7.5ms). Khi đó mỗi giây có thể xảy ra tối đa 133 sự kiện kết nối

==> Công thức tính thông lượng: 133 * 120 = 15960 bytes/s (125Kbit/s)

Theo khuyến cáo thì ta nên lựa chọn thông lượng khoảng 80 Kbit/s. Điều này cũng nói lên vì sao Wifi, classic bluetooth vẫn có chỗ đứng.

Khoảng cách gần

Các yếu tố ảnh hưởng đến khoảng cách truyền thông như môi trường hoạt động, thiết kế anten, vật cản, hướng thiết bị,…. BLE tập trung vào các ứng dụng truyền thông trong phạm vi gần. Với BLE ta có:

  • Khoảng cách lý thuyết: 100m (điều kiện tốt).
  • Khoảng cách khả thi: 30m.
  • Khoảng cách thường được sử dụng: 2-5m.

Mô hình mạng truyền thông cho BLE

Một thiết bị BLE có thể giao tiếp với bên ngoài thông qua 2 cơ chế: Broadcasting hoặc Connection. Mỗi cơ chế có thế mạnh và giới hạn riêng, cả hai được thiết lập bởi GAP (Generic Access Profile).

Broadcasting và Observing

Hình 3: Mô hình broadcast

  • Thiết bị Broadcaster: Gửi các gói tin quảng bá phi kết nối đến bất kỳ thiết bị nào có thể nhận.
  • Thiết bị Observer: Quét liên tục theo tần số đặt trước để nhận các gói tin quảng bá phi kết nối

Đây là kiểu truyền thông cho phép một thiết bị có thể truyền dữ liệu đến nhiều thiết bị khác nhau cùng lúc (một chiều). Đây là cơ chế nhanh chóng và dễ sử dụng, là lựa chọn tốt nếu muốn truyền lượng nhỏ dữ liệu đến nhiều thiết bị cùng lúc. Hạn chế là dữ liệu không được bảo đảm an ninh, vì thế không phù hợp để truyền các dữ liệu nhạy cảm.

Connection

Hình 4: Mô hình connected

  • Thiết bị Central (Master): Quét các gói tin quảng bá hướng kết nối theo tần số đặt trước, khi phù hợp thì khởi tạo một kết nối với một peripheral. Central quản lý timing và bắt đầu những sự trao đổi dữ liệu theo chu kỳ.
  • Thiết bị Peripheral (Slave): Phát các gói tin quảng bá hướng kết nối theo chu kỳ và chấp nhận kết nối do central yêu cầu.

Khởi tạo kết nối

  • Khi muốn kết nối, slave phát các gói tin quảng bá ra không gian.
  • Central nhận được các gói tin quảng bá của slave, trong đó chứa các thông tin cần thiết cho phép kết nối với slave đó.
  • Dựa trên đó, central gửi yêu cầu kết nối đến slave để thiết lập một kết nối riêng giữa hai thiết bị.
  • Khi kết nối được thiết lập, slave dừng quảng bá và hai thiết bị có thể bắt đầu trao đổi dữ liệu hai chiều.

Vai trò Master và Slave không ảnh hưởng đến việc truyền dữ liệu, mặc dù Master là bên quản lý thiết lập kết nối.

Lợi thế của Connection so với Broadcasting là:

  • Thông lượng cao.
  • Khả năng thiết lập kết nối liên kết mã hóa an ninh.
  • Khả năng quản lý năng lượng tối ưu hơn.
  • Khả năng tổ chức dữ liệu với nhiều sự thay đổi phù hợp cho các thuộc tính thông qua việc sử dụng các lớp giao thức bổ sung thêm, đặc biệt là Generic Attribute Profile (GATT). Dữ liệu được tổ chức theo cấu trúc có ý nghĩa xoay quanh cái gọi là services và characteristics.

Trên đây đã trình bày các điểm cơ bản về công nghệ BLE. Bài viết sau sẽ trình bày kỹ hơn nhưng vấn đề kỹ thuật quan trọng của BLE, giúp kết nối và trao đổi dữ liệu.

Để tìm hiểu thêm về BLE các bạn có thể tham khảo một số tài liệu sau:

  • Getting started with Bluetooth Low Energy – Tool and techniques for low-power networking của Kevin Townsend, Carles Cufí, Akiba & Robert Davidson.
  • Bluetooth Low Energy – The developer’s handbook, Robin Heydon
lên
15 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

VBLUno kit - Tutorial 4 - Đo nhiệt độ bên trong chip nRF51822

Bo mạch VBLUno sử dụng CPU là chip nRF51822 của hãng Nordic Semiconductor. Bên trong vi mạch này có tích hợp sẵn một cảm biến nhiệt độ. Chúng ta có thể sử dụng cảm biến này để giám sát nhiệt độ CPU (nRF51822), từ đó biết được mức tải làm việc của hệ thống, đưa ra các cảnh báo cần thiết khi tải làm việc quá cao. Điều này giúp hệ thống làm việc ổn định và bền bỉ hơn.

lên
8 thành viên đã đánh giá bài viết này hữu ích.

VBLUno - Tutorial 2 - Tổng quan về công nghệ BLE và ví dụ minh họa (Phần 2)

Đây là phần cuối của Tutorial 2 nhằm giới thiệu ngắn gọn các kiến thức quan trọng về Bluetooth Low Energe (BLE)

lên
11 thành viên đã đánh giá bài viết này hữu ích.