1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC TÂY BẮC
=====o0o=====
PHAN VĂN HOÀN
NGHIÊN CỨU HỆ THỐNG IBM WASTON IOT
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Sơn La, năm 2017
2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC TÂY BẮC
=====o0o=====
PHAN VĂN HOÀN
NGHIÊN CỨU HỆ THỐNG IBM WASTON IOT
Chuyên ngành: Công nghệ thông tin
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Ngƣời hƣớng dẫn: ThS. Phan Trung Kiên
Sơn La, năm 2017
3
Mục Lục
LỜI CẢM ƠN ........................................................................................................10
MỞ ĐẦU .......................................................................................................11
1.
2.
3.
4.
5.
6.
Lý do chọn đề tài và tính cấp thiết ......................................................11
Mục đích nghiên cứu ...........................................................................12
Đối tƣợng nghiên cứu ..........................................................................12
Nhiệm vụ nghiên cứu ..........................................................................12
Phạm vi nghiên cứu .............................................................................12
Phƣơng pháp nghiên cứu .....................................................................12
CHƢƠNG 1. GIỚI THIỆU INTERNET OF THINGS .........................................13
1.1. Internet of Things (IoT).......................................................................13
1.1.1
Khả năng định danh duy nhất.........................................................13
1.1.2
Xu hƣớng và tính chất của Internet of Things ...............................14
1.1.3
Hệ thống phụ trong IoT ..................................................................15
1.1.4
Ứng dụng của IoT ...........................................................................15
1.2 Giao thức MQTT .................................................................................18
1.2.1
MQTT .............................................................................................18
1.2.2
Gửi, subscribe .................................................................................18
1.2.3
QoS .................................................................................................18
1.2.4
Retain ..............................................................................................19
1.2.5
LWT ................................................................................................19
CHƢƠNG 2. NỀN TẢNG IBM WASTON IOT ..................................................20
2.1 Bluemix ...............................................................................................20
2.2 Nền tảng của IBM Watson IoT ...........................................................21
2.2.1
Apps ................................................................................................21
2.2.2
Dịch vụ............................................................................................22
2.2.3
Infrastructure ..................................................................................22
2.2.4
Kiến trúc Bluemix Clound Foundry...............................................23
2.2.5
Regions ...........................................................................................24
2.2.6
Phục hồi Bluemix ...........................................................................25
2.2.7
Tích hợp với hệ thống của record ..................................................26
2.2.8
Tạo một ứng dụng di động .............................................................26
2.2.9
Điều kiện sử dụng Bluemix ............................................................27
2.3 Kết nối MQTT cho ứng dụng..............................................................28
2.3.1
Chứng thực MQTT .........................................................................28
2.3.2
Sự kiện ouput ..................................................................................28
2.3.3
Thông tin lƣu trữ.............................................................................28
4
2.3.4
Đăng ký sự kiện thiết bị .................................................................29
2.3.5
Đăng ký theo lệnh thiết bị ..............................................................29
2.3.6
Đăng ký nhận Tín hiệu trạng thái thiết bị ......................................29
2.3.7
Đăng ký nhận tín hiệu trạng thái ứng dụng....................................30
2.4 Kết nối MQTT cho thiết bị..................................................................30
2.4.1
Kết nối thiết bị vào Dịch vụ Quickstart .........................................30
2.4.2
Xác thực MQTT .............................................................................30
2.4.3
Tên ngƣời dùng...............................................................................30
2.4.4
Mật khẩu .........................................................................................30
2.4.5
Thông tin giữ lại .............................................................................30
2.4.6
Đăng ký vào lệnh ............................................................................31
2.4.7
Thiết bị quản lý ...............................................................................31
2.4.8
Chất lƣợng của mức dịch vụ và phiên làm việc .............................31
2.4.9
Message Format ..............................................................................32
2.5 MQTT cho gateway.............................................................................32
2.5.1
Xác thực MQTT .............................................................................32
2.5.2
Sự kiện gửi ......................................................................................32
2.5.3
Thông điệp giữ lại...........................................................................33
2.5.4
Đăng ký vào lệnh ............................................................................33
2.5.5
Thông báo trên cổng .......................................................................33
2.5.6
Quản lý cổng ...................................................................................34
2.6 Node-Red .............................................................................................35
2.6.1
Giới thiệu ........................................................................................35
2.6.2
Cài đặt Node-RED trên thiết bị ......................................................36
2.6.3
Register Thiết bị .............................................................................39
CHƢƠNG 3. ỨNG DỤNG DEMO .......................................................................40
3.1 Giới thiệu Raspberry ...........................................................................40
3.1.1
Cấu tạo Raspberry Pi ......................................................................40
3.2 Lựa chọn mục tiêu ...............................................................................42
3.3
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
3.4.6
3.5
3.5.1
3.5.2
3.6
3.6.1
3.7
Phân tích yêu cầu .................................................................................42
Thiết kế mức khái niệm. ......................................................................42
Xác định tác nhân ...........................................................................42
Mô hình Use – Case của tác nhân ngƣời dùng ..............................43
Mô hình Use – Case của tác nhân hệ thống IBM Waston IoT ......44
Mô hình Use – Case của tác nhân của thiết bị Raspberry .............44
Mô hình hóa tƣơng tác đối tƣợng. ..................................................45
Biểu đồ lớp thực thể .......................................................................45
Thiết kế giao diện ngƣời dùng ............................................................48
màn hình chính ứng dụng ...............................................................48
Màn hình điều khiển thiết bị ..........................................................48
Sơ đồ mạch trên raspberry Pi ..............................................................50
Giao diện lịch sử đăng nhập ...........................................................50
Sử lý sự kiện ........................................................................................51
5
3.7.1
Trên ứng dụng: ...............................................................................51
3.7.2
Trên hệ thống IBM Waston IoT .....................................................53
3.7.3
Trên Raspberry Pi 3 Mode B..........................................................53
3.8 Hƣớng dẫn sử dụng .............................................................................54
KẾT LUẬN VÀ KIẾN NGHỊ ...............................................................................59
3.9 Kết luận................................................................................................59
3.10 Kiến nghị. ............................................................................................59
TÀI LIỆU THAM KHẢO .....................................................................................60
6
Danh mục bảng biểu
Bảng 3. Region .......................................................................................................25
Bảng 4. Sự kiện gửi................................................................................................33
Bảng 5. Cổng thiết bị .............................................................................................33
7
Danh mục hình ảnh
Hình 1. Giới thiệu về internet of thing ..................................................................13
Hình 2. Ví dụ về Internet of Things ......................................................................15
Hình 3. Một ứng dụng của Internet of Things .......................................................17
Hình 4. Giới thiệu về Node Red ............................................................................35
Hình 5. Quản lí cổng ..............................................................................................36
Hình 6. Tạo một ứng dụng Node-red ....................................................................36
Hình 7. Vào ứng dụng node-red ............................................................................37
Hình 8. Bắt đầu làm việc với node-red ..................................................................37
Hình 9. Thông tin về dự án sử dụng node-red .......................................................38
Hình 10. Triển khai dự án node-red.......................................................................39
Hình 12. Thông tin đăng kí thiết bị .......................................................................39
Hình 13. Raspberry Pi Mode B..............................................................................40
Hình 14. MQTT Mô tả giao tiếp của ứng dụng.....................................................43
Hình 15. Use-Case ngƣời dùng..............................................................................43
Hình 16. Use-case hệ thống IBM Waston IoT ......................................................44
Hình 17. Use-case Raspberry Pi ............................................................................44
Hình 18. Mô hình hóa tƣơng tác ............................................................................45
Hình 19. Login Page Fragment ..............................................................................46
Hình 20. IoT Device ..............................................................................................46
Hình 21. IoT Client ................................................................................................47
Hình 22. ProfilesActivity .......................................................................................47
Hình 23. Giao diện đăng nhập ...............................................................................48
Hình 24. Giao diện điều khiển ...............................................................................49
Hình 25. Sơ đồ mạch..............................................................................................50
Hình 26. Giao diện lịch sử đăng nhập ...................................................................50
Hình 27. Giao diện điền thông tin đăng nhập........................................................54
Hình 28. Giao diện điều khiển bật tắt đèn .............................................................55
8
Hình 29. Thiết bị bật đèn .......................................................................................56
Hình 30. Thiết bị đƣợc tắt đèn ...............................................................................57
Hình 31. Giao diện thông tin đăng nhập................................................................58
9
Danh mục từ viết tắt
Từ viết tắt
Nghĩa từ
IoT
Internet of thing
MQTT
Message Queuing Telemetry Transport
QoS
Qualities of service
API
Application Programming Interface
HTTP
HyperText Transfer Protocol
REST
Representational State Transfer
LWT
Last will and testament
10
LỜI CẢM ƠN
Trƣớc hết, tôi xin chân thành cảm ơn thầy cô Trƣờng Đại học Tây Bắc, đặc biệt
là thầy cô đã tận tình dạy bảo tôi trong suốt quá trình học tập tại trƣờng.
Tôi xin gửi lời biết ơn sâu sắc đến Ths. Phan Trung Kiên, thầy hƣớng dẫn, đã
dành nhiều thời gian và tâm huyết hƣớng dẫn tôi nghiên cứu trong suốt thời gian qua.
Tôi xin gửi lời biết ơn sâu sắc tới Ths.Giang Thành Trung đã hỗ trợ về trang thiết bị và
tạo điều kiện về chỗ làm việc và tổ chức cho tôi đƣợc thảo luận trong nhóm.
Tôi cũng xin chân thành cảm ơn bè của tôi tại Trƣờng Đại học Tây Bắc đã tạo
điều kiện về mặt thời gian để tôi hoàn thành quá trình nghiên cứu khóa luận tốt nghiệp.
Cuối cùng, tôi xin gửi lời cảm ơn tới những ngƣời thân trong gia đình tôi, bè tôi
đã luôn động viên tôi trong quá trình học tập và nghiên cứu.
Mặc dù tôi đã có nhiều cố gắng hoàn thành khóa luận một cách tốt nhất, tuy
nhiên do năng lực còn nhiều hạn chế nên không thể tránh khỏi những thiếu sót. Vì vậy,
tôi rất mong nhận đƣợc những đóng góp quý báu của thầy cô và bạn.
Sơn La, ngày tháng năm 2017
Sinh viên
Phan Văn Hoàn
11
MỞ ĐẦU
1. Lý do chọn đề tài và tính cấp thiết
Xu thế toàn cầu hóa về internet đang diễn ra mạnh mẽ trên khắp thế giới và Việt
Nam cũng nằm trong số đó. Internet là một hệ thống thông tin toàn cầu đƣợc truy nhập
công cộng gồm mạng máy tính đƣợc liên kết với nhau. Hệ thống truyền thông tin, kiểu
nối chuyển gói dữ liệu (packet switching) dựa trên một giao thức liên mạng đã đƣợc
chuẩn hóa (giao thức IP). Hệ thống bao gồm hàng ngàn mạng máy tính nhỏ hơn của
doanh nghiệp, của viện nghiên cứu và trƣờng đại học, của ngƣời dùng cá nhân, và
chính phủ trên toàn cầu.
Máy móc dễ dàng nhận biết và phản hồi lại môi trƣờng xung quanh (ambient
intelligence), chúng cũng tự điều khiển bản thân (autonomous control) mà không cần
đến kết nối mạng. Trong thời gian gần đây nhà khoa học bắt đầu nghiên cứu kết hợp
hai khái niệm IoT( Internet of Thing) và autonomous control lại với nhau. Tƣơng lai
của IoT là một mạng lƣới thực thể thông minh có khả năng tự tổ chức và hoạt động
riêng lẻ theo tình huống, môi trƣờng, đồng thời chúng cũng liên lạc với nhau để trao
đổi thông tin, dữ liệu.
Việc tích hợp trí thông minh vào IoT còn giúp thiết bị, máy móc, phần mềm thu
thập và phân tích dấu vết điện tử của con ngƣời khi chúng ta tƣơng tác với những thứ
thông minh, từ đó phát hiện ra tri thức mới liên quan tới cuộc sống, môi trƣờng, mối
tƣơng tác xã hội cũng nhƣ hành vi con ngƣời.
Thực thể, máy móc trong IoT sẽ phản hồi dựa theo sự kiện diễn ra trong lúc
chúng hoạt động theo thời gian thực. Một mạng lƣới sensor chính là một thành phần
đơn giản của IoT.
Trong một thế giới mở, IoT sẽ mang tính chất phức tạp bởi nó bao gồm một
lƣợng lớn đƣờng liên kết giữa những thiết bị, máy móc, dịch vụ với nhau, ngoài ra còn
bởi khả năng thêm vào nhân tố mới.
Trong IoT vị trí địa lý chính xác của một vật nào đó là rất quan trọng. Hiện nay
Internet chủ yếu đƣợc sử dụng để quản lí thông tin đƣợc xử lý bởi con ngƣời. Do đó
những thông tin nhƣ địa điểm, thời gian, không gian của đối tƣợng không mấy quan
trọng bởi ngƣời xử lí thông tin quyết định thông tin có cần thiết hay không và nếu cần
thì bổ sung thêm. Trong khi đó, IoT về lý thuyết sẽ thu thập rất nhiều dữ liệu, trong đó
có dữ liệu thừa về địa điểm, và việc xử lí dữ liệu đó đƣợc xem nhƣ không hiệu quả.
Ngoài ra, việc xử lí một khối lƣợng lớn dữ liệu trong thời gian ngắn đủ để đáp ứng cho
hoạt động của đối tƣợng cũng là mộttrong những thách thức hiện nay.
12
Với lý do nhƣ trên, tôi đã chọn đề tài “Tìm hiểu nền tảng IBM Waston IoT”
làm đề tài nghiên cứu khóa luận tốt nghiệp.
2. Mục đích nghiên cứu
Nghiên cứu về IoT và hệ thống IBM Waston IoT.
Nghiên cứu về ngôn ngữ Node Red và phƣơng thức liên kết thiết thiết bị phần
cứng với web sever thông qua node-red.
Nghiên cứu về linh kiện Rapberry Pi 3 Mode B.
Cài đặt, lắp ráp phần cứng linh kiện IoT và kết nối modul với hệ thống IoT IBM
Waston và phân tích kết quả thu đƣợc.
3. Đối tƣợng nghiên cứu
Lý thuyết về IoT và cấu trúc trong hệ thống IBM Waston IoT. Cấu trúc và cách
cài đặt kết nối của linh kiện Rapberry Pi 3 Mode B kết nối đến hệ thống IBM Waston
IoT.
4. Nhiệm vụ nghiên cứu
Tìm hiểu về IoT và hệ thống IBM Waston IoT.
Tìm hiểu về ngôn ngữ node-red và thức liên kết thiết thiết bị phần cứng với web
sever thông qua node-red.
Tìm hiểu về linh kiện Rapberry Pi 3 Mode B.
Cài đặt, lắp ráp phần cứng linh kiện IoT và kết nối modul với hệ thống IoT IBM
Waston và phân tích kết quả thu đƣợc.
5. Phạm vi nghiên cứu
Phƣơng thức, giao thức của hệ thống IBM Waston IoT giao tiếp với thiết bị IoT.
6. Phƣơng pháp nghiên cứu
Phƣơng pháp đọc tài liệu, phân tích, tổng hợp. Phƣơng pháp thực nghiệm.
13
CHƢƠNG 1. GIỚI THIỆU INTERNET OF THINGS
1.1. Internet of Things (IoT)
Internet of Things là một hệ thống thiết bị đƣợc kết nối với nhau qua mạng
Internet. Chúng có khả năng trao đổi và truyền tải thông tin, dữ liệu một cách hiệu quả
và tiện lợi thông qua mạng Internet mà không cần sự tƣơng tác trực tiếp giữa ngƣời
với thiết bị. Điều đó có nghĩa là khi mọi thiết bị đã đƣợc “ Internet hóa”, chỉ với một
thiết bị thông minh, nhƣ Smart tivi, Smartphone hay bằng một chiếc smartwatch nhỏ
bé đã đƣợc hỗ trợ IoT, ngƣời dùng điều khiển thiết bị IoT mọi lúc mọi nơi mà không
bị giới hạn về mặt thời gian và không gian.
Hình 1. Giới thiệu về internet of thing
Có một triển vọng rất rõ ràng tạo ra một thế giới nơi mà mọi thứ đều đƣợc kết nối
vào Internet. Mục tiêu đạt đƣợc khi và chỉ khi áp dụng IoT ở tất cả mọi nơi". Việc
trang bị những công nghệ theo dõi, nhận biết vào những vật thông dụng trong đời sống
sẽ làm thay đổi rất nhiều cách con ngƣời tƣơng tác với đồ vật cũng nhƣ cách tƣơng tác
giữa ngƣời với ngƣời.
1.1.1 Khả năng định danh duy nhất
Điểm quan trọng của IoT đó là đối tƣợng phải đƣợc nhận biết và định danh
(identifiable). Nếu mọi đối tƣợng, kể cả con ngƣời, đƣợc "đánh dấu" để phân biệt bản
thân đối tƣợng đó với những thứ xung quanh thì chúng ta hoàn toàn quản lí đƣợc nó
thông qua máy tính. Việc đánh dấu (tagging) đƣợc thực hiện thông qua nhiều công
nghệ, chẳng hạn nhƣ RFID, NFC, mã vạch, mã QR, watermark kĩ thuật số... Việc kết
nối thì thực hiện qua Wi-Fi, mạng viễn băng thông rộng (3G, 4G), Bluetooth, ZigBee,
hồng ngoại...
14
Ngoài những kĩ thuật nói trên, nếu nhìn từ thế giới web, chúng ta sử dụng địa chỉ
độc nhất để xác định từng vật, chẳng hạn nhƣ địa chỉ IP. Sự xuất hiện của IPv6 với
không gian địa chỉ cực kì rộng lớn sẽ giúp mọi thứ dễ dàng kết nối vào Internet cũng
nhƣ kết nối với nhau.
1.1.2 Xu hƣớng và tính chất của Internet of Things
Thông minh
Thông minh và tự động trong điều khiển thực chất không phải là một phần trong
ý tƣởng về IoT. Máy móc dễ dàng nhận biết và phản hồi lại môi trƣờng xung quanh
(ambient intelligence), chúng cũng tự điều khiển bản thân (autonomous control) mà
không cần đến kết nối mạng. Tuy nhiên, trong thời gian gần đây ngƣời ta bắt đầu
nghiên cứu kết hợp hai khái niệm IoT và autonomous control lại với nhau. Tƣơng lai
của IoT là một mạng lƣới thực thể thông minh có khả năng tự tổ chức và hoạt động
riêng lẻ tùy theo tình huống, môi trƣờng, đồng thời chúng cũng liên lạc với nhau để
trao đổi thông tin, dữ liệu.
Việc tích hợp trí thông minh vào IoT còn giúp thiết bị, máy móc, phần mềm thu
thập và phân tích dấu vết điện tử của con ngƣời, từ đó phát hiện ra tri thức mới liên
quan tới cuộc sống, môi trƣờng, mối tƣơng tác xã hội cũng nhƣ hành vi con ngƣời.
Kiến trúc dựa trên sự kiện
Thực tế máy móc trong IoT sẽ phản hồi dựa theo sự kiện diễn ra trong lúc chúng
hoạt động theo thời gian thực. Một mạng lƣới sensor chính là một thành phần đơn giản
của IoT.
Là một hệ thống phức tạp
Trong một thế giới mở IoT sẽ mang tính chất phức tạp bởi nó bao gồm một
lƣợng lớn đƣờng liên kết giữa những thiết bị, máy móc, dịch vụ với nhau, ngoài ra còn
bởi khả năng thêm mới.
Kích thƣớc tín hiệu
Một mạng lƣới IoT chứa đến 50 đến 100 nghìn tỉ đối tƣợng đƣợc kết nối và mạng
lƣới theo dõi sự di chuyển của từng đối tƣợng.
Vấn đề không gian, thời gian
Trong IoT, vị trí địa lý chính xác của một vật nào đó là rất quan trọng. Hiện nay,
Internet chủ yếu đƣợc sử dụng để quản lí thông tin đƣợc xử lý bởi con ngƣời. Do đó
những thông tin nhƣ địa điểm, thời gian, không gian của đối tƣợng không mấy quan
trọng bởi ngƣời xử lí thông tin quyết định thông tin có cần thiết hay không và nếu cần
15
thì hệ thống bổ sung thêm. Trong khi đó IoT về lý thuyết sẽ thu thập rất nhiều dữ liệu,
trong đó có dữ liệu thừa về địa điểm, và việc xử lí dữ liệu đó đƣợc xem nhƣ không
hiệu quả. Ngoài ra, việc xử lí một khối lƣợng lớn dữ liệu trong thời gian ngắn đủ để
đáp ứng cho hoạt động của đối tƣợng cũng là một thác thức hiện nay.
1.1.3 Hệ thống phụ trong IoT
Không phải tất cả mọi thứ nằm trong IoT đều nhất thiết phải kết nối vào một
mạng lƣới toàn cầu, chúng hoạt động trong từng hệ thống đơn lẻ (subsystem).
Ví dụ:
Trong một căn nhà thông minh, đồ điện gia dụng tự chúng tƣơng tác với nhau và
hoạt động mà không cần phải vào Internet, trừ khi chúng ta cần điều khiển nó từ xa.
Ngôi nhà đƣợc xem là một subsystem. Cũng giống nhƣ hiện nay chúng ta có mạng
LAN, WAN, mạng ngang hàng nội bộ chứ không kết nối trực tiếp vào Internet.
1.1.4 Ứng dụng của IoT
Hình 2. Ví dụ về Internet of Things
IoT có ứng dụng rộng rãi sau:
Quản lí chất thải.
Quản lí và lập kế hoạch quản lí đô thị.
Quản lí môi trƣờng.
Phản hồi trong tình huống khẩn cấp.
Mua sắm thông minh.
Quản lí thiết bị cá nhân.
16
Đồng hồ đo thông minh.
Ngôi nhà thông minh.
….
Một trong những vấn đề khó khăn trong việc phát triển IoT đó là khả năng tạo ra
một ứng dụng IoT nhanh chóng. Để khắc phục điều này, hiện nay nhiều hãng, công ty
và tổ chức trên thế giới đang nghiên cứu nền tảng giúp xây dựng nhanh ứng dụng dành
cho IoT.
Ví dụ:
Đại học British Columbia ở Canada hiện đang tập trung vào một bộ toolkit cho
phép phát triển phần mềm IoT chỉ bằng công nghệ Web cũng nhƣ giao thức phổ biến.
Công ty ioBridge thì cung cấp giải pháp kết nối và điều khiển hầu nhƣ bất kì thiết bị
nào có khả năng kết nối Internet, kể cả đèn bàn, quạt máy...
Broadcom mới đây cũng đã giới thiệu hai con chip có mức tiêu thụ điện thấp và
giá rẻ dành cho thiết bị "Internet of Things". Chip BCM4390, đƣợc tích hợp một bộ
thu phát sóng Wi-Fi 802.11 b/g/n hiệu suất cao để dùng với vi điều khiển 8 hoặc 16bit. Sản phẩm dùng trong nồi nấu ăn thông minh, bóng đèn, hệ thống an ninh cũng nhƣ
thiết bị gia dụng có khả năng điều khiển và quản lí từ xa. Chip BCM20732, thì đƣợc
tích hợp bộ thu phát tín hiệu Bluetooth và nhắm đến những máy móc nhƣ bộ đo nhịp
tim, bộ đo bƣớc chạy, thiết bị cảnh báo khi có vật gì đến gần hoặc ổ khóa cửa thông
minh. Broadcom cũng đã đóng góp tập lệnh phần mềm hỗ trợ cho cả công nghệ dự án
Android OpenSource (AOSP).
17
Hình 3. Một ứng dụng của Internet of Things
18
1.2 Giao thức MQTT
1.2.1 MQTT
MQTT (Message Queuing Telemetry Transport) là một giao thức truyền dành
cho các thiết bị IoT 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 đƣờng truyền không ổn định.
Giao thức MQTT, bao gồm định nghĩa "subscribe", "gửi", "QoS", "retain",
"last will and testament (lwt)".
1.2.2 Gửi, subscribe
Trong một hệ thống sử dụng giao thức MQTT, nhiều nút trạm (gọi là MQTT
client) kết nối tới một MQTT server (gọi là broker). Mỗi MQTT client sẽ đăng ký một
vài kênh (topic)
Ví dụ:
"/client1/channel1", "/client1/channel2". Quá trình đăng ký gọi là "subscribe".
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à "gửi".
1.2.3 QoS
Có 3 tuỳ chọn *QoS (Qualities of service) * khi "gửi" và "subscribe":
QoS0 Broker/client sẽ gởi dữ liệu đúng 1 lần, quá trình gởi đƣợc xác nhận
bởi chỉ giao thức TCP/IP.
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ó 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 phải trải qua 4 bƣớc.
Một gói tin đƣợc gởi ở bất kỳ QoS nào, và client cũng subscribe với bất kỳ yêu
cầu QoS nào.
Ví dụ:
Nếu 1 gói dữ liệu đƣợc gửi với QoS2, và client subscribe với QoS0, thì gói dữ
liệu đƣợc nhận về client sẽ đƣợc broker gởi với QoS0 và 1 client khác đăng ký cùng
kênh với QoS2, thì nó sẽ đƣợc Broker gởi dữ liệu với QoS2.
Nếu một client subscribe với QoS2 và gói dữ liệu gởi vào kênh đó gửi 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.
19
1.2.4 Retain
Nếu RETAIN đƣợc set bằng 1, khi gói tin đƣợc gửi 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ả gói tin có
RETAIN = 1 trƣớc đó. Và phải lƣu gói tin lại, nhƣng hoàn toàn huỷ bất kỳ lúc nào.
Khi gửi một gói dữ liệu đến Client, Broker phải đặt RETAIN = 1 nếu gói đƣợc
gởi nhƣ là kết quả của việc subscribe mới của Client. RETAIN phải bằng 0 nếu không
quan tâm tới kết quả của viẹc subscribe.
1.2.5 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, 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.
20
CHƢƠNG 2. NỀN TẢNG IBM WASTON IOT
2.1 Bluemix
IBM® Bluemix® là nền tảng điện toán đám mây tạo bởi IBM kết hợp dịch vụ
nền tảng (PaaS) với dịch vụ cơ sở hạ tầng (IaaS). Ngoài ra, Bluemix có một danh sách
dịch vụ điện toán đám mây dễ dàng tích hợp với PaaS và IaaS để xây dựng ứng dụng
kinh doanh nhanh chóng.
Bluemix có triển khai điện toán đám mây phù hợp với nhu cầu của ngƣời dùng
phù hợp dù đó là một doanh nghiệp nhỏ có kế hoạch mở rộng quy mô, hoặc một doanh
nghiệp lớn đòi hỏi phải có thêm dịch vụ. Phát triển một dịch vụ đám mây mà yêu cầu
lƣu trữ không có giới hạn, kết nối với dịch vụ tƣ nhân với dịch vụ công cộng Bluemix
sẵn từ IBM và truy cập ứng dụng, dịch vụ và cơ sở hạ tầng trong Bluemix và sử dụng
dữ liệu hiện có, hệ thống, quy trình và công cụ PaaS và IaaS. Nhà phát triển có thể
phát triển nhanh chóng của dịch vụ có sẵn để xây dựng ứng dụng sử dụng ngôn ngữ
lập trình hỗ trợ nhiều thứ tiếng.
Với Bluemix không cần phải đầu tƣ lớn trong phần cứng để kiểm tra hoặc chạy
một ứng dụng mới. Bluemix cung cấp nhiều ứng dụng công cộng dành riêng triển khai
mô hình tích hợp.
Từ khi thành lập đến kiểm thử, phát triển và đến một môi trƣờng sản xuất phân
phối trên toàn cầu với cơ sở hạ tầng tính toán và lƣu trữ, dịch vụ nền tảng mã nguồn
mở, dịch vụ phần mềm và công cụ của IBM Watson. Khi yêu cầu vƣợt quá khả năng
cung cấp của nền tảng riêng của mình, IBM® Bluemix® cũng cung cấp các giải pháp
triển khai linh hoạt. Cung cấp nguồn lực IBM® Bluemix® tại chỗ trong môi trƣờng
điện toán đám mây tƣ nhân chuyên dụng, hoặc ngay trong điện toán đám mây công
cộng và quản lý nguồn lực từ cả ba loại môi trƣờng trong một bảng điều khiển trong
backend.
Tất cả nguồn tài nguyên điện toán đám mây của IBM đƣợc triển khai trong môi
trƣờng công cộng và chuyên dụng đƣợc lƣu trữ từ vị trí IBM® Data Center đám mây
trên toàn thế giới. Trung tâm dữ liệu đám mây của IBM luôn cung cấp dƣ thừa tài
nguyên trong khu vực, một mạng lƣới toàn cầu kết nối tất cả trung tâm dữ liệu, kiểm
soát an ninh nghiêm ngặt, và luôn đƣợc kiểm tra. Thông qua trung tâm dữ liệu đám
mây của IBM, IBM đáp ứng yêu cầu cao nhất nhu cầu mở rộng, an ninh, tuân thủ, và
dữ liệu lƣu trữ tại vị trí nơi gần nhất của ngƣời sử dụng.
IBM cho phép:
Triển khai tính toán hiệu suất cao và cơ sở hạ tầng lƣu trữ tại trung tâm dữ
liệu đám mây của IBM an toàn trên thế giới.
- Xem thêm -