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

nghiên cứu xây dựng hệ thống giám sát chất lượng nước ứng dụng iot

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 (3.93 MB, 44 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

ĐẠI H C QU C GIA HÀ NỘI ỌỐ

TRƯỜNG Đ I H C CÔNG NGHỆ ẠỌ

Lê Hùng Việt

NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG NƯỚ ỨC NG DỤNG IOT

ĐỒ ÁN 1 Ngành: Kỹ Thuật Robot

Hà N i - 2023ộ

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

ĐẠI H C QU C GIA HÀ NỘI ỌỐ

TRƯỜNG Đ I H C CÔNG NGHỆ ẠỌ

Lê Hùng Việt

NGHIÊN CỨU, XÂY DỰNG HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG NƯỚ ỨC NG DỤNG IOT

ĐỒ ÁN 1 Ngành: Kỹ Thuật Robot

Cán bộ hướng dẫn: ThS. Phạm Đình Tuân

Hà Nội - 2023

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

i TĨM T T Ắ

Trong thời đại cơng nghệ hiện đại, sự phát triển c a các thiủ ết bị kế ối m ng và t n ạ Internet of Things (IoT) đã mở ra nhiều cơ hội cho vi c giám sát và qu n lý chệ ả ất lượng nước. V i sự gia tăng đáng kểớ của các nguồn ô nhiễm và sự tăng cường của quy định về chất lượng nước, cùng với đó là yêu cầu quản lý chất lượng nước trong nuôi tr ng thồ ủy hải s n, vi c giám sáả ệ t chất lượng nước trở nên càng quan trọng hơn bao giờ hết. Trong lĩnh vực này, IoT có thể cung cấp các giải pháp giám sát chất lượng nước nhanh chóng và hi u quệ ả hơn bằng cách sử dụng các thiết bị cảm biến đ thu th p dể ậ ữ liệu và truyền tải thông tin qua m ng. ạ

Đề tài này t p trung vào việc nghiên cứu, xây dựng hệ thống giám sát chất lượng ậ nước ứng dụng IoT, nhằm đáp ứng nhu cầu cấp thiết trong việc quản lý và giám sát chất lượng nước. H thệ ống này sử ụng các cảm biế d n đ thu thập dữ li u v chể ệ ề ất lượng nước, sau đó truyền tải thơng tin qua mạng để quản lý, giảm sát. Hệ thống sẽ giúp cho các cơ quan, các cơ sở sản xuất và các cá nhân quan tâm có thể tiếp cận và theo dõi chất lượng nước một cách dễ dàng và thuận tiện hơn; từ đó có các giải pháp xử lý, cải thi n để nâng ệ cao hi u qu quệ ả ản lý và đem lạ ợi l i ích kinh t tế ốt hơn.

Từ khóa: Internet of Things( IoT), giám sát chất lượng nước

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

ii LỜI CAM ĐOAN

Chúng tôi xin cam đoan kết quả đạt được trong Đồ án “Nghiên c u, xây d ng hứ ự ệ thống giám sát chất lượng nước ứng d ng IoT” là s n ph m c a riêng cá nhân, không ụ ả ẩ ủ sao chép của người khác. Trong toàn bộ nội dung của Đồ án, những điều được trình bày là của cá nhân hoặc đượ ổc t ng h p tợ ừ các nguồn tài li u. Tệ ất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Chúng tôi cũng cam đoan rằng không có bất kỳ hành vi gian l n ho c vi ph m đạậ ặ ạ o đức học thu t nào trong quá trình thực hi n ậ ệ Đồ án này

Người thực hiện Đồ án

Lê Hùng Vi t ệ

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

iii LỜI CẢM ƠN

Chúng tôi xin gửi lời cảm ơn sâu s c đắ ến ThS. Phạm Đình Tuân đã trực tiếp hướng dẫn, góp ý, chia sẻ nhiều kinh nghi m quý báu, tệ ận tình giúp đỡ và tạo điều kiện để chúng tơi hồn thành tài. đề

Chúng tôi xin g i l i cử ờ ảm ơn chân thành đến các thầy cô trong khoa Điệ ử - Vi n n t ễ thông trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã tạo điều kiện tốt nhất để chúng tơi có thể ực hiện tài này. th đề

Chúng tôi cũng xin gử ờ ảm ơn đến các bạ ới l i c n l p QH2020 I/CQ – R và những người bạn đã đồng hành, hỗ tr chúng tơi trong suốt q trình thực hiện Đồ án. Những ợ kiến thức, ý tưởng và lời động viên của các bạn đã tạo điều ki n thu n l i và là mệ ậ ợ ột nguồn động lực để chúng tôi nghiên cứu và phát triển.

Cảm ơn cha m , nhẹ ững người thân đã tạo điều ki n t t nh t v kinh t và tinh th n ệ ố ấ ề ế ầ để chúng tơi có thể hoàn thành tốt tài này. đề

Xin chân thành cảm ơn!

Người thực hiện Đồ án

Lê Hùng Vi t ệ

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

iv MỤC L C Ụ

TÓM T T ... iẮ

LỜI CAM ĐOAN ... ii

LỜI CẢM ƠN ... iii

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

1.4. Nội dung nghiên cứu ... 2

1.5. Bố cục ... 2

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ... 4

2.1. IoT ... 4

2.2. Mô hình h th ng giám sát chệ ố ất lượng nước ứng d ng IoT ... ụ 5 2.3. Các thành phần trong xây dựng hệ thống giám sát chất lượng nước ứng dụng IoT ... 7

CHƯƠNG 3. THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ... 17

3.1. Tổng quan hệ thống ... 17

3.2. Yêu cầu đặt ra ... 18

3.3. Thiết kế và thi công phần cứng ... 18

3.4. Cài đặt Node-red và MQTT broker ... 21

3.5. Thiết lập kết nối DDNS, PortForwarding ... 22

3.6. Lập trình vi điều khiển ... 23

3.7. Thiết kế và xây dựng Dashboard ... 26

CHƯƠNG 4. KẾT QUẢ VÀ ĐÁNH GIÁ ... 30

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Hình 2.15. Kiến trúc của giao thức MQTT ... 15

Hình 2.16. Giao diện sử dụng Node-red ... 17

Hình 3.6. Giao diện sử dụng của Node-red ... 22

Hình 3.7. Giao diện thực hiện Port Forwarding ... 23

Hình 3.8. Cài đặt dịch vụ DDNS ... 23

Hình 3.9. Giao diện platformIO ... 23

Hình 3.10. Sơ đồ khối tổng quan quy trình hoạt động của hệ thống ... 24

Hình 3.11. Sơ đồ khối hàm kết nối Wifi ... 25

Hình 3.12. Sơ đồ khối hàm Callback ... 25

Hình 3.13. Sơ đồ khối hàm đọc dữ liệu cảm biến và gửi lên server ... 26

Hình 3.14. Sơ đồ khối lấy dữ liệu về server ... 26

Hình 3.15. Kết qu lả ấy dữ ệ li u v server ... 27ề Hình 3.16. Khối vẽ biểu đồ ... 27

Hình 3.17. Kết quả vẽ biểu đồ ... 27

Hình 3.18. Khối điều khiển hệ thống ... 28

Hình 3.19. Giao diện điều khiển hệ thống ... 28

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

vii

Hình 3.20. Khối khởi tạo file và ghi dữ liệu ... 29

Hình 3.21. Khối tính năng tải dữ liệu về máy ... 29

Hình 4.1. Kết quả khởi chạy hệ thống ... 30

Hình 4.2. Các biểu đồ trên dashboard ... 30

Hình 4.3. Kết quả điều khiển bật, tắt cảm biến... 31

Hình 4.4. Kết quả file dữ liệu tải về từ server ... 31

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

viii

BẢNG KÝ HI U, CHỆ Ữ VIẾT TẮT

1 IoT Internet of Things Internet kết nố ạn vậi v t 2 NTU Nephelometric Turbidity

IoT, đảm bảo sự liên lạc và truyền thông gi a chúng ữ

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

1

CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI 1.1. Đặt vấn đề

Chất lượng nước là m t trong nh ng y u t quan tr ng cộ ữ ế ố ọ ủa cuộc sống, đóng vai trò quan tr ng trong s phát tri n và duy trì sọ ự ể ự sống, đồng th i, chờ ất lượng nước cũng là một y u t then ch t trong vi c nuôi tr ng th y h i sế ố ố ệ ồ ủ ả ản. Tuy nhiên các hồ, sông, su i và ố các tài nguyên nước khác, nhất là ở các vùng nông thôn và hẻo lánh thường không được giám sát đầy đủ và hiệu quả.

Hiện nay, công nghệ Internet of Things (IoT) đang phát triển mạnh mẽ và được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau, bao gồm giám sát môi trường và chất lượng nước. Việc áp dụng cong nghệ IoT để giám sát chất lượng nước là một biện pháp hiệu qu và tiên ti n giúp gi i quy t các thách thả ế ả ế ức về giám sát chất lượng nước.

Tuy nhiên, vi c xây d ng hệ ự ệ thống giám sát chất lượng nước ứng dụng IoT cũng đặt ra nhiều thách thức. Đầu tiên, c n thi t phải thi t k , tri n khai các cảm biến độc l p ầ ế ế ế ể ậ và đáng tin cậy để thu nhập dữ liệu, hệ thống phải theo dõi liên tục để đảm bảo chất lượng nước luôn được giám sát và đánh giá chính xác. Đồng th i, phờ ải có một hệ thống truyền thông g n nhọ ẹ và đáng tin cậy để truyền dữ liệu về trung tâm để ử lý và đưa ra x các chỉ số đánh giá chất lượng nướ Ngoài ra việc lưu trữ và qu n lý dc. ả ữ ệu cũng là li một nhiệm vụ quan tr ng trong vi c xây d ng h th ng. ọ ệ ự ệ ố

Do đó, đề tài được đ t ra đặ ể giải quyết các vấn đề nêu trên, b ng cách sằ ử ụng công d nghệ IoT để xây dựng hệ ống giám sát ch th ất lượng nước. Hệ ống này sẽ cho phép th giám sát từ xa, c p nh t dậ ậ ữ liệu nhanh chóng, hiển thị d liữ ệu theo th i gian thờ ực. Hơn nữa việc ứng dụng IoT sẽ giúp tiết kiệm chi chí và thời gian hơn so với các phương pháp truyền th ng. ố

1.2. Mục đích nghiên cứu

Đề tài được thực hiện v i mục đích áp dụng các kiến thức đã học để nghiên cứu, ớ xây dựng một mơ hình “Hệ thống giám sát chất lượng nước ứng d ng IoT”. Sau khi ụ thực hi n, h th ng cệ ệ ố ần có những chức năng sau:

• Giám sát, theo dõi chất lượng nước theo th i gian thờ ực thơng qua Internet bằng trình duyệt, có thể ả ữ ệ t i d li u v ề để đánh giá thêm

• Có thể điều khiển hệ thống từ xa bằng dashboard

• Phần cứng có thể ễ d tri n khai, g n gàng, gi m thi u chi phí phát sinh ể ọ ả ể • Hệ th ng ch y ố ạ ổn định, ít l i v t ỗ ặ

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

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

Trong đề tài này, chúng tôi sử dụng các phương pháp nghiên cứu sau:

• Phương pháp tham khảo tài liệu: bằng cách thu thập thông tin từ sách, tạp chí, kênh truy n thơng v ề ề điệ ừn t , vi n thông, truy c p t m ng Internet. ễ ậ ừ ạ • Phương pháp quan sát: khảo sát, đánh giá một số ứng dụng có sử dụng công

nghệ IoT, các h th ng giám sát chệ ố ất lượng nước đã có.

• Phương pháp thực nghiệm: Xem xét mộ ố công nghệ t s đã được áp dụng trước đó để rút ra kinh nghiệm cũng như những yêu cầu đặt ra cho mơ hình “Hệ thống giám sát chất lượng nước ứng d ng IoT”. ụ

1.4. Nội dung nghiên cứu

Đề tài “Nghiên cứu, xây dựng hệ thống giám sát chất lượng nước ứng dụng IoT” có các nơi dung nghiên cứu sau:

• Tìm hi u công ngh IoTể ệ , các chỉ ố ề s v chất lượng nước • Các gi i pháp thiả ết kế ệ ố h th ng

• Tìm hiểu, đánh giá, lựa chọn thiết bị: cảm biến, vi điều khi n, màn hình… ể • Tìm hi u các giao th c truy n thông I2C, MQTT, WiFi. ể ứ ề

• Lắp ráp các linh kiện đi n lên bảng mạch, lệ ập trình cho vi điều khiển • Thiết k , gia công phế ần vỏ ộp ch h ứa các bảng mạch và linh ki n ệ • Xây d ng giao di n hi n th ự ệ ể ị và điều khiển, xử lý d li u trên server ữ ệ • Sửa lỗi và tối ưu hệ ố th ng

• Đánh giá các kết quả thực hiện • Viết báo cáo.

1.5. Bố c c ụ

Nội dung tài g m các phđề ồ ần sau: Chương 1. Tổng quan về đề tài • Đặt vấn đề.

• Mục đích đề tài. • Phương pháp nghiên cứu. • Nội dung nghiên c u c a. ứ ủ Chương 2 Cơ . sở lý thuyết: • Các lý thuy t v IoT. ế ề

• Các vấn đề trong giám sát chất lượng nước.

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

20

Hình 3.2. Mạch điện hoàn ch nh ỉ 3.3.2. Thi t k và gia công v bế ế ỏ ảo vệ

Sau khi th c hiự ện lắp ráp bảng mạch, c n phầ ải đo đạc các thông số chiều dài, rộng cao c a m ch ủ ạ đặc biệt là ị v trí các l bỗ ắt bulong để thi t k chuế ế ẩn xác nhất

Chúng tôi s d ng ph n mử ụ ầ ềm SolidWork để thi t k ế ế mơ hình 3D ới các u cầu: v <small>• </small> Vị trí đặ ảt b ng m ch cạ ần được thi t k dế ế ạng rãnh trượt để tháo lắp d dàng ễ <small>• </small> Các vị trí lắp LCD, cơng tắc, đèn báo phả được thiết kế chính xác về kích thưới c

và v trí ị

<small>• </small> Phải để sẵn lỗ của lu n dây các cồ ảm biến

<small>• </small> Các bộ phận được lắp ráp v i nhau b ng bulong hoớ ằ ặc bằng các rãnh cài vào nhau

Hình 3.3. B n thi t k 3D v bả ế ế ỏ ảo vệ ạch điệ m n

Sau khi th c hi n thi t k , chúng tôi gia công v b o v bự ệ ế ế ỏ ả ệ ằng phương pháp in 3D, chất li u nh a ABSệ ự . Phương pháp gia công này có ưu điểm là độ chính xác cao, chi phí phải chăng

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

21

Hình 3.4. S n ph m v b o v ả ẩ ỏ ả ệ

Sau khi có vỏ bảo vệ và mạch điện, tiến hành l p ráp chúng vào v i nhau, bao gắ ớ ồm lắp công tắc, đèn báo và màn hình LCD lên nắp của vỏ ả b o v ệ

Hình 3.5. S n ph m ph n c ng hoàn ch nh ả ẩ ầ ứ ỉ 3.4. Cài đặt Node red và MQTT broker

-Sau khi cài đặt hệ điều hành Raspberry OS cần cài đặt và tinh chỉnh Node-red và MQTT broker, c th ụ ể như sau:

<small>• </small> Cài đặt Node-red:

o Cài đặt Node.js bằng terminal

o Cài đặt Node-red bằng câu lệnh “npm install -g node-red”

o Cài đặt để Node-red tự động khởi chạy mỗi khi Raspberry Pi khởi động <small>• </small> Cài đặt MQTT broker:

o Cài đặt Mosquitto (MQTT mã nguồn mở, xử lý các thông điệp MQTT) b ng ằ câu lệnh: “sudo apt install mosquitto”

o Cài đặt để Mosquitto tự động khởi chạy mỗi khi Raspberry Pi khởi động o Chỉnh s a file config c a Moquittoử ủ cho phép các k t n i MQTT tế ố ừ Internet.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

22

Hình 3.6. Giao di n s d ng cệ ử ụ ủa Node-red 3.5. Thiết lập kế ối DDNS, PortForwardingt n

Port Forwarding là một kỹ thuật được sử ụng trong mạng máy tính để d chuyển tiếp lưu lượng mạng từ một cổng đến một thiết b có thể ị để đượ được c truy c p từ Internet, ậ Port Forwarding cho phép chuy n tiể ếp các kết nố ừ cổi t ng của địa chỉ IP công cộng đến cổng của địa chỉ IP nộ ội b . Cụ thể trong hệ thống này là cho mở ổ c ng mạng để các thiết bị có thể truy cập vào Raspberry Pi để truy xu t và ghi dấ ữ liệu, đồng thời có thể thực hiện giao tiếp MQTT t Internet thay vì chừ ỉ có thể ử ụng mạ s d ng nôi b . ộ

Để thực hiện mở cổng mạng, chúng tôi truy c p vào trang quản lý moderm, mạng ậ và th c hi n cự ệ ấu hình như hình 3.7. Trong đó, cổng 1883 phục vụ giao th c MQTT, ứ cổng 1880 để truy c p vào server Node-red, cậ ổng 2244 để thực hiện điều khiển Raspberry Pi qua giao thức SSH. Địa chỉ IP 192.168.1.65 là địa chỉ IP của Raspberry Pi.

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

23

Hình 3.7. Giao di n th c hi n Port Forwarding ệ ự ệ

Sau các khi mở cổng mạng, hệ thống đã có thể truy c p tậ ừ internet nhưng phải thông qua địa chỉ IP mạng. Tuy nhiên dãy số này thường rất khó nhớ và mạng gia đình thường chỉ có IP đ ng (độ ịa ch IP cơng cộng b thay đổi sau một thời gian), do đó chúng ỉ ị tơi s dử ụng d ch vị ụ DDNS (Dynamic Domain Name System - H th ng ệ ố giúp tự động cập nhật địa chỉ IP của một thiết bị mạng đến một tên miền phân giải DNS cụ thể) để có thể truy cập vào h th ng b ng tên miệ ố ằ ền. Các bước th c hi n c thự ệ ụ ể:

• Đăng ký dịch vụ DDNS với tên miền, hiện nay có nhiều d ch vụ ị cho phép đăng ký DDNS miễn phí như: NoIP, Duck DDNS, Dynu… Trong hệ thống này chúng

Trong đề tài này chúng tôi sử dụng vi điều khiển ESP32, vi c lệ ập trình được thực hiện trên PlatformIO – một mơi trường phát tri n tích h p IDEể ợ dùng cho vi c phát tri n ệ ể phần m m và quề ản lý mã nguồn cho các ứng dụng IoT.

Hình 3.9. Giao di n platformIO ệ

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<small>• </small> Khai báo MQTT broker và hàm Callback: Cần khai báo MQTT broker cụ th vể ới các tham số địa chỉ IP (tên mi n), cề ổng mạng của MQTT broker để vi xử lý có thể thực hi n các thao tácệ Publish và Subscribe ữ ệu. Hàm Callback để ử d li x lý các dữ li u nhệ ận đượ ừ server thành các lc t ệnh điều khi n. ể

<small>• </small> Lắng nghe dữ liệ ừ server: Liên tu t ục lắng nghe các dữ liệu g i vử ề từ server do người dùng điều khiển.

<small>• </small> Thực hi n hàm callbackệ : Xử lý các dữ liệu lắng nghe được để điều ch nh các ỉ tham s cố ủa hệ ống: chu kì cậ th p nh t d li u, b t t t cậ ữ ệ ậ ắ ảm biến…

<small>• </small> Đọc dữ liệu cảm biến và gửi lên server: ESP32 lần lượ đọt c giá trị các c m bi n, ả ế tổng hợp thành 1 đoạn JSON và tiến hành gửi lên server sau m i thỗ ời gian được cài đặt.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

26 3.6.3. Đọc dữ liệu cảm biến và gửi lên server

Các dữ liệu từ ảm bi n m c ế ực nư c, đớ ộ đục, độ pH được đọc qua ADC ADS1115 bằng giao th c I2Cứ , sau đó đọc cảm biến nhiệt độ bằng giao thức OneWire. Tấ ả ữt c d liệu đọc được sẽ được đóng gói thành 1 chuỗi JSON và được gửi lên server bằng phương thức Publish.

Tại mặc định, bi n TimetoUpdate sế ẽ có giá trị là 3000ms, khi người dùng thay đổi giá trị này bằng cách nh p lệnh trên ậ dashboard, hệ thống sẽ t ự động c p nh t giá ậ ậ trị mới và đưa và so sánho .

Hình 3.13. Sơ đồ khối hàm đọc dữ ệ li u c m bi n và ả ế gửi lên server

3.7. Thiết kế và xây dựng Dashboard

Trong hệ thống giám sát chất lượng nước ứng dụng IoT, dashboard đóng vai trò là bảng điều khi n hể ệ thống, là nơi dữ ệu được hiể li n thị dưới d ng biạ ểu đồ theo th i gian ờ thực. Dashboard được xây d ng bự ằng các công cụ ủ c a Node-Red trên n n tề ảng Node.js 3.7.1. Lấy dữ ệ li u v server ề

Để lấy dữ liệu từ MQTT broker, server cần phải subscribe vào topic mà ESP32 vừa publish dữ liệu lên. Dữ liệu nhận được sẽ là một chuỗi JSON, cần ph i th c hiả ự ện tách chuỗi JSON thành các từng giá tr ng v i t ng lo i c m bi n. Do server ch y trên ị ứ ớ ừ ạ ả ế ạ nền t ng Node.js nên vi c tách giá tr ả ệ ị cũng cần được th c hiự ện b ng khằ ối hàm Node.js

Hình 3.14. Sơ đồ khối lấy dữ liệu về server

</div>

×