Tải bản đầy đủ (.pdf) (75 trang)

Nghiên cứu và thiết kế anten cho hệ thống truyền phát thông tin đo nhịp tim ECG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.9 MB, 75 trang )

..

LỜI CAM ĐOAN
Tôi xin cam đoan cuốn luận văn này do chính tơi nghiên cứu. Hệ thống phần
cứng và chương trình phần mềm do tơi thiết kế và xây dựng. Các thơng tin số liệu
trong luận văn là hồn tồn trung thực, chính xác và có nguồn gốc rõ ràng. Trong
q trình nghiên cứu tơi có tham khảo mốt số tài liệu, và bài báo có trong danh
mục tài liệu tham khảo được liệt kê cuối luận văn.
Học viên

NGUYỄN VĂN CƯỜNG

1


MỤC LỤC
LỜI CAM ĐOAN ......................................................................................................1
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN THÔNG M2M ............8
1.1 Cơ sở lý thuyết ..................................................................................................8
1.2 Ý tưởng thiết kế: ...............................................................................................9
1.3 Thông số kỹ thuật của hệ thống: .......................................................................9
1.4 Khái niệm về truyền thông M2M ...................................................................10
1.5 Kiến trúc truyền thơng M2M ..........................................................................12
1.5.1 Vì sao phải đưa ra kiến trúc truyền thông M2M ......................................12
1.5.2 Yêu cầu của kiến trúc truyền thông M2M ................................................13
1.5.3 Kiến trúc truyền thông M2M ....................................................................16
1.6 Một số ứng dụng của truyền thông M2M .......................................................31
CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ HỆ THƠNG ............................................34
2.1 Mục tiêu đề ra .................................................................................................34
2.2 Yêu cầu đối với hệ thống: ...............................................................................35
2.3 Mơ hình hoạt động của truyền thơng M2M ....................................................35


2.4 Giải pháp công nghệ cho truyền thông M2M .................................................36
2.5 Một số phương thức kết nối ............................................................................37
2.5.1 Công nghệ truyền thông ZigBee...............................................................38
2.5.2 Công nghệ truyền thông không dây WiFi ................................................40
2.5.3 Công nghệ truyền thông không dây Bluetooth ........................................43
2. 6 Sơ đồ khối và thiết kế hệ thống .....................................................................45
2.6.1 Khối thu thập dữ liệu ................................................................................46
2.6.2 Khối máy chủ dữ liệu ...............................................................................50
2.7 Tạo Websever và Website hiển thị .................................................................50
2.7.1 Tạo Websever Thingspeak .......................................................................50

2


2.7.2 Tạo Website hiển thị dữ liệu.....................................................................53
CHƯƠNG 3: THỰC THI THIẾT KẾ HỆ THỐNG VÀ KẾT QUẢ.......................55
3.1 Thực thi các khối thu thập dữ liệu ..................................................................55
3.1.1 Khối cảm biến nhiệt độ ............................................................................55
3.1.2 Khối cảm biến độ ẩm ................................................................................57
3.1.3 Khối cảm biến ánh sáng............................................................................60
3.2 Quá trình thực hiện ........................................................................................61
3.2.1 Sơ đồ nguyên lý mạch thu thập dữ liệu cảm biến ...................................61
3.2.2 Thiết lập mạng cho Arduino .....................................................................63
3.2.3 Truyền thông Internet ...............................................................................64
3.3 Mơ hình thực nghiệm giám sát và điều khiển thơng số nhiệt độ, độ ẩm và ánh
sáng sử dụng truyền thông M2M ..........................................................................65
3.4 Kết luận ...........................................................................................................67
3.5 Hướng phát triển .............................................................................................68

3



DANH MỤC CÁC HÌNH ẢNH
Hình 1: Ý tưởng thiết kế ............................................................................................9
Hình 2: Mối quan hệ giữa M2M và IoT [1] .............................................................11
Hình 3: Cấu trúc truyền thơng M2M [3]..................................................................16
Hình 4: Hoạt động của giao thức HTTP[4] ...........................................................19
Hình 5: Cấu trúc đơn giản của một ứng dụng web và vị trí của giao thức HTTP[4]
..................................................................................................................................20
Hình 6: Cấu trúc gói tin trong giao thức truyền thơng HTTP[5] .............................21
Hình 7: Q trình đóng gói dữ liệu của giao thức HTTP[6]....................................22
Hình 8: Cấu trúc gói tin trong giao thức truyền thơng MQTT [7] ..........................25
Hình 9: Nguyên lý hoạt động của giao thức truyền thông MQTT ..........................26
Hình 10: Cấu trúc gói tin trong giao thức truyền thơng CoAP[9] ...........................28
Hình 11: Kiến trúc truyền thơng M2M cho ứng dụng chăm sóc sức khỏe[10] .......32
Hình 12: Mơ hình hoạt động của truyền thơng M2M ..............................................35
Hình 13: Giải pháp cơng nghệ cho truyền thơng M2M ...........................................37
Hình 14: Phương thức kết nối giữa thiết bị và Internet[11] ....................................38
Hình 15: Sơ đồ khối hệ thống ..................................................................................45
Hình 16: Hình ảnh thực tế của vi xử lý Arduino UNO............................................46
Hình 17: Sơ đồ khối chức năng các ngõ vào ra của Arduino UNO ........................48
Hình 18: Sơ đồ nguyên lý mạch cảm biến nhiệt độ dùng LM35 .............................55
Hình 19: Sơ đồ nguyên lý mạch cảm biến nhiệt độ dùng DS18B20 .......................56
Hình 20: Sơ đồ nguyên lý mạch cảm biến độ ẩm đất LM393 .................................58
Hình 21: Sơ đồ nguyên lý hoạt động của LM393....................................................59
Hình 22: Sơ đồ nguyên lý của mạch cảm biến ánh sáng .........................................60
Hình 23: Sơ đồ nguyên lý của hệ thống ...................................................................62

4



Hình 24: Sơ đồ mạch in ...........................................................................................62
Hình 25: Hình ảnh thực tế của sản phẩm .................................................................63
Hình 26: Truyền thơng lên Internet .........................................................................64
Hình 27: Mơ hình thực nghiệm cho vườn ươn cây chè ...........................................65
Hình 28: Kết quả hiển thị trên Thinkspeak.com ......................................................66

5


LỜI CẢM ƠN
Trước tiên, em xin gửi lời cảm ơn chân thành tới TS. Ngô Vũ Đức, người thầy
đã tận tình giúp đỡ tơi trong suốt q trình làm khóa luận. Tôi cũng xin gửi lời cảm
ơn tới các Thầy, Cô trong viện, người đã hướng dẫn em trong giai đoạn chuẩn bị
nhận đề tài.
Em xin gửi lời biết ơn sâu sắc tới thầy, cô trong Trường Đại Học Bách Khoa
Hà Nội. Thầy, cơ đã dìu dắt, truyền lại cho chúng tơi khơng chỉ những kiến thức
chun ngành mà cịn dạy bảo chúng em đạo làm người, rèn luyện cho chúng em
nghị lực, khát vọng vươn lên, phát huy khả năng tư duy sáng tạo trong mọi lĩnh
vực.
Cuối cùng, tôi xin được cảm ơn gia đình, bạn bè, những người thân yêu nhất
của tôi. Mọi người luôn ở bên cạnh tơi, động viên, khuyến khích tơi vươn lên trong
cuộc sống.
Hà Nội, tháng 8 năm 2016
Nguyễn Văn Cường

6


MỞ ĐẦU

Ngày nay, cùng với sự bùng nổ, phát triển mạnh mẽ của Internet cũng như của các
thiết bị di động cá nhân như: laptop, smartphone, tablet,…, thì nhu cầu kết nối giữa
các thiết bị này (hay truyền thông M2M) cũng ngày càng đòi hỏi cao hơn về tốc
độ. Truyền thông M2M là một trong những công nghệ vượt trội đáp ứng nhu cầu
kết nối đó nhờ khả năng hoạt động không phụ thuộc vào cơ sở hạ tầng mạng cố
định, với chi phí hoạt động thấp, triển khai nhanh và có tính di động cao. Tuy
nhiên, hiện nay truyền thông M2M vẫn chưa được ứng dụng rộng rãi và đang được
thúc đẩy nghiên cứu nhằm cải tiến hơn nữa các giao thức truyền thông trên tầng
ứng dụng để đạt được hiệu quả hoạt động tốt hơn. Khóa luận nghiên cứu về nền
tảng cơ bản của truyền thông M2M sau đó đưa ra một hệ thống thực nghiệm dựa
trên nền tảng đó.
Đề tài luận văn được chia làm ba chương, mỗi chương được đề cập đến một
vấn đề trong luận văn.
Chương 1: Tổng quan về công nghệ truyền thông M2M.
Chương 2: Phân tích, thiết kế hệ thống.
Chương 3: Thực thi thiết kế hệ thống và kết quả

7


CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ TRUYỀN THÔNG
M2M
1.1 Cơ sở lý thuyết
Truyền thơng từ máy đến máy hay cịn gọi là truyền thông M2M (Machine to
Machine) ra đời từ chính những nhu cầu thiết yếu của ngành viễn thơng mình như
dịch vụ chuyển mạch, giám sát từ xa các thiết bị hay thực hiện các phép đo đạt từ
xa. Ngày nay, truyền thông M2M sử dụng hệ thống mạng viễn thơng kết hợp với
cơng nghệ máy tính để quản lý trực tiếp các thiết bị từ xa trong nhiều lĩnh vực khác
nhau. Thị trường này sẽ phát triển nhanh chóng bất chấp sự đa dạng về các hệ
thống phần mềm cũng như sự cạnh tranh từ rất nhiều nhà cung cấp thiết bị.

Một cách khái quát ta có thể định nghĩa rằng truyền thông M2M là sự kết hợp của
công nghệ thông tin và truyền thông với các thực thể giao tiếp thông minh nhằm để
cung cấp cho chúng khả năng tương tác lẫn nhau mà không cần sự can thiệp của
con người với hệ thống thông tin của một tổ chức hay một doanh nghiệp.
Một trong những áp dụng đầu tiên bên ngồi lĩnh vực viễn thơng của truyền thơng
M2M là dùng để gửi tín hiệu cảnh báo về các tổ chức quản lý những bảng quảng
cáo chiếu sáng quay. Đối với loại bảng quảng cáo này, thời gian hiển thị của những
tờ quảng cáo là như nhau và được thay đổi liên tục nhờ vào một hệ thống con lăn.
Mỗi khi con lăn gặp sự cố, một tin nhắn SMS (theo định dạng đã định trước, kèm
theo vị trí bảng quảng cáo) sẽ được gửi về bộ phận quản lý để kịp thời xử lý. Về
phần mình, người quản lý có một giám sát sự vận hành của tất cả các bảng quảng
cáo. Công nghệ được dùng, trong ví dụ này, là hệ thống truyền thơng di động
GSM. Người ta lắp đặt một thiết bị đầu cuối di động GSM tại mỗi bảng quảng cáo
kèm với một cơ chế để gửi SMS khi cần thiết. Dần dần, sự ra đời của nhiều hệ
thống truyền thông mới đã mở đường cho việc dùng truyền thông M2M vào nhiều
mục đích, lĩnh vực khác nhau.

8


1.2 Ý tưởng thiết kế: Thiết kế một hệ thống có tính ứng dụng cao trong đời sống
hàng ngày như ứng dụng giám sát và điều khiển các thông số môi trường để giúp
cây trông phát triển tốt nhất.

Register

Máy chủ
dữ liệu

Publish: 210C


Subscribe
Laptop

Publish: 210C

Subscribe

Hình 1: Ý tưởng thiết kế
1.3 Thơng số kỹ thuật của hệ thống: Yêu cầu hệ thống được đặc tả theo bảng sau
đây:
Tham số
Tên hệ thống

Nội dung
Thu thập và xử lý dữ liệu sử dụng công nghệ truyền
thông M2M

Số lượng nút cảm Hệ thống đang sử dụng 3 nút cảm biến ( cảm biến nhiệt
biến
độ, cảm biến độ ẩm và cảm biến ánh sáng)
Giao thức sử dụng HTTP
trên tầng ứng dụng
Thời gian đáp ứng

Time=15s

Phương thức truyền Truyền thông có dây theo chuẩn RJ45
thơng
Giao thức từ thiết bị Sử dụng giao thức TCP


9


M2M đến Máy chủ
dữ liệu
Sử dụng Gateway

Hệ thống không sử dụng Gateway

Máy chủ dữ liệu

Sử dụng M2M platform Thingspeak.com
Bảng 1:Bảng yêu cầu hệ thống

1.4 Khái niệm về truyền thông M2M
Truyền thông M2M (Machine to machine) là sự kết hợp của công nghệ thông tin
và truyền thông với các thực thể giao tiếp thông minh nhằm để cung cấp cho
chúng khả năng tương tác lẫn nhau mà không cần sự can thiệp của con người với
hệ thống thông tin của một tổ chức hay một doanh nghiệp.
 Mối liên hệ chặt chẽ giữa truyền thông M2M và IoT:
Về cơ bản, M2M kết nối tất cả các loại thiết bị và máy móc trên hệ thống mạng, từ
đó chúng có thể giao tiếp với nhau thông qua máy chủ trung tâm hoặc dựa trên
đám mây doanh nghiệp sử hữu. Kết cấu của giao tiếp này là các hệ thống hoặc
trạng thái môi trường xung quanh có khả năng trao đổi, truyền tải dữ liệu đến cơ sở
hạ tầng kết nối Internet, tạo ra hiệu quả về thu thập dữ liệu, thay đổi phương thức
làm việc, từ đó có thể tiết kiệm chi phí cho doanh nghiệp.Bất cứ vật thể nào bạn
cũng có thể tích hợp hay gắn cảm biến kết nối, từ xe hơi, đèn đường cho đến tivi,
tủ lạnh và biến tất cả trở thành một “sự vật” trong Internet of Things. Tất cả thông
tin dữ liệu mà cảm biến kết nối có thể thu thập/truyền là vị trí, độ cao, tốc độ, nhiệt

độ, ánh sáng, chuyển động, độ ẩm, lượng đường trong máu cho đến chất lượng
khơng khí, độ ẩ của trái đất.

10


Hình 2: Mối quan hệ giữa M2M và IoT [1]

11


Sự giống và khác nhau giữa M2M và IoT được thể hiện qua bảng so sánh sau:
M2M

IoT

Giống nhau: Đều kết nối thiết bị với mạng
Khác nhau:
- M2M thường liên quan đến giải pháp
cụ thể chủ yếu là trong hệ thông đóng
- M2M có q trình lịch sử xuất phát từ
giải quyết các vấn đề cụ thể, liên quan
chủ yếu tới mong muốn tối ưu hóa dựa
trên các thơng tin sẵn có do các thiết bị
kết nối cung cấp.
- M2M được xem là một thành phần của
Internet cho vạn vật (IoT) để mang lại
lợi ích cho cả ngành cơng nghiệp và
người tiêu dùng thông qua việc áp dụng
rộng rãi trong ngành giao thông vận tải,

điện lưới thông minh, thành phố thông
minh (Smart City) với ứng dụng giám
sát và điều khiển.
- Các máy giao tiếp với nhau bằng một
phương thức truyền thông nào đó

- Giải pháp IoT thì tối ưu cơ sở hạ tầng
kết nối sẵn có, với tham vọng tạo ra
những giá trị kinh doanh mới và đáp
ứng chuỗi giá trị sáng tạo, liên kết với
mạng di động, giải pháp đám mây.
- IoT mở rộng vai trò của Internet để
cung cấp cách thức kết nối giữa hai vật.
- Sự chuyển dịch từ M2M sang IoT
không chỉ từ kết quả của sự phát triển
cơng nghệ mà chủ yếu ở khía cạnh quan
niệm.
- Các vật thể giao tiếp với nhau bằng
cách sử dụng IP để kết nối.

1.5 Kiến trúc truyền thơng M2M
1.5.1 Vì sao phải đưa ra kiến trúc truyền thông M2M
Các nhà kiến trúc hệ thống đưa ra bốn lý do chính về sự cần thiết nên có kiến trúc
tham chiếu cho truyền thông M2M như sau:
- Thiết bị IoT hay M2M có bản chất kết nối mạng liên tục nên cần có phương thức
tương tác 24x7 với các thiết bị này như qua tường lửa (firewall), NAT và một số
cách khác.

12



- Đã có hàng tỷ thiết bị IoT và M2M xuất hiện trên thế giới và con số này tiếp tục
tăng nhanh nên chúng ta cần kiến trúc có thể mở rộng (scalable).
- Các thiết bị IoT và M2M có thể khơng có giao diện người dùng (UI), sử dụng
hàng ngày nên cần hỗ trợ cập nhật tự động và quản lý được từ xa.
- Hầu hết thiết bị IoT và M2M dùng để thu thập và phân tích dữ liệu cá nhân. Vì
vậy, cần có mơ hình quản lý định danh và điều khiển truy nhập cho các thiết bị IoT
cũng như cách xuất bản, sử dụng những dữ liệu này.
1.5.2 Yêu cầu của kiến trúc truyền thông M2M
Yêu cầu chung là kiến trúc tham chiếu cho truyền thông M2M phải trung lập với
nhà sản xuất, không phụ thuộc vào cơng nghệ cụ thể nào. Có những u cầu khá
đặc thù cho thiết bị M2M và môi trường hỗ trợ nhưng cũng có những yêu cầu xuất
phát từ quá trình sản xuất và sử dụng. Có thể tóm tắt các yêu cầu của kiến trúc
tham chiếu cho truyền thông M2M trong 5 nhóm sau:
+ Kết nối và giao tiếp
Các giao thức hiện tại như HTTP có vị trí rất quan trọng trong nhiều thiết bị. Thậm
chí ngay cả bộ điều khiển 8 bit cũng có thể tạo ra lệnh GET, POST và giao thức
HTTP tạo ra kết nối đồng nhất quan trọng. Tuy nhiên, phần mào đầu của HTTP và
một số giao thức Internet truyền thống chưa phù hợp cho giao tiếp M2M hay IoT
vì hai lý do. Thứ nhất, kích cỡ bộ nhớ của chương trình q lớn so với những thiết
bị nhỏ. Vấn đề thứ hai còn lớn hơn: HTTP yêu cầu công suất tương đối cao so với
thiết bị M2M hay IoT nhỏ. Do vậy, cần có một giao thức nhị phân đơn giản, nhỏ
gọn và có khả năng đi qua tường lửa. Đối với thiết bị M2M kết nối Internet qua
gateway cần 2 giao thức: một giao thức kết nối gateway còn giao thức khác kết nối
từ gateway với Internet. Cuối cùng, kiến trúc phải hỗ trợ giao thức truyền thơng
(communications) và bắc cầu. Ví dụ, giao thức nhị phân dùng cho thiết bị IoT phải
cho phép API (dựa trên HTTP) điều khiển được thiết bị khi kết nối với bên thứ ba.
+ Quản lý thiết bị
Hiện nay, nhiều thiết bị M2M hay IoT chưa được quản lý ở chế độ tích cực (active)
trong khi chế độ quản lý này đã phổ biến và ngày càng trở nên quan trọng trong


13


PC, điện thoại di động và các thiết bị khác. Như vậy, chế độ tích cực là u cầu cần
có trong quản lý thiết bị M2M hay IoT, cụ thể bao gồm những tính năng sau:
- Khả năng ngắt kết nối với thiết bị hỏng hoặc bị đánh cắp.
- Khả năng cập nhật phần mềm trên thiết bị.
- Cập nhật các thông số bảo mật.
- Khả năng bật/tắt từ xa một số tính năng phần cứng.
- Xác định vị trí thiết bị mất cắp.
- Xóa dữ liệu bảo mật khỏi thiết bị mất cắp.
- Cấu hình lại từ xa các thông số của Wi-Fi, GPRS hoặc các thông số mạng khác.
+ Thu thập, phân tích và khởi động dữ liệu:
Một số thiết bị IoT hay M2M có giao diện UI nhưng nói chung hầu hết các thiết bị
IoT tập trung vào trang bị 1-2 bộ cảm biến có thể kèm theo (hoặc khơng) 1 bộ kích
động (actuator) hoặc nhiều hơn. Yêu cầu của hệ thống là thu thập dữ liệu từ rất
nhiều thiết bị, lưu trữ, phân tích và ra quyết định hành động dựa trên kết quả phân
tích gần như theo thời gian thực. Kiến trúc tham chiếu được thiết kế để quản lý số
lượng lớn thiết bị. Nếu những thiết bị đó tạo ra dịng dữ liệu ổn định, liên tục thì sẽ
có lượng dữ liệu khá lớn. u cầu là hệ thống lưu trữ cần có tính khả mở cao, xử lý
được khối lượng dữ liệu lớn và đa dạng.
+ Tính khả mở
Bất kỳ kiến trúc phía máy chủ (server-side) nào đều cần tính khả mở cao, có thể hỗ
trợ hàng triệu thiết bị liên tục gửi, nhận và hoạt động dựa trên dữ liệu. Tuy nhiên,
"kiến trúc khả mở cao" kéo theo giá thành cao cả về phần cứng, phần mềm và độ
phức tạp. Yêu cầu quan trọng đối với kiến trúc này là phải hỗ trợ tính mở từ mức
triển khai nhỏ cho đến số lượng thiết bị rất lớn. Tính năng có thể mở co giãn
(elastic) và có thể triển khai dạng cloud như dịch vụ Amazon EC2 là rất cần thiết.
+ An toàn và bảo mật

Đây là yêu cầu quan trọng nhất. Các thiết bị M2M thường thu thập dữ liệu có tính
cá nhân cao và đưa lên Internet (và ngược lại). Điều đó dẫn đến hai loại nguy cơ
mất an tồn:
- Những nguy cơ gắn với bản chất mất an tồn thơng tin của mạng Internet mà nhà
thiết kế/sản xuất thiết bị M2M hay IoT khơng nhận thức được. Đó có thể chỉ đơn

14


giản là việc mở các cổng trên thiết bị. Ví dụ, tủ lạnh kết nối Internet có server dùng
giao thức SMTP khơng an tồn nên có thể gửi tin rác (spam).
- Những nguy cơ riêng từ chính bản thân thiết bị IoT, nhất là phần cứng. Ví dụ,
nhiều thiết bị IoT q nhỏ, khơng hỗ trợ cơ chế mã hóa phi đối xứng phù hợp nên
khơng bảo đảm an tồn.
Có hai vấn đề quan trọng, đặc thù của bảo mật trong truyền thông M2M là quản lý
định danh và truy nhập. Quản lý định danh cho thiết bị M2M và giao tiếp máy-máy
(M2M) bằng cách dùng cặp "tên/mật khẩu" là sai lầm thông dụng. Giải pháp lý
tưởng là sử dụng token cấp theo chuẩn của OAuth/OAuth2. Đối với quản lý truy
nhập, sai lầm thường thấy là sử dụng luật truy nhập đã lập trình cứng trong mã
nguồn phía client và server. Cách tiếp cận tốt nhất hiện nay là sử dụng tiêu chuẩn
XACML. Cách tiếp cận này không dùng mạch logic lập trình sẵn mà đưa vào
chính sách ra quyết định cho phép truy nhập. Ưu điểm của cách này là:
 Đưa ra quyết định phù hợp hơn.
 Dựa trên bối cảnh cụ thể như: vị trí, hoặc mạng nào đang được sử dụng, hoặc
thời gian.
 Có thể phân tích và thẩm định yêu cầu truy nhập.
 Có thể cập nhật, thay đổi chính sách truy nhập mà khơng cần lập trình lại hay
chỉnh sửa thiết bị.

15



1.5.3 Kiến trúc truyền thơng M2M

Hình 3: Cấu trúc truyền thông M2M [3]
1.5.3.1 Lớp thiết bị M2M
Là những thiết bị thơng minh như cảm biến vị trí hay cảm biến đo huyết áp v.v.
Hoặc là những thiết bị công nghiệp như lị nung nhiệt độ cao, các phương tiện giao
thơng, các máy photocopy ở các cơng ty v.v. Ngồi ra truyền thơng M2M cịn
được dùng để phân tích mơi trường (đo nhiệt độ, áp suất, mức nước…). Trong
trường hợp này khơng có các thiết bị theo mơ hình kiến trúc này.
Thiết bị giao tiếp thơng minh đó chính là các cảm biến và các thiết bị truyền động
có khả năng giao tiếp với bên ngồi. Chúng ta có thể kể đến các chip RFID, các mô
đun định vị như GPS, các camera điều khiển từ xa. Các cảm biến và truyền động
có thể được tích hợp trong nhiều máy mốc thiết bị khác nhau chẳng hạn như một
máy photocopy được tích hợp với một mơ đun GSM. Thiết bị giao tiếp thơng minh
cũng có thể là một điện thoại smartphone hay PDA được tích hợp một mơ đun giao
tiếp thích hợp (bằng WiFi, FRID, GSM, ZigBee, Bluetooth…).

16


Các thiết bị M2M phải có giao thức truyền thơng trực tiếp (Arduino, Raspberry Pi,
Intel Galileo qua Ethernet hoặc Wi-Fi) hoặc gián tiếp kết nối được với Internet
(ZigBee, Bluetooth hoặc Bluetooth công suất thấp qua điện thoại di động,...).
Mỗi thiết bị cần có định danh thuộc một trong các loại: định danh duy nhất (UUID)
ghi sẵn trong phần cứng (thường là một phần của SoC hoặc chip thứ cấp), UUID
gửi qua hệ thống vơ tuyến phụ (ví dụ: định danh Bluetooth, địa chỉ Wi-Fi MAC),
token OAuth2 Refresh/Bearer (có thể là bổ sung cho các loại khác), định danh lưu
trong bộ nhớ chỉ đọc như EEPROM.

Các chuyên gia khuyến nghị, mỗi thiết bị IoT nên có một UUID (tốt nhất lưu cố
định trong phần cứng) và một token OAuth2 Refresh/Bearer lưu trong EEPROM.
OAuth2 token có mục đích tạo ra một token định danh tách biệt với số định danh
cố định ghi trong mỗi thiết bị. Bearer token được dùng ban đầu để gửi đến bất kỳ
server hay dịch vụ nào cần định danh. Bearer token có thời gian sống ngắn hơn
Refresh token. Nếu Bearer token hết hạn, Refresh token được gửi đến lớp Định
danh để tạo ra bản cập nhật của Bearer token.
Các thiết bị M2M rất đa dạng nhưng có thể phân thành ba loại chủ yếu, xét theo
kích cỡ:
- Những thiết bị M2M có kích thước nhỏ nhất dùng bộ điều khiển 8 bit nhúng, kiểu
cả hệ thống trên chip SoC (System on Chip) và thường khơng có hệ điều hành. Ví
dụ điển hình là nền tảng phần cứng nguồn mở Arduino 8 bit.
- Mức cao hơn là hệ thống dựa trên chip ARM và Arthero có kiến trúc 32 bit với
tập lệnh rút gọn (limited). Những thiết bị này thường là các bộ router nhỏ dành cho
gia đình và những biến thể khác. Hệ thống thường chạy trên nền tảng nhúng Linux
rút gọn hoặc hệ điều hành nhúng dành riêng. Một số trường hợp không sử dụng hệ
điều hành như Arduino Zero hoặc Arduino Yun.
- Thiết bị M2M lớn nhất là loại sử dụng nền tảng 32 hoặc 64 bit với tập lệnh đầy
đủ. Những hệ thống như Raspberry Pi hay BeagleBone có thể chạy hệ điều hành
Linux đầy đủ hoặc Android. Nhiều trường hợp chính là điện thoại di động hoặc
dựa trên công nghệ điện thoại di động. Những thiết bị này có thể đóng vai trị
gateway hoặc cầu (bridge) cho các thiết bị nhỏ hơn. Ví dụ: thiết bị đeo kết nối qua

17


Bluetooth công suất thấp với điện thoại di động hay Raspberry Pi, để sau đó làm
cầu nối với mạng Internet.
1.5.3.2 Lớp M2M Gateway và M2M network
Công nghệ M2M ngày nay sử dụng nhiều hệ thống truyền thơng khác nhau ví dụ

như hệ thống mạng có dây, mạng khơng dây tầm ngắn như Bluetooth, RFID,
ZigBee v.v, các mạng thông tin di động GSM, GPRS, UMTS, HSPA và cả hệ
thống mạng truyền thơng vệ tinh.
Đó chính là tập hợp các cơng cụ (khơng tính đến mạng truyền thơng) cần thiết để
truyền tải thông tin, lưu trữ các trao đổi và các công cụ giúp quản lý và khai thác
các thiết bị giao tiếp thơng minh. Chúng ta cũng có thể tìm thấy các nền tảng trung
gian (middleware) mà mục đích là tổ chức các dòng dữ liệu đến các thiết bị giao
tiếp khác nhau.
Một trong những công việc quan trọng ở lớp Gateway và lớp network trong cấu
trúc truyền thông M2M là việc nghiên cứu về các giao thức đinh tuyến, cũng như
trong mơ hình OSI thì việc định tuyến là ở lớp 2 hay một vài nghiên cứu đưa ra là
lớp 2,5.
1.5.3.3 Lớp M2M application
Lớp này có các các giao thức để hỗ trợ kết nối các thiết bị. Nhiều giao thức có thể
sử dụng trong lớp này như HTTP/HTTPS, MQTT 3.1/3.1.1, CoAP (Constrained
Application Protocol). Trong đó, HTTP là giao thức lâu đời và phổ biến nhất nên
có nhiều thư viện hỗ trợ. Vì đó là giao thức dựa trên ký tự đơn giản nên nhiều thiết
bị nhỏ như bộ điều khiển 8 bit đều có thể hỗ trợ HTTP. Các thiết bị 32 bit lớn hơn
có thể sử dụng các thư viện HTTP client đầy đủ.
Có một số giao thức được tối ưu riêng cho truyền thơng M2M, trong đó nổi bật
nhất là 2 giao thức MQTT và CoAP.
 Giao thức HTTP.
HTTP ( HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản)

18


HTTP clients
(Web Browser)


HTTP over TCP/IP

HTTP Server (Web Server)

Hình 4: Hoạt động của giao thức HTTP[4]
HTTP là một giao thức cấp độ ứng dụng cho các hệ thống thông tin phân phối,
cộng tác, đa phương tiện. Đây là nền tảng cho giao tiếp dữ liệu cho WWW (ví dụ:
Internet) từ 1990. HTTP là một giao thức chung và stateless mà có thể được sử
dụng cho các mục đích khác cũng như các sự co giãn của các phương thức yêu cầu,
các code lỗi và Header của nó.
Là một giao thức khơng trạng thái (stateless) nằm ở tầng ứng dụng, đảm nhiệm
việc giao tiếp giữa các hệ thống phân tán với nhau, và nó là nền tảng của web. Là
một web developer, chúng ta nên hiểu rõ giao thức này.
HTTP cho phép giao tiếp giữa rất nhiều loại server/client với nhau, chủ yếu thông
qua TCP/IP, tuy nhiên bất kỳ giao thức đáng tin cậy nào khác cũng có thể được
dùng. Cổng giao tiếp chuẩn là 80, tuy nhiên có thể dùng bất kỳ cổng khác. Giao
tiếp giữa client và server dựa vào một cặp request/response. Client khởi tạo HTTP
request và nhận HTTP response từ server gửi về. HTTP request bao gồm hai thành
phần quan trọng là URL và Verb (phương thức), được gửi từ client. Ở phía ngược
lại, server trả về HTTP response trong đó chứa Status code và Message body.
Các đặc trưng cơ bản:
+ HTTP là giao thức connectionless (kết nối khơng liên tục): Client của HTTP, ví
dụ: một trình duyệt khởi tạo một yêu cầu HTTP và sau đó một yêu cầu được tạo ra,
Client ngắt kết nối từ Server và đợi cho một phản hồi. Server xử lý yêu cầu và thiết
lập lại sự kết nối với Client để gửi phản hồi trở lại.

19


+ HTTP là một phương tiện độc lập: Nó nghĩa là, bất kỳ loại dữ liệu nào cũng có

thể được gửi bởi HTTP miễn là Server và Client biết cách để kiểm sốt nội dung
dữ liệu. Nó được u cầu cho Client cũng như Server để xác định kiểu nội dung
bởi sử dụng kiểu MIME thích hợp.
+ HTTP là stateless: Như đã được đề cập ở trên, HTTP là connectionless và nó một
kết quả trực tiếp là HTTP trở thành một giao thức Stateless. Server và Client biết
về nhau chi trong một yêu cầu hiện tại. Sau đó, cả hai chúng nó quên tất cả về
nhau. Do bản chất của giao thức, cả Client và các trình duyệt có thể giữ lại thông
tin giữa các yêu cầu khác nhau giữa các trang web.
Cấu trúc cơ bản:
Sơ đồ dưới đây chỉ cấu trúc rất đơn giản của một ứng dụng web và miêu tả vị trí
của HTTP:

Hình 5: Cấu trúc đơn giản của một ứng dụng web và vị trí của giao thức HTTP[4]
Giao thức HTTP là một giao thức Yêu cầu/Phản hồi dựa trên cấu trúc
Client/Server, nơi mà các trình duyệt web, các thiết bị tìm kiếm,… hoạt động như
các Client, và các Server web hoạt động như một Server.
+ Client: Client gửi một yêu cầu tới Server theo mẫu của một phương thức yêu
cầu, URI, và phiên bản giao thức, được theo bởi một thông báo MIME chứa các bộ

20


chỉnh sửa yêu cầu, thông tin Client, và nội dung đối tượng có thể qua một kết nối
TCP/IP.
+Server: Server phản hồi với một dòng trạng thái, bao gồm phiên bản giao thức
của thông báo và một code thành công hoặc lỗi, theo sau bởi một thông báo MIME
chứa thông tin Server, thông tin thực thể đa phương tiện và nội dung đối tượng có
thể
Các phương thức HTTP:
+ GET: Hoạt động HTTP đơn giản nhất là GET. Đó là cách để Client lấy một đối

tượng hoặc tài nguyên nào đó trên Server. Các trình duyệt sẽ yêu cầu một website
từ Server với GET.
+ POST: Trong khi GET cho phép một Server gửi thơng tin đến Client, thì hoạt
động POST cung cấp một cách để Client gửi thông tin đến các Server. Trình duyệt
sử dụng POST để gởi nội dung các Form đến Web Server.
+ PUT: Các hoạt động PUT cũng cung cấp một cách để client gửi thông tin đến các
Server. Hay nói cách khác, PUT dùng để upload dữ liệu lên server.
Cấu trúc gói tin trong giao thức truyền thơng HTTP

Hình 6: Cấu trúc gói tin trong giao thức truyền thơng HTTP[5]
+ Q trình đóng gói dữ liệu

21


Application
HTTP
1

Transport
(TCP)

HTTP Message

TCP

2

TCP Segment


Internet
(IP)

IP

3
Network
Technology

TCP Segment

IP Dat agram

Net.

4

HTTP Message

IP Dat agram

Net work packet/frame

Hình 7: Q trình đóng gói dữ liệu của giao thức HTTP[6]
 Giao thức MQTT
Giao thức MQTT (Message Queuing Telemetry Transport) là một giao thức gửi
dạng publish/subscribe sử dụng cho các thiết bị M2M hay thiết bị Internet of Thing
với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới
khơng ổn định. Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có
độ trễ cao nên nó là giao thức lý tưởng cho các ứng dụng M2M.


22


Hình 8: Ứng dụng của giao thức MQTT [7]
Hình vẽ trên đây là một ví dụ minh họa cho một ứng dụng có sử dụng giao thức
MQTT.
Dữ liệu từ cảm biến(Sensor node ) được gửi tới máy chủ (MQTT broker).
Để có cái nhìn tồn diện hoặc định nghĩa chi tiết thì ta đi tìm hiểu các khái niệm
liên quan đến giao thức truyền thông MQTT.
+ Publish/ subscribe
Trong một hệ thống sử dụng giao thức MQTT, nhiều node trạm (gọi là mqtt client
- gọi tắt là client) kết nối tới một MQTT server (gọi là broker). Mỗi client sẽ đăng
ký một vài kênh (topic), ví dụ như "/client1/channel1", "/client1/channel2". Q
trình đăng ký này gọi là "subscribe", giống như chúng ta đăng ký nhận tin trên
một kênh Youtube. Mỗi client sẽ nhận được dữ liệu khi bất kỳ trạm nào khác gởi
dữ liệu và kênh đã đăng ký. Khi một client gởi dữ liệu tới kênh đó, gọi
là "publish".
+ QoS
Ở đây có 3 tuỳ chọn QoS (Qualities of service) khi "publish" và "subscribe":

23


QoS0 Broker/client sẽ gởi dữ liệu đúng 1lần, quá trình gởi được xác nhận bởi chỉ
giao thức TCP/IP, giống kiểu đem con bỏ chợ. QoS1 Broker/client sẽ gởi dữ liệu
với ít nhất 1 lần xác nhận từ đầu kia, nghĩa là có thể có nhiều hơn 1 lần xác nhận đã
nhận được dữ liệu. QoS2 Broker/client đảm bảm khi gởi dữ liệu thì phía nhận chỉ
nhận được đúng 1 lần, quá trình này phải trải qua 4 bước bắt tay.
Một gói tin có thể được gởi ở bất kỳ QoS nào, và các client cũng có thể subscribe

với bất kỳ yêu cầu QoS nào. Có nghĩa là client sẽ lựa chọn QoS tối đa mà nó có để
nhận tin. Ví dụ, nếu 1 gói dữ liệu được publish với QoS2, và client subscribe với
QoS0, thì gói dữ liệu được nhận về client này sẽ được broker gởi với QoS0, và 1
client khác đăng ký cùng kênh này với QoS 2, thì nó sẽ được Broker gởi dữ liệu
với QoS2.
Một ví dụ khác, nếu 1 client subscribe với QoS2 và gói dữ liệu gởi vào kênh đó
publish với QoS0 thì client đó sẽ được Broker gởi dữ liệu với QoS0. QoS càng cao
thì càng đáng tin cậy, đồng thời độ trễ và băng thơng địi hỏi cũng cao hơn.
+ Retain
Nếu RETAIN được set bằng 1, khi gói tin được publish từ Client, Broker phải lưu
trữ lại gói tin với QoS, và nó sẽ được gởi đến bất kỳ Client nào subscribe cùng
kênh trong tương lai. Khi một Client kết nối tới Broker và subscribe, nó sẽ nhận
được gói tin cuối cùng có RETAIN = 1 với bất kỳ topic nào mà nó đăng ký trùng.
Tuy nhiên, nếu Broker nhận được gói tin mà có QoS = 0 và RETAIN = 1, nó sẽ
huỷ tất cả các gói tin có RETAIN = 1 trước đó. Và phải lưu gói tin này lại, nhưng
hồn tồn có thể huỷ bất kỳ lúc nào.
Khi publish một gói dữ liệu đến Client, Broker phải se RETAIN = 1 nếu gói được
gởi như là kết quả của việc subscribe mới của Client (giống như tin nhắn ACK báo
subscribe thành công). RETAIN phải bằng 0 nếu không quan tâm tới kết quả của
viẹc subscribe.
+ Last will and testament (LWT)
Gói tin LWT (Last will and testament) khơng thực sự biết được Client có trực
tuyến hay khơng, cái này do gói tin KeepAlive đảm nhận. Tuy nhiên gói tin LWT
như là thơng tin điều gì sẽ xảy đến sau khi thiết bị ngoại tuyến.

24


Tơi có 1 cảm biến, nó gởi những dữ liệu quan trọng và rất khơng thường xun. Nó
có đăng ký trước với Broker một tin nhắn lwt ở topic /node/gone-offline với tin

nhắn id của nó. Và tơi cũng đăng ký theo dõi topic /node/gone-offline, sẽ gởi SMS
tới điện thoại thôi mỗi khi nhận được tin nhắn nào ở kênh mà tơi theo dõi. Trong
q trình hoạt động, cảm biến ln giữ kết nối với Broker bởi việc ln gởi gói tin
keepAlive. Nhưng nếu vì lý do gì đó, cảm biến này chuyển sang ngoại tuyến, kết
nối tới Broker timeout do Broker khơng cịn nhận được gói keepAlive. Lúc này, do
cảm biến của tôi đã đăng ký LWT, do vậy broker sẽ đóng kết nối của Cảm biến,
đồng thời sẽ publish một gói tin là Id của cảm biến vào kênh /node/gone-offline, dĩ
nhiên là tôi cũng sẽ nhận được tin nhắn báo cái cảm biến của mình đã ngoại tuyến.
Hay hiểu một cách ngắn gọn, ngồi việc đóng kết nối của Client đã ngoại tuyến,
gói tin LWT có thể được định nghĩa trước và được gởi bởi Broker tới kênh nào đó
khi thiết bị đăng ký LWT ngoại tuyến.
Giao thức MQTT có phần mào đầu nhỏ (chỉ 2 byte/message), chạy được trên nền
TCP và có khả năng chịu được mơi trường mạng thường bị gián đoạn và suy hao
cao. Ủy ban kỹ thuật của tổ chức tiêu chuẩ n OASIS đang xem xét chuẩn hóa
phiên bản MQTT hiện nay (3.1.1).
Cấu trúc gói tin trong giao thức truyền thơng MQTT:

Hình 8: Cấu trúc gói tin trong giao thức truyền thơng MQTT [7]

25


×