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 3THONG 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 5MỤ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 62.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 7DANH 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 8Hì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 9DANH 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 10DANH 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 11MSB 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 13Chươ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 141.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 15Về 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 161.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 17Chuong 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 182.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 19vớ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 20Elements
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 21Trong 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 22bó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 23Quan 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 24Model 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 25Hinh 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 26cung 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 27e_ 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 29Bả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 30trì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 332.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 34cá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 35Thô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