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

ỨNG DỤNG INTERNET OF THINGS XÂY DỰNG HỆ THỐNG HỖ TRỢ QUẢN LÝ NHÀ KÍNH

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

BỘ GIÁO DỤC ĐÀO TẠO
TRƢỜNG ĐẠI HỌC ĐÀ LẠT

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KHOA HỌC SINH VIÊN NĂM 2018

ỨNG DỤNG INTERNET OF THINGS XÂY DỰNG HỆ THỐNG HỖ TRỢ
QUẢN LÝ NHÀ KÍNH

Chủ nhiệm đề tài: Võ Xuân Phong, CTK38, 1410349

Lâm Đồng, tháng 6/2018


BỘ GIÁO DỤC ĐÀO TẠO
TRƢỜNG ĐẠI HỌC ĐÀ LẠT

BÁO CÁO TỔNG KẾT

ĐỀ TÀI KHOA HỌC SINH VIÊN NĂM 2018

ỨNG DỤNG INTERNET OF THINGS XÂY DỰNG HỆ THỐNG HỖ TRỢ
QUẢN LÝ NHÀ KÍNH

Giáo viên Hƣớng dẫn
(ký, họ tên)

Chủ nhiệm đề tài
(ký, họ tên)


Xác nhận của cơ quan chủ trì
(Ký, họ tên,đóng dấu)

Lâm Đồng, tháng 6/2018


Danh sách những thành viên
Sinh viên thực hiện
Họ tên

STT

MSSV

Email

1

1410349

Võ Xuân Phong



2

1410183

Nguyễn Thanh Tùng




Giáo viên hướng dẫn: TS. Trần Ngô Như Khánh


MỤC LỤC
CHƢƠNG 1: TỔNG QUAN.................................................................................................1

1.1.

Phương pháp nghiên cứu ................................................................... 1

1.2.

Nội dung và kết quả nghiên cứu......................................................... 2

1.3.

Công nghệ Internet of Things (IoT) ................................................... 2

1.4.

Các mô hình triển khai IoT ................................................................ 6

1.5.

Một số giao thức truyền dữ liệu sử dụng trong IoT. ........................... 9

CHƢƠNG 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG ......................................................13


2.1.

Ứng dụng trên máy chủ (Server) ...................................................... 13

2.2.

Cơ sở dữ liệu lưu trữ........................................................................ 14

2.3.

Ứng dụng di động ............................................................................ 14

2.4.

Hệ thống thiết bị tại nhà kính ........................................................... 15

CHƢƠNG 3: TRIỂN KHAI HỆ THỐNG .........................................................................17

3.1.

Mô tả hệ thống................................................................................. 17

3.2.

Một số kết quả xây dựng hệ thống ................................................... 27

CHƢƠNG 4: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ...................................................33

4.1.


Kết luận ........................................................................................... 33

4.2.

Hướng phát triển.............................................................................. 33

TÀI LIỆU THAM KHẢO ..................................................................................................34


DANH SÁCH HÌNH ẢNH
Hình 1. 1 Kiến trúc hệ thống IoT....................................................................... 1
Hình 1. 2 Hình ảnh tổng quan về IOT ............................................................... 3
Hình 1. 3 Các thành phần cơ sở của IoT ............................................................ 4
Hình 1. 4 Các mô hình triển khai trong IOT ...................................................... 7
Hình 1. 5 Mô hình hoạt động của MQTT .......................................................... 9
Hình 1. 6 Mô hình giao thức CoAP và HTTP .................................................. 10
Hình 1. 7 Mô hình hoạt động của Websocket .................................................. 11
Hình 2. 1 Mô hình tổng quan hệ thống ............................................................ 13
Hình 2. 2 Mô hình hoạt động của RESTful API .............................................. 15
Hình 3. 1 Mô hình triển khai ........................................................................... 18
Hình 3. 2 Bộ điều khiển tại nhà kính ............................................................... 19
Hình 3. 3 Màn hình thống kê của ứng dụng web ............................................. 28
Hình 3. 4 Màn hình điều khiển của ứng dụng web........................................... 28
Hình 3. 5 Màn hình cấu hình tự động .............................................................. 29
Hình 3. 6 Màn hình đăng nhập của ứng dụng di động ..................................... 29
Hình 3. 7 Màn hình điều khiển của ứng dụng di động ..................................... 30
Hình 3. 8 Màn hình xem thông số môi trường trên ứng dụng di động.............. 31
Hình 3. 9 Màn hình thống kê thông số môi trường trên ứng dụng di động ....... 32



DANH SÁCH BẢNG BIỂU
Bảng 1. 1 Danh mục các loại thiết bị tại nhà kính............................................ 16
Bảng 2. 1 Danh mục các thiết bị tại nhà kính .................................................. 21


MỞ ĐẦU
Internet kết nối vạn vật – Internet of Things (IoT) là một mạng toàn cầu các
thiết bị truyền thông được kết nối với nhau. IoT tích hợp các khái niệm truyền thông
mọi lúc mọi nơi, tính toán tự động và thông minh. Trong môi trường IoT, “mọi thứ”
(things), đặc biệt là các vật dụng hàng ngày như đồ dùng gia dụng, quần áo, xe cộ,
đường xá, các vật liệu thông minh,… đều có thể đọc được, nhận dạng, định vị và có
thể điều khiển thông qua internet [1]. Điều này tạo ra nền tảng cho nhiều ứng dụng
mới như các ứng dụng giám sát và điều khiển áp dụng cho nhiều lĩnh vực trong đó có
nông nghiệp.
Hiện nay, trong xu thế của cuộc cách mạng công nghiệp 4.0, nông nghiệp công
nghệ cao là một trong những định hướng chính để phát triển kinh tế - xã hội của nước
ta. Riêng đối với Lâm Đồng, một địa phương rất có thế mạnh trong phát triển kinh tế
nông nghiệp với điều kiện khí hậu, đất đai thích hợp với 4 vùng sinh thái đặc trưng, có
gần 209.000 ha đất đỏ bazan thuận lợi cho phát triển đa dạng, quanh năm nhiều chủng
loại cây trồng như rau, hoa, chè, cà phê, tiêu, điều, cây ăn trái, phát triển chăn nuôi bò
sữa, nuôi cá nước lạnh, ứng dụng IoT trong sản xuất nông nghiệp cũng đã trở thành
một nhu cầu cấp thiết. Toàn tỉnh hiện có hơn 50.000ha đất sản xuất nông nghiệp sản
xuất theo mô hình ứng dụng công nghệ cao, chiếm 18% tổng diện tích sản xuất nông
nghiệp, tỷ trọng giá trị sản xuất nông nghiệp công nghệ cao đạt 30% giá trị toàn ngành,
80% giá trị xuất khẩu toàn tỉnh. Đã có rất nhiều mô hình ứng dụng IoT trong nông
nghiệp đã được triển khai và thực hiện. Chẳng hạn như mô hình ứng dụng IoT vào
trồng cây trong nhà lưới, nhà kính thông qua hệ thống giám sát thông số môi trường,
như: độ pH, độ dẫn điện EC của dung dịch thủy canh, nhiệt độ, độ ẩm không khí hay
mô hình điều khiển thông minh cho vườn cây thông qua việc giám sát nhiệt độ và độ
ẩm không khí; thông tin về độ ẩm đất được theo dõi và ghi nhận; giảm chi phí nhân

công, tăng năng suất và giảm lượng nước tiêu thụ. Hay mô hình tăng năng suất bằng
kỹ thuật chiếu sáng hiệu quả nhằm rút ngắn thời gian canh tác, tăng sản lượng đến hai
lần, cải thiện chất lượng rau quả (màu sắc, chất dinh dưỡng).
Tuy nhiên, việc ứng dụng IoT trong nông nghiệp công nghệ cao còn gặp nhiều
khó khăn như chi phí đầu tư ban đầu lớn; tồn tại tâm lý ngại thay đổi, ứng dụng giải
pháp công nghệ, kỹ thuật mới; sự liên kết giữa nghiên cứu - quản lý và chuyển giao -


ứng dụng còn rời rạc. Theo thống kê năm 2017, trên địa bàn tỉnh hiện có khoảng 15
trang trại/doanh nghiệp ứng dụng IoT nhưng chỉ tập trung ở những doanh nghiệp lớn,
chưa áp dụng rộng rãi được mô hình cho nhiều trang trại và hộ nông dân khác [2].
Mục tiêu của đề tài là nghiên cứu các kiến trúc và nền tảng IoT để ứng dụng
xây dựng hệ thống mô phỏng hỗ trợ quản lý nhà kính, hướng tới việc tiếp cận phát
triển ứng dụng nhà kính thông minh có chi phí triển khai thấp và có thể ứng dụng rộng
rãi.
Đề tài “Ứng dụng Internet of Things xây dựng hệ thống hỗ trợ quản lý nhà
kính” được thực hiện góp phần giải quyết các vấn đề trên. Hệ thống sẽ cung cấp các
chức năng hỗ trợ quản lý và điều khiển các thiết bị của nhà kính theo thời gian thực,
thu thập thông số môi trường, hệ thống có thể tự động hóa dựa trên thông số môi
trường được gửi lên từ các cảm biến hoặc do người dùng lập lịch cho thiết bị bật tắt tự
động theo thời gian, thống kê và lập báo cáo.


CHƢƠNG 1: TỔNG QUAN
1.1. Phƣơng pháp nghiên cứu
Hướng tiếp cận của đề tài là dựa trên việc tìm hiểu, nghiên cứu kiến trúc, công
nghệ và các ứng dụng của IoT, đặc biệt là trong lĩnh vực nông nghiệp công nghệ cao
để phát triển hệ thống IoT quản lý nhà kính. Kiến trúc của hệ thống IoT có thể chia
làm 05 tầng: tầng nhận thức (Perception Layer), tầng mạng (Network layer), tầng trung
gian (Middleware layer), tầng ứng dụng (Application layer) và tầng nghiệp vụ

(Bussiness layer) [3].
Tầng nhận thức gồm các cảm biến và thiết bị chấp hành sử dụng trong IoT.
Tầng mạng làm nhiệm vụ chuyển dữ liệu tạo ra bởi các thiết bị vật lý của tầng nhận
thức đến tầng trung gian thông qua các công nghệ như RFID, ZigBee, WPAN, WSN,
DSL, UMTS, GPRS, WiFi, WiMax, LAN, WAN, 3G và LTE. Tầng trung gian có
chức năng chính là quản lý dịch vụ, kết nối dịch vụ với nơi yêu cầu thông qua các cơ
chế dùng địa chỉ và tên để cung cấp khả năng độc lập với phần cứng. Trong khi đó,
tầng ứng dụng cung cấp các dịch vụ được yêu cầu bởi người dùng. Dựa trên những
thông tin có được từ tầng ứng dụng, tầng nghiệp vụ - có nhiệm vụ quản lý các hoạt
động tổng thể của hệ thống IoT - sẽ xây dựng các mô hình nghiệp vụ, đồ thị, biểu
đồ,…

Hình 1. 1 Kiến trúc hệ thống IoT

TRANG 1


Dựa trên kiến trúc này, đề tài tập trung vào tầng ứng dụng để xây dựng hệ thống
hỗ trợ quản lý nhà kính. Để minh họa cho hoạt động của nhà kính, một bộ điều khiển
khiển được thiết kế và phát triển dựa trên board mạch vi xử lý Ardunio. Bộ điều khiển
được kết nối đến các thiết bị như thiết bị cảm biến, thiết bị chấp hành (actuator). Ứng
dụng được xây dựng dựa trên công nghệ điện toán đám mây, hỗ trợ nền tảng thiết bị di
động.
1.2. Nội dung và kết quả nghiên cứu
Hệ thống hỗ trợ quản lý nhà kính được được xây dựng gồm các chức năng
chính như quản lý và điều khiển các thiết bị thời gian thực, thu thập thông số môi
trường, tự động hóa hoạt động thiết bị dựa trên thông số môi trường hoặc do người
dùng lập lịch, thống kê và xem thông số theo nhiều khung thời gian.
1.3. Công nghệ Internet of Things (IoT)
1.3.1. Khái niệm

Mạng lưới vạn vật kết nối Internet hoặc là Mạng lưới thiết bị kết nối Internet
viết tắt là IoT (tiếng Anh: Internet of Things) là một kịch bản của thế giới, 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 để thu thập thông tin về môi trường xung quanh để thực hiện một công việc
nào đó.

TRANG 2


Hình 1. 2 Hình ảnh tổng quan về IOT
1.3.2. Đặc điểm của Internet of Things.
Tính năng kết nối liên thông (interconnectivity): Đối với IOT bất cứ thứ gì cũng
có thể kết nối được với nhau nhờ mạng lưới thông tin và các cơ sở hạ tầng liên lạc
tổng thể.
Các thành phần cơ sở của IoT gồm có: sự định danh, sự thụ cảm, truyền thông,
tính toán, các dịch vụ và ngữ nghĩa[1].

TRANG 3


Hình 1. 3 Các thành phần cơ sở của IoT
Sự định danh là yếu tố cần thiết của việc phát triển hệ thống IoT để đảm bảo
việc xác định các đối tượng cùng với dịch vụ được yêu cầu. Có nhiều phương pháp
định danh như sử dụng mã thiết bị điện tử (EPC) và mã rộng khắp (uCode). Ngoài ra
còn có các cơ chế định địa chỉ như địa chỉ IP. Các phương thức định địa chỉ phổ biến
hiện nay gồm IPv4, IPv6 và 6LoWPAN-một giao thức cung cấp chức năng nén gói tin

IPv6. Với không gian địa chỉ của giao thức IPv6 sẽ đảm bảo cung cấp đủ cho nhu cầu
rất lớn của các thiết bị IoT.
Phần cảm biến làm nhiệm vụ thu thập dữ liệu từ môi trường và gửi đến cơ sở
dữ liệu đặt cục bô cùng vị trí với cảm biến hoặc các cơ sở dữ liệu ở xa, kết nối thông
qua các công nghệ điện toán đám mây. Các cảm biến có thể thấy trong hệ thống IoT
như cảm biến thông minh, thiết bị chấp hành, hoặc cảm biến trong thiết bị đeo trên
người.
Sự truyền thông là thành phần thiết yếu của tất cả các thiết bị IoT. Do những
giới hạn xuất phát từ đặc điểm của vạn vật (things), ví dụ như pin nguồn hoạt động hay
giới hạn về phạm vi truyền dữ liệu, nhiều giao thức truyền thông khác nhau được sử
dụng như WiFi, ZigBee, GSM, GPRS, UMTS, 3G, LTE và 5G. Chuẩn IEEE
802.15.4e được phát hành bởi IEEE vào năm 2012 đã cải tiến và bổ sung một số tính
năng so với chuẩn 802.15.4 trước đó, để giải quyết yêu cầu cấp thiết của các ứng dụng
trong công nghiệp nhúng. Ngoài ra còn có một số kỹ thuật truyền thông khác như
RFID, NFC và Beacons (Bluetooth Low Energy). CwT+ (Window tree plus)-giao thức
TRANG 4


xử lý xung đột sử dụng ít bộ nhớ được đề xuất để làm đơn giản quá trình giải quyết
xung động của mạng RFID. Trong đó, một thẻ NFC có giá thành thấp, cho phép các
thiết bị có thể dễ dàng giao tiếp với điện thoại thông minh hay máy tính. Còn công
nghệ Bluetooth 4.2 cung cấp đặt tính Bluetooth Low Energy, một công nghệ truyền
thông tiêu thụ ít năng lượng, được áp dụng trong các mạng 6LoWPAN.
Hơn nữa, IoT được triển khai trên nhiều nền tảng phần cứng khác nhau như
Arduino, Intel Galileo, Raspberry Pi hay ESP8266. Các công nghệ điện toán đám mây
cũng đóng vai trò quan trọng trong chức năng tính toán của hệ thống IoT bởi vì cung
cấp các tính năng lưu trữ và xử lý dữ liệu thời gian thực.
Các dịch vụ IoT có thể phân thành các nhóm dịch vụ như Định danh (Identity
related), tập hợp thông tin (Information aggregation) , cộng tác (Collaborative-Aware)
và rộng khắp (Ubiquitous). Dịch vụ định danh tập trung vào việc xác định các thực

thể, trong khi dịch vụ tập hợp thu thập dữ liệu từ cảm biến và gửi cho ứng dụng phía
sau. Dịch vụ cộng tác đưa ra quyết định dựa trên kết quả phân tích dữ liệu thu được và
dịch vụ rộng khắp giúp dịch vụ cộng tác hoạt động mọi lúc mọi nơi.
Khái niệm ngữ nghĩa trong IoT quan tâm đến khả năng rút trích tri thức từ máy
để cung cấp theo yêu cầu bằng cách khai phá và sử dụng các tài nguyên và mô hình
hóa thông tin. Ví dụ về các công nghệ web ngữ nghĩa (Semantic web) gồm Resource
Description Framework (RDF) and the Web Ontology Language (OWL).
1.3.3. Ứng dụng của Internet of Things
Internet of Things có thể ứng dụng được trong bất kì lĩnh vực nào mà chúng ta
muốn. Một số lĩnh vực nổi bật hiện nay được ứng dụng IoT nhiều nhất như:
 Nhà kính thông minh
 Ngôi nhà thông minh
 Quản lý các thiết bị cá nhân: thiết bị đeo tay để đo nhịp tim huyết áp
 Quản lý môi trường:
 Xử lý trong các tình huống khẩn cấp
 Quản lý giao thông
 Lĩnh vực mua sắm thông minh
 Đồ dùng sinh hoạt hằng ngày: như máy pha coffee, bình nóng lạnh
TRANG 5


 Tự động hóa: các công xưởng sản xuất xe hơi đã áp dụng công nghệ IoT
để cắt giảm hầu hết các công nhân, thay vào đó là các bộ máy tích hợp trí
thông minh nhân tạo cho năng suất tăng gấp nhiều lần và độ chính xác
cao hơn.
1.3.4. Ƣu và nhƣợc điểm của Internet of Things
Ưu điểm:
 Kết nối và truy xuất thông tin nhanh
 Tiện dụng cho mọi hoạt động của con người
 Tiết kiệm được thời gian khi sử dụng IOT

 Nâng cao năng xuất trong lao động và sản xuất
Nhược điểm:
 Chi phí để triền khai hệ thống hoàn thiện cao
 Tính bảo mật về thông tin chưa cao
1.4. Các mô hình triển khai IoT
Bài toán truyền thông trong IoT chủ yếu liên quan tới những vấn đề phát sinh
trong việc truyền thông giữa 3 nhóm: thiết bị, gateways và cloud. Cụ thể hơn thì quá
trình truyền thông đó chủ yếu liên quan tới trao đổi message (thông điệp). Việc trao
đổi message thường tuân theo một mô hình truyền thông nhất định. Và với mỗi mô
hình truyền thông thì cách trao đổi message lại khác nhau đôi chút. Để lựa chọn được
giải pháp truyền thông phù hợp cho sản phẩm IoT, chúng ta nên xem xét đầy đủ các
mô hình truyền thông IoT.
Dựa vào cách thức trao đổi thông điệp (message), ta có thể chia các mô hình
truyền thông IoT thành 4 nhóm như sau:
 Từ xa (Telemetry): dữ liệu di chuyển một chiều từ thiết bị đến hệ thống.
Mục đích là gửi trạng thái của thiết bị lên phía hệ thống
 Yêu cầu (Inquiry): gửi các yêu cầu của thiết bị lên hệ thống, các yêu
cầu này liên quan tới việc thu thập các thông tin mà thiết bị hiện tại
không thu thập được. Các thông tin đó được dùng để kích hoạt một sự
kiện nào đó được mô tả từ trước

TRANG 6


 Lệnh (Command): gửi mệnh lệnh từ hệ thống tới thiết bị hoặc 1 nhóm
thiết bị để bắt các thiết bị đó thực thi một công việc cụ thể, đồng thời yêu
cầu trả về trạng thái thực thi công việc
 Thông báo (Notification): gần giống với Telemetry, ở mô hình này,
thông tin cũng di chuyển 1 chiều, nhưng là từ hệ thống tới các thiết bị
(chiều ngược lại so với Telemetry)

Ta có thể hình dung một cách trực quan về 4 mô hình này như sau:

Hình 1. 4 Các mô hình triển khai trong IOT
Mỗi mô hình trên có thể cần đến việc lưu trữ dữ liệu. Khi đó, các cơ chế store &
forward (lưu trữ và chuyên tiếp) sẽ được tận dụng (ví dụ: hàng đợi, topic/subscription
trong các broker hoặc socket trong các room). Nếu bên gửi và bên nhận cùng online, ta
có thể dùng các giải pháp direct message (tin nhắn trực tiếp).
Cơ chế store & forward thường được áp dụng trong mô hình Command. Bởi vì
khi gửi lệnh cho một thiết bị thì thiết bị đó có thể không online... Tình huống này lại
phát sinh ra một giải pháp khác, đó là sử dụng thuộc tính TTL cho message (Time To
Live). Khi thiết bị trở lại trạng thái online, TTL giúp device tránh được việc thực thi
các lệnh quá cũ hoặc một giải pháp nữa là lưu trữ các trạng thái xuống database và khi
thiết bị online trở lại thì việc đầu tiên là yêu cầu trạng thái và các message đã được lưu
trữ để thiết bị có thể cập nhật lại trạng thái mới nhất. Direct message (tin nhắn trực
tiếp) thì lại được áp dụng cho mô hình Telemetry (mặc dù đôi khi lưu trữ các dữ liệu
gửi bằng mô hình Telemetry vẫn có ích).

TRANG 7


1.4.1. Telemetry
Giao thức HTTP có thể thực thi mô hình này theo 2 cách: hoạt động như một
client, gửi yêu cầu PUT/POST chứa các thông tin trạng thái cần cập nhật sang một hệ
thống khác hoặc hoạt động như một server, nhận những yêu cầu GET từ các hệ thống
khác để thu thập dữ liệu. Trong bất kì trường hợp nào, việc thực thi này xoay quanh 2
hành động chính là request / reply (yêu cầu / hồi đáp).
1.4.2. Inquiry
Sử dụng HTTP để gán vào mô hình này khá đơn giản vì bản thân giao thức
HTTP đã hoạt động dưới hình thức gửi request - nhận response. Do đó, khi implement
theo mô hình Inquiry, việc trao đổi thông điệp với HTTP chỉ xoay quanh các yêu cầu

GET từ thiết bị lên hệ thống để lấy thông tin.
1.4.3. Command
Mô hình này hơi ngược so với Inquiry, bên bắt đầu quá trình truyền thông lại là
hệ thống chứ không phải thiết bị.
Với giao thức HTTP, mô hình này có thể implement bằng cách cho thiết bị
nhận một trong 2 vai trò: client hoặc server. Nếu thiết bị hoạt động như một server, hệ
thống sẽ gửi yêu cầu POST và chờ đợi phản hồi tương ứng (đồng bộ hóa) từ phía thiết
bị để biết quá trình thực thi mệnh lệnh có diễn ra suôn sẻ không... Nếu thiết bị hoạt
động như client, thiết bị sẽ gửi GET request lên hệ thống để hỏi xem có mệnh lệnh nào
cần thực thi không. Nếu không có lệnh nào, client sẽ phải đợi (đồng bộ hóa). Sau khi
nhận và thực thi lệnh, thiết bị sẽ gửi POST request lên hệ thống để thông báo kết quả
thực thi mệnh lệnh.
1.4.4. Notification
Mô hình này ngược với Telemetry, luồng lưu thông thông điệp thì lại gần giống
với mô hình Command, tuy nhiên việc trao đổi thông điệp theo mô hình Notification
không cần phản hồi cho mỗi thông điệp nhận được.
Với giao thức HTTP, thiết bị nhận thông báo từ hệ thống. Trong quá trình
truyền thông với thiết bị, hệ thống hoạt động như một server (hệ thống sẽ gửi yêu
POST) hoặc client (hệ thống sẽ gửi yêu cầu GET). Nếu hệ thống hoạt động như một
client, nó chỉ có thể phản hồi khi thông báo từ phía thiết bị đã sẵn sàng hoặc phản hồi
ngay lập tức.
TRANG 8


1.5. Một số giao thức truyền dữ liệu sử dụng trong IoT.
1.5.1. MQTT
MQTT là một giao thức publish/subscribe bản tin, được thiết kế cho công nghệ
M2M (Machine to Machine) gọn nhẹ.
MQTT kiểm soát các gói tin header được giữ sao cho càng nhỏ càng tốt. Mỗi
gói tin điều khiển MQTT bao gồm ba phần, phần header cố định, phần header thay đổi

và payload. Mỗi gói tin điều khiển MQTT có header cố định 2 byte. Không phải tất cả
các gói tin điều khiển có phần header thay đổi và payload. Phần header thay đổi chứa
thông tin nhận dạng của gói tin nếu nó được sử dụng bởi gói tin kiểm soát. Phần
payload có dung lượng lên đến 256 MB được đính kèm trong các gói tin. Việc có một
header nhỏ làm cho giao thức này phù hợp với ứng dụng IoT bằng cách giảm lưu
lượng dữ liệu truyền qua mạng hạn chế băng thông.

Hình 1. 5 Mô hình hoạt động của MQTT
1.5.1.1.

Ƣu điểm

 Ít tốn băng thông
 Độ tin cậy cao
1.5.1.2.

Nhƣợc điểm

 Độ bảo mật thông tin không cao
1.5.2. CoAP
CoAP là một giao thức truyền tải tài liệu theo mô hình client/server dựa 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 one-to-one để chuyển đổi trạng thái thông tin giữa
client và server.
TRANG 9


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ế.

Hình 1. 6 Mô hình giao thức CoAP và HTTP
1.5.2.1.

Ƣu điểm

 Dễ cài đặt và triển khai
1.5.2.2.

Nhƣợc điểm

 Không bảo mật
1.5.3. Websocket
WebSoket là công nghệ hỗ trợ giao tiếp hai chiều giữa client và server bằng
cách sử dụng một TCP socket để tạo một kết nối hiệu quả và ít tốn kém. Mặc dù được
thiết kế để chuyên sử dụng cho các ứng dụng web, lập trình viên vẫn có thể đưa chúng
vào bất kì loại ứng dụng nào.

TRANG 10


Hình 1. 7 Mô hình hoạt động của Websocket
1.5.3.1.

Ƣu điểm


 WebSockets cung cấp khả năng giao tiếp hai chiều mạnh mẽ, có độ trễ
thấp và dễ xử lý lỗi. Không cần phải có nhiều kết nối như phương pháp
Comet long-polling và cũng không có những nhược điểm như Comet
streaming.


API cũng rất dễ sử dụng trực tiếp mà không cần bất kỳ các tầng bổ sung
nào, so với Comet, thường đòi hỏi một thư viện tốt để xử lý kết nối lại,
thời gian chờ timeout, các Ajax request (yêu cầu Ajax), các tin báo nhận
và các dạng truyền tải tùy chọn khác nhau (Ajax long-polling và jsonp
polling).

1.5.3.2.

Nhƣợc điểm

 Nó là một đặc tả mới của HTML5, nên nó vẫn chưa được tất cả các trình
duyệt hỗ trợ.
 Không có phạm vi yêu cầu nào. Do WebSocket là một TCP socket chứ
không phải là HTTP request, nên không dễ sử dụng các dịch vụ có phạm
vi-yêu cầu, như SessionInViewFilter của Hibernate. Hibernate là một
framework kinh điển cung cấp một bộ lọc xung quanh một yêu cầu
HTTP. Khi bắt đầu một yêu cầu, nó sẽ thiết lập một contest (chứa các
TRANG 11


transaction và liên kết JDBC) được ràng buộc với luồng yêu cầu. Khi
yêu cầu đó kết thúc, bộ lọc hủy bỏ contest này.

TRANG 12



CHƢƠNG 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG
Phần này trình bày tổng quan về các thành phần chính cùng với chức năng
tương ứng trong hệ thống. Cụ thể, hệ thống được gồm có 4 phân hệ chính như sau:
 Ứng dụng trên máy chủ (Server)
 Cơ sở dữ liệu lưu trữ (Database)
 Ứng dụng di động (Mobile Application)
 Hệ thống thiết bị tại nhà kính

Hình 2. 1 Mô hình tổng quan hệ thống
Ở mô hình trên máy chủ web là trung tâm cho mọi giao tiếp giữa các thiết bị,
ứng dụng di động và trang web của người dùng, mọi thông tin về thông số môi trường
được gửi lên từ các thiết bị cảm biến sau đó được lưu trữ xuống cơ sở dữ liệu và hiển
thị lên màn hình di động cũng như trang web của người sử dụng các thông số môi
trường đã được thu thập trước đó cũng như trạng thái của các thiết bị.
2.1. Ứng dụng trên máy chủ (Server)
Đóng vài trò trung tâm của hệ thống, được phát triển dựa trên các công nghệ
điện toán đám mây, cung cấp dịch vụ cho người dùng thông qua hai cách thức là ứng
dụng web và ứng dụng trên thiết bị di động.
Việc giao tiếp với các thiết bị của nhà kính được thực hiện thông qua giao thức
Websocket để lấy các thông số môi trường cũng như gửi tín hiệu điều khiển cho thiết
TRANG 13


bị. Ứng dụng web được xây dựng trên nền tảng NodeJS, một nền tảng công nghệ mới
nhưng đầy sức mạnh, được duy trì và phát triển bởi cộng đồng đông đảo lập trình viên
trên toàn thế giới. Nền tảng mã nguồn mở này cũng cung cấp cơ chế tạo các thư viện
API cho phép ứng dụng di động được kết nối dễ dàng.
2.2. Cơ sở dữ liệu lƣu trữ

Với đặc trưng của ứng dụng IoT là lượng dữ liệu phát sinh trong quá trình hoạt
động của hệ thống rất lớn (big data), do đó cơ sở dữ liệu của ứng dụng phải đảm bảo
được việc lưu trữ dữ liệu lớn và tốc độ truy xuất. Một phương án tối ưu là sử dụng cơ
sở dữ liệu NoSQL, tức là dữ liệu không lưu theo cấu trúc bảng mà lưu theo định dạng
JSON, thay cho cơ sở dữ liệu SQL thông thường.
Hệ thống được phát triển sử dụng cơ sở dữ liệu MongoDB. Cơ sở dữ liệu này
được lưu trữ theo kiểu BJSON, đảm bảo tốc độ truy xuất và lưu trữ với một lượng lớn
cơ sở dữ liệu, tiết kiệm được dung lượng về phần cứng một cách tối đa.
2.3. Ứng dụng di động
Ứng dụng di động được xây dựng trên nền tảng của React Native nó được bảo
trợ bởi công ty mạng xã hội lớn nhất toàn cầu Facebook. Công nghệ này có thể tương
thích với hệ điều hành IOS và Android, xây dựng một lần và chạy được trên nhiều nền
tảng nhưng vẫn đảm bảo về mặt tốc độ cũng như hiệu suất của ứng dụng.
2.3.1. Mô hình giao tiếp giữa ứng dụng di động và máy chủ
Mô hình giao tiếp giữa ứng dụng di động và máy chủ dựa theo kiến trúc của
RESTful API Web service.
REST (Representational State Transfer) (đôi khi còn được viết là ReST) là một
kiểu kiến trúc được sử dụng trong việc giao tiếp giữa các máy tính (máy tính cá nhân
và máy chủ của trang web) trong việc quản lý các tài nguyên trên internet. REST được
sử dụng rất nhiều trong việc phát triển các ứng dụng Web Services sử dụng giao thức
HTTP trong giao tiếp thông qua mạng internet. Các ứng dụng sử dụng kiến trúc REST
này thì sẽ được gọi là ứng dụng phát triển theo kiểu RESTful.

TRANG 14


Hình 2. 2 Mô hình hoạt động của RESTful API
RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng
web để quản lý các tài nguyên. RESTful là một trong những kiểu thiết kế API được sử
dụng phổ biến nhất ngày nay.

a) Giới thiệu về nền tảng React Native
React Native là một framework cho phép các xây dựng các ứng dụng trên cả hai
nền tảng Android và iOS sử dụng ngôn ngữ lập trình Javascript.
Một ứng dụng react native gồm 2 phần:
+ Phần hiển thị (view): được biên dịch từ Javascript sẽ ánh xạ với các thành
phần của hệ thống (Android và IOS).
+ Phần xử lý: được thực hiện trực tiếp bằng bộ core xử lý của Javascript
b) Các chức năng chính trên ứng dụng di động
 Đăng nhập, đăng xuất
 Xem thông số nhiệt độ, độ ẩm, cường độ ánh sáng, .. tại thời điểm hiện tại
 Điều khiển các thiết bị theo thời gian thực
 Báo cáo thống kê các thống số môi trường theo khoảng thời gian
 Cấu hình điều khiển theo thông số môi trường và lập lịch
2.4. Hệ thống thiết bị tại nhà kính
Gồm các thiết bị điều khiển (controller), cảm biến (sensor), thiết bị chấp hành
(actuator). Các thiết bị này được lập trình để thu thập và gửi các thông số môi trường
(độ ẩm, ánh sáng) lên máy chủ, đồng thời nhận lệnh từ máy chủ để điều khiển các thiết
bị như đèn, quạt gió,…
TRANG 15


Danh mục các loại thiết bị tại nhà kính được liệt kê trong bảng sau.

STT

1

2
3


Loại thiết bị

Thiết bị

Chức năng

Có hai chức năng chính là
Module ESP8266 NodeMCU điều khiển rơ le, bật tắt các
Thiết bị điều
Module ESP8266 ESP-01
công tắc và thu thập dữ
khiển
Arduino Uno
liệu từ các cảm biến gửi
lên máy chủ.
Thu thập các thông số môi
DTH11
Cảm biến
trường như: nhiệt độ, độ
BH1750
ẩm, cường độ ánh sáng.
Thiết bị chấp
Nhận lệnh từ bộ điều khiển
Relay Module
hành
để bật tắt thiết bị đèn, quạt.
Bảng 1. 1 Danh mục các loại thiết bị tại nhà kính

TRANG 16



CHƢƠNG 3: TRIỂN KHAI HỆ THỐNG
Như phân tích yêu cầu của hệ thống ở các phần trên, hệ thống sẽ được xây
dựng, phát triển với mục tiêu là hỗ trợ điều khiển, tự động hóa một số qui trình quản lý
nhà kính. Chương này sẽ trình bày chi tiết về các công nghệ, kỹ thuật được sử dụng để
triển khai hệ thống cũng như một số hình ảnh minh họa ứng dụng đã được xây dựng.
Hệ thống hỗ trợ quản lý nhà kính được xây dựng đã hoàn thiện những chức
năng chính sau:


Xây dựng hệ thống thống ứng dụng trên máy chủ có khả năng mở rộng
cao, kết nối được với nhiều thiết bị và nền tảng phần cứng khác nhau.

 Xây dựng chức năng phân quyền cho người dùng.
 Điều khiển thiết bị và tiếp nhận thông tin môi trường từ các cảm biến.
 Chức năng thu thập dữ liệu và lưu trữ, thống kê chi tiết ra dạng biểu đồ
từ các thông tin được gửi lên.
 Chức năng nhận biết thiết bị đang hoạt động hay đã mất kết nối hiển thị
trên Google Map.
 Chức năng điều khiển tự động theo thông số môi trường và lập lịch.
3.1. Mô tả hệ thống
Có thể thấy trong mô hình triển khai chi tiết của hệ thống, các thành phần (ứng
dụng máy chủ, thiết vị, các thiết bị sử dụng đầu cuối) truyền thông với nhau thông qua
mạng Internet sử dụng công nghệ không dây (Wi-fi).

TRANG 17


×