Trên cơ sở nghiên cứu về IoT, các giao thức trong mạng IoT, mạng cảm biến không dây, khảo sát các yêu cầu sinh thái cho cây trồng, một số thiết bị sử dụng cho hệ thống và đồng thời xuất
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TS Nguyễn Thanh Hùng
HÀ NỘI – 2018
Trang 2LỜI CAM ĐOAN
Em – Nguyễn Thanh Tùng – cam kết luận văn là công trình nghiên cứu của bản thân
em dưới sự hướng dẫn của TS Nguyễn Thanh Hùng
Trong quá trình làm luận văn, em kế thừa thành tựu của các nhà khoa học với sự trân trọng và biết ơn
Các kết quả nêu trong luận văn là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày tháng năm 2018
Học viên
Nguyễn Thanh Tùng
Trang 3MỤC LỤC
LỜI CAM ĐOAN 2
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 5
DANH MỤC HÌNH 6
DANH MỤC BẢNG 8
MỞ ĐẦU 10
CHƯƠNG 1: TỔNG QUAN VỀ IoT 12
1.1 Định nghĩa IoT 12
1.1.1 Đặc tính cơ bản của IoT 13
1.1.2 Yêu cầu của một hệ thống IoT 13
1.2 Kiến trúc c ủa một hệ thống IoT 15
1.2.1 Application Layer 15
1.2.2 Service Support and Application Support Layer 16
1.2.3 Network Layer 16
1.2.4 Device Layer 16
1.3 Các vấn đề của IoT trong trồng trọt 18
1.3.1 Phần mềm & phần cứng 18
1.3.2 Khả năng tổ chức & tương tác 18
1.3.3 Hệ thống mạng 19
1.3.4 Hệ thống bảo mật 19
CHƯƠNG 2: GIẢI PHÁP THU THẬP DỮ LIỆU CẢM BIẾN 21
2.1 Lựa chọn giao thức truyền tải dữ liệu 21
2.1.1 MQTT (Message Queue Telemetry Transport) 21
2.1.2 MQTT và HTTP(S) 22
2.1.3 MQTT và CoAP 24
2.1.4 MQTT và DDS 25
2.1.5 MQTT và XMPP 26
2.1.6 Ưu điểm của MQTT với các giao thức IoT khác 28
2.2 Mạng cảm biến không dây 29
2.2.1 Đĩnh nghĩa mạng cảm biến không dây 29
2.2.2 Kiến trúc của mạng cảm biến không dây 29
2.2.3 Ứng dụng của WSN 32
2.3 Internet of Things Gateway 34
2.3.1 Định nghĩa IoT Gateway 34
Trang 42.3.2 Tính năng của IoT Gateway 36
2.3.3 Ứng dụng của IoT Gateway 38
2.4 Thu thập dữ liệu cảm biển bằng giải pháp IoT 39
2.4.1 Đặc điểm của dữ liệu cảm biến trong IoT 39
2.4.1.1 Định dạng XML 40
2.4.1.2 Định dạng CSV 42
2.4.1.3 Định dạng JSON (JavaScript Object Notation) 42
2.4.2 Ứng dụng của dữ liệu cảm biến trong IoT 43
2.5 Mô hình chăm sóc cây trồng 44
2.5.1 Khảo sát cây trồng 44
2.5.2 Thiết kế hệ thống 45
2.5.3 Cấu trúc và tính nắng của thiết bị 46
2.5.3.1 Raspberry Pi 3 46
2.5.3.2 Arduino UNO 47
2.5.3.3 Wemos D1 48
2.5.3.4 Cảm biến nhiệt độ & độ ẩm môi trường DHT11 49
2.5.3.5 Cảm biến độ ẩm đất 50
2.5.4 Thiết kế mạch 51
2.6 Mô hình ho ạt động của hệ thống 51
2.6.1 Sơ đồ Use-case 51
2.6.2 Sơ đồ Flow-chart 52
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG & ĐÁNH GIÁ KẾT QUẢ 54
3.1 Thiết kế hệ thống 54
3.1.1 Giới thiệu chung về hệ thống 54
3.1.2 Mô hình thực tế 55
3.1.3 Nguyên lý hoạt động 55
3.2 Arduino IDE 56
3.3 Firebase 57
3.4 Hiển thị dữ liệu lên ứng dụng trên smartphone 58
3.5 Ứng dụng chăm sóc cây trồng 59
KẾT LUẬN 62
DANH MỤC THAM KHẢO 63
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
Broker
Trang 6DANH MỤC HÌNH
Hình 1.1 Kiến trúc hệ thống IoT [2] 15
Hình 1.2 Arduino (trái) và Raspberry Pi (phải) 17
Hình 2.1 Kiến trúc của MQTT 21
Hình 2.2 Kiến trúc của HTTP .23
Hình 2.3 Kiến trúc của CoAP .24
Hình 2.4 Kiến trúc của DDS 25
Hình 2.5 Kiến trúc của XMPP 27
Hình 2.6 Kiến trúc của WSN 30
Hình 2.7 Các thành phần của bộ cảm biến 31
Hình 2.8 Mô hình hoạt động IoT Gateway [13] 35
Hình 2.9 Vị trí của IoT Gateway [13] 37
Hình 2.10 Sơ đồ tạo ra subscriber [15] 39
Hình 2.11 Sơ đồ hủy một subscriber [15] 40
Hình 2.12 Thông điệp đo luờng trong XML [15] 41
Hình 2.13 Hai phép đo nhiệt độ bằng hai cảm biến của một nút [15] 41
Hình 2.14 Bản tin đo mức chuyển động [15] 42
Hình 2.15 Bản tin đo nhiệt độ với các thông tin c ảnh báo [15] 42
Hình 2.16 Bản tin đo lường gia tốc (x, y, z, pitch, roll, yaw, tổng số) [15] 42
Hình 2.17 Raspbery Pi 3 47
Hình 2.18 Arduino UNO R3 47
Hình 2.19 Wemos D1 .49
Hình 2.20 Cảm biến DHT11 49
Hình 2.21 Cảm biến độ ẩm đất 50
Hình 2.22 Sơ đồ Use-case 52
Hình 2.23 Sơ đồ thu thập dữ liệu 52
Hình 2.24 Sơ đồ hoạt động của ứng dụng 53
Hình 3.1 Sơ đồ hoạt động của hệ thống 54
Hình 3.2 Mô hình thực tế của hệ thống 55
Hình 3.3 Giao diện Arduino IDE 56
Hình 3.4 Giao diện Firebase 57
Hình 3.5 Thu thập dữ liệu và log cây trồng 58
Hình 3.6 Gửi log data lên Firebase 59
Trang 7Hình 3.7 Đăng nhập, đăng ký 59
Hình 3.8 Tạo nhóm, khai báo cây 60
Hình 3.9 Cơ sở dữ liệu 60
Hình 3.10 Danh sách, chăm sóc, nhật ký cây trồng 61
Trang 8DANH MỤC BẢNG
Bảng 2.1 Một số nền tảng IoT Gateway phổ biến trên thế giới [14] 36
Bảng 2.2 Kết nối Arduino UNO R3 với cảm biến DHT11 .51
Bảng 2.3 Kết nối Arduino UNO R3 với cảm biến độ ẩm đất 51
Bảng 2.4 Kết nối Wemos D1 với mạch điều khiển 51
Trang 9LỜI CẢM ƠN
Để có thể hoàn thành luận văn tốt nghiệp này, em xin chân thành cảm ơn thầy hướng dẫn luận văn tốt nghiệp, TS Nguyễn Thanh Hùng, Bộ môn Công nghệ phần mềm, trường Đại học Bách Khoa Hà Nội Thầy đã nhiệt tình hướng dẫn, truyền đạt những kiến thức cần thiết và định hướng cho em trong suốt quá trình thực hiện đề tài
Em xin chân thành cảm ơn các thầy cô giáo ở Bộ môn Công nghệ phần mềm và các thầy cô giáo của Viện CNTT & TT; Các thầy cô, anh chị chuyên viên của Viện Đào tạo Sau đại học của trường Đại học Bách Khoa Hà Nội
Em xin chân thành cảm ơn sự giúp đỡ quý báu của anh Nguyễn Đức Toàn giảng viên Bộ môn Mạng và Truyền thông, trường Đại học Bách Khoa Hà Nội
Dù đã cố gắng nhưng luận văn chắc chắn không tránh khỏi thiếu sót, em rất mong nhận được ý kiến đóng góp của các thầy cô
Em xin chân thành cảm ơn!
Trang 10MỞ ĐẦU
Những cuộc cách mạng công nghệ luôn đóng một vai trò rất quan trọng trong quá trình phát triển của con người, chúng làm cuộc sống của con người phát triển theo hướng càng ngày càng hiện hơn Nhưng song song với quá trình phát triển đó những thay đổi xuất phát từ con người trong tự nhiên, trong môi trường sống cũng đang diễn
ra và tác động lại chính cuộc sống của con người như ô nhiễm môi trường, biến đổi khí hậu, đồng thời gia tăng dân số cũng là vấn đề lớn gây ảnh hưởng đến các ngành dựa vào môi trường, khí hậu trong đó có ngành trồng trọt Các tác nhân gây hại trực tiếp lên sản lượng, chất lượng sản phẩm cũng như thu nhập của người dân
Trước tình hình này, việc nghiên cứu tìm kiếm giải pháp phát triển ngành trồng trọt thích ứng với biến đổi khí hậu là cấp thiết nhằm đảm bảo an ninh lương thực, nâng cao sản lượng và đảm bảo chất lượng sản phẩm Do đó, việc áp dụng trồng trọt công nghệ cao sử dụng Internet of Things (IoT) vào việc đo lường, phân tích, đánh giá các thông số thời tiết, môi trường và xây dựng hệ thống tự động chăm sóc cây trồng hỗ trợ người lao động thay cách chăm sóc trồng trọt truyền thống gây hao phí sức lao động cũng như không đạt hiệu quả cao là quan trọng và cần thiết
Hiện nay, mặc dù khái niệm IoT đã trở nên khá quen thuộc và được ứng dụng khá nhiều trong các lĩnh vực của đời sống con người, đặc biệt ở các nước phát triển có nền khoa học công nghệ tiên tiến Tuy nhiên, những công nghệ này chưa được áp dụng một cách rộng rãi ở nước ta, do những điều kiện về kỹ thuật, kinh tế, nhu cầu sử dụng Song
nó vẫn hứa hẹn là một đích đến tiêu biểu cho các nhà nghiên cứu, cho những mục đích phát triển đầy tiềm năng
Nhận thấy được tiềm năng và tầm quan trọng trong tương lai của IoT vói ngành
trồng trọt, học viên đã chọn đề tài “Nghiên cứu và ứng dụng IoT trong hệ thống
chăm sóc cây trồng” dưới sự hướng dẫn của TS Nguyễn Thanh Hùng để nghiên cứu
và xây dựng hệ thống
Trang 11Nội dung luận văn bao gồm 4 chương:
Chương 1: Tổng quan về IoT Chương này trình bày, phân tích tổng quan của IoT
cũng như những liên quan mật thiết giữa các ứng dụng của IoT vào trồng trọt
Chương 2: Giải pháp thu thập dữ liệu cảm biến Chương này bắt đầu bằng việc so
sánh điểm yếu, mạnh của các giao thức trong IoT và lựa chọn ra giao thức có nhiều ưu điểm nhất là MQTT Sau đó trình bày giải pháp thu thập dữ liệu cảm biến bằng công nghệ IoT và một nhân tố quan trọng trong hệ thống là IoT Gateway Cuối cùng là khảo sát các mô hình, hệ thống chăm sóc cây trồng và giới thiệu về các công cụ sử dụng cho
hệ thống
Chương 3: Triển khai hệ thống và đánh giá kết quả Trên cơ sở nghiên cứu về IoT,
các giao thức trong mạng IoT, mạng cảm biến không dây, khảo sát các yêu cầu sinh thái cho cây trồng, một số thiết bị sử dụng cho hệ thống và đồng thời xuất phát từ thực tiễn sử dụng công nghệ chăm sóc cây trồng, học viên xây dựng một hệ thống thực nghiệm để giám sát các thông số về môi trường (nhiệt độ, độ ẩm), điều khiển hệ thống chăm sóc cây trồng tự động và bằng tay qua smartphone Đánh già kết quả đạt được và
so sánh với mục tiêu, yêu cầu đặt ra của luận văn
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ IoT 1.1 Định nghĩa IoT
Internet of Things - IoT là một kịch bản khi mà mỗi đồ vật, con người được cung
cấp một định danh của riêng mình và tất cả có khả năng truyền tải, trao đổi thông tin,
dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người, hay người với máy tính IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó
IoT là thuật ngữ dùng để chỉ các đối tượng có thể được nhận biết cũng như chỉ sự tồn tại của chúng trong một kiến trúc mang tính kết nối Cụm từ này được đưa ra bởi Kevin Ashton vào năm 1999 Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-
ID ở đại học MIT, nơi thiết lập các quy chuẩn toàn cầu cho RFID cũng như một số loại cảm biến khác [1]
Vào tháng 6 năm 2009, Ashton từng cho biết rằng "hiện nay máy tính - và do đó, Internet - gần như phụ thuộc hoàn toàn vào con người để chuyển tải dữ liệu Gần như tất cả trong số 50 petabyte dữ liệu đang có trên Internet (vào thời điểm đó) đều được ghi lại hoặc tạo ra bởi con người chúng ta, thông qua các các thức như gõ chữ, nhấn nút, chụp ảnh, quét mã vạch " Con người chính là nhân tố quyết định trong thế giới Internet hiện nay Thế nhưng con người lại có nhiều nhược điểm: chúng ta chỉ có thời gian hạn chế, khả năng tập trung và độ chính xác cũng ở mức thấp so với máy móc Điều đó có nghĩa là chúng ta không gi i trong việc thu thập thông tin về thế giới xung quanh, và đây là một vấn đề lớn cần được giải quyết và là yếu tố quyết định để IoT ra đời [1]
Trang 131.1.1 Đặc tính cơ bản của IoT
- Tính kết nối liên thông (interconnectivity): Với IoT, bất cứ điều gì cũng có thể kết nối với nhau thông qua mạng lưới thông tin và cơ sở hạ tầng liên lạc tổng thể
- Tính không đồng nhất: Các thiết bị trong IoT là không đồng nhất vì các thiết
bị khác nhau có phần cứng và cách kết nối khác nhau Các thiết bị giữa các mạng khác nhau có thể tương tác với nhau nhờ vào sự liên kết của các mạng
- Thay đổi linh hoạt: Trạng thái của các thiết bị tự động thay đổi, ví dụ: ngủ và thức dậy, kết nối hoặc bị ngắt, vị trí thiết bị thay đổi, tốc độ thiết bị thay đổi Hơn nữa, số lượng thiết bị có thể tự động thay đổi
- Quy mô lớn: Sẽ có một số lượng rất lớn các thiết bị được quản lý và giao tiếp với nhau Số lượng này lớn hơn nhiều so với số lượng máy tính kết nối Internet hiện nay Số lượng các thông tin được truyền bởi thiết bị sẽ lớn hơn rất nhiều so với được truyền bởi con người
- Những dịch vụ liên quan đến “Things”: Hệ thống IoT có khả năng cung cấp các dịch vụ liên quan đến “Things”, chẳng hạn như bảo vệ sự riêng tư và nhất quán giữa Thiết bị vật lý và Thiết bị ảo Để cung cấp được dịch vụ này, cả công nghệ phần cứng và công nghệ thông tin (phần mềm) sẽ phải thay đổi
1.1.2 Yêu cầu của một hệ thống IoT
Một hệ thống IoT phải thoả mãn các yêu cầu sau [2]:
- Kết nối dựa trên sự nhận diện: Nghĩa là các “Things” phải có ID riêng biệt
Hệ thống IoT cần hỗ trợ các kết nối giữa các “Things”, và kết nối được thiết lập dựa trên định danh (ID) của “Things”
- Khả năng cộng tác: Hệ thống IoT khả năng tương tác qua lại giữa các mạng
và giữa các “Things”
Trang 14- Khả năng tự quản của mạng: Bao gồm tự quản lý, tự cấu hình, tự phục hồi, tự tối ưu hóa và tự có cơ chế bảo vệ Điều này cần thiết để mạng có thể thích ứng với các lĩnh vực ứng dụng khác nhau, môi trường truyền thông khác nhau, và nhiều loại thiết bị khác nhau
- Dịch vụ thoả thuận: Dịch vụ này để có thể được cung cấp bằng cách thu thập, giao tiếp và xử lý tự động các dữ liệu giữa các “Things” dựa trên các quy tắc (rules) được thiết lập bởi người vận hành hoặc tùy chỉnh bởi các người dùng
- Các khả năng dựa vào vị trí: Thông tin liên lạc và các dịch vụ liên quan đến một thiết bị sẽ phụ thuộc vào thông tin vị trí của Things và người sử dụng Hệ thống IoT có thể biết và theo dõi vị trí một cách tự động
- Bảo mật: Trong IoT, nhiều “Things” được kết nối với nhau Chính điều này làm tăng mối nguy trong bảo mật, chẳng hạn như bí mật thông tin bị tiết lộ, xác thực sai, hay dữ liệu bị thay đổi hay làm giả
- Bảo vệ tính riêng tư: Tất cả các “Things” và dữ liệu thu thập được từ các
“Things” có thể chứa thông tin cá nhân liên quan đến chủ sở hữu hoặc người
sử dụng nó Các hệ thống IoT cần bảo vệ sự riêng tư trong quá trình truyền, tập hợp, lưu trữ, khai thác và xử lý dữ liệu Bảo vệ sự riêng tư thì không nên thiết lập một rào cản đối với xác thực nguồn dữ liệu
- Plug-and-Play (tính sẵn sàng hoạt động): Các Things phải được plug-and-play một cách dễ dàng và tiện dụng
- Khả năng quản lý: Hệ thống IoT cần phải hỗ trợ tính năng quản lý các
“Things” để đảm bảo mạng hoạt động bình thường Ứng dụng IoT thường làm việc tự động mà không cần sự tham gia của con người, nhưng toàn bộ quá trình hoạt động của chúng nên được quản lý bởi những người liên quan
Trang 151.2 Kiến trúc của một hệ thống IoT
Trang 161.2.2 Service Support and Application Support Layer
- Nhóm dịch vụ chung: Các dịch vụ hỗ trợ chung, phổ biến mà hầu hết các ứng dụng IoT đều cần, ví dụ như xử lý dữ liệu hoặc lưu trữ dữ liệu
- Nhóm dịch vụ cụ thể, riêng biệt: Những ứng dụng IoT khác nhau sẽ có nhóm dịch phụ hỗ trợ khác nhau và đặc thù Trong thực tế đề tài của chúng em, nhóm dịch vụ cụ thể riêng biệt là tính toán nhiệt độ, độ ẩm không khí, độ ẩm đất để đưa ra quyết định tưới nước
1.2.3 Network Layer
Lớp Network có 2 chức năng:
- Chức năng Networking: Cung cấp chức năng điều khiển các kết nối mạng, chẳng hạn như tiếp cận được nguồn tài nguyên thông tin và chuyển tài nguyên
đó đến nơi cần thiết, hay chứng thực, uỷ quyền
- Chức năng Transporting: Tập trung vào việc cung cấp kết nối cho việc truyền thông tin của dịch vụ/ứng dụng IoT
sử dụng gateway) và có thể trực tiếp nhận thông tin (ví dụ: lệnh, yêu cầu…)
từ các network Device này cũng có thể tương tác gián tiếp với network; các thiết bị có thể thu thập và tải thông tin gián tiếp thông qua khả năng gateway Ngược lại, các thiết bị có thể gián tiếp nhận thông tin (ví dụ: lệnh, yêu cầu…)
từ network Trong thực tế, các thiết bị thông thường bao gồm các cảm biến, các phần cứng điều khiển motor, đèn
Trang 17- Thiết bị Gateway: Gateway là cổng liên lạc giữa Device và Network Một Gateway hỗ trợ hai chức năng sau:
• Chức năng có nhiều chuẩn giao tiếp: Vì các Things khác nhau có kiểu kết nối khác nhau, nên Gateway phải hỗ trợ đa dạng từ có dây đến không dây, chẳng hạn CAN bus, ZigBee, Bluetooth hoặc Wi-Fi Tại Network Layer, Gateway có thể giao tiếp thông qua các công nghệ khác nhau như PSTN, mạng 2G và 3G, LTE, Ethernet hay DSL
• Chức năng chuyển đổi giao thức: Chức năng này cần thiết trong hai tình huống: khi truyền thông ở lớp Device, nhiều Device khác nhau sử dụng giao thức khác nhau, ví dụ, ZigBee với Bluetooth, và khi truyền thông giữa các Device và Network, Device dùng giao thức khác, Network dùng giao thức khác, ví dụ, Device dùng ZigBee còn tầng Network thì lại dùng công nghệ 3G
• Trong thực tế, Gateway có thể được xây dựng từ các board như Raspberry
Pi hay Arduino, hoặc Gateway được sản xuất công nghiệp bởi các tập đoàn lớn như Intel hay Texas Instrument
Hình 1.2 Arduino (trái) và Raspberry Pi (phải)
Trang 181.3 Các vấn đề của IoT trong trồng trọt
1.3.1 Phần mềm & phần cứng
Khi nói đến IoT trong trồng trọt, một số thách thức nảy sinh Thứ nhất, các thiết
bị cảm biến phải tiếp xúc trực tiếp với môi trường khắc nhiệt như bức xạ mặt trời cao, nhiệt độ thay đổi liên tục, nước mưa hoặc độ ẩm cao, gió mạnh, rung động và các tác nhân khác có thể phá hủy chúng Các thiết bị đầu cuối sẽ phải hoạt động liên tục và chính xác trong thời gian dài dựa vào nguồn năng lượng hạn chế của pin
Do đó, các công cụ lập trình thích hợp và có khả năng chạy công suất thấp là bắt buộc, vì thay thế pin thường xuyên hoặc thiết lập lại các trạm đo (trong trường hợp hỏng) Tuy nhiên, việc sử dụng năng lượng tự nhiên chỉ là giải pháp ở mức độ nào đó, hơn nữa số lượng các thiết bị kết nối tạo ra một lượng dữ liệu cực kỳ lớn dẫn đến vượt quá khả năng sử dụng tài nguyên của các cơ sở hạ tầng máy chủ quy mô nhỏ có thể xử
lý
1.3.2 Khả năng tổ chức & tương tác
Khi nói đến hậu cần cho ngành thực phẩm & trồng trọt, cơ sở hạ tầng IoT tạo thuận lợi cho việc trao đổi thông tin và vận chuyển hàng hóa, tối ưu hóa quy trình sản xuất và mạng lưới chuỗi cung ứng trên toàn cầu IoT đang từng bước chuyển đổi các quy trình kinh doanh cho các nguồn nguyên liệu và sản phẩm bằng cách cung cấp khả năng hiển thị chính xác và theo thời gian thực Điện toán đám mây cung cấp các dịch
vụ chất lượng cao, các công cụ phát triển ứng dụng độc lập về phần cứng và đủ dung lượng lưu trữ, tài nguyên tính toàn có thể lưu trữ và xử lý dữ liệu Do đó, nó có vẻ là một bổ sung lý tưởng cho các công nghệ IoT với mô hình CloudIoT Tuy nhiên, với lượng dữ liệu khổng lồ sẽ phải trả chi phí rất cao để chuyển lên đám mây
Do đó, sự cân bằng tối ưu giữa lưu trữ và xử lý nội bộ và một phần khối lượng công việc cần thực hiện trên đám mây là một vấn đề đáng được quan tâm Điện toán
Trang 19sương mù là một phần mở rộng của mô hình Điện toán đám mây, mở rộng công nghệ, công cụ đám may cũng như các phát triển ứng dụng
1.3.3 Hệ thống mạng
Các đặc tính môi trường không chỉ là thách thức cho phần cứng mà còn lớp lớp mạng Giao tiếp không dây hiện nay rất phổ biến trong triển khai trồng trọt Môi trường được biết đến là một trong những yếu tố chính dẫn đến chất lượng kết nối không dây thấp, thông qua hiệu ứng lan truyền đa đường và các thiết bị xung quanh Triển khai trên thực tế chỉ ra rằng hiệu suất của các thiết bị thu phát không dây bị ảnh hưởng bởi nhiệt độ, độ ẩm, dự hiện diện của con người và các chướng ngại vật khác
Do đó, dữ liệu phải được nâng cấp sử dụng công nghệ mạnh mã và đáng tin cậy theo yêu cầu và thách thích của môi trường trồng trọt
1.3.4 Hệ thống bảo mật
Việc chuyển giao kết nối mạng của các thiết bị thông minh phải đảm bảo tính bảo mật, tính xác thực và quyền riêng tư của các bên liên quan tham gia vào mạng lưới này Nói cách khác, IoT phải được bảo mật chống lai các cuộc tấn công bên ngoài, trong lớp nhận thức, đảm bảo tập hợp dữ liệu trong lớp mạng và cung cấp các đảm bảo cụ thể mà chỉ các thực thể được ủy quyền mới có thể truy cập và sửa đổi dữ liệu trong lớp ứng dụng An ninh trong IoT được tóm tắt trong ba yêu cầu: kiểm chứng, bảo mật và kiểm soát truy cập
Trong lớp nhận thức, các vấn đề bảo mật phổ biến nhất bao gồm bảo mật thu thập thông tin và bảo mật lớp vật lý của phần cứng Vấn đề thứ hai rất quan trọng trong trồng trọt, các thiết bị được triển khai trong các lĩnh vực mở và chức năng không cần giám sát trong thời gian dài Do tính chất phân tán của IoT và thực tế là các thiết bị của
nó có thể được triển khai trong các môi trường đa dạng, một giao thức bảo mật duy nhất thường là không đủ Các vấn đề bảo mật RFID thường liên quan đến rò rỉ thông
Trang 20tin, có thể để lộ vị trí và các dữ liệu nhạy cảm khác Các biện pháp bảo mật bao gồm
mà hóa dữ liệu, sử dụng thẻ chặn, sửa đổi tần số thẻ, gây nhiễu và cuối cùng là chính sách hủy thẻ Các nút cảm biến khác với các thẻ RFID, theo cách mà các cảm biến hoạt động và liên quan đến đặc tính động của sự vật
Do đó, các thuật toán mã hóa, chính sách phân khối hóa, cơ chế phát hiện xâm nhập và các chính sách định tuyến bảo mật phải được triển khai, luôn ghi nhớ hạn chế phần cứng của các thiết bị thông minh Trong khái niệm IoT hiện tại, luồng dữ liệu từ các thiết bị đầu cuối đến một cổng, phụ trách việc tải các dữ liệu này lên các cơ sở hạ tầng khác, chẳng hạn như đám mây Các chính sách bảo mật khác cho thiết bị cảm biến tồn tại, bao gồm các thuật toán mã hóa, cơ chế xác thực danh tính, chính sách kiểm soát luồng dữ liệu, cơ chế lọc dữ liệu… Hơn nữa, lớp nhận thức cũng yêu cầu các biện pháp bảo mật thu thập thông tin Các cuộc tấn công lén lút, giả mạo và gian lận chỉ là một vài trong số các đe dọa bảo mật Do đó, tính xác thực, bảo mật và toàn vẹn dữ liệu phải được đảm bảo trong giai đoạn thu thập dữ liệu, các giao thức quản lý khóa và chính sách định tuyến an toàn sẽ được áp dụng Các chính sách xác thực nút cảm biến phải được sử dụng để ngăn chặn truy cập dữ liệu của các thực thế trái phép
Trang 21CHƯƠNG 2: GIẢI PHÁP THU THẬP DỮ LIỆU CẢM BIẾN
2.1 Lựa chọn giao thức truyền tải dữ liệu
Để khai thác hết được tiềm năng của mô hình IoT, các thiết bị kết nối cần phải giao tiếp bằng các giao thức nhẹ, bền, hoạt động tốt trong thời tiết khắc nhiệt mà không làm tiêu tốn quá nhiều tài nguyên Luận văn cung cấp tổng quan và so sánh các giao thức truyền tải dữ liệu phổ biến nhất hiện nay có thể được sử dụng trong các mô hình IoT
2.1.1 MQTT (Message Queue Telemetry Transport)
MQTT là một giao thức được chuẩn hóa theo tiêu chuẩn ISO/IEC PRF 20922 Nó hoạt động theo mô hình client/server trên nền TCP/IP MQTT truyền các messages giữa nhiều Client (Publisher và Subscriber) thông qua một Broker trung gian, được thiết kế để đơn giản và dễ dàng triển khai Kiến trúc MQTT dựa trên Broker trung gian
và sử dụng kết nối TCP long-lived từ các Client đến Broker như trong hình 2.1
Hình 2.1 Kiến trúc của MQTT
Như trong hình 2.1, các ứng dụng được cài đặt trên MQTT client kết nối với một máy chủ thông qua các kết nối TCP MQTT broker đóng vai trò là một máy chủ tập trung là nơi giao nhau của tất cả các kết nối đến từ các MQTT client Một client được
Trang 22gọi là Publisher nếu nó gửi dữ liệu đến một chủ đề đã được đăng ký với broker Các client gửi một thông điệp đăng ký tới MQTT broker, nó là một gói chứa mã định danh duy nhất và một danh sách các đăng ký Subscriber có thể đăng ký nhiều chủ đề, mỗi subscriber sẽ nhận được dữ liệu khi nhất kỳ publisher nào gửi dữ liệu đến chủ đề đã được đăng ký Nhiệm vụ chính của broker là nhận tin nhắn từ publisher, chuyển các tin nhắn vào hàng đợi và sau đúng gửi chúng đến các subscriber đã đăng ký theo từng chủ
đề [3]
MQTT là một giao thức khá nhẹ nên có thể được sử dụng cho truyền thông 2 chiều thông qua các mạng có độ trễ cao và độ tin cậy thấp, nó cũng tương thích với các thiết bị tiêu thụ điện năng thấp
Tính năng chính của MQTT:
- Keep-Alive message: Broker có thể tự động phát hiện client bị ngắt kết nối
Kể cả khi thông báo DISCONNECT ko rõ ràng
- Will message: Topic, QoS và chế độ retain (lưu lại) được gán trong thông báo
CONNECT
- Retain message: Một tin nhắn được PUBLISH lên sẽ được lưu lại ở broker,
khi có client mới đăng ký nó sẽ gửi tin đã lưu trữ gần nhất đến
- Druable subscription: Khi đã ngắt kết nối với client, tất cả đăng ký sẽ được
lưu trên broker và được khôi phục khi client kết nối lại
Trang 23Request/Response: Web Client sẽ gửi Request đến Web Server, Web Server xử lý và trả về Response cho Web Client [4]
Hình 2.2 Kiến trúc của HTTP
So sánh MQTT và HTTP(S): [5]
- Giao thức HTTP(S) hoạt động theo cơ chế client/server (1-1, 1-n với POST)
để truyền thông tin, với giao thức MQTT là n-n
- Giao thức HTTP(S) hoạt động với cơ chế client push (khi client hỏi server mới trả lời), với giao thức MQTT hoạt động với cơ chế pull (server tự động gửi)
- Gói tin của HTTP(S) nặng hơn MQTT vì chứa thêm ASCII, headers, … do vậy tiêu thụ pin nhiều hơn
- Giao thức HTTP(S) không có QoS, giao thức MQTT có 3 chế độ QoS
- Khi client bị đứt kết nối, server (broker của MQTT) có thể tự toàn phát gói LWT của client cho kênh đó, HTTP(S) không có
- Theo các phép đo trong mạng 3G, thông lượng của MQTT nhanh gấp 93 lần
so với HTTP(S)
Trang 242.1.3 MQTT và CoAP
CoAP - Constrained Applications Protocol là một giao thức truyền tải tài liệu theo
mô hình client/server dự trên internet tương tự như giao thức HTTP nhưng được thiết
kế cho các thiết bị ràng buộc Giao thức này hỗ trợ một giao thức 1-1 để chuyển đổi trạng thái thông tin giữa client và server
CoAP sử dụng UDP (User Datagram Protocol), không hỗ trợ TCP, ngoài ra còn
hỗ trợ địa chỉ broadcast và multicast, truyền thông CoAP thông qua các datagram phi kết nối (connectionless) có thể được sử dụng trên các giao thức truyền thông dựa trên các gói
UDP có thể dễ dàng triển khai trên các vi điều khiển hơn TCP nhưng các công cụ bảo mật như SSL/TSL không có sẵn, tuy nhiên ta có thể sử dụng Datagram Transport Layer Security (DTLS) để thay thế [6]
Hình 2.3 Kiến trúc của CoAP
So sánh MQTT và CoAP: [7]
- Giao thức CoAP tương tự HTTP(S) nhưng chạy trên nền UDP (không có TCP)
Trang 25- Giao thức CoAP hoạt động theo cơ chế client/server 1-1 để truyền thông tin, với giao thức MQTT là n-n
- Phần tùy chọn của CoAP cũng giống HTTP(S) headers là nhị phân Client đơn giản hơn HTTP(S)
- CoAP cũng có QoS với thông báo “xác nhận”
2.1.4 MQTT và DDS
DDS làm một giao thức IoT được phát triển cho giao tiếp máy với máy (M2M) bởi Object Management Group (OMG) Trong hoạt động của DDS, publisher và subscriber giao tiếp ngang hàng Giao tiếp của chúng có thể sử dụng UDP, TCP hoặc
IP Multicast như được nêu trong hình 2.4 DDS được phân cấp bởi dữ liệu từ các cảm biến truyền trực tiếp với ứng dụng được phân phối và ngược lại Dữ liệu có thể chuyển đến một trung tâm dữ liệu nếu cần thiết Giao tiếp trong DDS tuân theo cơ chế publish/subcribe Tuy nhiên, vì DDS sử dụng phương thức ngang hàng nên publisher không cần bất kỳ thông tin nào về subscriber và ngược lại [8]
Hình 2.4 Kiến trúc của DDS
Trang 26Như được biểu diễn trong hình 2.4, dữ liệu DDS được gọi là chủ đề Chủ đề là đối tượng dữ liệu được xuất bản/nhận để thiết lập kết nối giữa publisher và subscriber Một chủ đề được định nghĩa theo tên, kiểu dữ liệu và QoS Để cho chủ đề được tao đổi giữa publisher và subscriber, DDS sử dụng đặc điểm kỹ thuật của các loại chủ đề do người dùng định nghĩa để tạo các quy trình mã hóa và giải mã cũng như Data Readers
và Data Writers Data Writers là điểm truy cập chính để ứng dụng xuất bản dữ liệu vào DDS Subscriber được sử dụng để nhóm các Data Readers, Data Readers là điểm truy cập chính cho một ứng dụng có thể truy cập dữ liệu đã được nhận bởi publisher Publisher có thể xuất bản dữ liệu của các liệu dữ liệu khác nhau, khi giá trị dữ liệu được truyền tới publisher, trách nhiệm của publisher là xác định thời điểm thích hợp để phát hành thông điệp tương ứng Subscriber nhận dữ liệu đã được xuất bản và cung cấp
dữ liệu cho những đối tượng tham gia Subscriber có thể nhận và gửi dữ liệu của các lại được chỉ định khác nhau Để truy cập dữ liệu đã nhận, đối tượng tham gia phải dử dụng một Data reader đã được gán bởi subscriber
So sánh MQTT và DDS: [8]
- Giao thức DDS chạy trên nền UDP (không có TCP)
- Giao thức DDS hoạt động theo mô hình publish/subcribe giống giao thức MQTT nhưng không có broker trung gian
- Thay vì sử dụng broker, giao thức DDS sử dụng Data Writers và Data Readers
- Giao thức DDS có 23 chế độ QoS như bảo mật, ưu tiên, độ tin cậy, tính cấp bách, độ bền, … so với 3 chế độ QoS của MQTT
2.1.5 MQTT và XMPP
XMPP được định nghĩa trong Internet Task Task Force (IETF) RFC 6120, RFC
6121 và RFC 7622 Nó hoạt động trên giao thức TCP/IP XMPP hoạt động bằng cách
Trang 27sử dụng các thông điệp XML với một kiến trúc phi tập trung với các liên lạc ngang hàng trên mô hình client/server như trong hình 2.5 [9]
Hình 2.5 Kiến trúc của XMPP
Như thể hiện trong hình 2.5, XMPP hỗ trợ nhiều mẫu giao tiếp bao gồm: Asynchronous Messaging, Publish/Subscribe and Request/Response Máy chủ XMPP định tuyến dữ liệu của các cảm biến sau khi chúng đăng nhập vào máy chủ XMPP thành công XMPP client trong các mạng cảm biến không dây có thể gửi dữ liệu của nó tới Internet client bằng máy chủ XMPP ngay lập tức và Internet client có thể truy cập vào XMPP client trong các mạng cảm biến không dây để nhận thông tin ngay lập tức
- Giao thức MQTT có 3 chế độ QoS còn XMPP không có QoS
- Giao thức XMPP hỗ trợ liên kết các thiết bị từ các nhà sản xuất khác nhau với các nền tảng khác nhau
Trang 28- Giao thức XMPP tạo danh tính thiết bị bằng ID Jabber, còn trong MQTT các danh tính được tạo và quản lý riêng trong broker
2.1.6 Ưu điểm của MQTT với các giao thức IoT khác
- MQTT là một giao thức truyền thông nhiều-nhiều để truyền các thông điệp giữa nhiều khách hàng thông qua broker trung tâm
- MQTT tách riêng publisher và subscriber 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 nhiệm vụ là bus truyền dữ liệu trực tiếp
- MQTT nhẹ và nhanh hơn, phù hợp cho các tin nhắn rời rạc và các thiết bị có năng lượng hạn chế
- MQTT cung cấp hỗ trợ rất tốt cho truyền thông giữ các thiết bị tới trung tâm
- MQTT hoạt động tốt trong môi trường băng thông thấp, độ trễ cao, sử dụng ít năng lượng
- Các định dạng thông điệp của giao thức MQTT phong phú, sử dụng được cho nhiều mục đích miễn là phía client biết được định dạng bản tin để giao tiếp MQTT trong giai đoạn gần đây đang nổi lên như là một giao thức được sử dụng phổ biến đóng vai trò quan trọng dùng cho giao tiếp IoT, rất nhiều hãng công nghệ lớn
đã sử dụng, áp dụng và hỗ trợ giao thức MQTT cho các ứng dụng của mình như: Facebook, IBM, Intel, Amazon, WSO2, Microsoft…
Trang 292.2 Mạng cảm biến không dây
2.2.1 Đĩnh nghĩa mạng cảm biến không dây
Mạng cảm biến không dây (Wireless Sensor Network – WSN) bao gồm một tập hợp các thiết bị cảm biến sử dụng các liên kết không dây (vô tuyến, hồng ngoại hoặc quang học) để phối hợp thực hiện nhiệm vụ thu thập thông tin dữ liệu phân tán với quy
mô lớn trong bất kỳ điều kiện và ở bất kỳ vùng địa lý nào Mạng WSN có thể liên kết trực tiếp với nút quản lý giám sát trực tiếp hay gián tiếp thông qua một điểm thu phát (Sink) và môi trường mạng công cộng như internet hay vệ tinh Lợi thế chủ yếu của WSN là khả năng triển khai ở bất kỳ loại hình địa lý nào kể cả môi trường nguy hiểm không như các mạng cảm biến có dây thông thường
Các thiết bị cảm biến không dây liên kết thành một mạng cùng với các đầu đo có
bộ vi xử lý nhỏ lắp ráp với các thiết bị vô tuyến tạo nên một thiết bị cảm biến có kích thước rất nhỏ, tiết kiệm không gian và dễ dàng lắp đặt Chúng có thể hoạt động trong các môi trường khắc nhiệt hay mật độ dày đặc với khả năng phân tích, xử lý tốc độ cao [11]
2.2.2 Kiến trúc của mạng cảm biến không dây
Một mạng WSN bao gồm số lượng lớn các nút cảm biến được triển khai dày đặc bên trong hoặc rất gần đối tượng cần thăm dò, thu thập thông tin dữ liệu Vị trí của các cảm biến có thể được đặt ngẫu nhiên không cần định trước, mà vẫn hoạt động hiệu quả rất hợp lý nhất là tại các vùng không thể tiếp cận hay các khu vực nguy hiểm Khả năng tự tổ chức mạng và cộng tác làm việc của các cảm biến không dây là những đặc trưng rất nổi bật của mạng này
Với số lượng lớn các cảm biến không dây triển khai gần nhau thì truyền thông đa liên kết được lựa chọn để công suất tiêu thụ là nhỏ nhất (so với truyền thông đơn liên kết) và mang lại hiệu quả truyền tín hiệu tốt hơn so với truyền khoảng cách xa [11]
Trang 30Một nốt cảm biến bao gồm bốn thành phần cơ bản là: hệ thống cảm biến, hệ thống lưu trữ và xử lý, hệ thống thu phát không dây và nguồn điện Tùy theo ứng dụng
cụ thể, nốt cảm biến có thể có các thành phần bổ sung như hệ thống định vị vị trí, bộ sinh năng lượng và thiết bị di động Các thành phần trong một nốt cảm biến được thể hiện như Hình 2.7
Trang 31Hình 2.7 Các thành phần của bộ cảm biến
Theo hình 2.7 thành phần hệ thống cảm biến thường gồm hai đơn vị thành phần
là đầu đo cảm biến và bộ chuyển đổi tương tự/số (ADC) Các tính hiệu tương tự thu được từ đầu đo, sau đó được chuyển thành tín hiệu số bằng bộ chuyển đổi ADC, rồi mới được đưa tới hệ thống xử lý Hệ thống xử lý, thường kết hợp với một hệ thống lưu trữ, phân tích thông tin cảm biến và quản lý các thủ tục cộng tác với các nốt khác để phối hợp thực hiện nhiệm vụ Hệ thống thu phát đảm bảo thông tin giữa các nốt cảm biến và mạng bằng kết nối không dây, có thể là vô tuyến, hồng ngoại hoặc bằng tín hiệu quang Một thành phần quan trọng của nốt cảm biến là bộ nguồn Nguồn có thể là pin hoặc ắc quy khi ở môi trường không thể kéo điện đến, chúng cung cấp năng lượng cho nút cảm biến và không thay thế được nên nguồn năng lượng của nốt thường là giới hạn Nguồn có thể được hỗ trợ bởi ác thiết bị sinh điện, ví dụ như tấm pin mặt trời nhỏ [12] Hầu hết các công nghệ định duyến trong mạng cảm biến yêu cầu phải quản lý được vị trí cảm biến với độ chính xác cao Do đó, các nút cảm biến thường được lắp đặt định vị Các thiết bị di động cũng cần thiết để theo dõi, điều chỉnh các nút cảm biến theo yêu cầu để đảm bảo độ đúng đắn của dữ liệu
Trang 32Các đặc điểm nổi bật của WSN:
- Kích thước vật lý nhỏ gọn
- Khả năng liên kết vật lý và phân cấp điều khiển đơn giản
- Hoạt động đồng thời với cường độ cao
- Đa dạng trong thiết kế và sử dụng
- Hoạt động tin cậy
2.2.3 Ứng dụng của WSN
Trong những năm gần đây, các nghiên cứu về WSN đã đạt được bước phát triển rất mạnh mẽ, các bước tiến từ nghiên cứu đã ứng dụng WSN đến rất nhiều các lĩnh lực trong cuộc sống
- Ứng dụng trong bảo vệ môi trường
• Giám sát, phát hiện cháy rừng, dịch bệnh, hoạt động núi lửa, động đất, sóng thần…
• Cảm biến dùng trong trồng trọt
• Sử dụng tài nguyên thiên nhiên hiệu quả
- Ứng dụng trong thương mại
• Cảm biến các chất hóa học, sinh học, nguyên tử…
• Quản lý cầu đường, kiến trúc, xây dựng, tải trong tiêu thụ điện năng…
• Điều khiển không lưu, nhiệt động
• Hệ thống tự động
- Ứng dụng trong y học
• Cảm biến gắn trực tiếp lên cơ thể người