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

Xây dựng hệ thống giám sát thời tiết dựa

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 (554.14 KB, 27 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

BÙI HỒNG DŨNG

XÂY DỰNG HỆ THỐNG GIÁM SÁT THỜI TIẾT
DỰA TRÊN NỀN TẢNG IoT

Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01

TÓM TẮT LUẬN VĂN KHOA HỌC MÁY TÍNH

Đà Nẵng – Năm 2017


Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC BÁCH KHOA

Người hướng dẫn khoa học: PGS.TS. VÕ TRUNG HÙNG

Phản biện 1: TS. Phạm Minh Tuấn

Phản biện 2: Ts. Trần Thiên Thành

Luận văn đã được bảo vệ trước Hội đồng chấm Luận văn tốt
nghiệp thạc sĩ Khoa học máy tính họp tại Đại học Đà Nẵng vào ngày
13 tháng 8 năm 2017.

* Có thể tìm hiểu luận văn tại:
- Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng


- Thư viện Khoa Công nghệ thông tin, Trường Đại học Bách khoa –
Đại học Đà Nẵng


-1MỞ ĐẦU
1. Tính cấp thiết của đề tài
Ngày nay, với sự gia tăng dân số và phát triển kinh tế của con
người đã tác động vào môi trường một lượng khí thải vô cùng lớn, kèm
theo đó là việc suy giảm diện tích cây xanh đã làm cho bầu khí quyển
trái đất ngày càng nóng lên. Chính sự biến đổi khí hậu diễn ra ngày càng
nghiêm trọng làm băng tan, nước biển dâng cao, dẫn đến nhiều hiện
tượng bất thường của thời tiết như bão lũ và hạn hán diễn ra phức tạp.
Điển hình là cơn bão Miriane vào tháng 7 năm 2016 tuy cường độ không
mạnh nhưng đã gây ra thiệt hại vô cùng lớn cho khu vực phía Bắc và
Tây Bắc Bộ. Thậm chí nhiều địa phương không nằm trong tâm bão như
Hà Nội mà vẫn chịu ảnh hưởng, thiệt hại không nhỏ. Nguyên nhân chính
là việc cảnh báo biến đổi thời tiết ở Việt Nam vẫn chủ yếu sử dụng các
thiết bị, kỹ thuật chưa hiện đại, dẫn đến nhiều sai số, khiến kết quả dự
báo bị sai lệch so với thực tế. công tác dự báo chưa chính xác và kịp thời
dẫn đến sự chủ quan trong việc phòng và chống bão lũ.
Để đảm bảo công tác việc dự báo thời tiết được chính xác và kịp
thời thì cần có ba yếu tố chính là “Công nghệ - Mạng lưới trạm quan sát
và Hệ thống xử lý thông tin”. Chúng ta sẽ cần có một hệ thống các trạm
quan sát thời tiết với số lượng nhiều và dày đặt. Các cảm biến đo được
các thông số môi trường cần thiết phục vụ công tác dự báo. Dữ liệu
được truyền về trung tâm được nhanh chóng và kịp thời.
Hiện nay, với sự phát triển của khoa học công nghệ đặc biệt dựa
trên nền tảng Internet of Things thì việc thu thập dữ liệu và truyền về
máy chủ tập trung đã trở nên dễ dàng hơn, đáp ứng được các yêu cầu cơ
bản của việc giám sát thông tin thời tiết như giám sát được dữ liệu thời



-2gian thực, hoạt động tự động, sử dụng năng lượng thấp… Do đó để hỗ
trợ cho việc quan trắc dữ liệu thời tiết được dễ dàng và dữ liệu được tập
trung thì tôi chọn đề tài “Xây dựng hệ thống giám sát thời tiết dựa
trên nền tảng IoT”. Với hy vọng giải pháp này được triển khai thực tế
góp phần tăng cường được khả năng dự báo thời tiết được chính xác và
kịp thời, giảm bớt các rủi ro và thiệt hại về tài sản cũng nhưng con người
trong lương lai.
2. Mục đích nghiên cứu
Mục đích nghiên cứu của đề tài là xây dựng hệ thống giám sát thời
tiết sử dụng các cảm biến môi trường và truyền tải hệ thống dữ liệu đã
ghi nhận được sử dụng nền tảng Internet of things.
3. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài này bao gồm các thành phần sau:
- Các cảm biến vật lý ghi nhận được các thông số môi trường.
- Hệ thống tiếp nhận và xử lý dữ liệu dựa trên nền tảng IoT.
Phạm vi nghiên cứu
Trong khuôn khổ của luận văn sẽ tập trung vào cách ghi nhận
thông tin môi trường xung quanh thiết bị từ các cảm biến đọc và truyền
tải thông tin dữ liệu về môi trường từ các cảm biến và truyền tải thông
tin qua mạng Lan, mạng Internet và truyền tải dữ liệu lên các hệ thống
điện toán đám mây để giám sát dữ liệu và phân tích theo thời gian thực
tại một trạm quan sát.
4. Phương pháp nghiên cứu
Chúng tôi sử dụng hai phương pháp chính là nghiên cứu lý thuyết
và phương pháp thực nghiệm.



-3Phương pháp nghiên cứu lý thuyết: Với phương pháp này, chúng
tôi nghiên cứu các tài liệu về các cảm biến vật lý để đo các thông số môi
trường, cách kết nối các cảm biến bộ xử lý trung tâm. Các tài liệu về
việc tiếp nhận và phản hồi thông tin giữa các cảm biến vật lý thông qua
Internet cũng như cách xử lý các dữ liệu này và hiển thị thời gian thực
trên nền tảng IoT.
Phương pháp thực nghiệm: Với phương pháp này, chúng tôi tập
trung sử dụng ngôn ngữ C# để xây dựng một trạm giám sát thời tiết kiểu
mẫu thu thập các thông số môi trường với các cảm biến vật lý phù hợp,
hiển thị lên màn hình máy tính, thiết bị. Sau đó tiến hành kết nối, trao
đổi thông tin và phân tích dữ liệu dựa trên nền tảng Internet of things do
Microsoft cung cấp.
5. Ý nghĩa khoa học và thực tiễn đề tài
Về khoa học: Kết quả nghiên cứu của đề tài góp phần thúc đẩy việc
phối hợp sử dụng các cảm biến vật lý để thu thập và trao đổi thông
thông tin trên môi trường Internet thời gian thực để phát triển các ứng
dụng trong công nghiệp cũng như trong cuộc sống.
Về thực tiễn: Đề tài sẽ xây dựng một trạm quan sát dữ liệu tiêu
biểu thu thập thông tin về nhiệt độ, độ ẩm, cường độ ánh sáng, áp suất
khí quyển, tốc độ gió, hướng gió dựa trên nền tảng Internet of things.
Giúp cho việc tổng hợp dữ liệu về môi trường được nhanh chóng và trực
quan để ứng dụng trong việc dự báo thời tiết hoặc các công việc khác
liên quan.
6. Cấu trúc luận văn
Nội dung báo cáo của luận văn sẽ tổ chức thành 3 chương chính:


-4CHƯƠNG 1: Nghiên cứu tổng quan Trong chương này, chúng tôi
trình bày tổng quan về Internet of things, các cảm biến vật lý cũng như
giải pháp kết nối và trao đổi thông tin trên môi trường Internet của

Microsoft.
CHƯƠNG 2: Đề xuất giải pháp Trình bày mô hình bài toán và các
giải pháp để có thể xây dựng một trạm quan sát môi trường sử dụng các
cảm biến một cách đồng bộ. Cách kết nối các cảm biến với nhau cũng
như cách thức gởi dữ liệu từ một thiết bị vật lý sử dụng nền tảng Internet
of things.
CHƯƠNG 3: Triển khai ứng dụng Trong chương này sẽ trình bày
các công cụ ngôn ngữ lập trình để phát triển ứng dụng. Cách thức tiến
hành cài đặt và cấu hình xây dựng hệ thống giám sát dữ liệu môi trường
bao gồm các hình thức hiển thị dữ liệu trên máy tính trung tâm, trên thiết
bị đo đạc và trên nền tảng Internet of things của Microsoft cho các thông
số môi trường như nhiệt độ, độ ẩm, áp suất khí quyển, tốc độ gió, hướng
gió và cường độ ánh sáng.


-5Chương 1 - NGHIÊN CỨU TỔNG QUAN
1.1 Internet of things
1.1.1 Một số khái niệm
a) Internet of Everything (IoE)
IoE là một khái niệm mở với tất các các vật đều được kết nối với
nhau thông qua các công nghệ. IoE có thể được xem như là tập hợp bao
gồm có 3 phần: Con người, Things và Dữ liệu
b) Internet of Things (IoT)
Các thiết bị, máy vi tính và các máy móc đều được sẵn sàng kết nối
từ thời điểm mà Kevin Ashton định nghĩa Internet of Things. Khái niệm
này được nâng lên thành khả năng kết nối đến các thiết bị vật lý không
có khả năng kết nối trước đây, trao đổi và nhận thông tin như là một yếu
tố làm tăng thêm trọng lượng cho khái niệm này. Khái niệm này cũng
được sử dụng để miêu tả các thiết bị số đầu tiên như các thiết bị đeo tay
thuộc lớp “Internet of Digital” trong khi chờ đợi những chức năng thông

minh được phát triển sau này. Những ý nghĩa và ứng dụng của khái
niệm IoT sẽ tiếp tục được phát triển với những kỹ thuật kết nối mới,
thay thế dần các thiết bị vật lý đời đầu với những kết nối thông minh
hơn và tính khả dụng sang một lớp mới “Internet of X”.
c) Industrial Internet of Things (IIoT)
Nền công nghiệp IoT là việc ứng dụng các công nghệ IoT trong
kinh doanh và thiết lập sản xuất (giống như các ứng dụng, công nghiệp
hóa dầu, sản xuất, các công ty công nghiệp nặng và xây dựng các hệ
thống tự động) được sử dụng để theo dấu tài sản, các sản phẩm/ dịch vụ
mới, cách điều hành các hoạt động một cách hiệu quả ... Khái niệm IIoT
là một khái niệm rộng lớn có nghĩa bao gồm IoT như là việc chấp nhận


-6nó là một phần chính trong việc sản xuất. Nền công nghiệp IoT có thể
chia thành 03 phần chính:
- Xây dựng các hệ thống tự động hóa.
- Xây dựng các hệ thống thông minh.
- Xây dựng các hệ máy tự động.
d) Giao tiếp Machine – to Machine (M2M)
Bây giờ, khái niệm M2M chỉ để nói đến các công nghệ để có thể
giao tiếp giữa các máy móc mà không có sự can thiệp của con người. Ví
dụ như việc đo đạc từ xa, điều khiển giao thông, robot và những những
dụng khác liên quan đến việc giao tiếp giữa thiết bị đến thiết bị.
1.1.2 Các vấn đề kỹ thuật liên quan đến IoT
a) Kết nối cho các cảm biến
Internet có thể truy cập trong nhiều cách khác nhau, hoàn toàn phụ
thuộc vào thiết bị và ứng dụng. Vẫn có nhiều tranh cãi về mỗi công nghệ
kết nối, đặc biệt trong việc ứng dụng những dự án lớn trong IoT/M2M
bao gồm các kết nối có dây và không dây của IoT
- Nếu các kết nối là có dây, thông thường nó được kết nối trực tiếp

đến một Internet router, và thiết bị này cần để duy trì cố định tại một vị
trí.
- Còn một thiết bị với những kết nối không dây có thể là một
modem di động, hoặc là một Wifi router, hoặc là kết nối bằng những
công nghệ kết nối khác nhau, và trong những thứ này, điều này các thiết
bị phải là các thiết bị vật lý di động.
b) Các vấn đề liên quan đến hệ thống địa chỉ IP
Trong thời gian dài sắp tới, với sự phát triển của hàng tỷ các thiết
bị được thêm vào mạng Internet, đặc biệt là các ứng dụng IoT/M2M. Do


-7đó thế giới đang dịch chuyển dần lên IPv6, mỗi thiết bị và router sẽ sử
dụng địa chỉ IPv6 để truy cập vào mạng Internet. Trong thời gian chuyển
tiếp này, hệ thống gateway sẽ cung cấp các hàm chuyển đổi IP - cho
phép các hệ thống IPv4 cũ có khả năng truy cập vào hệ thống IPv6 trong
tương lai.
1.1.3 Kết nối các thiết bị di động và xác định vị trí
a) Các thế hệ thiết bị di động Analog
b) Việc truyền tải dữ liệu của các thiết bị di động bao gồm các thế
hệ 2G GSM Data: GPRS, EDGE, 2G CDMA DATA: 1xRTT, 3G
CDMA (EV-DO) , 3G UMTS (HSPA/HSPA+) ,4G LTE
c) Các dịch vụ định vị cho các thiết bị di động
Bao gồm các dịch vụ sau Global Postion System (Mỹ); GLONASS
(Nga); Galileo (Liên hiệp châu Âu); IRNSS (Ấn độ); BeiDou (Trung
Quốc).
1.2 Hệ thống cảm biến môi trường Tinkerforge
1.2.1 Một số khái niệm về Tinkerforge
- Bricks: Đây là các modules vi điều khiển dạng ngăn xếp (stacks)
dành cho các cảm biến và được điều khiển thông qua USB.
- Bricklets: Đây là các cảm biến, modules hoạt động để mở rộng

tính năng của các Bricks không ở dạng ngăn xếp.
- Master Extension: Đây là những modules cho phép thay đổi
giao tiếp với thiết bị so với các giao tiếp USB với Master Bricks khác
(Wifi, Enthernet, RS 485)
- Nguồn cung cấp: Nguồn cung cấp dạng ngăn xếp cho các Bricks


-81.2.2 Các ưu điểm của cảm biến Tinkerforge
a) Dễ sử dụng
b) Khả năng tùy biến cao
1.2.3 Các thông số kỹ thuật cơ bản của Bricks
1.3 Tổng quan về điện toán đám mây dành cho IoT của Microsoft
1.3.1 Giải pháp IoT trên nền điện toán đám mây của Microsoft
Kiến trúc của giải pháp IoT trong Azure
Đây là mô hình Kiến trúc của giải pháp IoT, chú ý rằng nó chưa
bao gồm tên hoặc bất kỳ ứng dụng dịch vụ nào của Azure, nhưng nó
miêu tả những thành phần chính và tổng quát trong kiến trúc giải pháp
IoT. Trong mô hình kiến trúc này, các thiết bị IoT sẽ thu thập dữ liệu để
gởi tới Gateway của Cloud. Gateway cloud sẽ tiếp nhận các dữ liệu hiện
hữu để xử lý bởi các dịch vụ back-end từ nơi mà dữ liệu được cung cấp
bởi các ứng dụng hoặc các hoạt động điều hành của con người thông qua
Dashboard hoặc những thiết bị trình diễn khác.
Thiết bị kết nối
Đặc trưng của các thiết bị IoT
- Hệ thống nhúng không có sự can thiệp của con người.
- Có thể khai thác thông qua một vị trí địa lý ở xa, nơi mà việc
tiếp xúc bằng vật lý tốn rất nhiều chi phí.
- Có thể can thiệp được thông qua các giải pháp back-end, mà
không cần phải tiếp xúc trực tiếp với thiết bị.
- Có sự giới hạn về năng lượng cũng như tài nguyên xử lý

- Có thể bị gián đoạn, chậm hoặc có những kết nối tốn nhiều chi
phí.


-9- Có thể được cá nhân hóa, hoặc sử dụng các giao thức ứng dụng
riêng biệt trong công nghiệp.
- Có thể được tạo ra với số lượng lớn các thiết bị sử dụng phần
cứng, phần mềm nền tảng phổ biến.
Phân tích và xử lý dữ liệu
Các giải pháp phân tích và xử lý dữ liệu IoT back-end bao gồm:
- Nhận dữ liệu từ thiết bị và quyết định xử lý và lưu trữ dữ liệu đó
như thế nào.
- Có thể kích hoạt và gởi các lệnh điều khiển từ cloud đến các thiết
bị chỉ định.
- Cung cấp khả năng đăng ký các thiết bị để bạn có thể kiểm soát
các thiết bị và điều khiển thiết bị nào và cho phép thiết bị nào được kết
nối trong hạ tầng mình quản lý.
- Cho phép bạn giám sát, theo dõi trạng thái của thiết bị.
Hiển thị và sử dụng các kết nối
Lớp hiển thị và sử dụng các kết nối cho phép người sử dụng cuối
có thể giao tiếp được với các giải pháp IoT và các thiết bị của nó. Nó
cho phép người sử dụng có thể xem và phân tích dữ liệu thu thập được
từ các thiết bị. Những cách nhìn có thể được hiển thị theo các dạng
chuẩn dashboard hoặc các báo cáo BI nhằm có thể hiển thị cả các dữ
liệu lịch sử và các dữ liệu gần như là thời gian thực. Ví dụ, một động cơ
có thể được kiểm tra trạng thái tại một trạm bơm nào đó và có thể được
thấy bất kỳ báo động nào phát sinh từ hệ thống. Tại khu vực này nó cho
phép việc tích hợp các giải pháp IoT back-end và những những ứng
dụng kết hợp chặt chẽ với nhau. Ví dụ như việc dự đoán các giải pháp



- 10 bảo trì có thể kết hợp với lịch hệ thống để có thể tắt hoặc bật thiết bị khi
có một động cơ cần được bảo trì.
1.3.2 Trung tâm xử lý dịch vụ hỗ trợ các thiết bị IoT
- Cung cấp các kết nối tin cậy giữa thiết bị - cloud cũng như
ngược lại, bao gồm các thông điệp một chiều, truyền tệp tin, và phương
thức yêu cầu-trả lời.
- Cung cấp việc khai báo các thông điệp định tuyến đến các dịch
vụ khác của Azure.
- Cung cấp một kho truy vấn các dữ liệu lớn của thiết bị và đồng
bộ hóa thông tin trạng thái của thiết bị đó.
- Cho phép khởi các giao tiếp an toàn và kiểm soát truy cập sử
dụng khóa đôi trên cả hai thiết bị hoặc chứng chỉ X.509.
- Cung cấp việc giám sát mở rộng cho các kết nối thiết bị và
quản lý các thiết bị định danh.
- Hỗ trợ các thư viện thiết bị cho hầu hết các ngôn ngữ lập trình
và platforms phố biến nhất hiện nay.
Những thách thức đối với các thiết bị kết nối IoT
IoT Hub và các thư viện thiết bị sẽ giúp chúng ta tiếp xúc với các
thử thách về việc bằng cách nào để tạo sự kết nối tin cậy và an toàn từ
thiết bị đến các giải pháp back en trên cloud. Như đã nói ở phần trên về
các đặc trưng của thiết bị IoT như về việc nó thông thường không có sự
can thiệp của con người, đặt ở vị trí xa nơi mà việc triển khai các truy
cập vật lý rất tốn kém hay có tài nguyên xử lý hoặc nguồn năng lương
cung cấp rất thấp….
Các tính năng hỗ trợ kết nối các thiết bị IoT của IoT Hub
-

Ghép cặp thiết bị



- 11 -

Việc định danh và xây dựng kết nối an toàn.

-

Định hướng được các thông điệp device-to-cloud dựa trên các

dịch vụ cơ bản của Azure.
-

Giám sát và xử lý tất cả các kết nối của thiết bị.

-

Có khả năng mở rộng các thư viện thiết bị.

-

Các giao thức IoT và mở rộng.

Quá trình hoạt động của một IoT Hub
Azure IoT Hub ứng dụng một mẫu gọi là giao tiếp hỗ trợ dịch vụ
để gián tiếp hỗ trợ sự tương tác giữa thiết bị và giải pháp back end. Mục
đích của việc này là thiết lập một giao tiếp đáng tin cậy, hai chiều giữa
hệ thống điều khiển, và mục đích đặc biệt của thiết bị đó là triển khai
trong một không gian vật lý không tin cậy. Từ những yêu cầu trên đã
xuất hiện những khái niệm sau đây:
- Vấn đề an toàn, bảo mật được đặt lên hàng đầu so với các yêu cầu

khác.
- Các thiết bị không được phép sử dụng các thông tin mạng một cách
tự do. Một thiết bị thiết lập tất cả các kết nối và định tuyến trong một hệ
thống chỉ có truy vấn thông tin. Đối với các thiết bị có khả năng nhận
lệnh từ giải pháp back-end thì thiết bị đó phải khởi tạo một kết nối thông
thường để kiểm tra bất kỳ câu lệnh nào bị treo để xử lý.
- Thiết bị chỉ có kết nối hoặc thiết lập định tuyến đến những dịch vụ
tin cậy mà họ sử dụng, chẳng hạn như IoT Hub.
- Các trao đổi thông tin giữa thiết bị và dịch vụ hoặc giữa thiết bị và
gateway phải được bảo mật ở lớp giao thức ứng dụng.


- 12 - Việc định danh và xác thực hệ thống dựa vào thông tin định danh
của từng thiết bị. Những thông tin này phải có sự cho phép và ủy quyền
gần như là ngay tức khắc.
- Các giao tiếp hai chiều của thiết bị cho phép xử lý các kết nối
không liên tục bởi vì các lý do như nguồn năng lượng hoặc các lo ngại
về kết nối là một trong những yếu tố bằng cách giữ lại các lệnh và các
cảnh báo thiết bị cho đến khi một thiết bị kết nối nhận được chúng. IoT
Hub duy trì những tập lệnh này trong một hàng đợi đặc biệt trước khi
gởi đi.
- Dữ liệu của những ứng dụng này được bảo mật một cách độc lập
để bảo vệ thông tin di chuyển qua gateway đến một dịch vụ độc lập.


- 13 Chương 2 - ĐỀ XUẤT GIẢI PHÁP
2.1 Giới thiệu bài toán
Một hệ thống giám sát thông tin môi trường sẽ cần có các chức
năng cơ bản như:
- Hiển thị thời gian thực dữ liệu thông tin môi trường ngay tại địa

điểm cục bộ.
- Hiển thị thời gian thực dữ liệu thông tin môi trường tại các
điểm đo đạc được đến máy chủ giám sát trung tâm thông qua hệ thống
có dây hoặc không dây.
- Sử dụng các giao thức truyền tin truyền tải và xử lý thông tin
trên nền điện toán đám mây.
- Hiển thị thời gian thực dữ liệu thông tin môi trường đã được xử
lý tại các điểm đo đạc được sử dụng các dịch vụ hỗ trợ các thiết bị IoT.
Qua yêu cầu trên, chúng ta xác định được các thông số đầu vào
là điều kiện hiện tại của thời tiết tại các địa điểm giám sát như nhiệt độ,
độ ẩm hay áp suất khí quyển, cường độ ánh sáng, tốc độ gió và hướng
gió. Các thông số này sẽ được tiếp nhận, số hóa và truyền tải dữ liệu lên
hệ thống điện toán đám mây hỗ trợ các thiết bị IoT. Tại đây, chúng ta xử
lý dữ liệu một cách trực tuyến tùy theo yêu cầu hoặc trong tương lai có
thể tận dụng trí tuệ nhân tạo để có thể đưa ra những dữ liệu theo yêu cầu
hoặc những dự đoán trên cơ sở các số liệu đã được tổng hợp và gởi về
một cách nhanh chóng và kịp thời.
2.2 Mô hình đề xuất
Mô hình bài toán xây dựng sẽ bao gồm bốn khối chức năng chính,
chức năng của mỗi khối dự kiến như sau:


- 14 Khối cảm biến: Chứa các cảm biến đo được các thông số của môi
trường như nhiệt độ, độ ẩm, áp suất, ánh sáng, tốc độ gió và hướng gió.
Khối số hóa dữ liệu: Đối với một số cảm biến không chuyển đổi
được trực tiếp sang dữ liệu số, ADC (Analog Digital Converter) có
nhiệm vụ chuyển đổi dữ liệu đã đo được chuyển sang một loại dữ liệu có
thể kiểm soát được dưới dạng số.
Khối xử lý dữ liệu: Đây là các bộ vi xử lý hoặc các mini computer
chịu trách nhiệm tiếp nhận, chuyển đổi các dữ liệu từ các cảm biến hoặc

các bộ chuyển đổi ADC sau đó tiếp nhận và truyền thông tin đến các nơi
tiếp nhận.
Khối hiển thị: Dữ liệu sau khi được xử lý bởi Khối xử lý dữ liệu sẽ
gởi đến đây để hiển thị kết quả hoặc gởi lên các dịch vụ trên nền điện
toán đám mây xử lý và sử dụng cho các nhu cầu khác nhau.
CẢM BIỂN

SỐ HÓA
DỮ LIỆU

XỬ LÝ DỮ
LIỆU

Cảm biến nhiệt độ

HIỂN THỊ DỮ LIỆU

Hiển thị LCD

Cảm biến độ ẩm

Hiển thị PC
Cảm biến áp suất

Micro
Controler
(Master
Brick)

Cảm biến ánh sáng

Cảm biến
tốc độ gió

ADC
Cảm biến
Hướng gió…

Dữ liệu

Hiển thị
dữ liệu trên
Power BI

MQTT JSON
Azure IoT

Hình 2.5 Mô hình một hệ thống giám sát thời tiết
2.3 Đề xuất hệ thống phần cứng


- 15 2.3.1 Master Brick
a) Miêu tả:
Đầu tiên là nó có bốn cổng kết nối dành cho các Bricklet phù
hợp cho các ứng dụng nơi mà cần sử dụng nhiều cảm biến. Nó có thể
được điều khiển trực tiếp thông qua giao diện USB của Master Brick.
Nó có thể được sử dụng cho các cảm biến sử dụng giao diện USB như
cảm biến đo nhiệt độ hoặc độ ẩm, hoặc giống như một USB điều khiển,
giống như một bộ relays để thu thập cho các nhu cầu cá nhân cần sử
dụng.
Thứ hai là Master Brick có thể được sử dụng cho mục đích giao

tiếp. Khi xây dựng một chồng các Brick thì Master Brick thấp nhất hoạt
động như là một thiết bị quản lý ngăn xếp đó và định tuyến tất cả các
giao tiếp giữa các bảng điều khiển của ngăn xếp đó và điều khiển thiết
bị. Những Master Brick khác trong ngăn xếp được xác định không phải
là ở dưới cùng thì nhiệm vụ của nó chỉ để các Bricklet kết nối đến mà
thôi. Và chỉ cần duy nhất một kết nối USB đến Master Brick thấp nhất là
cần thiết.
b) Đặc điểm:
- Có khả năng kết nối lên đến 4 Bricklet thông qua cổng USB
- Là thiết bị cơ bản để xây dựng các chồng kết nối
- Có khả năng kết nối với các thiết bị có dây hoặc bộ phát không
dây.
2.3.2 Hệ thống cảm biến môi trường:
a) Cảm biến nhiệt độ, áp suất khí quyển: Để đo áp suất, nhiệt độ
khí quyển, chúng ta sẽ sử dụng Barometer Bricket để đo áp suất khí
quyển nằm trong khoảng từ 10 đến 1200 mbar với độ chính xác khoảng


- 16 0.012 bar, đồng thời hệ thống cũng đo đạc được nhiệt độ. Bricklet này
được trang bị cảm biến MS5611-01BA01 của hãng MEAS Thụy Sĩ, con
cảm biến này cũng được sử dụng để đo độ cao.
b) Cảm biến ánh sáng: Để đo cường độ ánh sáng , ta sử dụng
The Ambient Light Bricklet, đơn vị đo ánh sáng được xuất ra đơn vị Lux.
Nó có thể đo được ánh sáng xung quanh lên đến 900 lux, với mỗi bước
nhảy là 0,1 lux (độ phân giải 12 bits).
c) Cảm biến đo độ ẩm: Humidity Bricklet có thể được sử dụng để
đo độ ẩm của môi trường xung quanh, nó xuất ra kết quả dưới dạng
phần trăm, không cần phải chuyển đổi bằng công thức. Đơn vị tính RH,
bước nhảy của kết quả khoảng 0.1% RH (độ phân giải 12 bit).
d) Cảm biến đo tốc độ gió, hướng gió: Hiện tại, để đo trực tiếp

tốc độ gió, hướng gió thì trong bài toán này sẽ sử dụng một con quay
hồi chuyển đo tốc độ gió, hướng gió. Sau đó nó sẽ chuyển thành hiệu
điện thế và được ghi nhận thông qua một Bricklet Analog Out Bricklet
2.0 để ghi nhận vào Master Bricks.
2.3.3 Hệ thống hiển thị số liệu
Để hiển thị được các số liệu đã thu thập được, sau đó xuất dữ
liệu ra màn hình LCD, màn hình PC hay xuất dữ liệu trên Internet. Các
dữ liệu sau khi đã được các cảm biến ghi nhận và tập hợp truyền về
thông qua Master Brick, sau đó tiến hành chiết xuất và sử dụng các ngôn
ngữ phần mềm khác nhau để hiển thị.
Để hiển thị trực tiếp, trong bài toán này đề xuất sử dụng LCD
20x4 Bricklet là một màn hình ma trận LCD hiển thị được 20x4 ký tự
với đèn nền xanh. Bricklet này được điều khiển thông qua Brick kết nối
tới, các hàm API sẽ cho phép viết các ký tự lên màn hình LCD, lấy trạng


- 17 thái của các nút bấm, bật hoặc tắt đèn nền hoặc cấu hình các sự kiện cho
các nút.
2.4 Đề xuất cách kết nối các cảm biến
2.4.1 Brick Deamon
Để có thể kết nối và sử dụng được các Brick, Bricklet của hãng
Tinkerforge thì chúng ta sẽ sử dụng các hàm API có sẵn để giao tiếp với
nhau, các ngôn ngữ được hỗ trợ bao gồm C/C++, C/C++ cho iOS, C#,
C# cho WindowsPhone, Delphi/Lazarus, Java, Java cho Android,
Javascrip, LabVIEW, Mathematica, MATLAB/Octave, Perl, PHP,
Python, Ruby, Shell và Visual Basic .NET.
Brick Daemon là một deamon hoạt động như là một cầu nối giữa
Brick/ Bricklets và các hàm kết nối API cho những ngôn ngữ lập trình
khác nhau. Deamon này định hướng dữ liệu giữa các kết nối USB và các
socket TCP/IP. Thêm vào đó, nó có khả năng tách biệt với máy chạy

Brick Deamon so với các máy chạy các ngôn ngữ lập trình. Nó cho phép
một Brick kết nối đến máy tính cá nhân để điều khiển từ thiết bị điện
thoại di động thông minh hoặc thông qua Internet từ các máy tính cá
nhân khác.
2.4.2 Cách kết nối các hàm API của cảm biến
a) Cách kết nối các hàm API bằng C#: Để cài đặt sử dụng các
hàm API cho C#, chúng ta cần có một trình biên dịch C#. Sau đó tiến
hành tải tập tin nén trong đó có tập tin Tinkerforge.dll, một thư viện tiền
biên

dịch

cho

C#/.NET,

Tinkerforge.dll.mdb,

gỡ

lỗi

cho

Tinkerforge.dll. Tinkerforge.xml, hướng dẫn các hàm API cho Visual
Studio. MonoDevelop…


- 18 b) Cách kết nối các hàm API bằng PHP: Để có thể sử dụng PHP
để kết nối các API với brick deamon chúng ta có thể sử dụng gói cài đặt

hoặc không cần cài đặt với yêu cầu phải là PHP phiên bản 5.3 trở lên và
có hỗ trợ các phần mở rộng bcmath và sockets. Hoặc chúng ta chỉ cần
copy tất cả các tập tin trong thư mục Tinkerforge/ từ thư mục source/ rồi
tiến hành viết chương trình như bình thường.
2.4.3 Brick MQTT Proxy và quản lý Brick bằng Rasberry PI
a) Brick MQTT Proxy: MQTT là một giao thức truyền tải dữ liệu
từ máy đến máy (M2M) và Internet of Things (IoT). Brick MQTT Proxy
cung cấp khả năng truy cập đến Brick và Bricklets thông qua MQTT.
Nó được viết bằng Python và phiên dịch thông điệp giữa Tinkerforge
TCP/IP Protocol (TFP) và MQTT. Proxy duy trì những thông điệp về
giá trị và những thay đổi cấu hình của thiết bị hỗ trợ. Tất cả các thông
điệp được xuất bởi proxy bao gồm cả nhãn thời gian của HĐH Unix để
chỉ định khoảng thời gian cung cấp thông tin. Tên và ý nghĩa của cặp giá
trị được so khớp với định nghĩa payload của giao thức TCP/IP protocol.
Tất cả các cặp giá trị được thêm vào khi msg proxy khởi tạo bỏ qua việc
đụng độ tên. Proxy miêu tả thông điệp này nếu thêm phần kết thúc là
/set thì nó sẽ cho phép bạn thay đổi cấu hình của thiết bị.
b) Raspberry PI:
- Chuẩn bị thẻ nhớ SD để cài đặt Debian: Giải nén tập tin
NOOBS ZIP (New out of Box Software). Sau đó tiến hành khởi động
thiết bị Rasberry PI từ nó, tiến hành theo các bước như hướng dẫn và lựa
cọn hệ điều hành Raspbian để cài đặt. Nếu chúng ta không muốn xài
NOOBS cùng cũng có thể tiến hành tải một tập tin Rasbian Image và
tiến hành cài đặt như bình thường.


- 19 - Sau khi kết nối nguồn, tiến hành khởi động Raspberry PI và kết
nối bàn phím, màn hình. Chúng ta sẽ gặp được màn hình đăng nhập sau
khi việc khởi động hoàn tất, tiến hành gỡ username pi và mật khẩu
raspberry để đăng nhập vào.

- Sau khi tiến hành cài đặt xong Brick Deamon cho Raspberry PI
thì chúng ta có thể điều khiển các thiết bị kết nối đến Brick thông qua từ
bên ngoài.
2.5 Giới thiệu cách gởi dữ liệu lên AZURE IoT Suite
2.5.1 Cấu trúc của giải pháp IoT trên Azure
Dịch vụ về IoT cho phép chúng ta mở rộng một số các giải pháp
như là thu thập dữ liệu từ thiết bị, phân tích luồng dữ liệu đang hoạt
động, lưu trữ và vấn tin các tập dữ liệu lớn, trực quan hóa các dữ liệu
lịch sử và trực tuyến, tích hợp với các giải pháp hậu kỳ và quản lỷ thiết
bị.
Hạt nhân của Azure IoT Suite là dịch vụ Azure IoT Hub. Dịch
vụ này cung cấp các khả năng tiếp nhận và truyền thông điệp giữa thiết
bị đến đám mây và ngược lại, hoạt động như một cổng thông tin đến
đám mây và những dịch vụ khác của IoT Suite.
Azure Stream Analytics cung cấp khả năng phân tích dữ liệu
đang hoạt động, IoT Suite sử dụng dịch vụ này để xử lý những dữ liệu
được gởi từ xa, thực thi các hoạt động phối hợp và phát hiện các sự kiện.
Azure Storage và Azure Cosmos DB cung cấp khả năng lưu trữ
dữ liệu.
Azure Web Apps và Microsoft Power BI cung cấp khả năng trực
quan hóa dữ liệu, sự mềm dẻo của Power BI cho phép bạn có thể xây
dựng những bảng thông thông tương tác sử dụng dữ liệu từ IoT Suite.


- 20 2.5.2 Quản lý thiết bị IoT bằng Azure IoT Hub
a) Khái niệm quản lý thiết bị
IoT mang đến một loạt các thách thức về việc quản lý tập các
thiết bị duy nhất mà tất cả các công ty đều phải yêu cầu để đáp ứng các
khái niệm sau
- Mở rộng và tự động hóa.

- Có tính mở và tương thích.
- Cảnh báo ngữ cảnh.
- Dịch vụ đóng nhiều vai trò.
b) Vòng đời thiết bị IoT trong Azure
Lên kế hoạch

Cung cấp

Cấu hình

Giám sát

Thanh lý

c) Các mô hình quản lý thiết bị trong Azure IoT Hub
IoT Hub cho phép xây dựng các mô hình quản lý thiết bị phù
hợp với chính xác từng kịch bản và làm cách nào thiết kế những mô
hình mới dựa vào một số mô hình cơ bản có sẵn.
2.5.3 Tiếp nhận và xử lý dữ liệu từ thiết bị IoT
a) Azure Event Hub
Trung tâm xử lý sự kiện có các đặc điểm sau:
- Sản xuất/ Xuất bản sự kiện: Khi một thiết bị nào đó gởi dữ liệu
đến một event hub. Một sự kiện sẽ được phát sinh thông qua AMQP 1.0
hoặc HTTPS
- Phân vùng: Nó cho phép mỗi khách hàng chỉ được đọc thông
tin ở một khu vực nhất định, hoặc một phân vùng nhất định của luồng sự
kiện.


- 21 - SAS tokens: được sử dụng để định danh và xác thực các sự

kiện được phát hành.
- Sự kiện của khách hàng: Mỗi mục có thể đọc dữ liệu các sự
kiện thông qua một event hub. Sự kiện của khách hàng được kết nối
thông qua AMQP 1.0
- Nhóm khách hàng: Việc cung cấp mỗi ứng dụng khác hàng với
một các nhìn riêng biệt của luồng sự kiện, cho phép các khách hàng này
hoạt động một cách độc lập
b) Phân tích luồng dữ liệu:
Phân tích luồng dữ liệu (Azure Stream Analytics) là một chức
năng quản lý đầy đủ, là một bộ máy xử lý các sự kiện thời gian thực một
cách có hiệu quả trong việc khám phá bên trong dữ liệu. Việc phân tích
luồng dữ liệu này giúp cho việc tính toán và phân tích các dữ liệu thời
gian thực từ các thiết bị, cảm biến, websites, mạng xã hội, ứng dụng, hệ
thống hạ tầng và nhiều hơn thế nữa.


- 22 Chương 3 - PHÁT TRIỂN ỨNG DỤNG
3.1 Lựa chọn công cụ phát triển
3.1.1 Xây dựng hệ thống và kết nối các cảm biến
Hệ thống giám sát môi trường được xây dựng dựa trên sự kết nối
giữa các cảm biến đo nhiệt độ, độ ẩm, áp suất khí quyển, cường độ ánh
sáng, tốc độ gió, hướng gió. Nó được điều khiển thông qua một máy vi
tính nhờ kết nối đến Brick bằng giao diện cổng USB. Sau đó dữ liệu
được xuất ra màn hình LCD, màn hình PC và được giám sát dữ liệu trên
Power BI thông qua việc đẩy dữ liệu lên điện toán đám mây. Ngôn ngữ
lập trình được sử dụng trong hệ thống này là C# và PHP.
3.1.2 Cấu hình và lựa chọn các ngôn ngữ lập trình
- Hiển thị trên màn hình LCD: Sử dụng ngôn ngữ lập trình C#,
tập tin điều khiển tinkerforge.dll.
- Hiển thị trên màn hình PC: Sử dụng ngôn ngữ lập trình PHP để

hiển thị các giá trị thông tin, việc cập nhật các giá trị thông qua việc sử
dụng các hàm Javascript để gởi thông tin lên máy chủ một cách chủ
động.
- Hiển thị lên Power BI của Microsoft: Sử dụng ngôn ngữ lập
trình C# trong môi trường Visual Studio để kết nối với các dịch vụ của
Microsoft Azure IoT.
3.2 Phát triển các module chương trình
3.2.1 Hiển thị dữ liệu lên màn hình LCD
3.2.2 Hiển thị dữ liệu lên màn hình máy vi tính
3.2.3 Gởi dữ liệu lên Azure IoT Hub và hiển thị trên Power BI
Các bước tiến hành gởi dữ liệu từ các cảm biến lên IoT Hub
- Khởi tạo một IoT Hub


- 23 - Khởi tạo định danh cho thiết bị.
- Tiến hành gởi dữ liệu từ thiết bị đồng bộ từ dưới lên đám mây
điện toán.
- Khởi tạo một Event Hub để tiếp nhận và xử lý dữ liệu đầu vào.
- Khởi tạo một Stream Analytics từ Event Hub vừa tạo để xây
dựng hệ thống dữ liệu đầu vào vào truy vấn đầu ra.
- Sử dụng Power BI lấy dữ liệu dạng thời gian thực và báo cáo.
3.3 Thử nghiệm và đánh giá
a) Độ chính xác của thiết bị:
- Cảm biến ánh sáng TEMT6000 do hãng VISHAY của Đức sản
xuất theo tiêu chuẩn WEEEC 2002/96/EC và RoHS 2002/95/EC.
- Cảm biến đo áp suất khí quyển và nhiệt độ MS5611-01BA01
do hãng MEAS Thụy Sĩ sản xuất tuân theo tiêu chuẩn RoHS.
- Cảm biến đo độ ẩm HIH-5030 do hãng Honeywell của Mỹ.
b) Độ chính xác của hệ thống khi đo đạc thực tế:
Bảng 3.4 Kết quả kiểm tra dữ liệu phòng làm việc, tốc độ gió quạt

STT

Nội dung

Sản phẩm

LM-8010

Chênh lệch

1

Độ ẩm

40.80 %

40.50%

+ 0.3% RH

2

Nhiệt độ

27.46

27.20

+ 0.26 oC


3

Tốc độ gió

2.7 m/s

2.4 m/s

+ 0.3 m/s

4

CĐAS

109.39

113

- 3.61

Bảng 3.5 Kết quả kiểm tra dữ liệu ngoài trời với gió tự nhiên
STT

Nội dung

Sản phẩm

LM-8010

Chênh lệch


1

Độ ẩm

53.73 %

56.8%

-3.07%

2

Nhiệt độ

30.24 oC

30.13 oC

+ 0.11 oC

3

Tốc độ gió

1.1 m/s

0.9 m/s

+ 0.2 m/s



×