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.. M2M đến Máy chủ dữ liệ
Trang 1LỜ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à hoàn toàn trung thực, chính xác và có nguồn gốc rõ ràng Trong quá 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
Trang 2MỤ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
Trang 32.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
Trang 4DANH 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: Quá 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
Trang 5Hì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
Trang 6LỜ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 quá 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 chuyên 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
Trang 7MỞ ĐẦ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ả
Trang 8CHƯƠ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 ngoà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
Trang 91.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
Tên hệ thống Thu thập và xử lý dữ liệu sử dụng công nghệ truyền
Trang 10M2M đế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
Trang 11Hình 2: Mối quan hệ giữa M2M và IoT [1]
Trang 12Sự giống và khác nhau giữa M2M và IoT được thể hiện qua bảng so sánh sau:
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ó quá 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
Trang 13- Đã 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 yê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 quá 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
Trang 14PC, điện thoại di động và các thiết bị khác Như vậy, chế độ tích cực là yê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 Yê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
+ 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 toàn:
- Những nguy cơ gắn với bản chất mất an toà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
Trang 15giả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 toà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 quá 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 toà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ị
Trang 161.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 Ngoà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 ngoà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…)
Trang 17Cá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
Trang 18Bluetooth 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)
Trang 19HTTP over TCP/IP HTTP Server (Web Server)
HTTP clients
(Web Browser)
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
Trang 20+ 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 soát nội dung
dữ liệu Nó được yê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ộ
Trang 21chỉ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]
+ Quá trình đóng gói dữ liệu
Trang 22Application HTTP
Transport (TCP)
Internet (IP)
Network Technology
TCP Segment
TCP Segment IP
IP Dat agram
IP Dat agram Net.
Net work packet/frame
Hình 7: Quá 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
Trang 23Hì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 toà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" Quá
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":
Hình 8: Ứng dụng của giao thức MQTT [7]
Trang 24QoS0 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 hoàn toà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
Trang 25Tô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 xuyên 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 quá trình hoạt động, cảm biến luôn giữ kết nối với Broker bởi việc luôn 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, ngoà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]
Trang 26Hình 9: Nguyên lý hoạt động của giao thức truyền thông MQTT
Trên cơ sở lý thuyết như vậy nhiều nghiên cứu đã được công bố trên các tạp chí khoa học thế giới như IEEE về ưu điểm của giao thức MQTT so với giao thức truyền thống HTTP
Bảng 2: So sánh hai giao thức MQTT và HTTPS [8]
Trang 27sử dụng để mô tả cách thức truyền tin được gửi từ 1 hoặc nhiều điểm đến 1 tập hợp các điểm khác Trong trường hợp này có thể là 1 hoặc nhiều người gửi, và thông tin được phân phối cho 1 tập hợp các điểm thu
Multicast là thuật ngữ được sử dụng để mô tả cách thức truyền tin được gửi từ 1 hoặc nhiều điểm đến 1 tập hợp các điểm khác Trong trường hợp này có thể là 1 hoặc nhiều người gửi, và thông tin được phân phối cho 1 tập hợp các điểm thu.Multicast hữu ích nếu 1 nhóm khách hàng yêu cầu 1 bộ dữ liệu chung cùng 1 lúc Việc truyền Multicast sẽ có thể tiết kiệm băng thông 1 cách đáng kể
Multicast hữu ích nếu 1 nhóm khách hàng yêu cầu 1 bộ dữ liệu chung cùng 1 lúc Việc truyền Multicast sẽ có thể tiết kiệm băng thông 1 cách đáng kể
Unicast là 1 thuật ngữ được sử dụng để mô tả cách thức truyền tin được gửi từ 1
Trang 28Việc truyền Unicast, trong đó 1 gói tin được gửi từ 1 nguồn duy nhất đến 1 địa điểm được quy định, vẫn là hình thức truyền chủ yếu trong mạng LAN và Internet.Tất cả các mạng LAN (VD: Ethernet) và mạng IP hỗ trợ chế độ Unicast, các ứng dụng sử dụng phương thức vận chuyển giao thức TCP ví dụ như Http, Smtp, Ftp, Telnet)
CoAP theo mô hình client/server Client gửi các yêu cầu đến máy chủ, máy chủ gưi lại phản hồi Client có thể GET, PUT, POST và DELETE các tài nguyên Các yêu cầu và tin nhắn phản hồi có thể được đánh dấu là "confirmable" hoặc
"nonconfirmable" Thông điệp “confirmable” phải được xác nhận bởi bên nhận bằng một gói ack Thông điệp “nonconfirmable” có nghĩa là gửi và quên
Tính linh động: CoAP hỗ trợ đàm phán nội dung Client sử dụng lựa chọn Accept
để thể hiện một đối tượng được quan tâm trong nguồn tài nguyên, máy chủ hồi đáp với lựa chọn Content-Type để nói với client nó đang có những gì Như với HTTP, điều này cho phép client và máy chủ có thể cải tiến một cách độc lập, thêm đối tượng mới mà không ảnh hưởng đến nhau
Vấn đề bảo mật: Bởi vì CoAP được xây dựng trên UDP chứ không phải TCP, SSL/TLS không có sẵn để cung cấp khả năng bảo mật DTLS (Datagram Transport Layer Security) cung cấp sự đảm bảo giống như TLS nhưng để truyền dữ liệu qua UDP Thông thường, các thiết bị DTLS sẽ hỗ trợ RSA và AES hoặc ECC và AES Cấu trúc gói tin trong giao thức CoAP
Hình 10: Cấu trúc gói tin trong giao thức truyền thông CoAP[9]
Tính linh động: Giống như HTTP, CoAP hỗ trợ đàm phán nội dung Client sử dụng lựa chọn Accept để thể hiện một đối tượng được quan tâm trong nguồn tài nguyên, máy chủ hồ
Trang 29i đáp với lựa chọn Content-Type để nói với client nó đang có những gì Như với HTTP, điều này cho phép client và máy chủ có thể cải tiến một cách độc lập, thêm đối tượng mới mà không ảnh hưởng đến nhau CoAp yêu cầu có thể sử dụng chuỗi truy vấn trong hình thức ?a=b&c=d Điều này có thể được sử dụng để cung cấp khả năng tìm kiếm, chia trang và các tính năng khác cho client
Tính bảo mật: Bởi vì CoAP được xây dựng trên UDP chứ không phải TCP, SSL/TLS không có sẵn để cung cấp khả năng bảo mật DTLS (Datagram Transport Layer Security) cung cấp sự đảm bảo giống như TLS nhưng để truyền dữ liệu qua UDP Thông thường, các thiết bị DTLS sẽ hỗ trợ RSA và AES hoặc ECC và AES Khả năng quan sát: CoAP yêu cầu các mô hình với khả năng quan sát tài nguyên Khi cờ quan sát được thiết lập trên một yêu cầu GET, máy chủ có thể tiếp tục hồi đáp sau khi các tài liệu đã được truyền đi Điều này cho phép các máy chủ gửi những sự thay đổi trạng thái đến cho client khi điều đó xảy ra Cả hai bên đều có thể hủy bỏ các yêu cầu quan sát
Khám phá nguồn tài nguyên: CoAP định nghĩa một cơ chế tiêu chuẩn để phát hiện nguồn tài nguyên Máy chủ cung cấp một danh sách các tài nguyên mà nó có (cùng với siêu dữ liệu về chúng) ở liên kết /.well-known/core Các liên kết cho phép client khám phá những tài nguyên được cung cấp và những loại phương tiện truyền thông mà máy củ có
Các vấn đề về NAT (Network Address Translation):
NAT giống như một router, nó chuyển tiếp các gói tin giữa những lớp mạng khác nhau trên một mạng lớn NAT dịch hay thay đổi một hoặc cả hai địa chỉ bên trong một gói tin khi gói tin đó đi qua một router, hay một số thiết bị khác Thông thường, NAT thường thay đổi địa chỉ (thường là địa chỉ riêng) được dùng bên trong một mạng sang địa chỉ công cộng NAT cũng có thể coi như một firewall cơ bản Để thực hiện được công việc đó, NAT duy trì một bảng thông tin về mỗi gói tin được gửi qua Khi một PC trên mạng kết nối đến 1 website trên Internet header của địa chỉ IP nguồn được thay đổi và thay thế bằng địa chỉ Public mà đã được cấu hình sẵn trên NAT server , sau khi có gói tin trở về NAT dựa vào bảng record mà
nó đã lưu về các gói tin, thay đổi địa chỉ IP đích thành địa chỉ của PC trong mạng
và chuyển tiếp đi Thông qua cơ chế đó quản trị mạng có khả năng lọc các gói tin
Trang 30được gửi đến hay gửi từ một địa chỉ IP và cho phép hay cấm truy cập đến một port
cụ thể
Hoạt động của NAT: NAT sử dụng IP của chính nó làm IP công cộng cho mỗi máy con (client) với IP riêng Khi một máy con thực hiện kết nối hoặc gửi dữ liệu tới một máy tính nào đó trên internet, dữ liệu sẽ được gởi tới NAT, sau đó NAT sẽ thay thế địa chỉ IP gốc của máy con đó rồi gửi gói dữ liệu đi với địa chỉ IP của NAT Máy tính từ xa hoặc máy tính nào đó trên internet khi nhận được tín hiệu sẽ gởi gói tin trở về cho NAT computer bởi vì chúng nghĩ rằng NAT computer là máy
đã gởi những gói dữ liệu đi NAT ghi lại bảng thông tin của những máy tính đã gởi những gói tin đi ra ngoài trên mỗi cổng dịch vụ và gởi những gói tin nhận được về đúng máy tính đó (client)
Trong CoAP, một nút cảm biến thường là một máy chủ, không phải một client mặc dù nó có thể là cả 2 Các cảm biến hoặc đầu dò cũng cấp tài nguyên mà có thể được truy cập bởi client để đọc hoặc thay đổi trạng thái của cảm biến Khi các cảm biến là máy chủ, chúng phải có khả năng nhận các gói tin gửi đến Để hoạt động đúng đăng sau NAT, thiết bị đầu tiên phải gửi yêu cầu đến máy chủ, như được thực hiện trong LWM2M, cho phép các router liên kết chúng lại Mặc dù CoAP không yêu cầu IPv6, nó là phương thức đơn giản nhất được sử dụng trong môi trường IP nơi có các thiết bị định tuyến trực tiếp
Một vài so sánh về CoAP và MQTT
MQTT và CoAP đều hữu ích trên tầng ứng dụng, nhưng có các khác biệt cơ bản là: MQTT là một giao thức truyền thông N-N để truyền các thông điệp giữa nhiều khách hàng thông qua broker trung tâm Nó tách riêng người sản suất producer và người tiêu thụ consumer bằng cách cho phép các client gửi bản tin đi và có các broker quyết định đường đi và sao chép bản tin MQTT có một số hỗ trợ để duy trì bản tin, nhưng nó làm tốt nhất nhiệm vụ là bus truyền dữ liệu trực tiếp
CoAP chủ yếu là giao thức 1-1 để truyền trạng thái thông tin giữa client và máy chủ Nó hỗ trợ quan sát tài nguyên, CoAP phù hợp nhất vtrofmoo hình state transfer (***) chứ không chỉ đơn thuần dựa trên các sự kiện
Client MQTT tạo một kết nối TCP lâu dài đến broker Điều này thường không dành cho các thiết bị phía sau NAT Client và máy chủ CoAP đều gửi và nhận các gói tin UDP Trong các môi trường NAT, luồng hoặc cổng chuyển tiếp có thể được
Trang 31sử dụng để thông qua CoAP hoặc các thiết bị lần đầu tiên mở kết nối đến đầu cuối như LWM2M
MQTT không hỗ trợ các nhãn bản tin với các loại hoặc dữ liệu khác để giúp client hiểu nó Bản tin MQTT có thể được sử dụng cho bất kì mục đích nào, nhưng tất cả các client phải biết định dạng bản tin để cho phép truyền thông CoAP ngược lại,
nó hỗ trợ việc đàm phán nội dung và khám phá cho phép các thiết bị thăm dò nhau
để tìm cách trao đổi dữ liệu
1.6 Một số ứng dụng của truyền thông M2M
Truyền thông M2M đáp ứng các nhu cầu cụ thể của các doanh nghiệp Công nghệ truyền thông M2M tích hợp dễ dàng vào các thiết bị trong các phương tiện giao thông, ở các vùng nông thôn và đô thị (hệ thống báo động lũ ở đồng bằng, rừng giám sát), trên cơ thể sống (con người, động vật) v.v Truyền thông M2M có thể được phân thành các loại hình kiến trúc mạng: mạng thể chất (đối với cơ thể con người), mạng cục bộ, mạng nhận thức v.v
- Hệ thống giao thông thông minh trong đó các xe tham gia giao thông tương tác với các công trình giao thông (cột đèn, biển báo…) nhằm mục đích tránh giảm bớt tai nạn giao thông, điển khiển lưu lượng giao thông, cung cấp thông tin phân luồng cũng như các dịch vụ lân cận
- Mạng lưới phân phối điện (smart grid): Các tổ chức phân phối năng lượng điện giả định rằng nhu cầu về năng lượng điện cũng như việc sản xuất điện cục bộ có thể được tổ chức với sự giúp đỡ của các cảm biến Các robot thông minh, được theo dõi từ xa, cho phép tiết kiệm đáng kể trong lĩnh vực năng lượng
- Hệ thống thu phí cầu đường tự động
- Hệ thống giám sát, báo động trộm, cháy, thâm nhập trong các tòa nhà, trụ sở, công xưởng
- Các dự án liên quan đến e-health: chuẩn đoán từ xa, theo dõi bệnh nhân tại nhà, trợ giúp người già neo đơn
+ Kiến trúc M2M đơn giản cho ứng dụng chăm sóc sức khỏe qua truyền thông không dây
Trang 32Hình 11: Kiến trúc truyền thông M2M cho ứng dụng chăm sóc sức khỏe[10]
- Trong những năm gần đây, ETSI đã tích cực tham gia vào việc phát triển một tiêu chuẩn cho các hệ thống M2M, với mục tiêu đảm bảo khả năng tương tác giữa các thành phần M2M đa dạng và các công nghệ hiện có ETSI đề xuất một kiến trúc ngang cao cấp, phân chia hệ thống thành ba lĩnh vực: 1) các thiết bị và cổng miền, nơi các thiết bị M2M giao tiếp với một cổng thông qua mạng không dây tầm ngắn, 2) các miền mạng kết nối gateway để các ứng dụng thông qua truy cập tầm xa và mạng lưới thông tin liên lạc, và 3) các miền ứng dụng, nơi mà ứng dụng các dịch
vụ khác nhau được xác định
- Các thiết bị M2M, đó là các thiết bị có khả năng truyền dữ liệu độc lập hoặc sau khi nhận được một yêu cầu dữ liệu Trong các ứng dụng y tế, các thiết bị M2M là chủ yếu là các cảm biến có năng lượng thấp
- Các mạng M2M là một mạng không dây tầm ngắn cung cấp kết nối giữa các thiết
bị M2M và gateway Trong một số trường hợp mạng khu vực cũng sẽ được gọi là
Trang 33WBAN, cho rằng các thiết bị M2M được triển khai gần hoặc bên trong cơ thể con người
* Tổng kết: Như vậy trong toàn bộ chương 1 tác giả đã đưa ra được ý tưởng thiết
kế, đặc tính kỹ thuật của hệ thống cụ thể như trên bảng 1 Đã phân tích chi tiết từng lớp trong cấu trúc truyền thông M2M Nghiên cứu nguyên lý hoạt động cũng như cấu trúc gói tin và quá trình đóng gói tin của một số giao thức được sử dụng trên tầng ứng dụng, từ đó kết luận rằng giao thức MQTT có nhiều thế mạnh hơn rất nhiều trong truyền thông M2M
Trang 34CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ HỆ THÔNG 2.1 Mục tiêu đề ra
Thiết kế hệ thống giám sát thông số độ ẩm, ánh sáng, nhiệt độ cho vườn ươm cây chè trong vườn nhà tác giả tại huyện Phổ Yên, Tỉnh Thái Nguyên Ta điểm qua về một số đặc tính của cây chè về 3 thông số này
- Yếu tố ánh sáng: Cây chè nguyên là một cây rừng mọc trong những điều kiện ẩm ướt, râm mát của vùng khí hậu cận nhiệt đới gió mùa Đông Nam Á Về nhu cầu ánh sáng, cây chè là cây trung tính trong giai đoạn cây con, lớn lên ưa sáng hoàn toàn Dưới bóng râm, là chè xanh đậm, lóng dài, búp non lâu, hàm lượng nước cao nhưng búp thưa, sản lượng thấp vì quang hợp yếu Ánh sáng tán xạ ở vùng núi cao
có tác dụng tốt đến phẩm chất chè hơn ánh sáng trực xạ Sương mù nhiều, ẩm ướt, nhiệt độ thấp, biên độ nhiệt ngày đêm lớn ở vùng đồi núi cao là điều kiện để sản xuất chè có chất lượng cao trên thế giới
- Yếu tố về nhiệt độ: Nhiệt độ không khí thuận lợi cho sinh trưởng của chè là 280C; búp chè sinh trưởng chậm ở 15-180C, dưới 100C mọc rất chậm Trên 300C chè mọc chậm, trên 400C chè bị khô xém nắng lá non
22 Yếu tố độ ẩm đất: Nước giữ vai trò quan trọng trong sản xuất nông nghiệp và công nghệ chế biến Nước là thành phần chủ yếu của chất nguyên sinh, là nguyên
tố quan trọng để đảm bảo các hoạt động sinh lý của cây chè Về nông nghiệp, nước quyết định sản lượng và chất lượng của chè; trong công nghiệp, nước là thành phần biến đổi nhiều trong các công đoạn héo, vò, lên men, sấy khô Lượng mưa trung bình năm thích hợp cho sinh trưởng cây chè là 1.500-2.000mm Độ ẩm tương đối không khí từ 80-85% có lợi cho sinh trưởng của chè
Như vậy dựa vào phân tích trên thì các tham số cần điều khiển để phù hợp cho cây chè gồm
Trang 35>85% Bơm nước Tắt
2.2 Yêu cầu đối với hệ thống:
Hệ thống được thiết kế với yêu cầu sau: Các thông số được gửi về và điều khiển gần như thời gian thực Dựa vào giới hạn của các tham số theo bảng trên mà đưa ra yêu cầu cho hệ thống khi lượng ánh sáng dưới 40% do cây chè trong thời kỳ còn non, nhiệt độ dưới 220C và trên 280C, độ ẩm dưới 80% và trên 85% thì các thiết bị như bóng đèn, quạt gió và máy bơm nước sẽ được điều khiển tắt hay bật
2.3 Mô hình hoạt động của truyền thông M2M
Dữ liệu Không dây
Dữ liệu khắp mọi nơi trên thiết bị di động
Máy chủ dữ liệu
Mô hình hoạt động của M2M
Cảnh báo SMS
Hình 12: Mô hình hoạt động của truyền thông M2M
Như trên hình ta thấy mô hình hoạt động của M2M bắt đầu các cảm biến gửi dữ liệu bằng phương thức truyền thông có dây hoặc không dây lên Gateway, còn các quá trình giao tiếp phía sau là mô hình hoạt động của IoT dùng IP để kết nối các vật thể với nhau, đây là mô hình hoạt động chung cho truyền thông M2M Hệ
Trang 36thống các nút cảm biến thu thập dữ liệu từ bên ngoài môi trường được đưa lên Cloud hay máy chủ dữ liệu qua nhiều đường kết nối có thể là không dây hoặc có dây qua Gateway hoặc không qua Gateway Sau đó dữ liệu sẽ lưu trữ trên hệ thống
vì vậy mà người dùng hoàn toàn có thể theo dõi, giám sát và điều khiển được Dữ liệu này có thể được hiển thị trên các thiết bị di động ở khắp mọi nơi có mạng Internet Tuy nhiên, hệ thống mà tác giả thiết kế không có Gateway và quá trình truyền dữ liệu từ thiết bị M2M lên máy chủ dữ liệu sử dụng giao thức TCP và qua đường kết nối có dây sử dụng chuẩn RJ45
2.4 Giải pháp công nghệ cho truyền thông M2M
Trang 37Hình 13: Giải pháp công nghệ cho truyền thông M2M
Từ mô hình hoạt động và mô hình cấu trúc của truyền thông M2M, em đã đưa ra giải pháp công nghệ cho truyền thông M2M Hệ thống được thiết kế dựa trên nền tảng cấu trúc của truyền thông M2M Từ lớp M2M device đến lớp M2M gateway đến lớp M2M network và cuối cùng là lớp M2M application
2.5 Một số phương thức kết nối
Có một số giải pháp kết nối giữa thiết bị với Internet hoặc gateway:
- Kết nối Ethernet hoặc Wi-Fi trực tiếp qua giao thức TCP hoặc UDP
- Bluetooth công suất thấp
- Kết nối trường gần (NFC)
- Zigbee hoặc các mạng vô tuyến khác
- SRF và kết nối vô tuyến điểm-điểm
- UART hoặc kênh nối tiếp (serial lines)
- SPI hoặc kênh I2C (wired buses)
Tóm lại, có hai mô hình chính là trực tiếp kết nối Internet hoặc qua gateway