1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Nghiên cứu và ứng dụng bluetooth mesh vào hệ thống thông minh

70 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Phần đầu tiên là thiết kế mô hình mạng Bluetooth mesh gồm các node cảm biến lửa, ánh sáng, nhiệt độ và node Relay 4 kênh, thiết kế Gateway bao gồm module Bluetooth nRF52832 và module Wif

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MAY TÍNH

VŨ THỊ LAN ANH

DANG ĐỨC BẢO

KHÓA LUẬN TÓT NGHIỆP

NGHIÊN CỨU VÀ ỨNG DỤNG BLUETOOTH MESH

VÀO HỆ THÓNG THÔNG MINH

A RESEARCH ON APPYING BLUETOOTH MESH IN

SMART SYSTEM

KY SƯ NGANH KY THUAT MAY TÍNH

TP HO CHi MINH, 2021

Trang 2

ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MAY TÍNH

VŨ THỊ LAN ANH - MSSV: 16520063 DANG ĐỨC BẢO - MSSV: 16520074

KHÓA LUẬN TÓT NGHIỆP

NGHIÊN CỨU VÀ ỨNG DỤNG BLUETOOTH MESH

VÀO HỆ THÓNG THÔNG MINH

A RESEARCH ON APPLYING BLUETOOTH MESH IN

SMART SYSTEM

KY SƯ NGÀNH KỸ THUAT MAY TÍNH

GIẢNG VIÊN HƯỚNG DẪN

ĐOÀN DUY PHAN ĐÌNH DUY

TP HO CHÍ MINH, 2021

Trang 3

THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng châm khóa luận tốt nghiệp, thành lập theo Quyết định số

70/QD-ĐHCNTT ngày 27 tháng 01 năm 2021 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

đường học tập vừa qua.

Đặc biệt chúng em cũng xin chân thành cảm ơn thầy Th.S Phan Đình Duy và

thầy TS Đoàn Duy đã giúp dành thời gian hướng dẫn và chỉ bảo chúng em trong suốt quá trình làm khóa luận dé chúng em hoàn thành khóa luận tốt nghiệp, một lần nữa

em xin chân thành cảm ơn Thay.

Xin cảm ơn các anh chị, bạn bè, những người đã giúp đỡ chúng em trong tìm

kiếm thông tin trong suốt thời gian thực hiện khóa luận này Cảm ơn các bạn đã cùng

đồng hành trong suốt chặng đường 5 năm học vừa qua.

Một lần nữa chúng em xin chân thành cảm ơn tới tất cả mọi người đã giành thời gian, công sức giúp đỡ chúng em trong quá trình làm khóa luận tốt nghiệp Chúng

em xin gửi lời xin lỗi tới tất cả mọi người do trong quá trình thực hiện khóa luận cũng, không tránh khỏi những sai lầm và thiết sót, chúng em mong thay cô, các anh các chi,

Trang 5

MỤC LỤC

Chương 1 TONG QUAN 222222222222+222221222222111222211122221121211.cce 2

1.1 Tình hình nước ngoài ¿5+5 tt re 2

1.2 Tình hình trong nưỚC - +: + tt St2técề về g2 11201111 xe 3

1.3 Lý do thực hiện đề tài 22222vcccrretrrrrrtrrrrrrrrrrrrrerrrrrrrrrece.8

V4 MUC OU oe eee 5

Chương 2 CƠ SỞ LY THUYÊT 2¿¿222+++222E2++tEEESEvettrvvrrrtrrrrcree 6

2.1 Vai trò mô hình mạng Bluetooth Mesh [1] - - +55 «2<sc<++++ 6

2.2 Mô hình mạng Bluetooth mesh [ Ï ] -¿-¿ + ¿+ + 2+ £*£+££xskrrvrererersree 7

2.2.1 Tổng quan về mạng mesh -: 2c+++2222vvvvverrtrrrrrrr 7 2.2.2 Khái niệm về mang Bluetooth mesh -cczz+cvc++ 7

2.2.3 Các khái niệm quan trọng trong Bluetooth mesh - - 8

2.3 Giới thiệu về module Bluetooth nRF52832 [6] -cccccxscceceersre 19 2.4 Giới thiệu về DevKit Wifi ESP8266 -2222222c22222222vvvccrrrrrrrr 22

2.5 Thư viện nRF5 SDK và nRE5 SDK for Mesh - - - 2 + 55555s+ 2

2.5.1 Thư viện nRES SIDK - ¿6-5-5 St TH 1g hêp 2

2.5.2 _ Thư viện nRF5 SDK for Mesh

2.6 Thư viện RTOS SDK cho ESP8266 - - 55552 cccc+rcrxerrrrrrer 23

2.7 Các thiết bị sử dụng.

2.7.1 Module Bluetooth E73- 2G4M0S -cccccccccccccc+ 23

2.7.2 | Module Wifi ESP8266

2.7.3 Cảm biến nhiệt độ LM75 -cccccccccccrvverrrrrrrrrrrrrrrrrrrer 24 2.7.4 Cảm biến ánh sáng

2.7.5 Cảm biến lửa -22ccc 2222 E22 E221 tEEEcrrrrrve 25

Trang 6

2.7.6 Relay 4 kênh 5V ccct n2 rcee 26

2.8 Chuẩn giao tiếp UART [17]

2.9 Chuẩn giao tiếp I2C [1Ñ] ¿¿:22222+22222++t2EEEEEvetEEEEvretrrrrrrrrrkrrrrre 2.10 Giao thức WebSocket [19] Chương 3 PHAN TÍCH VÀ THIET KE HE THÓNG -. -: 31

3.1 Thiết kế Gateway tích hop nRF52832 với ESP8266 3.2 Thiết kế Node Relay 4 kênh cccc+ecccvvsserrrerrrrrveeccecrr 232

3.3 Thiết kế Node cảm biến nhiệt độ 55555ccccceceeeeeeeeeeeeee.38 3.4 Thiết kế Node cảm biến lửa ::¿-222ccvvvrttttrrtrtrrrirtrrrrrrrrrrrrrrer 35 3.5 Thiết kế Node cảm biến ánh sáng -: ¿2222+z++22vvvzrecvvsrresrr 35 3.6 Thiết kế mô hình mang mesh giao tiếp giữa Gateway với các Nodes 36

3.7 Thiết kế cơ sở dữ liệu với MongoDB -+++2222vvsvcccze+rrrz 41 3.8 Thiết kế Server với JaVa cccc:cc2222 22 2 rrrttEEEEkkrrrrrrrrrrrkrrrrrerrrred 43 3.9 Thiết kế ứng dụng Android -2c+++2222vvvv+rrrttrrvrvvvrrrrrrrrre 45 Chương 4 KET QUA THỰC NGHIỆM -22-©2222z+222E+22ttEEEEeerrrrkreee 49 4.1 Các thiết bị sử dụng trong hệ thỐng ¿¿©v+++222+z+ccvvvrerrxv# 49 4.2 Kết quả thực nghiệm hệ thống ¿¿22+22+++v222vvvrvvcvvvrrerrree 50 4.2.1 Thực nghiệm tính nang relay message với 3 node 50

4.2.2 Thuc nghiém hé thống 53

4.2.3 Phân tích sự ồn định khi truyền gói tin trong mạng mesh 56

Chương 5 KÉT LUẬN VÀ HƯỚNG PHAT TRIÊN -+ 5 5.1 Kết 0 ere 57

Trang 7

DANH MỤC HÌNH VE

Hình 1.1 So sánh các chuẩn Wireless khác nhau -.2-¿22222+++2zxztzrxeerrx 3 Hình 2.1 Sự phát triển của cấu trúc liên kết các thiết bị BLE [I] - 6

Hình 2.2 Node và thiết bị Unprovisioned Device [1] -+-<s5+<s+s+<e++ 8

Hình 2.3 Các Element trong một node [ Ï ] -¿-¿- ¿+ 5+ +x‡*+x£££v+eeEekexrexrr+ 9

Hình 2.4 Ví dụ về cơ chế Publish Subscribe [5] - cccccccccccccceeceeeeee 1

Hinh 2.5 Node Relay [1] „14

Hình 2.6 Low Power node và Friend node [1] 4

Hinh 2.7 Proxy node [1] 5

Hình 2.8 Kiến trúc của hệ thống Bluetooth mesh [5] „l5

Hình 2.14 PCB của mach nRF52832 Nano Development Kit [7] - 21

Hình 2.15 Module Bluetooth E73- 2G4M04S [12] -:- - + + +5++c+<+> 23

Hình 2.16 Module Wifi ESP8266 [8] ¿5c 5c 24

Hình 2.17 Cảm biến nhiệt độ LM75 [13] -222222ccc2222222vvvccrsrccrrveee 25 Hình 2.18 Cảm biến ánh SANg [14] oo 25

Hình 2.19 Cảm biến lửa -:: 22222222++22222222322222222231112E 22222211122 ccrrrrrrrree 26

Hình 2.20 Relay 4 kênh [ I6]

Hình 2.21 Cấu trúc Frame trong giao tiếp UART.

Hình 2.22 Cơ chế kiểm tra bit even parity ¿+:©222+222vvz+ecvvvvrrerrrsrrrrrr 27 Hình 2.23 Sơ đồ kết nối I2C giữa các thiết bị [18] -.c¿-ccceccssccec+ 28

Hình 2.24 Sơ đồ hoạt động I2C [18] -c¿:¿¿-522222v2+crrecvvvvvvvrrrrrrrrrrrree 29

Hình 3.1 So đồ truyền tín hiệu trong hệ thống - ¿22222222 31 Hình 3.2 Kết nối nRF52832 với ESP8266 -ccccccccrrrrrrrrrrrrrrrrrree 32

Hinh 3.3 Address table [13] 34

Trang 8

Hình 3.4 Thanh ghi con trỏ và giá tri các con trỏ [ 3] ‹ - «<< «<++<e++sss+ 34

Hình 3.5 Thanh ghi nhiệt độ của LM75 [13] - s65 c se s£sesessesesseesee 34

Hình 3.6 Sơ đồ kết nối trong node cảm biến lửa - 2-2 +2£z+£++zxzrxzsz 35

Hình 3.7 Generic OnOff Model [5] - - - << 5-5 <1 Y3 3E **+22##EEEE+eeeeeeeeeeezzz 36

Hình 3.8 Sơ đồ Publish/Subscribe các node trong mang mesh -.- 38

Hình 3.9 Quá trình provisioning node Light 2 vào mạng mesh - 40

Hình 3.10 Node Light 2 sau khi được prosivion vào mạng mesh 41

Hình 3.11 Connection string do MongoDB cung cấp dé kết nỗi đến CSDL 42

Hình 3.12 Giao diện login của App - - - c1 vn HH HH ng kg rvt 46 Hình 3.13 Giao diện chính của ÄDpD c1 111 HH HH ng kg g 47 Hình 4.1 Sơ đồ bố trí các node trong hệ thống -. - 2 + ++s++++zx+zxzsz 49 Hình 4.2 Các thiết bị đã được provision và hoàn tất việc thiết lập 50

Hình 4.3 Sơ đồ thực nghiệm tinh năng relay với 3 node - 2-2 50 Hình 4.4 Node Gateway được kết nối với laptop qua J-Link -s¿ 51 Hình 4.5 Node Light tượng trưng cho một relay node - «+ +s«<++sss++sss+ 51 Hinh 4.6 Node 00 - t 52

Hình 4.7 Message được gửi về từ node Fire v ccccecceccsccscessessesssssesesesessessessessessesseaee 52

Hình 4.8 Mô hình thực nghiỆm | - c6 + E23 kE S1 k*SEESEEEkEsrkerkrsekrre 53

Hình 4.9 Mô hình thực nghiệm 2 G2 E1 E93 E911 91 91v ng ng tr 55

Trang 9

DANH MỤC BANG

Bang 4.1 Ảnh hưởng của các yếu tố đối với tỉ lệ rớt gói tin trong hệ thống

Trang 10

DANH MỤC TỪ VIET TAT

Chữ viết tắt Chữ tường minh

AC Alternating Current

ADC Analog to Digital Converter

AES Advanced Encryption Standard

API Application Programming Interface

BLE Bluetooth Low Engerny

CPU Central Processing Unit

CSDL Co sở dit liệu

GAP Generic Access Profile

GATT Generic Attribute Profile

GND Ground

GPIO General-Purpose Input/Output

HTTP Hypertext Transfer Protocol

I2C Integrated Circuit

IDE Integrated Development Environment

loT Internet of Things

IP Internet Protocol

JSON JavaScript Object Notation

LED Light Emitting Diode

LPN Low Power Node

LSB Least Significant Bit

Trang 11

MSB Most Significant Bit

OOB Out — of — Band

PCB Printed Circuit Board

PDUs Protocol Data Units

RAM Random Access Memory

ROM Read-Only Memory

RTOS Real Time Operation System

SCL Serial Clock

SDA Serial Data

SDK Software Development Kit

SIG Special Interest Group

SoC System on a Chip

SPI Serial Peripheral Bus

TCP Transmission Control Protocol

TTL Time — to — live

UART Universal Asynchronous Receiver / Transmitter

UUID Universally Unique Identifier

Trang 12

để tạo thành một hệ thống IoT hoàn thiện.

Trong nghiên cứu này, nhóm đã quyết định thực hiện 2 phần chính Phần đầu tiên là thiết kế mô hình mạng Bluetooth mesh gồm các node cảm biến lửa, ánh sáng,

nhiệt độ và node Relay 4 kênh, thiết kế Gateway (bao gồm module Bluetooth nRF52832 và module Wifi ESP8266) để truyền nhận dữ liệu từ mang mesh tới Server

và ngược lại Phần thứ hai của khóa luận là thiết kế Server đề xử lý dữ liệu và tín hiệu điều khiển từ người dùng, thiết kế một ứng dụng Android trên thiết bị di động với

giao diện thân thiện giúp người dùng dễ dàng tương tác, theo dõi trạng thái của các

thiết bị trong mạng mesh (cảm biến nhiệt độ, ánh sáng, báo cháy, điều khiển công tắc) Sản phẩm mô hình của nghiên cứu hứa hẹn áp dụng được cho các hệ thống thông

minh như: quan lý thiết bị văn phòng, nhà thông minh, quản lý vườn thông minh

Trang 13

Chương 1 TONG QUAN

1.1 Tinh hình nước ngoài

Năm 2017, Bluetooth Special Interest Group (SIG) — một tổ chức phi lợi nhuận

chịu trách nhiệm phát triển công nghệ Bluetooth, đã giới thiệu hệ thống có tên gọi

Bluetooth Mesh Networking.

Bluetooth Mesh Networking về bản chất cũng giống như các hệ thống trên mô

hình mạng mesh khác, chỉ khác rằng giao thức được sử dụng trong mô hình này là

Bluetooth Cụ thể, mạng lưới kiểu này sé cho phép kết nối rất nhiều thiết bị với nhau, tạo thành một hệ thống quy mô lớn có tổ chức Theo Bluetooth SIG, hệ thống hiện

tại có thể bao gồm tối đa 32.000 thiết bị, họ cũng đã thử nghiệm thực tế hệ thống với quy mô I.000 thiết bị [1] Bluetooth mesh cho phép dữ liệu có thể “nhảy” giữa các

thiết bị khác nhau cho tới khi nào đến được thiết bị đích, nhờ vậy phạm vi giao tiếp giữa các thiết bị đáp ứng được Bluetooth v5.0 đã xa nay lại còn xa hơn nhiều lần.

Trên thé giới có nhiều công trình nghiên cứu và ứng dụng Bluetooth mesh với

các kết quả đáng chú ý như:

- Năm 2013, Ramlee và cộng sự đã giới thiệu phương pháp điều khién thời

gian thực cho hệ thống thiết bị Smarthome sử dụng công nghệ Bluetooth

với giao diện Window và Android GUI [2] Mô hình ứng dụng của Ramlee

có độ thân thiện người dùng cao, đặc biệt đối với người già và người khuyết

tật.

- Trong một nghiên cứu khác năm 2017 của M B Yaakop [3], Bluetooth

5.0 được chứng minh là tăng gấp đôi tốc độ truyền dữ liệu, tăng tốc độ truyền và tăng khoảng cách phủ sóng so với Bluetooth 4.0 Nghiên cứu cũng chỉ ra rằng Bluetooth 5.0 có tỉ lệ lỗi thấp hơn so với phiên bản trước Bluetooth 4.0 (cụ thê tỉ lệ lỗi 5% so với từ 7% đến 12% so với phiên bản

trước)

Trang 14

1.2 Tinh hình trong nước

Các nghiên cứu liên quan đến ứng dụng Bluetooth mesh trong nước cũng nhận

được sự quan tâm bởi các nghiên cứu sinh: Năm 2019, nhóm tác giả Nguyễn Thành

Nam và Lê Văn Thống giới thiệu công trình nghiên cứu về Bluetooth cho ứng dụng

trong nhà [4] Ứng dụng thành công mô hình mang Bluetooth mesh dé điều khiến,

giao tiếp giữa các thiết bị tích hợp công nghệ Bluetooth Hệ thống cho phép người

dùng giao tiếp với các thiết bị thông qua điện thoại thông minh (Smart phone)

1.3 Ly do thực hiện đề tài

Với mục tiêu dé tài là xây dựng một hệ thống mạng giúp điều khiến, theo dõithông số các cảm biến từ xa thông qua ứng dụng người dùng, nhóm thực hiện đã sosánh 3 mạng không dây phô biến hiện nay là Zigbee, Wifi và Bluetooth mesh

Khoảng cách 10 -100m

Tần số hoạt động 24GHz

Năng lượng tiêu thụ Rat tháp

Data Rate 250 Kb/s

Routing Full Routing

Số node tồi da trong mang ~65000

Ung dung Home control and

Wireless LAN, truyén tai

internet, data dữ liệu

Hình 1.1 So sánh các chuẩn Wireless khác nhau

Qua bảng so sánh có thể thấy rằng mặc dù cùng tần số hoạt động 2.4Ghz,nhưng so với Zigbee và Bluetooth, Wifi thé hiện sự hạn chế trong việc truyền bản tin

ở khoảng cách xa Ngoài ra, trong điều kiện lý tưởng, số node trong mạng Wifi là 255

nodes Đây là con số khá khiêm tốn khi so sánh với mạng Zigbee hay Bluetooth mesh

khi muôn mở rộng mang lưới với nhiêu thiệt bi, nhât là trong môi trường IoT.

Trang 15

Về khả năng truyền tin, Wifi vượt trội hơn hăn so với Zigbee hay Bluetoothmesh, nhưng khi đặt vào tinh huống điều khiến các thiết bi trong mạng, đặc điểm nàylại trở nên không cần thiết bởi đặc thù của thiết bị IOT chính là lượng thông tin truyền

tải khá nhỏ.

Xét về thời điểm ra đời trên thị trường, Bluetooth mesh có phần non trẻ hơn

so với Zigbee (2005) và Wifi (1997) khi chỉ mới được giới thiệu và năm 2017 bởi

SIG Tuy nhiên, Bluetooth lại có những ưu điểm vượt trội dé trở thành chuẩn truyền

thông phù hợp nhất cho việc điều khiéu các thiết bị IoT:

e Đầu tiên ta có thé thấy răng năng lượng tiêu thụ khi sử dụng Bluetooth

mesh là rất thấp, Bluetooth mesh truyền được gói tin đi xa hơn Wifi nhờvào các node trung gian Bluetooth mesh hỗ trợ lên đến hơn 32 000 thiết bịtrong mạng, rất thuận loi cho việc phát trién hệ thống trong tương lai

e Tiếp đến, ở mạng Wifi, tất cả các thiết bị chỉ có thé kết nối trực tiếp tới

điểm truy cập, gây khó khăn cho việc mở rộng hệ thống Ở Zigbee, sẽ cómột thiết bị là điều phối trung tâm quyết định toàn bộ thông tin trong mạng,điều này sẽ dẫn đến trường hợp đôi lúc các thiết bị không thé kết nối đếnmạng Zigbee do có quá nhiều thiết bị đang kết nối trong mạng Còn đốivới Bluetooth mesh, mọi thiết bị trong mạng đều có thể đóng vai trò làm

Gateway và kết nỗi trực tiếp đến Smartphone

e© Cuối cùng, kỹ thuật “Managed flooding” của Bluetooth mesh sẽ giúp

truyền bản tin qua nhiều con đường cùng một lúc Dù cho một node trongmạng bị hỏng thì vẫn còn nhiều con đường truyền bản tin thông qua các

node khác Điều này giúp dữ liệu truyền về Gateway kịp thời, đáp ứng yêu

cầu real — time của một hệ thống thông minh

Chính vì những lý do nêu trên, nhóm đã quyết định sử dụng mạng Bluetoothmesh với chuẩn Bluetooth 5.0 làm nền tảng cho việc thực hiện đề tài

Trang 16

1.4 Mục tiêu

Mục tiêu của đề tài là nghiên cứu, xây dựng mô hình mạng Bluetooth mesh

cho phép giao tiếp giữa các thiết bị trong mạng thông qua module Bluetooth

nRF52832 và các gói SDK (các gói hỗ trợ cho việc lập trình, phát triển ứng dụng) dochính nhà sản xuất của module nRF52832 (Nordic Semiconductor) phát hành Tiếptheo khóa luận sẽ xây dựng Gateway cho mạng mesh đề truyền nhận dữ liệu trongmạng lên Server và ngược lại Mục tiêu kế tiếp là xây dựng hệ thống Server, CƠ SỞ

dữ liệu va ứng dụng Android dé người dùng dé quản lý, giao tiếp với hệ thống mạngBluetooth mesh đã được thiết lập Mục tiêu cuối cùng của khóa luận là tiến hành hiện

thực trong phạm vi văn phòng:

e Khả năng chuyển tiếp gói tin (relay), chuyển hướng dữ liệu (managed

flooding) và truyền qua các node trung gian của hệ thong (hinh 4.6):

“ Kha nang relay: hiện thực với 3 node gồm 1 node Gateway, 1 node

cảm biến lửa nằm ngoài phạm vi truyền nhận tín hiệu của nodeGateway và 1 node trung gian bất kì nằm giữa và trong phạm vitruyền nhận của cả 2 node Gateway và node cảm biến lửa, theo dõi

dữ liệu truyền về Gateway từ node cảm biến lửa

* > »_ Khả năng managed flooding: hiện thực tương tự như khả năng relay

nhưng thêm vào | node cạnh node trung gian Lan lượt bat tắt từng

node trung gian, bật cả 2 node trung gian và tắt cả 2 node trung gian,

theo dõi dữ liệu truyền về Gateway từ node cảm biến lửa

e Khả năng truyền dữ liệu đi xa hơn qua nhiều node trung gian hơn:

Hiện thực trong phạm vi tòa nhà với 5 node: node Gateway, node cảm

biến ánh sáng, node cảm biến nhiệt độ, node cảm biến lửa và node

Relay 4 kênh Các node sẽ được đặt như hình 4.9 và tiễn hành theo dõi

tín hiệu truyên vê Gateway từ cảm biên lửa.

Trang 17

Chuong 2 CƠ SỞ LÝ THUYET

2.1 Vai trò mô hình mạng Bluetooth Mesh [1]

Năm 2010, tổ chức Bluetooth SIG (Special Interest Group) cho ra đời chuẩnBluetooth Low Energy (BLE) đã góp phần giải quyết những vấn đề về kết nối vàtruyền nhận dit liệu trong thời kì phát triển nhanh chóng của các thiết bị trong lĩnhvực Internet of Things (IoT) như các cảm biến, thiết bi đeo, thiết bị y tế, nhữngthiết bị hệ thống có thé giao tiếp với nhau với mức tiêu thụ năng lượng thấp Tuynhiên BLE lại thiếu đi sự hỗ trợ cần thiết cho cấu trúc mạng mesh (many-to-many) -cấu trúc giúp các thiết bị có thể gửi tin nhắn cho nhau và chuyên tiếp tin nhắn đến cácthiết bị khác trong mạng, gây khó khăn trong việc xây dựng hệ thống trên quy mô

lớn.

Các phiên bản trước của Bluetooth hỗ trợ hai cấu trúc liên kết khác nhau:

e One—to—one: Hai thiết bị được BLE với nhaue_ One —to— many: Kết nối một nhiều giữa các thiết bị BLE như BeaconsĐến tháng 7/2017 Bluetooth SIG mới chính thức cho ra mắt chuẩn Bluetoothmesh đánh dấu sự phát triển của của công nghệ Bluteooth giúp xây dựng hệ thốngcác thiết bị Bluetooth có quy mô lớn, đòi hỏi dữ liệu truyền từ thiết bị này đến thiết

bị khác với khoảng cách xa và chính xác Bluetooth mesh đánh dấu sự ra đời của mộtcau trúc liên kết mới:

e_ Many —to— many: Các thiết bị có thể liên kết theo kiêu nhiều — nhiều

One-to-one One-to-many Many-to-many

Hình 2.1 Sự phát triển của cầu trúc liên kết các thiết bi BLE [1]

Trang 18

2.2 Mô hình mang Bluetooth mesh [1]

2.2.1 Tổng quan về mang mesh

“Mesh network” là thuật ngữ dùng dé chỉ một loại cấu trúc liên kết

mạng không dây, trong đó mỗi nút trong mạng (node) sẽ tham gia phân phối

dữ liệu trong mạng thông qua việc chuyền tiếp tín hiệu tới các node khác năm

trong phạm vi giao tiếp

Có hai kỹ thuật chính được sử dụng chuyên dt liệu trên mạng lưới làđịnh tuyến và tràn:

- Dinh tuyén: mang mesh sử dung kỹ thuật định tuyến, gửi dữ liệu

dọc theo một đường dẫn đã chọn, qua các node dé tới dich [1]

- _ Cơ chế tràn: mang mesh sử dụng cơ chế tran, phân phối dữ liệu sao

cho tat cả các node nhận được trong phạm vi nhất định Các nodechuyền tiếp đữ liệu nhận được băng cách phát lại để dữ liệu có thể

được nhận bởi một tập hợp các node trong phạm vi khác [1].

Có 2 lợi ích chính khi sử dụng mạng mesh:

- M6 rộng phạm vi: Các node có thê truyền dữ liệu đi xa thông qua

các node ở giữa chúng (các node trung gian), điều này cho phép mở

rộng phạm vi của mạng và liên kết các thiết bị với nhau [1].

- Kha năng tự phục hồi: Khi một node vì một lý do nao đó rót khỏi

mạng thì các node khác năm trong mạng vẫn có thê thông gia và gửi

dữ liệu cho nhau giúp việc truyền nhận giữa các node trong mạng

không bi gián đoạn [1].

2.2.2 Khái niệm về mạng Bluetooth mesh

Mạng Bluetooth mesh cung cấp khả năng liên kết và giao tiếp giữa các

thiết bị theo kiểu many to many (m:m) và được tối ưu hóa dé tạo các mạng

thiết bị quy mô lớn Đó là ý tưởng phù hợp dé xây dựng các hệ thống tự độnghóa, mạng cảm biến, theo dõi tình hình tài nguyên và các giải pháp IoT khác

Trang 19

với yêu cầu hàng chục, hàng trăm hoặc hàng ngàn thiết bị để giao tiếp vớinhau Các thiết bị BLE có 2 trạng thái hoạt động chính là: Advertising

(Scanning) hoặc Connection nhưng Bluetooth mesh chỉ sử dụng trạng thái Advertising [5].

2.2.3 Cac khai niém quan trong trong Bluetooth mesh

Node

Node (nút) là một thiết bi đã tham gia mạng Bluetooth mesh Các thiết

bị không phải là một phần của mạng được gọi là thiết bị chưa được cấp phát(unprovisioned) Khi một thiết bị unprovisioned được cấp phát (provisioned)

nó sẽ tham gia vào mạng Bluetooth mesh và trở thành một node.

Node

Unprovisioned

Device

Bluetooth mesh Network

Hinh 2.2 Node va thiét bi Unprovisioned Device [1]

Element

Một node có thé chứa nhiều phần tử được kiểm soát độc lập Một

element là một thực thé định địa chỉ được trong một thiết bị Ví dụ, một giàn

bóng đèn có thể bật tắt độc lập

Trang 20

Elements

Hình 2.3 Cac Element trong một node [1]

State

Trong node có nhiều phần tử khác nhau và mỗi phần tử mang một trạng

thái Chăng hạn bật và tắt là trạng thái của bóng đèn trong cụm bóng đèn Một

sự thay đổi từ trạng thái này sang trạng thái khác được gọi là sự chuyền đồitrạng thái Điều này có thé là ngay lập tức hoặc có thé xảy ra theo thời

gian Một số trạng thái có thé bi ràng buộc với nhau, có nghĩa là một thay đổi

trong một trạng thái kích hoạt một thay đôi ở trạng thái khác Có thể có hai

hoặc nhiều trạng thái ràng buộc với nhau Vi dụ như một bóng dén dimmer:

Điều chỉnh độ sáng của đèn cần những mức độ khác nhau cũng như trạng tháibật/tắt Nếu giá trị trạng thái hiện tại thay đổi thành 0, nó sẽ kích hoạt trạngthái bat/tat dé chuyên sang tắt Nếu mức thay đôi từ 0 thành giá trị khác không,

thì điều đó sẽ kích hoạt trạng thái bật/tắt dé chuyền sang bật va sáng theo từng

- Manufacturer property: Chỉ cung cấp quyền truy cập cho phép đọc

- Admin property: Cung cấp quyền truy cập cho phép ghi và đọc

Trang 21

Trong Bluetooth mesh, tất cả các giao tiếp trong mang đều được thực

hiện theo bản tin Các node gửi ban tin dé điều khiển hoặc chuyên tiếp thông

tin cho nhau Có ba loại bản tin trong Bluetooth mesh, mỗi loại được xác định

e Phản hồi ban tin GET: Chita giá trị trạng thái

e Phản hồi ban tin SET: Xác nhận một ban tin STATUS: Ban tin

về status được sử dung trong các tình huống khác nhau

- - Một số bản tin yêu cầu thiết bị nhận xác nhận bản tin được gửi Việc

thông báo xác nhận này có hai mục đích như sau:

e Xác nhận đã nhận được bản tin

e Trả lại dữ liệu liên quan đến bản tin nhận được

Trong trường hợp thiết bị gửi không nhận được phản hồi cho bản tin

hoặc nhận được phản hồi không mong muốn, nó có thé gửi lại ban tin Nhiều

bản tin được xác nhận nhận được bởi một node không ảnh hưởng đến quá trình

hoạt động của node đó.

Address

Bản tin trong mạng Bluetooth mesh phải được gửi đến hoặc gửi từ một

địa chỉ Có ba loại địa chỉ:

- Unicast Address: Một địa chỉ định danh duy nhất của 1 node được

cung cấp trong quá trình provisioning node vào mạng

- Group Address: Một địa chỉ được sử dụng dé xác định một nhóm

các node Một group address có thê hiêu như một căn phòng, các

10

Trang 22

bóng đèn ở trong một các phòng nhất định và mỗi bóng đèn là mộtnode Theo định nghĩa của BLE SIG, có 4 Group address cố địnhbao gồm All-proxies, All-friends, All-relays, and All-nodes.

- Virtual Address: Dia chỉ mà có thé gan cho một hoặc nhiều phan tử,

trên một hoặc nhiều nodes Hoạt động này giống như là một nhãn

và có định dạng 128-bit UUID có thé lay bởi bat kì phần tử nào liênkết Địa chỉ ảo này có khả năng được cau hình sẵn tại điểm sản xuất

Publish/Subscribe

Cách trao đổi bản tin trong mạng Bluetooth mesh thông qua cơ chế

Publish/Subscribe Publish là hoạt động gửi bản tin đi Subscribe là cầu hình

đăng ký một địa chỉ nhất định để nhận các bản tin Publish sau đó xử lý Thôngthường, bản tin được gửi đến Group address hoặc Virtual addres [5]

Hình 2.4 Vi dụ về cơ chế Publish Subscribe [5]

Ví dụ về mạng lưới trong một ngôi nhà mà gồm có 6 công tắc đèn và

9 bóng đèn Mạng lưới sử dụng phương thức Pushlish/Subscribe dé cho phépcác nút gửi bản tin cho nhau Các Node có thể Subscribe nhiều địa chỉ như

bóng đèn 3 trong hình trên, được Subscribe vào ca địa chỉ nhóm Kitchen và

Dining Room Ngoài ra, nhiều nút có thé Publish đến cùng một địa chỉ, changhạn như các công tắc 5 và 6 trong ví dụ này hai công tắc này điều khiển cùng

một nhóm đèn Garden.

11

Trang 23

Quan lý tran (managed flooding)

Bluetooth mesh chuyén tiép ban tin tir node nay dén node kia trong

mang mà không xét về đường truyền để đến được địa chỉ đích [5] Bản tin

được phát tới tất cả các node trong phạm vi của node gửi với một vài kỹ thuật

tôi ưu hóa được thêm vào:

e Messages have a TTL assigned [5]

TTL (time-to-live) dùng dé giới han số bước nhảy mà ban tin có thétruyền qua nodes trong mang TTL cho phép các nút thực hiện kiểm

soát việc chuyên tiếp gói tin và tiết kiệm năng lượng, bằng cách đảm

bảo các message không được chuyên tiếp hơn mức cần thiết

e Messages are cached [5]

Gói tin được lưu trữ bởi tat cả các node trong mang Bộ nhớ đệmcủa các node sẽ ghi nhớ các gói tin được chuyền tiếp gần đây Nếu trong

quá trình chuyên tiếp, một gói tin được tìm thấy trong bộ nhớ đệm củanode — nghĩa là gói tin này đã được xử lý và chuyên đi trước đó — thì

Là mối quan hệ của 2 node trong mang, có 2 loại:

o Low— power node (LPN) là node bị giới han nguồn, bảo ton

nguồn năng lượng và thường không thé nhận được ban tincủa mang mesh trong hau hết thời gian dé tắt bộ phát sóng

o Friend node luôn luôn được cấp năng lượng dé hoạt động, nó

có thé dung cap phat dit liệu cho LPN, Friend node sẽ lưu trữbản tin cho LPN để tiết kiệm năng lượng

Model

12

Trang 24

Model xác định một hoặc tất cả các chức năng của một element Có ba

loại model:

- Server model: Xác định các trạng thái (state), sự chuyền đôi trạng

thái, sự ràng buộc giữa các trạng thái và các message mà một

element chứa model có thể gửi hoặc nhận

- Client model: Không xác định bat cứ state nào Thay vào đó xác

định message truyền và nhận GET, SET, STATUS để gửi tới Server

model.

- Control model: Bao gồm cả server model va Client model, cho phép

giao tiếp giữa các client model khác nhau thông qua Server model.Một model có thể mở rộng bằng một model khác Model không mởrộng được gọi là root model Thay đôi một model băng cách thêm hoặc xóamột behavior là không được phép và chỉ được kế thừa từ một model có sẵn dé

tùy chỉnh.

Các loại node trong mạng Bluetooth mesh

Tat cả các node trong mang mesh có thể truyền và nhận message, nhưng

các node trong mạng có thể đảm nhận thêm một số tính năng Có 4 tính năng

là: Relay, Proxy, Low power và Friend Mỗi node có thể cung cấp một hoặc

nhiều tính năng:

e Relay Nodes

Đề thực hiện việc truyền nhận dữ liệu của các node bên ngoài phạm

vi giao tiếp của mạng mesh ta cần tính năng relay Các Relay nodestrong mạng Bluetooth mesh hỗ trợ tính năng relay, khả năng truyền

message đã được phat (broadcast) giữa các node Chính nhờ tính năng

này nên mạng mesh có khả năng mở rộng với phạm vi lớn, giúp cho

message trong mạng có thê truyên đên toàn bộ các node trong mang.

13

Trang 25

Hinh 2.5 Node Relay [1]

e Low Power Nodes and Friend Nodes

Low Power Nodes (LPN) cung cấp năng lượng hạn chế, vì vậychúng cần tiết kiệm năng lượng bằng cách tắt tín hiệu thường xuyên.Trong khi Friend Node giúp một LPN hoạt động hiệu quả, bằng cách

lưu các message của các node đó và chỉ gửi khi LPN yêu câu.

¬x

Hình 2.6 Low Power node va Friend node [1]

e Proxy Nodes

Hau hết các thiết bi smartphone hay tablet ngày nay đều có hỗ trợ

BLE Dé thực hiện việc giao tiếp mạng mesh với các thiết bị chưa hỗtrợ BLE thì cần thông qua Proxy node trong mạng mesh Proxy node

14

Trang 26

cung cấp khả năng truyền nhận mesh message giữa GATT Bearer và

Hinh 2.7 Proxy node [1]

Kiến trúc hệ thống của Bluetooth mesh [5]

Bluetooth mesh được xây dựng dựa trên Bluetooth Low Energy,

Bluetooth mesh sử dụng trạng thái Advertisement của thiết bị BLE, các thiết

bị trong mạng sẽ không kết nối với nhau như BLE truyền thống mà nó sử dụng

các gói tin Advertisement và Scanning đề truyền bản tin cho nhau [5]

Foundation Models

Access Upper Transport Lower Transport

Bearer

Hình 2.8 Kiến trúc của hệ thống Bluetooth mesh [5]

Trang 27

e_ Models Layer: Lớp này giải quyết việc thực hiện các mô hình bao

gồm các behavior, message, state và state binding

e Foundation Models Layer: Lớp này liên quan đến cấu hình mạng

và mô hình quản lý mạng.

e Upper Transport Layer: Lớp này xử lý các tác vụ sau:

+ Định dạng các dữ liệu ứng dụng + Mã hóa và giải mã

+ Xác minh dữ liệu

e Lower Transport Layer: Lớp này xử lý 2 nhiệm vụ chính: Phan

đoạn các gói từ lớp trên và tập hợp lại các gói từ lớp bên dưới.

e Bearer Layer: Lớp này sẽ xác định cách xử lý các message packet

(Protocol Data Units — PDUs) trong mang mesh Có 2 loại bearer

trong mang mesh:

+ Advertising Bearer: Su dung Advertising va Scanning cua

khối GAP dé nhận và truyền bản tin đến các node khác

+ GATT Bearer: Cho phép một thiết bị không hỗ trợ

Advertising Bearer giao tiếp gián tiếp với các nodes của

mạng mesh, sử dụng giao thức được gọi là Proxy protocol.

Một node có thể chuyền tiếp các bản tin giữa các node sử

dung Advertising Bearer và các node sử dung GATT Bearer

(Proxy nodes).

e Bluetooth Low Energy Layer: Bluetooth mesh được xây dựng dua

trên BLE vì vay nó yêu cầu phải có BLE stack day đủ dé hoạt động

Nó sử dụng trạng thái Advertisement và Scanning dé gửi và nhận

bản tin giữa các node ở trong mạng lưới Ngoài ra, lớp này còn hỗ

trợ các trạng thái kết nối và khối GATT cho các node đặc biệt gọi

là Proxy nodes.

Provisioning process

16

Trang 28

“Provisioning process” được sử dụng để thêm các thiết bị vào trongmạng mesh Sau khi thực hiện quá trình provisioning, thiết bị đó sẽ gọi là node.Thiết bị được sử dụng dé thực hiện quá trình provisioning được gọi là

provisioner thường là tablet, smartphone hoặc PC Provisioner sẽ chịu trách

nhiệm cho việc tạo và phân phối các NetKeys

Quá trình provisioning gồm 5 bước:

e Bước 1: Beaconing

“Beaconing” được xem như là một “đèn tín hiện” Thiết bị chưa

được thực hiện quá trình provisioning nó sẵn sàng dé được provision

bang cách advertising như unprovisioned device

e Budc 2: Invitation

Provisioner sử dung beacons san có dé gửi invitation đến thiết bi sé

được provision dưới dang Provisioning Invite PDU.

Thiết bị chưa được kiểm tra phản hồi với thông tin về chính nó trong

Provisioning Capabilities, bao gồm:

+ SỐ lượng element mà thiết bị hỗ trợ

+ Bộ thuật toán bảo mật (security algorithm) được hỗ trợ.

+ Tính khả dụng của các public key sử dụng Out — of — Band

(OOB)

+ Khả năng của thiết bị này dé tạo ra một giá trị cho người dùng

+ Khả năng của thiết bị này cho phép một giá trị được nhập vào từ

người dùng.

e Bước 3: Exchanging Public Keys

17

Trang 29

Bảo mật Bluetooth mesh liên quan đến việc trao đồi keys một cáchtrực tiếp hoặc sử dụng Out-of-Band (OOB).

Public

Public

— B

Device (A) Provisioner (B)

Hình 2.10 Quá trình trao đổi Public Key [1]

e Bước 4: Authentication

Authentication thiết bị unprovisioned đòi hỏi người dùng tương tácvới provisioner và thiết bị chưa được provision Phương thức xác thựcphụ thuộc vào khả năng của cả hai thiết bị được sử dụng

= Random number generation

( ) = Random number input

Các trường hợp khác bao gồm một input OOB (trong đó con số được

cung cấp bởi provisioner và nhập vào thiết bị chưa được provision),

static OOB hoặc hoàn toàn không có OOB.

Bắt kê phương thức xác thực nào được sử dụng, xác thực cũng phải

bao gồm bước tạo giá trị xác thực và bước kiểm tra xác thực

e Bước 5: Provision Data Distribution

Sau khi xác thực hoàn tat, session key sẽ được tạo và được sử dụng

dé dam bảo việc phân phối dit liệu tiếp theo cần thiết để hoàn tất quy

18

Trang 30

trình cung cấp Bao gồm NetKey, Device Key va Unicast Address đượcgán cho thiết bị được provision bởi provisioner Sau khi hoàn tất bướcnày, thiết bị sẽ trở thành một node trong mạng.

2.3 Giới thiệu về module Bluetooth nRF52832 [6]

nRF52832 là dòng chip BLE được cung cấp bởi công ty Nordic Semiconductor

thuộc dong SoC nRF52 Series, sử dụng ARM Cortex-M4 cho hiệu suất cao hơn so

với dòng nRF51822 sử dụng ARM Cortex-M0 Ngoài ra, nRF52832 còn được tích

hợp phần cứng NFC để hỗ trợ các ứng dụng nhận dữ liệu NFC và truyền lên

smartphone thông qua BLE Đặc biệt, nRF52832 tích hợp chức năng EasyDMA cho

các peripheral truyền/nhận dữ liệu như SPI, UART, I2C, PWM, v.v giảm yêu cầu

hoạt động của core MCU và từ đó giảm dòng tiêu thụ đáng ké so với nRF51822

Tinh năng kỹ thuật nồi bat:

- Giải pháp Single — chip có thể xử lý đồng thời ứng dụng và giao thức BLE

- Hiéu suất nhận dữ liệu cao -93dBm

- H6 trợ thay đôi chức năng của 32 I/O pin

- Tich hợp 2 bộ NFC-A với khả năng wakeup-on-filed và touch-to-pair

Trang 31

- 3bộRTC

- _ Nguồn cung cấp từ 1.8V đến 3.6V

Nhóm sử dụng Nano Development Kit tích hợp module Bluetooth

E73-2G4M04S được thiết kế dựa trên nRF52832 Development Kit do Nordic cung cấp

Việc lập trình trên kit sẽ được thực hiện thông qua mạch nạp J-Link và một ứng dụng

được Nordic phát hành là SEGGER Embedded Studio.

Tile nRF52832 & pin map

Shoot 2 Soe Ad

Drwnby: DNNbsss | Date 91331

Hình 2.12 Sơ đồ nguyên lý nRF52832 Nano Development Kit [7]

20

Trang 33

2.4. Giới thiệu về DevKit Wifi ESP8266

ESP8266 là dòng chip tích hợp Wifi 2.4 Ghz có thé lập trình, được sản xuất

bởi công ty bán dẫn Trung Quốc có tên Espressif Systems [8] Các đặc tính nổi bật

và thông số kỹ thuật:

2.5.

Tích hợp 2 nút nhấnDay đủ ngoại vi giao tiếp như : 10 GPIO, 1 Analog,1 SPI, 2 UART, 1 I2C/12S,

và nRF51 Nó cung cap cho các nhà phát trién rất nhiều module, ví dụ khác

nhau về Bluetooth Low Energy, các Device Upgrade Firmware (DEU), GATT

serializer [9] và hỗ trợ driver cho các thiết bị ngoại vi trên tất cả các chip thuộc

dòng nRF5 Series.

2.5.2 Thu vién nRF5 SDK for Mesh

Nordic Semiconductor cung cấp bộ nRF5 SDK for Mesh kết hợp với

nRF52 Series mang đến giải pháp giúp các nhà phát triển triển khai các hệ

thống mạng Bluetooth mesh Mục tiêu của SDK là cung cấp cho các nhà pháttriển một bộ API dé giúp triển khai dé dang hon và trừu tượng hóa mọi phứctạp không cần thiết trong cấu trúc mang Bluetooth mesh [10] Thư viện nRF5SDK for Mesh cần phải kết hợp với phiên bản nhất định của thư viện nRF5SDK để có thê triển khai lập trình và hiện đang được hỗ trợ cho việc hiện thực

22

Trang 34

các dự án bằng cách sử dụng Cross-platform IDE chuyên biệt là SEGGEREmbedded Studio Ngoài ra bộ SDK còn cung cấp các ví dụ, hỗ trợ xây dựng

các model một cách chuyên biệt.

2.6 Thu viện RTOS SDK cho ESP8266

Day là một ban SDK sử dụng hệ điều hành thời gian thực (Real Time

Operation System) được port từ FreeRTOS cho ESP8266 RTOS SDK cho ESP8266

do Espressif Systems phát triển va sử dung mã nguồn mở [11]

RTOS là một hệ điều hành được tạo ra nhằm thực hiện những công việc trongthời gian thực, xử lý dữ liệu mà không có sự chậm trễ của bộ đệm RTOS có thé chophép nhiều chương trình chạy cùng lúc (multi-tasking) nên thời gian phản hồi cực kỳnhanh, độ chậm trễ rất nhỏ (tính bằng ms), có thê quản lý tài nguyên về phần cứng và

cung cấp các dịch vụ cho các chương trình khác RTOS cung cấp cơ chế phân chiacác yêu cầu bộ nhớ và ngoại vi của MCU [11]

Việc sử dụng thư viện RTOS cho ESP8266 vào lập trình ESP8266 giúp việc

truyền nhận dữ liệu được thực hiện một cách liên tục với độ trễ thấp, đảm bảo tính

real — time của một hệ thống thông minh

2.7 Các thiết bị sử dung

2.7.1 Module Bluetooth E73- 2G4M0S

Hình 2.15 là hình anh của module 2G4M04S Module

E73-2G4M04S là một module Bluetooth được thiết kế bởi Chengdu Ebyte, với kích

thước nhỏ và mức tiêu thụ điện năng thấp Hỗ trợ các chuẩn BLE 4.2 và BLE

5.0 [12].

Hình 2.15 Module Bluetooth E73- 2G4M04S [12]

23

Trang 35

Thông số kỹ thuật của module Bluetooth E73-2G4M04S:

- _ Tần số: 2379- 2496MHz

- _ Điện áp hoạt động: 1.8 -3.6V

- _ Giao tiếp: I2C, UART, SPI

2.7.2 Module Wifi ESP8266

Hình anh module Wifi ESP8266 được trình bay ở hình 2.16 Module

ESP8266 v12 dựa trên nền tang chip Wifi SoC ESP8266 với thiết kế dé sử

dụng và sử dung thu viện ESP8266 có san [8].

Hình 2.16 Module Wifi ESPS266 [8]

Thông số kỹ thuật của module wifi ESP8266:

- Nguồn: 3.3V

- Giao tiếp: UART2.7.3 Cảm biến nhiệt độ LM75

Hình 2.17 minh họa hình ảnh của cảm biến nhiệt độ LM75 LM75 là

cảm biến nhiệt độ có độ chính xác cao lên đến 0.125°C, tốc độ cảm biến rat

nhanh, chuyên đổi nhiệt độ sang tín hiệu số khoảng nhiệt độ từ -5°C đến

+125°C [13].

24

Ngày đăng: 02/10/2024, 04:10