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

Nghiên cứu xây dựng phần mềm thu thập và giám sát dữ liệu trong nông nghiệp thông minh sử dụng nền tảng THINGS BOARD TT

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.44 MB, 26 trang )

HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG
---------------------------------

Nguyễn Thành Sơn

NGHIÊN CỨU XÂY DỰNG PHẦN MỀM THU THẬP VÀ
GIÁM SÁT DỮ LIỆU TRONG NÔNG NGHIỆP THÔNG
MINH SỬ DỤNG NỀN TẢNG THINGS BOARD

Chun ngành: Kỹ thuật Viễn thơng
Mã số: 8.52.02.08

TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI - 2021


Luận văn đƣợc hồn thành tại:
HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG

Người hướng dẫn khoa học: TS. NGUYỄN QUỐC UY

Phản biện 1:

Phản biện 2:

Luận văn đã được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học
viện Cơng nghệ Bưu chính Viễn thơng
Vào lúc:

.......... giờ .......... ngày tháng năm 20...



Có thể tìm hiểu luận văn tại:
Thư viện của Học viện Cơng nghệ Bưu chính Viễn Thơng


3

MỞ ĐẦU
Nông nghiệp ứng dụng công nghệ thông tin và truyền thơng (Information
and Communications Technology - ICT), cịn gọi là “nơng nghiệp thơng minh” hay
“nơng nghiệp chính xác” - đang trở thành xu thế mới, cải thiện đáng kinh ngạc nền
nơng nghiệp ở nhiều nơi trên thế giới. Hình ảnh nhà nông vất vả và lạc hậu đang trở
thành lỗi thời, thay vào đó là những nơng dân ứng dụng thuần thục công nghệ và kỹ
thuật hiện đại vào thương mại, sản xuất. Yếu tố ICT ở đây chỉ các thiết bị, công cụ
hoặc ứng dụng thông tin và truyền thông, cho phép thu thập-trao đổi dữ liệu thông
qua việc tương tác hoặc truyền tải, ví dụ: radio, vệ tinh, điện thoại di động, internet,
điện toán đám mây, ứng dụng thanh tốn điện tử, phần mềm quản lý tài chính, hệ
thống tự động hóa... Khi được ứng dụng trong nơng nghiệp, ICT giúp người nông
dân nâng cao khả năng tiếp cận thơng tin, cải thiện năng lực thanh tốn, tăng năng
suất, nâng cao năng lực quản lý, ứng phó hiệu quả với rủi ro, thậm chí hưởng lợi
nhờ đón đầu thay đổi. Bên cạnh đó số lao động tham gia vào lĩnh vực nơng nghiệp
ngày càng suy giảm thì các hệ thống tự động hóa trở thành giải pháp hàng đầu. Đây
cũng là công cụ mang lại thành quả nông nghiệp đáng nể cho Israel, vốn chỉ có 3%
dân số theo nghề nơng.
Sau q trình tìm hiểu và nghiên cứu học viên đã xây dựng luận văn với cấu
trúc gồm 3 chương chính như sau:
 Chƣơng I: Tổng quan về ứng dụng công nghệ trong nông nghiệp thông
minh.
 Chƣơng II: Thiết kế mơ hình thu thập và giám sát dữ liệu.
 Chƣơng III: Xây dựng và kiểm thử phẩn mềm.



4

CHƢƠNG I:
TỔNG QUAN VỀ ỨNG DỤNG CÔNG NGHỆ TRONG
NÔNG NGHIỆP THƠNG MINH
1.1. Tình hình ứng dụng cơng nghệ trong nơng nghiệp thông minh
1.1.1 Ứng dụng công nghệ trong nông sản hữu cơ
Nông sản là hướng phát triển quan trọng của nước ta, đặc biệt là khi đơ thị
hóa phát triển nhanh, các vùng nguyên liệu trên thế giới nói chung đều đang ngày
càng thu hẹp. Trong nông nghiệp hữu cơ, thì sản xuất nơng sản, đặc biệt là rau theo
phương thức hữu cơ chiếm vị trí quan trọng hàng đầu bởi vì các cây rau là đối
tượng chịu ảnh hưởng nặng nề nhất của nền sản xuất hóa nơng nghiệp. Việc sản
xuất rau an tồn nói chung và sản xuất rau hữu cơ nói riêng là vấn đề bức thiết cần
giải quyết hiện nay.

1.1.2 Một số phần mềm trong nông nghiệp thơng minh
a) Phần mềm Hifarm
HiFarm có thể nói là một trong những doanh nghiệp ứng dụng công nghệ cao
vào nông nghiệp khá thành công tại Đà Lạt. Với việc tích hợp nhiều cơng nghệ lại
với nhau để tận dụng triệt để những ưu điểm của nông nghiệp công nghệ cao trong
trồng trọt, HiFarm đang chiếm được thị phần khá lớn tại khu vực Đà Lạt.
b) Phần mềm NextFarm
Nextfarm thuộc Công ty Cổ phần NextVision, chuyên trong lĩnh vực nông
nghiệp thông minh và chuyển đổi số nông nghiệp. Nextfarm là đơn vị đi đầu và phổ
biến trong lĩnh vực Nông nghiệp thông minh tại Việt Nam, hiện tại đơn vị này có
gần 1000 khách hàng trên tồn quốc. Đây là một đơn vị phát triển nông nghiệp
thông minh khá sớm và đã giới thiệu sản phẩm sang cả một số quốc gia Đông Nam
Á như Myanmar, Campuchia, Singapore. Nextfarm phát triển một hệ sinh thái nông

nghiệp thông minh khá rộng, từ sản xuất và đảm bảo vùng nguyên liệu đến giám sát
chất lượng sản phẩm và định danh sản phẩm cũng như phân phối đến người tiêu
dùng.


5

1.2. Một số giao thức trao đổi dữ liệu
1.2.1 Phƣơng thức CoAP
CoAP 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 one-to-one để chuyển đổi trạng thái thơng
tin giữa client và server.

Hình 1. 1: Mơ hình giao thức CoAP so sánh với HTTP

Các gói CoAP nhỏ hơn nhiều so với dịng HTTP TCP. Các trường bit và ánh
từ chuỗi các số nguyên được sử dụng rộng rãi để tiết kiệm không gian. Các gói rất
đơn giản có thể được tạo ra và phân tích tại chỗ mà khơng tốn thêm RAM trong các
thiết bị bị hạn chế.
Hoạt động của CoAP:
CoAP hoạt động như một loại HTTP cho các thiết bị bị hạn chế, cho phép
các thiết bị như cảm biến hoặc cơ cấu chấp hành (actuator) giao tiếp trên IoT. Các
cảm biến và cơ cấu chấp hành này được điều khiển và đóng góp bằng cách truyền
dữ liệu của chúng như một phần của hệ thống.

1.2.2 Giao thức MQTT
MQTT (Message Queuing Telemetry Transport) là giao thức truyền thơng
điệp (message) theo mơ hình publish/subscribe (cung cấp / thuê bao), được sử dụng
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



6

trong mạng lưới khơng ổn định. Nó dựa trên một Broker (tạm dịch là “Máy chủ mơi
giới”) “nhẹ” (khá ít xử lý) và được thiết kế có tính mở (tức là không đặc trưng cho
ứng dụng cụ thể nào), đơn giản và dễ cài đặt.

Hình 1. 2: Mơ hình giao tiếp MQTT

MQTT là lựa chọn lý tưởng trong các môi trường như:
 Những nơi mà giá mạng viễn thông đắt đỏ hoặc băng thông thấp hay
thiếu tin cậy.
 Khi chạy trên thiết bị nhúng bị giới hạn về tài nguyên tốc độ và bộ nhớ.

1.2.3 Giao thức RESTful (HTTP)
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 (thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú
trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu
động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua
HTTP.
API (Application Programming Interface) là một tập các quy tắc và cơ chế
mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay
thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở
những kiểu dữ liệu phổ biến như JSON hay XML.


7

REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ

liệu, một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo
cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số
thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv
đến một URL để xử lý dữ liệu.

1.3. Một số chuẩn giao thức truyền tải dữ liệu trong IoT theo tiêu chuẩn
công nghiệp
1.3.1 Giao thức Bluetooth
Một công nghệ giao tiếp truyền thông trong khoảng cách ngắn vô cùng quan
trọng, đó là Bluetooth. Hiện nay, bluetooth xuất hiện hầu hết ở các thiết bị như máy
tính, điện thoại/Smartphone... và nó được dự kiến là chìa khóa cho các sản phẩm
IoT đặc biệt, cho phép giao tiếp thiết bị với các smartphone - một "thế lực hùng
hậu" hiện nay.

1.3.2 Giao thức Zigbee
Zigbee, giống như Bluetooth, là một loại truyền thông trong khoảng cách
ngắn, hiện được sử dụng với số lượng lớn và thường được sử dụng trong cơng
nghiệp. Điển hình, Zigbee Pro và Zigbee remote control (RF4CE) được thiết kế trên
nền tảng giao thức IEEE802.15.4 - là một chuẩn giao thức truyền thông vật lý trong
công nghiệp hoạt động ở 2.4Ghz thường được sử dụng trong các ứng dụng khoảng
cách ngắn và dữ liệu truyền tin ít nhưng thường xuyên, được đánh giá phù hợp với
các ứng dụng trong smarthome hoặc trong một khu vực đô thị/khu chung cư.

1.3.3 Giao thức Z-wave
Tương tự Zigbee, Z-Wave là chuẩn truyền thông không dây trong khoảng
cách ngắn và tiêu thụ rất ít năng lượng. Dung lượng truyền tải với tốc độ
100kbit/s, quá đủ cho nhu cầu giao tiếp giữa các thiết bị trong các hệ thống IoT,
M2M. Chuẩn kết nối Z-Wave và Zigbee cùng hoạt động với tần số 2.4GHz, và
cùng được thiết kế với mức tiêu thụ năng lượng rất ít nên có thể sử dụng với các



8

loại PIN di động. Zwave hoạt động ở tần số thấp hơn so với Zigbee/wifi, dao
động trong các dải tần của 900Mhz, tùy theo quy định ở từng khu vực khác nhau.
Ưu điểm của Z-Wave là tiêu thụ năng lượng cực ít và độ mở (Open platform)
cực cao. Hiện nay, Z-Wave được ứng dụng chủ yếu trong ứng dụng smarthome.
Đặc biệt, mỗi thiết bị Z-Wave trong hệ thống là một thiết bị có thể vừa thu và vừa
phát sóng nên tính ổn định hệ thống được nâng cao.
Đặc biệt, Z-Wave đã được nhiều nhà sản xuất thiết bị tích hợp vào, đây là một công
nghệ đang được chú ý và các nhà sản xuất đang tập trung nhiều hơn vào nó.
Thơng số kỹ thuật cơ bản:
 Standard: Z-Wave Alliance ZAD12837 / ITU-T G.9959
 Frequency: 900MHz (ISM)
 Range: 30m
 Data Rates: 9.6/40/100kbit/s

1.3.4 Giao thức 6LoWPAN
6LoWPAN là tên viết tắt của IPv6 protocol over low-power wireless PANs
(tức là: sử dụng giao thức IPv6 trong các mạng PAN không dây công suất thấp).
6LoWPAN được phát triển bởi hiệp hội đặc trách kỹ thuật Internet IETF (Internet
Engineering Task Foce), cho phép truyền dữ liệu qua các giao thức IPv6 và IPv4
trong các mạng không dây công suất thấp với các cấu trúc mạng điểm - điểm ( P2P:
point to point ) và dạng lưới ( mesh). Tiêu chuẩn được đặt ra để quy định các đặc
điểm của 6LoWPAN - cho phép sử dụng rộng rãi trong các ứng dụng IoT.

1.3.5 Giao thức Wifi
Wifi là viết tắt của từ Wireless Fidelity hay mạng 802.11 là hệ thống mạng
khơng dây sử dụng sóng vơ tuyến, giống như điện thoại, truyền hình và radio.
Hầu hết các thiết bị điện tử ngày nay như máy tính, điện thoại, tivi,… đều có thể

kết nối wifi.
Ưu điểm của cơng nghệ kết nối wifi:
- Thuận tiện: Cho phép truy xuất tài nguyên ở bất cứ vị trí nào.


9

- Khả năng di động: Với sự phát triển của các mạng khơng dây cơng cộng, người
dùng có thể truy cập Internet ở bất cứ đâu.
- Hiệu quả: Người dùng có thể duy trì kết nối mạng khi họ đi từ nơi này sang nơi
khác.
- Khả năng mở rộng: Mạng khơng dây có thể đáp ứng tức thì khi gia tăng số lượng
kết nối.
Nhược điểm của wifi:
- Tính bảo mật kém
- Phạm vi sử dụng khá hẹp, thường trong một căn nhà vừa và nhỏ;
- Độ tin cậy không cao: vì sử dụng sóng vơ tuyến để truyền thơng nên dễ bị nhiễu,
tín hiệu bị suy giảm do tác động của các thiết bị khác là không tránh khỏi.

1.3.6 Giao thức LoRa
Nếu giao thức bluetooth ra đời từ lâu và không hẳn phục vụ riêng cho các
ứng dụng thuộc hệ sinh thái IoT, giao thức bluetooth mà cụ thể là bluetooth năng
lượng thấp BLE đã và đang phát triển mạnh mẽ để tích hợp vào các thiết bị thơng
minh phục vụ trong các ứng dụng nhúng nói chung và đặc biệt là các thiết bị trong
nhà thơng minh nói riêng. ít năng lượng. Điều này phù hợp với các thiết bị IoT với
dung lượng pin hạn chế.
LoRaWAN là giao thức mạng năng lượng thấp, diện rộng (LPWA) được
phát triển bởi Liên minh LoRa, kết nối không dây „hoạt động‟ với internet trong các
mạng khu vực, quốc gia hoặc toàn cầu, nhắm mục tiêu các u cầu chính của có các
trạm cơ sở chuyển tiếp dữ liệu giữa các node cảm biến và Network Server.


1.4. Kết luận
Chương 1 của luận văn đã trình bày được tổng quan của tình hình ứng dụng
công nghệ trong nông nghiệp thông minh và giới thiệu được một số chuẩn truyền
thông và chuẩn trao đổi dữ liệu, qua đó tạo tiền đề để xây dựng ứng dụng thu
thập và giám sát dữ liệu phục vụ nông nghiệp thông minh của luận văn này.


10

CHƢƠNG II:
THIẾT KẾ MƠ HÌNH THU THẬP VÀ GIÁM SÁT DỮ LIỆU
2.1. Hệ thống nông nghiệp thông minh
Internet vạn vật, hay cụ thể hơn là 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 (tiếng Anh: Internet of Things, viết tắt IoT) là
một liên mạng, trong đó các thiết bị, phương tiện vận tải (được gọi là "thiết bị kết
nối" và "thiết bị thông minh"), phòng ốc và các trang thiết bị khác được nhúng với
các bộ phận điện tử, phần mềm, cảm biến, cơ cấu chấp hành cùng với khả năng kết
nối mạng máy tính giúp cho các thiết bị này có thể thu thập và truyền tải dữ liệu.
Năm 2013, tổ chức Global Standards Initiative on Internet of Things (IoT-GSI) đinh
nghĩa IoT là "hạ tầng cơ sở toàn cầu phục vụ cho xã hội thơng tin, hỗ trợ các dịch
vụ (điện tốn) chuyên sâu thông qua các vật thể (cả thực lẫn ảo) được kết nối với
nhau nhờ vào công nghệ thông tin và truyền thơng hiện hữu được tích hợp," và với
mục đích ấy một "vật" là "một thứ trong thế giới thực (vật thực) hoặc thế giới thông
tin (vật ảo), mà vật đó có thể được nhận dạng và được tích hợp vào một mạng lưới
truyền thơng".

Hình 2.1: Ứng dụng rộng rãi của IoT trong xã hội

2.1.1 Tính chất của hệ thống nông nghiệp thông minh

Hệ thống nông nghiệp thông minh cũng là một hệ thống IoT bởi vậy có đầy
đủ các tính chất của hệ thống.


11

Các máy móc có thể 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 có thể tự điều khiển bản thân
(autonomous control) mà khơng cần đến kết nối mạng. Một hệ thống nông nghiệp
thông minh đơn giản có thể kể đến là các thiết bị ngoại vi có thể phản ứng lại các
tham số môi trường thu thập được, hoặc đơn giản là chịu tác động của quá trình lập
lịch hoạt động định kì.
Các thực thể, máy móc trong hệ thống nơng nghiệp có thể kể đến như máy
bơm nước, đèn chiếu sáng, rèm che nắng… sẽ phản hồi dựa theo các sự kiện diễn ra
trong lúc chúng hoạt động theo thời gian thực. Một số nhà nghiên cứu từng nói rằng
một mạng lưới các sensor chính là một thành phần đơn giản của IoT.
Trong một thế giới mở, IoT hay hệ thống nông nghiệp thơng minh sẽ mang
tính chất phức tạp bởi nó bao gồm một lượng lớn các đường liên kết giữa những
thiết bị, máy móc, dịch vụ với nhau, ngồi ra còn bởi khả năng thêm vào các nhân
tố mới.
đang diễn ra là quản lý dữ liệu và chuyển sang IPv6. Axel Pawlik, Giám đốc
Quản lý của RIPE NCC lý giải tại sao IPv6 cần thiết cho tương lai của IoT, với IPv6
chúng ta sẽ có lượng địa chỉ phong phú và điều này sẽ mở ra khả năng gán địa chỉ
cho mỗi thiết bị (gadget) và chip. Các giải pháp sẽ dễ dàng và đơn giản hơn, rõ ràng
hơn, có thể phục hồi đến từng mục địa chỉ riêng, và phạm vi phát triển vô cùng to
lớn. Lan Pearson, nhà tương lai học với thành tích ấn tượng tại những hãng như BT,
Canon và Fujitsu cho rằng, những gì mà chúng ta thấy ở đây là chưa có tiền lệ hội
tụ và phát triển nhanh chóng, khơng giống như bất kỳ điều gì chúng ta từng thấy
trước đó. Động lực cho việc này chính là áp lực hướng đến cơng nghệ mới, để giúp
chúng ta tạo ra những chiếc máy tính nhanh hơn, những ổ đĩa có tốc độ quay nhanh

hơn....

2.1.2 Tính năng của phần mềm trong nơng ngiệp thơng minh
Như đã trình bày ở phần trước thì hệ thống nơng nghiệp thơng minh cũng có
các tính chất và đặc điểm tương tự các hệ thống IoT, mà đặc điểm nổi bật là sự đa
dạng và phức tạp của các thành phần tích hợp trong hệ thống. Trong phạm vi luận


12

văn này học viên sẽ tập trung trình bày các tính năng liên quan đến khả năng giám
sát và thu thập dữ liệu của phần mềm trong nông nghiệp thông minh.
Hiển thị dữ liệu đa dạng:
Sự phát triển của viễn thông và công nghệ làm cho các thiết bị thông minh
trở nên ngày càng phổ biến, hiện nay việc sở hữu điện thoại thông minh đã là một
điều tất yếu trong cuộc sống. Giá trị khai thác của điện thoại thơng minh khơng chỉ
cịn dừng lại ở việc cung cấp các cuộc đàm thoại hai chiều, hay đơn thuần là các
tiện ích giải trí đa phương tiện mà điện thoại cịn trở thành cơng cụ giúp con người
làm việc. Chính vì vậy các hệ thống IoT cần có khả năng kết nối đa dạng, từ máy
tính, máy tính bảng, đặc biệt là điện thoại thơng minh.

Hình 2.2: hiển thị dữ liệu giám sát và thu thập đa nền tảng

Tích hợp đa dạng cảm biến:
Bộ cảm biến là thiết bị điện tử cảm nhận những trạng thái, quá trình vật lý
hay hóa học ở mơi trường cần khảo sát, và biến đổi thành tín hiệu điện để thu thập
thơng tin về trạng thái hay q trình đó. Thơng tin được xử lý để rút ra tham số định


13


tính hoặc định lượng của mơi trường, phục vụ các nhu cầu nghiên cứu khoa học kỹ
thuật hay dân sinh và gọi ngắn gọn là đo đạc, phục vụ trong truyền và xử lý thông
tin, hay trong điều khiển các quá trình khác.
Cảm biến thường được đặt trong các vỏ bảo vệ tạo thành đầu thu hay đầu dò
(Test probe), có thể có kèm các mạch điện hỗ trợ, và nhiều khi trọn bộ đó lại được
gọi ln là "cảm biến". Có nhiều loại cảm biến khác nhau và có thể chia ra hai
nhóm chính:
- Cảm biến vật lý: sóng điện từ, ánh sáng, tử ngoại, hồng ngoại, tia X,
tia gamma, hạt bức xạ, nhiệt độ, áp suất, âm thanh, rung động, khoảng cách,
chuyển động, gia tốc, từ trường, trọng trường,...
- Cảm biến hóa học: độ ẩm, độ PH, các ion, hợp chất đặc hiệu…

Hình 2.3: Đa dạng cảm biến trong nông nghiệp thông minh

Giao tiếp dữ liệu tầm xa:
Một hệ thống nông nghiệp thông minh thường đặt tủ điều khiển trung tâm tại
nhà điều hành, trong khi đó các node cảm biến biến lại đặt rải rác ở các địa điểm
thuộc nơng trại hay nơng trường rộng lớn. Chính vì vậy nhu cầu của phần mềm
giám sát và thu thập dữ liệu trong nơng nghiệp thơng minh địi hỏi phải hỗ trợ giao
tiếp dữ liệu tầm xa để có thể kiểm sốt dữ liệu chính xác và giảm thiểu tối đa chi phí


14

về truyền dẫn. Khơng những có thể hỗ trợ trao đổi dữ liệu tầm mà mà các thiết bị
này còn cần có khả năng hình thành mạng chuyển tiếp để tăng khoảng cách, đồng
thời phải tiết kiệm năng lượng.

2.2. Mô hình hệ thống

Sơ đồ khối chức năng: Mơ hình IoT trong hệ thống thu thập và giám sát dữ
liệu nông nghiệp thơng minh ngồi việc bao gồm các thành phần cơ bản của hệ
thống IoT như Node, Gateway, Server thì cịn gồm nhóm các cảm biến liên quan
đến việc đo đạc, giám sát thơng số mơi trường. Ngồi ra, hệ thống cịn cịn khả năng
phát ra các thơng tin cảnh báo cho người dùng và các đối tượng liên quan. Như vậy,
mơ hình IoT cơ bản trong hệ thống thu thập và giám sát dữ liệu nông nghiệp thông
minh được thể hiện cơ bản như hinh sau:

Hình 2.4: Sơ đồ khối cơ bản của mơ hình hệ thống thu thập và giám sát
dữ liệu trong nông nghiệp thông minh
Nguyên lý hoạt động:
- Nhóm các cảm biến: thực hiện giám sát các thông số môi trường liên quan
đến nhiệt độ, độ ẩm, ánh sáng, nồng độ các chất khí… rồi truyền tới IoT node. Tín
hiệu từ các cảm biến truyền tới có thể là tín hiệu số hoặc tính hiệu tương tự.
- IoT node: thực hiện tiếp nhận thông tin từ các cảm biến chuyển tới, chuyển
đổi về dạng tín hiệu phù hợp, số hóa
- IoT gateway: nhận thơng tin từ nhiều node gửi tới, có thể thực hiện tiếp tục
xử lý hoặc hoặc khơng, sau đó tiến hành tập hợp, đóng gói để chuyển tiếp lên
server.
Server: thực hiện việc lưu trữ thông tin, hiển thị sự thay đổi các tham số theo
thời gian thực trên Web/App, xử lý thông tin để phát đi các tín hiệu cảnh báo.

2.3. Giới thiệu nền tảng Things Board


15

ThingsBoard là một nền tảng IoT mã nguồn mở cho phép phát triển nhanh
chóng, quản lý và mở rộng các dự án IoT. Với nền tảng Thingsboard người dùng
có thể thu thập, xử lý, hiển thị trực quan và quản lý thiết bị một cách nhanh chóng

và hệ thống.

Hình 2.5: Mơ hình một hệ thống IoT sử dụng ThingsBoard
Ngồi ra ThingsBoard cho phép tích hợp các thiết bị được kết nối với các hệ
thống cũ và bên thứ ba bằng các giao thức hiện có. Kết nối với máy chủ OPC-UA,
MQTT broker, Sigfox Backend hoặc Modbus Slave thông qua các Gateway có kết
nối đến ThingsBoard. Việc cài đặt các kết nối đến ThingsBoard được hỗ trợ trên
nền tảng ngôn ngữ khác nhau giúp người dùng có thể dễ dàng nâng cấp hoặc tạo
mới các thiết bị kết nối đến hệ thống Server của ThingsBoard. Ngoài ra,
ThingsBoard cho phép tạo các Bảng điều khiển (Dashboard) IoT phong phú để hiển
thị dữ liệu và điều khiển thiết bị từ xa trong thời gian thực. Người sử dụng có thể
xây dựng một bảng điều khiển cho dự án nông trại thông minh để hiển thị trực quan
các dữ liệu sản lượng, điều kiện thời tiết trong sản xuất nông nghiệp một các tùy
biến và nhanh chóng bằng cách sử dụng các thư viện Dashboard có sẵn của
ThingsBoard hoặc các thư viện khác của các bên thứ ba.
Ngoài khả năng cho phép thu thập dữ liệu, xây dựng Dashboard để giám sát
và theo dõi, ThingsBoard còn cho phép tạo ra các Quy tắc/Luật phức tạp để xử lý
các dữ liệu đầu vào từ đó đưa ra các quyết định về cảnh báo hoặc thực thi điều
khiển các thiết bị tương ứng. Việc tạo Quy tắc/Luật của ThingsBoard có tính tùy
biến cao tùy thuộc vào kỹ năng của từng cấp độ người dùng. Người dùng có thể
sử dụng các phương án kéo thả các loại dữ liệu để tạo ra các Quy tắc/Luật ràng
buộc giữa các thiết bị hoặc sử dụng ngơn ngữ lập trình để tạo ra các Quy tắc/Luật


16

có mức độ ràng buộc và tùy biến cao hơn sao cho phù hợp với yêu cầu của người
sử dụng.

Hình 2.6: Giao diện tạo các quy tắc ràng buộc của ThingsBoard

Với các khả năng mà ThingsBoard cung cấp, người dùng hồn tồn có thể
sử dụng để tạo ra các hệ thống quản trị IoT khép kín có khả năng hoạt động để
theo dõi, giám sát thiết bị, dữ liệu đồng thời cũng có thể cấu hình để tạo ra các
phân tích, xử lý dữ liệu để đưa ra các lệnh thực thi phù hợp với nhu cầu của
người sử dụng. ThingsBoard cho phép người dùng tạo ra hệ thống có tính linh
hoạt cao với mức độ phức tạp thấp từ đó mở rộng quy mơ triển khai các ứng
dụng IoT trong thực tế.
Tóm lại, ThingsBoard là một nền tảng mã nguồn mở cho hệ thống IoT với
các tính năng chính như sau:
Thu thập dữ liệu từ xa:
Thingsboard hỗ trợ người dùng thu thập và lưu trữ dữ liệu từ xa theo cách
đáng tin cậy. Người dùng có thể truy cập dữ liệu đã thu thập bằng cách sử dụng
trang tổng quan web tùy chỉnh hoặc API phía máy chủ.
Hiển thị trực quan dữ liệu đã thu thập:
ThingsBoard cung cấp hơn 30 tiện ích có sẵn để người dùng sử dụng cho
việc hiển thị trực quan các dữ liệu thu thập được. ThingsBoard cũng cho phép
người dùng cũng có thể tạo các tiện ích riêng theo nhu cầu sử dụng. Các gói tiện
ích có sẵn như các tiện ích Google map, đồ thị thời gian thực, các thẻ HTML
hiển thị.


17

Công cụ tạo chuỗi quy tắc kéo thả thân thiện:
ThingsBoard cho phép xử lý dữ liệu thiết bị đến bằng chuỗi quy tắc linh
hoạt dựa trên thuộc tính thực thể hoặc nội dung tin nhắn. Chuyển tiếp dữ liệu tới
hệ thống bên ngồi hoặc kích hoạt báo thức bằng cách sử dụng logic tùy chỉnh,
làm phong phú thêm chức năng phía máy chủ hoặc điều khiển thiết bị của người
dùng bằng các quy tắc có thể tùy chỉnh cao.
Quản lý thiết bị:

ThingsBoard cung cấp khả năng đăng ký và quản lý thiết bị (Device). Nó cho
phép theo dõi các thuộc tính thiết bị phía máy khách và cung cấp phía máy chủ.
Cung cấp API cho các ứng dụng phía máy chủ để gửi các lệnh RPC tới các thiết bị
và ngược lại. Như vậy người dùng có thể quan sát được thơng tin tổng quan của các
thiết bị và có thể quan sát các loại dữ liệu mà thiết bị gửi lên đồng thời có thể gửi
xuống thiết bị các lệnh cấu hình hoặc điều khiển khi có u cầu từ phía Server.

2.4. Kết luận
Chương 2 của luận văn đã làm rõ các đặc điểm nổi bật của hệ thống nơng
nghiệp thơng minh trong đó tập trung vào việc chỉ rõ tính năng phổ biến của các
phần mềm thu thập và giám sát dữ liệu trong nông nghiệp thông minh, cũng trong
chương này việc đưa ra mơ hình chung của hệ thống là cơ sở quan trọng để tiến
hành chương tiếp theo của luận văn là chế tạo thử nghiệm hệ thống.


18

CHƢƠNG III:
XÂY DỰNG VÀ KIỂM THỬ PHẨN MỀM
3.1. Cài đặt nền tảng Things Board
3.1.1.Cấu hình yêu cầu
3.1.2.Cài đặt nền tảng Things Board trên Ubuntu
Bƣớc 1: Cài đặt nền tảng Java (JDK)
Để cài đặt JDK (Java 11) trên Ubuntu, người dùng cần thực hiện chạy các
lệnh tương ứng sau trên Terminal của hệ điều hành.
sudo apt update
sudo apt install openjdk-11-jdk

Bƣớc 2: Cài đặt ThingsBoard service
wget

/>ad/v3.3.2/thingsboard-3.3.2.deb

Bƣớc 3: Cấu hình cơ sở dữ liệu cho ThingsBoard

Hình 3. 1: Các phƣơng án cấu hình CSDL của ThingsBoard

Với khuyến nghị của hãng và nhu cầu thực tế sử dụng với số lượng bản tin
truyền tải nhỏ (<5000 bản tin/giây), trong luận văn sử dụng PostgreSQL làm cơ
sở dữ liệu chính cho hệ thống. Nếu có nhu cầu ứng dụng cao hơn chúng ta có thể
dễ dàng cấu hình cơ sở dữ liệu thay thế cho hệ thống. Đặc tính này cho phép
ThingsBoard có khả năng hoạt động linh hoạt tùy thuộc vào ứng dụng cũng như
nhu cầu mở rộng hệ thống theo thời gian.


19

Sau khi PostgreSQL, tiếp tục tiến hành tạo tài khoản cũng như tạo CSDL
có tên là thingsboard tương ứng trên nền tảng này. Việc tạo tài khoản và bảng
CSDL được thực hiện qua các lệnh sau:
sudo su - postgres
psql
\password
\q

psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q

Để hoàn thiện cấu hình và cài đặt cho PostgreSQL, chúng ta cần thực hiện
sửa nội dung file cấu hình của CSDL mà chúng ta đã tạo với nội dung tương ứng

như sau:
sudo nano /etc/thingsboard/conf/thingsboard.conf

Như vậy, chúng ta đã cấu hình thành cơng cơ sở dữ liệu trên nền tảng
PostgreSQL cho ứng dụng ThingsBoard.
Bƣớc 4: Lựa chọn dịch vụ hàng đợi cho ThingsBoard
ThingsBoard cho phép người cấu hình có thể lựa chọn rất nhiều hệ thống
phân phối tin nhắn để thực thi chia sẻ dữ liệu cũng như giao tiếp giữa hệ thống với
các thiết bị tùy theo nhu cầu sử dụng cũng như đặc tính của các thiết bị mà người
dùng sử dụng. Các dịch vụ mà ThingsBoard hỗ trợ có thể được kể đến như: In
Memory, Kafka, RabbitMQ, AWS SQS, Google Pub/Sub, Google Pub/Sub,
Confluent Cloud.
. Quá trình cài đặt Kafka cụ thể cần qua các bước sau:
sudo apt-get install zookeeper

wget

/>

20

2.6.0.tgz
tar xzf kafka_2.13-2.6.0.tgz
sudo mv kafka_2.13-2.6.0 /usr/local/kafka
sudo nano /etc/systemd/system/zookeeper.service

[Unit]
Description=Apache Zookeeper server
Documentation=
Requires=network.target remote-fs.target

After=network.target remote-fs.target
[Service]
Type=simple
ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh
/usr/local/kafka/config/zookeeper.properties
ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target

Bƣớc 5: Chạy lệnh cài đặt phần mềm
Sau khi cài đặt đủ các thành phần cơ bản mà hệ thống yêu cầu như ở trên, hệ
thống đã sẵn sàng để cài đặt khởi chạy các chương trình dịch vụ tương ứng. Để cài
đặt một chương trình dịch vụ chúng ta sử dụng lệnh sau:
# --loadDemo option will load demo data: users, devices, assets,
rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

Trong đó loadDemo là tên của chương trình cần cài đặt.
Bƣớc 6: Khởi chạy dịch vụ


21

Hình 3. 2: Giao diện ThingsBoard sau khi cài đặt thành công

3.1.3.Xây dựng một ứng dụng đơn giản với ThingsBoard
a) Tạo thiết bị mới trên ThingsBoard
Để tạo một thiết bị mới, tại giao diện website của ThingsBoard người
dùng chọn mục Device và chọn “+” để thêm một thiết bị mới. Sau thao tác

trên, giao diện hiển thị một màn hình cấu hình thơng tin như sau:

Hình 3. 3: Giao diện cấu hình thơng tin thiết bị

Sau khi điền đầy đủ thông tin chọn “ADD” để thêm thiết bị vào hệ thống.
Sau đó, chúng ta có thể chọn vào thiết bị để xem thơng tin và cấu hình chi
tiết cho thiết bị vừa mới được thêm vào.


22

Hình 3. 4: Giao diện thơng tin chi tiết của thiết bị

Ở đây có một số thơng tin quan trọng mà người dùng cần lưu ý, đó là:
DEVICE ID: Đây là ID của thiết bị nằm trong hệ thống.
ACCESS_TOKEN: Đây là mã xác thực cho phép thiết bị kết nối vào hệ
thống ThingsBoard. Khi lập trình hoặc cấu hình thiết bị chúng ta cần khai
báo Token này ở thiết bị để đảm bảo thiết bị được xác thực và tham gia vào
ThingsBoard thành cơng. Nếu khơng có Token này thiết bị sẽ không thể kết
nối đến Server cũng như gửi gữi liệu lên hệ thống. Lưu ý: Mã Token này có
thể được thay đổi theo nhu cầu của người dùng.
Ngồi ra, sau khi cấu hình người dùng có thể hiệu chỉnh các thông tin
cũng như các dữ liệu mà thiết bị chứa ở các thẻ liên quan của thiết bị. Khi
cấu hình thiết bị trên ThingsBoard hồn tất, chúng ta chuyển sang xây dựng
chương trình cho các thiết bị hoặc Gateway để kết nối và gửi dữ liệu lên hệ
thống.
b) Gửi dữ liệu lên ThingsBoard qua MQTT
ThingsBoard hỗ trợ lập trình trên nhiều nền tảng như MCU, SBC (Máy
tính nhúng), PC (Máy tính)… thơng qua các thư viện tương ứng trên các nền
tảng ngôn ngữ như: C/C++, Python, Nodejs… Trong phạm vi luận văn này

học viên sẽ xây dựng một ứng dụng bằng ngôn ngữ Python để thử nghiệm
giả lập gửi dữ liệu lên Server thông qua giao thức MQTT. Chương trình
được xâu dựng bằng cách sử dụng thư viện Paho MQTT làm nền tảng giao
tiếp với Server. Sau khi kết nối đến Server, chương trình định kỳ gử một dữ
liệu giả lập lên Server. Chương trình gửi dữ liệu giả lập nhiệt độ trong


23

khoảng 10 – 70 định kỳ mỗi 10s lên hệ thống theo định dạng JSON. Dữ liệu
được gửi lên sẽ được ThingsBoard tiếp nhận và đưa vào trường dữ liệu của
thiết bị tương ứng thông qua trường ACCESS_TOKEN đã được đề cập ở
trên.
c) Cấu hình giao diện hiển thị
Dữ liệu sau khi được ThingsBoard phân tích sẽ được đưa vào mục
LATEST TELEMETRY của mỗi thiết bị. Ở giao diện này chúng ta chỉ có
thể quan sát dữ liệu dưới dạng các dịng bản ghi. Tuy nhiên, giao diện này
khó cho người dùng quan sát cũng như hình dung về tính biến thiên của dữ
liệu.

Hình 3. 5: Giao diện LATEST TELEMETRY

Để hiển thị giao diện một cách trực quan hơn cần xây dựng một giao diện
đồ thị để hiển thị được sự biến thiên của nhiệt độ theo thời gian. Để tạo được
giao diện này, người dùng có thể vào mục Dashboard để thực hiện các thao
tác cấu hình. Trong giao diện DashBoard ta vào phần Entity aliases =>Add
Alias =>Edit alias và cấu hình như sau:


24


Hình 3. 6: Giao diện cấu hình Alias

Sau đó vào ADD NEW WIDGET => Charts =>Timeseries – Flot.

Hình 3. 7: Giao diện cấu hình đồ thị

Sau đó ta cần chọn thông tin dữ liệu cần hiển thị là dữ liệu của cảm biến
mà chúng ta cần hiển thị, cụ thể ở đây là cảm biến nhiệt độ mà chúng ta đã
xây dựng ở trên.


25

Như vậy, học viên đã trình bày cách xây dựng thành công một ứng dụng
đơn giản thực hiện gửi dữ liệu giả lập lên server ThingsBoard thông qua kết
nối MQTT. Sau q trình thử nghiệm, có thể tiến hành tích hợp các chương
trình lên các nền tảng khác như: RaspberryPi, ESP8266…

Hình 3. 8: Giao diện hiển thị dữ liệu cảm biến nhiệt độ/độ ẩm thực

3.2. Xây dựng mơ hình ứng dụng trên nền tảng Things Board
Sau quá trình thử nghiệm cơ bản, học viên tiến hành xây dựng một mô hình
ứng dụng ThingsBoard phục vụ cho ứng dụng giám sát dữ liệu nơng nghiệp
thơng minh. Mơ hình ứng dụng cụ thể như sau:
Cloud (MQTT Broker): ThingsBoard Server được cài đặt tại máy tính cá
nhân, do vậy để có thể gửi dữ liệu từ Raspberry Pi đến ThingsBoard cần có một
Server trung gian để hỗ trợ trung chuyển dữ liệu. MQTT Broker này do
CloudMQTT cung cấp miễn phí cho người dùng khi sử dụng với mục đích nghiên
cứu và phát triển.

-

ThingsBoard Server được cài đặt trên máy tính cá nhân. Sau đó học viên
tiếp tục xây dựng chương trình gửi dữ liệu lên ThingsBoard Server thông
qua giao thức MQTT.

3.3. Kết luận


×