1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu ứng dụng công nghệ iot trong hệ thống quan trắc môi trường

105 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Nghiên cứu ứng dụng công nghệ IoT hệ thống quan trắc môi trường NGUYỄN VIẾT QUÝ quy.nv202664m@sis.hust.edu.vn Ngành Kỹ thuật máy tính Giảng viên hướng dẫn: TS Phạm Ngọc Hưng Trường: Công nghệ thông tin Truyền thông HÀ NỘI, 04/2023 Chữ ký GVHD CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn : Nguyễn Viết Quý Đề tài luận văn: Nghiên cứu ứng dụng công nghệ IoT hệ thống quan trắc môi trường Chuyên ngành: Kỹ thuật máy tính Mã số SV: 20202664M Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả sửa chữa, bổ sung luận văn theo biên họp Hội đồng ngày 28/04/2023 với nội dung sau: - Bổ sung, làm rõ lý cần xây dựng hệ thống mà không sử dụng hệ thống có sẵn - Bổ sung phần đánh giá kết quả, nêu rõ hệ thống xây dựng có điểm tốt so với hệ thống khác Ngày tháng năm 2023 Giáo viên hướng dẫn Tác giả luận văn TS Phạm Ngọc Hưng Nguyễn Viết Quý CHỦ TỊCH HỘI ĐỒNG PGS.TS Trương Thị Diệu Linh ĐỀ TÀI LUẬN VĂN Thông tin học viên Họ tên: Nguyễn Viết Quý Điện thoại: 0369211450 Email: quy.nv202664m@sis.hust.edu.vn Lớp: 20BITKTMT Hệ đào tạo: Thạc sĩ khoa học Luận văn thực tại: Trường Công nghệ thông tin Truyền thông, Đại học Bách khoa Hà Nội Thời gian thực luận văn: 10/2020 đến 04/2023 Mục đích luận văn Nghiên cứu, ứng dụng công nghệ để phát triển hệ thống giải pháp mang tính tảng, tương thích áp dụng cho nhiều toán IoT khác Hệ thống xây dựng cần phải đảm bảo hoạt động hiệu quả, tin cậy dễ dàng mở rộng, tùy biến Sau xây dựng giải pháp tổng thể, mục tiêu thực áp dụng, triển khai giải pháp cho toán thực tế xây dựng hệ thống quan trắc môi trường Các nhiệm vụ cụ thể luận văn Với mục tiêu xây dựng giải pháp tảng, đề tài thực hai nhiệm vụ sau: - Thứ nhất: phát triển IoT platform cho phép tương tác với thiết bị IoT qua giao thức khác cách an toàn, cung cấp chức hỗ trợ tự động hóa quy trình thu thập, xử lý, lưu trữ liệu; chức quản lý người dùng, quản lý thiết bị quản lý dự án - Thứ hai: phát triển thiết bị IoT Data Logger giao tiếp với thiết bị trường, thực thu thập liệu cảm biến điều khiển cấu chấp hành, đồng thời kết nối mạng để truyền thơng với phía server Với mục tiêu triển khai cho hệ thống quan trắc môi trường, đề tài minh họa, thử nghiệm giải pháp hệ thống quan trắc chất lượng không khí, thực theo dõi số nhiệt độ, độ ẩm, nồng độ khí carbon dioxide, nồng độ bụi mịn Sau đưa đánh giá hiệu giải pháp hướng phát triển tương lai Phạm vi nghiên cứu Để hoàn thành mục tiêu, nhiệm vụ đặt ra, luận văn thực nội dung nghiên cứu sau: - Nghiên cứu, tìm hiểu tảng IoT Cloud Platform phổ biến AWS, Azure Google Thực phân tích rút đặc trưng tính kiến trúc IoT platform - Đề xuất thiết kế kiến trúc hệ thống IoT platform riêng - - - Nghiên cứu, lựa chọn công nghệ mới, phù hợp để thực phát triển IoT platform như: kiến trúc microservices, dịch vụ trao đổi tin nhắn phân tán theo chế publish/subscribe, phương thức giao tiếp qua gRPC, phương pháp xác thực dựa token, sở liệu chuỗi thời gian Thực phát triển dịch vụ phía back-end IoT platform bao gồm: dịch vụ xác thực, dịch vụ quản lý người dùng, dịch vụ quản lý thiết bị dự án, dịch vụ giao thức HTTP, dịch vụ giao thức MQTT, dịch vụ thu thập liệu, dịch vụ truy xuất liệu Thực phát triển giao diện người dùng (front-end) IoT platform - Nghiên cứu tảng chip ESP32, giao thức truyền thông Modbus, hệ điều hành thời gian thực để phát triển thiết bị IoT Data Logger - Đề xuất thiết kế hardware thiết kế firmware thiết bị IoT Data Logger Thực phát triển, hoàn thiện sản phẩm thiết bị IoT Data Logger Nghiên cứu tốn quan trắc khơng khí, tìm hiểu loại cảm biến đo chất lượng khơng khí Xây dựng, thử nghiệm đánh giá hoạt động hệ thống quan trắc khơng khí - Lời cam đoan học viên Tôi – Nguyễn Viết Quý – cam kết Luận văn thạc sĩ công trình nghiên cứu độc lập thân tơi hướng dẫn TS.Phạm Ngọc Hưng Các kết nêu luận văn hồn tồn trung thực, khơng chép tồn văn cơng trình khác, số liệu, hình ảnh, trích dẫn có nguồn gốc rõ ràng tuân thủ quy định Hà Nội, ngày tháng Tác giả năm 2023 Nguyễn Viết Quý Xác nhận giảng viên hướng dẫn Hà Nội, ngày tháng năm 2023 Giảng viên hướng dẫn TS Phạm Ngọc Hưng Lời cảm ơn Trong lời luận văn này, em muốn gửi lời cảm ơn chân thành sâu sắc tới người thầy hướng dẫn - TS Phạm Ngọc Hưng Thầy tận tình bảo, định hướng, hỗ trợ, để em hồn thiện luận văn cách tốt Bên cạnh đó, em xin bày tỏ lịng biết ơn tới thầy cô Trường Công nghệ thơng tin truyền thơng ln nhiệt tình truyền đạt kiến thức kinh nghiệm quý báu, đồng thời tạo điều kiện thuận lợi cho em suốt trình em học tập, nghiên cứu trường Tuy nhiên, có hạn chế thời gian nên khơng thể tránh khỏi thiếu sót cịn tồn luận văn này, em mong nhận góp ý, bảo q thầy cơ, để hồn thiện luận văn tốt Tóm tắt nội dung luận văn Luận văn tập trung vào nghiên cứu công nghệ lĩnh vực IoT, từ đưa thiết kế thực xây dựng giải pháp mang tính chất tảng tương thích dễ dàng triển khai cho nhiều toán ứng dụng khác Giải pháp tảng xây dựng luận văn chia làm hai phần riêng biệt, phía server phía thiết bị Phía server phát triển IoT platform theo kiến trúc microservice linh hoạt, cho phép dễ dàng tùy biến, mở rộng IoT platform hỗ trợ hai giao thức phổ biến HTTP MQTT, phục vụ cho việc kết nối, trao đổi liệu server với thiết bị thiết bị với Ngồi ra, phía back-end cung cấp dịch vụ hỗ trợ quản lý thiết bị, dự án, quản lý người dùng, dịch vụ thu thập, lưu trữ truy xuất liệu, đồng thời đảm bảo yêu cầu an tồn bảo mật Phía front-end xây dựng giao diện để người dùng dễ dàng xây dựng dự án IoT Phía thiết bị phát triển thiết bị IoT Data Logger, bao gồm xây dựng hardware firmware Thiết bị có chức hỗ trợ việc kết nối, giao tiếp với thiết bị cảm biến, thiết bị chấp hành trường Các phương thức kết nối mạng hỗ trợ bao gồm Ethernet WiFi, phương thức để kết nối đến thiết bị trường bao gồm số đầu vào-ra số cổng truyền thông modbus Cuối thực áp dụng giải pháp vào toán cụ thể xây dựng hệ thống quan trắc môi trường Kết cho thấy hệ thống hoạt động tốt, khả áp dụng thực tiễn cao, áp dụng tương tự cho nhiều lớp toán IoT khác MỤC LỤC CHƯƠNG TỔNG QUAN 1 1.1 Đặt vấn đề 1 1.2 Định hướng giải pháp 2 CHƯƠNG THIẾT KẾ HỆ THỐNG CHO ALPHA IOT PLATFORM 6 2.1 Khảo sát số IoT Cloud Platform 6 2.1.1 AWS IoT Core 6 2.1.2 Azure IoT 7 2.1.3 Google Cloud IoT 9 2.2 Phân tích, thiết kế chức 10 2.3 Kiến trúc hệ thống 12 2.4 2.3.1 Giới thiệu mơ hình Microservices 12 2.3.2 Kiến trúc đề xuất cho Alpha 14 Giải pháp công nghệ 16 2.4.1 Nền tảng triển khai: Docker Docker Compose 16 2.4.2 Hệ thống trao đổi tin nhắn: NATS 18 2.4.3 Phương thức giao tiếp qua gRPC 19 2.4.4 Phần mềm web server: Nginx 22 2.4.5 Cơ sở liệu quan hệ: PostgreSQL 22 2.4.6 Cơ sở liệu chuỗi thời gian: InfluxDB 23 2.4.7 Ngôn ngữ lập trình Golang thư viện go-kit 24 2.4.8 Front-end framework: Angular 26 CHƯƠNG PHÁT TRIỂN BACK-END CHO ALPHA IOT PLATFORM 28 3.1 3.2 3.3 3.4 Dịch vụ xác thực (Authentication) 28 3.1.1 Thiết kế chức 28 3.1.2 Nghiệp vụ hoạt động 31 Dịch vụ quản lý người dùng (User Management) 34 3.2.1 Thiết kế chức 34 3.2.2 Nghiệp vụ hoạt động 36 Dịch vụ quản lý thiết bị (Thing Management) 38 3.3.1 Thiết kế chức 38 3.3.2 Nghiệp vụ hoạt động 44 Nguyên tắc trao đổi liệu qua Message Bus 45 3.5 3.6 3.7 3.8 Dịch vụ HTTP Adapter 46 3.5.1 Thiết kế chức 46 3.5.2 Nghiệp vụ hoạt động 46 Dịch vụ MQTT Adapter 47 3.6.1 Thiết kế chức 47 3.6.2 Nghiệp vụ hoạt động 49 Dịch vụ thu thập liệu (Data Ingestion) 52 3.7.1 Thiết kế chức 52 3.7.2 Chuẩn hóa lưu trữ liệu 53 Dịch vụ truy xuất liệu (Data Query) 55 3.8.1 Thiết kế chức 55 3.8.2 Nghiệp vụ hoạt động 56 CHƯƠNG PHÁT TRIỂN FRONT-END CHO ALPHA IOT PLATFORM 58 4.1 Tổng quan 58 4.2 Thiết kế giao diện 59 4.3 Cách thức triển khai 65 CHƯƠNG THIẾT KẾ, PHÁT TRIỂN THIẾT BỊ DATA LOGGER 67 5.1 Tổng quan 67 5.2 Thiết kế Hardware 69 5.3 Phát triển Firmware 72 5.3.1 Thiết kế tác vụ 72 5.3.2 Cấu trúc tin 77 5.3.3 Tùy biến chương trình 79 CHƯƠNG ÁP DỤNG CHO HỆ THỐNG QUAN TRẮC MÔI TRƯỜNG 80 6.1 Phân tích tốn 80 6.2 Thực triển khai 81 6.3 Kết 84 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 87 7.1 Kết luận 87 7.2 Hướng phát triển 88 TÀI LIỆU THAM KHẢO 90 PHỤ LỤC 92 DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT IoT Internet of things AWS Amazon Web Services HTTP Hypertext Transfer Protocol MQTT Message Queuing Telemetry Transport AMQP Advanced Message Queuing Protocol CoAP Constrained Application Protocol RPC Remote Procedure Call REST Representational State Transfer API Application Programming Interface CLI Command Line Interface GSM Global System for Mobile Communications TCP Transmission Control Protocol UDP User Datagram Protocol TLS Transport Layer Security DB Database SQL Structured Query Language ORDBMS Object-Relational Database Management System TSDB Time Series Database JWT JSON Web Token JSON JavaScript Object Notation XML Extensible Markup Language HTML HyperText Markup Language DOM Document Object Model URL Uniform Resource Locator CPU Central Processing Unit GPIO General Purpose Input/Output SPI Serial Peripheral Interface (SPI) UART Universal Asynchronous Receiver/Transmitter EEPROM Electrically Erasable Programmable Read-Only Memory RTU Remote Terminal Unit SSID Service Set Identifier AQI Air Quality Index DANH MỤC HÌNH VẼ Hình 1.1 Mạng lưới Internet of things 1 Hình 1.2 Kiến trúc lớp hệ thống IoT 3 Hình 2.1 Kiến trúc AWS IoT Core 6 Hình 2.2 Mơ hình Azure IoT 7 Hình 2.3 Mơ hình Google Cloud IoT 9 Hình 2.4 Kiến trúc microservices kiến trúc monolithic 13 Hình 2.5 Kiến trúc hệ thống Alpha IoT Platform 14 Hình 2.6 Docker container với máy ảo 16 Hình 2.7 Mơ hình sử dụng Docker 17 Hình 2.8 Hoạt động NATS 18 Hình 2.9 So sánh HTTP/2 HTTP/1.1 20 Hình 2.10 Mơ hình hệ thống giao tiếp qua gRPC 21 Hình 2.11 Cấu trúc chương trình sử dụng Go kit 26 Hình 3.1 Cấu trúc sở liệu AuthnDB 30 Hình 3.2 Sơ đồ trình cấp API key 32 Hình 3.3 Sơ đồ q trình lấy thơng tin API key 33 Hình 3.4 Sơ đồ trình yêu cầu kiểm tra token 34 Hình 3.5 Cấu trúc sở liệu UserDB 35 Hình 3.6 Sơ đồ trình đăng ký tài khoản user 36 Hình 3.7 Sơ đồ trình đăng nhập 37 Hình 3.8 Sơ đồ q trình lấy thơng tin người dùng 38 Hình 3.9 Cấu trúc sở liệu ThingDB 40 Hình 3.10 Sơ đồ trình tạo thiết bị 44 Hình 3.11 Sơ đồ trình xử lý tin gửi từ thiết bị qua HTTP 47 Hình 3.12 Sơ đồ hệ thống MQTT Adapter 48 Hình 3.13 Sơ đồ trình xử lý tin CONNECT MQTT 49 Hình 3.14 Sơ đồ thể hai trình xử lý Publish 50 Hình 3.15 Sơ đồ trình xử lý tin SUBSCRIBE 51 Hình 3.16 Sơ đồ hoạt động thu thập lưu trữ liệu 52 Hình 3.17 Sơ đồ trình xử lý yêu cầu truy xuất liệu 56 Hình 4.1 Biểu đồ ca sử dụng tổng quan Alpha UI 58 Hình 4.2 Giao diện trang đăng nhập 60 Hình 4.3 Giao diện trang đăng ký tài khoản 60 Hình 4.4 Giao diện trang dashboard 61 Hình 4.5 Giao diện trang quản lý thơng tin người dùng 61 Hình 4.6 Giao diện trang quản lý thiết bị 62 Hình 4.7 Cửa sổ khai báo thiết bị 62 Hình 4.8 Giao diện trang thơng tin chi tiết thiết bị 62 Hình 4.9 Giao diện trang quản lý dự án 63 Hình 4.10 Cửa sổ khai báo dự án 63 Hình 4.11 Giao diện trang thông tin chi tiết dự án 63 Hình 4.12 Cửa sổ cài đặt cho khung theo dõi liệu 64 Hình 4.13 Giám sát liệu dashboard 64 Hình 4.14 Mơ hình ứng dụng Angular 65 Hình 5.1 Mơ hình kết nối Data Logger 68 Hình 5.2 Modbus RTU mơ hình OSI 68 Hình 5.3 Kết nối thiết bị qua RS485 69 Hình 5.4 Sơ đồ khối thiết kế Data Logger 69 Hình 5.5 Bản mạch thiết bị Data Logger 70 Hình 5.6 Sản phẩm Data Logger hồn thiện 71 Hình 5.7 Các cổng kết nối thiết bị Data Logger 71 Hình 5.8 Trang giao diện cài đặt thiết bị Data Logger 73 Hình 5.9 Sơ đồ tổng quát chương trình Data Logger 74 Hình 5.10 Sơ đồ bước khởi tạo Data Logger 74 Hình 5.11 Sơ đồ task phục vụ cho chế độ Working 75 Hình 5.12 Sơ đồ task phục vụ cho chế độ Setting 76 Hình 6.1 Tạo dự án quan trắc khơng khí Alpha 81 Hình 6.2 Khai báo trạm quan trắc Alpha 82 Hình 6.3 Thêm thiết bị vào dự án quan trắc khơng khí 82 Hình 6.4 Hình ảnh thực tế Data Logger ghép nối cảm biến 82 Hình 6.5 Cài đặt cho thiết bị Data Logger làm trạm quan trắc 83 Hình 6.6 Khai báo “thiết bị" cho mục đích điều khiển 83 Hình 6.7 Xem tin mà thiết bị gửi 84 Hình 6.8 Thiết lập biểu đồ nhiệt độ Dashboard 84 Hình 6.9 Kết theo dõi liệu biểu đồ bảng 85 Hình 6.10 Gửi command điều khiển thiết bị 85 Hình 6.11 Trạng thái thiết bị cập nhật theo lệnh điều khiển 86 CHƯƠNG ÁP DỤNG CHO HỆ THỐNG QUAN TRẮC MÔI TRƯỜNG Với giải pháp xây dựng trên, chương áp dụng tốn cụ thể quan trắc mơi trường Trước tiên phân tích tốn để đưa phương án, sau thực triển khai thực tế ghi nhận kết 6.1 Phân tích tốn Một hệ thống quan trắc mơi trường thường bao gồm nhiều trạm quan trắc đặt nhiều khu vực rải rác Mỗi trạm quan trắc thực ghi nhận số môi trường chất lượng khơng khí, chất lượng lượng nước, mơi trường đất… tùy theo ứng dụng thực tế Các liệu gửi server cách định kỳ để hiển thị, thực tính tốn, phân tích để đưa cảnh báo, dự báo Phương án triển khai chung là: trạm quan trắc, lắp đặt thiết bị Data Logger, kết nối với số cảm biến thông qua Modbus Các toán khác khác loại cảm biến sử dụng Modbus chuẩn công nghiệp phổ biến nên người dùng dễ dàng tìm kiếm thị trường loại cảm biến sử dụng chuẩn phù hợp với ứng dụng Phía server cài đặt Alpha IoT Platform, giúp người dùng quản lý trạm quan trắc thực việc giám sát số theo thời gian Với liệu Alpha tự động lưu trữ, người dùng sử dụng để thực tính tốn, logic nghiệp vụ phía sau Để minh họa, ta xây dựng hệ thống quan trắc khơng khí Trong thực tế, việc theo dõi chất lượng khơng khí thường để phục vụ cho mục đích nâng cao sức khỏe cộng đồng, giúp đưa cảnh báo để người tránh khu vực hay thời điểm mà có nhiễm khơng khí, ngồi cịn để giám sát hoạt động xả thải khu công nghiệp…Dữ liệu đặc trưng mà hệ thống cung cấp số báo cáo chất lượng khơng khí - AQI (Air Quality Index) Giá trị AQI tính tốn từ liệu quan trắc khoảng thời gian định ngày, tập trung vào loại khí mà có ảnh hưởng trực tiếp tới sức khỏe người, bao gồm: Ozone mặt đất (O3), carbon monoxide (CO), sulfur dioxide (SO2), nitrogen dioxide (NO2), phân tử bụi mịn (PM2.5, PM10) Có thể tham khảo cơng thức tính AQI, thang đánh giá mức độ ô nhiễm mà Bộ Tài nguyên Môi trường cung cấp tài liệu [30] Ngồi ra, hệ thống quan trắc khơng khí thường ghi nhận liệu nhiệt độ, độ ẩm khơng khí, số có ảnh hưởng trực tiếp tới người thường quan tâm Do phạm vi giới hạn luận văn, khó xây dựng hệ thống thu thập tính tốn đầy đủ số Luận văn tập trung vào thông số gần gũi thường quan tâm nhất, bao gồm: nhiệt độ, độ ẩm, nồng độ khí CO2, nồng độ bụi mịn PM10 nồng độ bụi mịn PM2.5, trạm quan trắc xây dựng để thu thập thơng số Phía server, sử dụng chức sẵn có Alpha để xây ghi nhận, lưu trữ hiển thị thay đổi thông số theo thời gian 80 6.2 Thực triển khai Với thông số cần giám sát đặt trên, ta sử dụng hai cảm biến hãng Renke Control Technology, có ngõ RS485 theo chuẩn Modbus, thông số đại lượng đo bảng 6.1 Bảng 6.1 Thông số hai cảm biến chất lượng khơng khí Cảm biến ESCO2 Sensor Dust Sensor Đại lượng đo Nhiệt độ khơng khí Độ ẩm khơng khí Nồng độ khí CO2 Nồng độ bụi PM10 Nồng độ bụi PM2.5 Dải đo -40~80 ℃ 0~100 %RH 0~2000 ppm 0~1000 ug/m3 0~1000 ug/m3 Sai số ±0.5℃ ±3%RH ±40 ppm ±3%FS ±3%FS Thực cập nhật chương trình Data Logger để hỗ trợ giao tiếp với hai cảm biến (xem lại 5.4.2), sau mang lắp đặt, triển khai Dưới trình bước mà người dùng cần thực triển khai, tất nhiên sau người dùng đăng ký tài khoản đăng nhập vào Alpha Bước 1: Tạo dự án Alpha tên “Air Monitoring” Thông tin dự án tạo hình 6.1 Hình 6.1 Tạo dự án quan trắc khơng khí Alpha Các bước từ bước đến bước thực cho trạm quan trắc thực triển khai Bước 2: Khai báo thiết bị Data Logger Alpha Ví dụ thiết bị đặt tên “Station-001” Trường type thiết bị “Data Logger” Ngoài ra, với trạm, ta bổ sung thêm thơng tin vị trí (location) để dễ dàng quản lý Thông tin chi tiết thiết bị sau khai báo thể hình 6.2 81 Hình 6.2 Khai báo trạm quan trắc Alpha Bước 3: Thêm thiết bị vào dự án “Air Monitoring” Hình 6.3 Thêm thiết bị vào dự án quan trắc khơng khí Bước 4: Lắp đặt trạm quan trắc, gồm thiết bị Data Logger kết nối với hai cảm biến khơng khí Cách đấu nối theo chuẩn RS485, xem lại hình 5.3 Hình ảnh thực tế thiết bị sau lắp hình 6.4 Hình 6.4 Hình ảnh thực tế Data Logger ghép nối cảm biến Bước 5: Cài đặt Data Logger, cách chuyển thiết bị chế độ Setting (nhấn nút User lần liên tiếp), truy cập vào trang web cài đặt, hình 6.5 Thực cài đặt kết nối mạng, nhập thông tin: địa server, ID key thiết bị “Station-001”, ID dự án “Air Monitoring”, chu kỳ gửi liệu phút Về cài đặt ghép nối, có hai Modbus slave ID cho phép gắn với hai cảm biến Mặc dù không sử dụng input output cho ứng dụng ta cho phép input-1 output-1 để thử nghiệm hoạt động 82 Hình 6.5 Cài đặt cho thiết bị Data Logger làm trạm quan trắc Để điều khiển trạm quan trắc từ phía server, thiết lập “thiết bị” chung để gửi lệnh điều khiển (command) đến tất Data Logger dự án Thiết bị khai báo với tên “Commander” thêm vào project “Air Monitoring" Commander không đại diện cho thiết bị vật lý thật, mà thơng qua để gửi lệnh đến trạm quan trắc dự án a) Khai báo thiết bị Commander b) Thêm thiết bị Commander vào dự án Hình 6.6 Khai báo “thiết bị" cho mục đích điều khiển 83 6.3 Kết Sau thiết bị “Station-001” hoạt động, Alpha ta truy cập vào trang thông tin chi tiết thiết bị để xem danh sách tin mà thiết bị gửi, hình 6.7 Hình 6.7 Xem tin mà thiết bị gửi Hình 6.8 Thiết lập biểu đồ nhiệt độ Dashboard Truy cập vào trang dashboard, ta thiết lập biểu đồ để theo dõi cho trường liệu đo chất lượng không khí (kiểu số thực) Thiết lập bảng để theo dõi liệu trạng thái (kiểu bool) chân input-1 Ví dụ thơng số 84 thiết lập biểu đồ nhiệt độ hình 6.8, biểu đồ/bảng khác thiết lập tương tự Sau ta theo dõi thay đổi số theo thời gian, hình 6.9 Thử thay đổi mức tín hiệu chân input-1 thiết bị, ta thấy liệu bảng input-1 thay đổi theo (giá trị từ false sang true) Hình 6.9 Kết theo dõi liệu biểu đồ bảng Truy cập vào trang thông tin thiết bị “Commander”, thực gửi tin điều khiển đến thiết bị “Station-001” thông qua giao thức HTTP, yêu cầu bật chân output-1 lên mức cao, xem hình 6.10 Hình 6.10 Gửi command điều khiển thiết bị Tới trang thông tin thiết bị “Station-001” để kiểm tra log tin nhất, thấy giá trị output-1 thay đổi sau thời điểm lệnh điều khiển gửi, xem hình 85 6.11 Khi đo trực tiếp thiết bị thấy thay đổi, hai chân RL1 đóng lại sau nhận lệnh điều khiển a)Trước nhận tin điều khiển b) Sau nhận tin điều khiển Hình 6.11 Trạng thái thiết bị cập nhật theo lệnh điều khiển 86 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 7.1 Kết luận Sau trình nghiên cứu, phát triển thử nghiệm, luận văn cho thấy kết tích cực, đáp ứng mục tiêu đặt ban đầu đề tài Thứ mục tiêu xây dựng giải pháp tảng, áp dụng cho nhiều toán IoT khác nhau, luận văn đề xuất hoàn thiện hai giải pháp là: - Alpha IoT Platform: hỗ trợ đầy đủ tính quan trọng IoT platform bao gồm: quản lý người dùng, quản lý thiết bị IoT, kết nối truyền thông với thiết bị IoT qua giao thức khác nhau, bảo mật luồng trao đổi liệu, lưu trữ liệu hỗ trợ giao diện cho phép tương tác, tích hợp - Thiết bị IoT Data Logger: giao tiếp với lớp rộng thiết bị trường qua chuẩn kết nối phổ biến, thực thu thập liệu cảm biến điều khiển cấu chấp hành, đồng thời kết nối mạng để truyền thông với IoT server qua hai phương thức có dây (Ethernet) khơng dây (Wifi) Để có đánh giá tổng quát áp tiêu chí đặt ban đầu (xem lại 1.1), kết bảng 7.1 Bảng 7.1 Đối chiếu kết với tiêu chí đặt ban đầu STT Tiêu chí Architecture and technology Reliability Customization Scalability Compatibility Alpha IoT Platform Data Logger Sử dụng kiến trúc microservices hiệu quả, linh hoạt, dễ dàng mở rộng Phát triển tảng chip ESP32 cho hiệu tốt, dễ tiếp cận Chương trình chạy Mỗi dịch vụ xây hệ điều hành RTOS, dựng công nghệ tác vụ chức mới, tin cậy dễ tiếp phân chia rõ ràng cận Người dùng dễ dàng tùy biến, phát triển thêm chức cho dịch vụ mà không ảnh hưởng dịch vụ khác Hoặc xây dựng thêm dịch vụ khác mà khơng ảnh hưởng dịch vụ có Người dùng dễ dàng tùy biến, phát triển thêm chức cho task, thay đổi loại cảm biến hỗ trợ, thay đổi cấu trúc tin, giao thức sử dụng Hỗ trợ kết nối qua hai Hỗ trợ phương thức giao thức phổ biến phổ biến để ghép 87 HTTP MQTT nối thiết bị: digital input, relay ouput, Modbus Hỗ trợ kết nối mạng qua mạng có dây Ethernet khơng dây Wifi Hỗ trợ giao thức MQTT Support Hỗ trợ tương tác qua Có giao diện cài đặt dễ giao diện Web API dàng sử dụng Có đèn báo trạng thái kết nối Security Yêu cầu xác thực với người dùng thiết bị Quản lý quyền kết nối theo dự án Cần biết mật để truy cập vào giao diện cài đặt thiết bị Khi số lượng thiết bị kết nối nhiều, chi phí triển khai rẻ nhiều so với sử dụng tảng IoT Cloud Platfrom cần phải đầu tư chi phí server lần đầu Giá thành linh kiện phần cứng để sản xuất rẻ Cost Khi cài đặt cần cung cấp đầy đủ thông tin thiết bị dự án kết nối với Alpha Thời gian tùy biến chương trình theo ứng dụng nhanh chóng Thứ hai, nội dung chương cho thấy việc áp dụng thành công giải pháp vào tốn quan trắc mơi trường, chứng minh cho tính hiệu giải pháp đưa vào triển khai thực tiễn Hơn nữa, tốn tiêu biểu, dựa theo làm tham chiếu để xây dựng, triển khai cho nhiều tốn IoT khác Nhìn chung, với giải pháp xây dựng, giúp nhà phát triển dễ dàng triển khai dự án IoT khác mình, tham chiếu theo cách thức triển khai cho toán quan trắc môi trường Sử dụng Alpha IoT platform giúp tiết kiệm chi phí nhiều so với phương án sử dụng tảng Cloud, điều thể rõ số lượng thiết bị IoT tăng lên Ngoài ra, điểm bật so với hệ thống khác việc nhà phát triển làm chủ mặt công nghệ, linh hoạt việc thực tùy biến, mở rộng để phù hợp cho toán tương lai 7.2 Hướng phát triển Các toán, ứng dụng IoT thực tế đa dạng tất nhiên cịn nhiều tính phát triển thêm cho giải pháp xây dựng Dưới số đề xuất nghiên cứu thực tương lai 88 Với Alpha IoT Platform, ta có thể: - Phát triển thêm dịch vụ giao thức khác như: AMQP, CoAP…vv - Mở rộng thêm chức bảo mật Reverse Proxy như: mã hóa luồng tin với SSL để tăng tính bảo mật hay xây dựng chức tường lửa để lọc ngăn chặn nguy công Thêm vào đó, phát triển chức khác: cân tải, caching vv - Phát triển thêm dịch vụ Rules Engine cho phép người dùng tự xây dựng quy tắc điều hướng liệu, kịch xử lý tự động - Phát triển thêm dịch vụ xử lý, phân tích liệu tùy theo ứng dụng nghiệp vụ - Xây dựng, tùy biến lại giao diện UI tương thích với ứng dụng cụ thể thực tế giám sát mơi trường hay tịa nhà thơng minh… không sử dụng giao diện chung IoT platform Với Data Logger, ESP32 nhiều chân kết nối, cho phép mở rộng thêm chức phần cứng phần mềm Cụ thể, ta phát triển: - Hỗ trợ thêm nhiều loại cảm biến khác, kết nối qua Modbus, để đo thêm số mơi trường (cho tốn quan trắc mơi trường xây dựng), hay loại cảm biến khác tùy theo ứng dụng cụ thể - Phát triển thêm nhiều loại giao thức kết nối khác MQTT - Phát triển thêm chuẩn kết nối khác để ghép nối cảm biến, ví dụ chuẩn Analog 0-10V hay 4-20mA - Phát triển thêm phương thức kết nối khác, ví dụ lắp thêm module giao tiếp 3G/4G 89 TÀI LIỆU THAM KHẢO [1] P N Hưng, Bài giảng Internet vạn vật Ứng dụng, Trường Công nghệ Thông tin Truyền thông, 2022 [2] "Number of Internet of Things (IoT) connected devices worldwide," [Online] Available: https://www.statista.com/statistics/1183457/iotconnected-devices-worldwide/ [Accessed 2023] [3] Anand Tamboli, Build Your Own IoT Platform, Apress, 2019 [4] L Antao, R Pinto, J Reis, G Goncalves, "Requirements for Testing and Validating the Industrial Internet of Things," in IEEE, 2018 [5] "How AWS IoT works," Amazon, [Online] Available: https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-itworks.html [Accessed 2023] [6] Microsoft, "Microsoft Azure IoT Reference Architecture," 2021 [Online] Available: https://azure.microsoft.com/en-us/resources/microsoft-azure-iotreference-architecture/ [7] "Provisioning Devices to Google Cloud IoT Core," [Online] Available: https://gist.github.com/ajudges/74b1bb96b928befa6986c0f35a5b2d52 [8] P Pierleoni, R Concetti, A Belli, L Palma, "Amazon, Google and Microsoft Solutions for IoT: Architectures and a Performance Comparison," in IEEE, 2019 [9] "Eclipse IoT Developer Survey Report," 2019 [Online] Available: https://iot.eclipse.org/community/resources/iot-surveys/ [10] "Learn About the Microservices Architecture," [Online] Available: https://docs.oracle.com/en/solutions/learn-architect-microservice/#GUID1A9ECC2B-F7E6-430F-8EDA-911712467953 [Accessed 2023] [11] M Bose, "Kubernetes vs Docker – What Is the Difference?," [Online] Available: https://www.nakivo.com/blog/docker-vs-kubernetes/# [Accessed 2023] [12] "Docker overview," [Online] Available: https://docs.docker.com/getstarted/overview/ [Accessed 2023] [13] "What is NATS," [Online] Available: concepts/what-is-nats [Accessed 2023] https://docs.nats.io/nats- [14] K P Singh, "Distributed messaging with NATS," [Online] Available: https://dev.to/karanpratapsingh/distributed-messaging-with-nats-3jg3 [Accessed 2023] [15] "HTTP/2: the difference between HTTP/1.1, benefits and how to use it," [Online] Available: https://factory.dev/blog/http2-difference-from-http1 [Accessed 2023] 90 [16] "gRPC - A Modern Framework for Microservices Communication," [Online] Available: https://www.capitalone.com/tech/softwareengineering/grpc-framework-for-microservices-communication/ [Accessed 2023] [17] "What is NGINX?," [Online] Available: https://www.nginx.com/resources/glossary/nginx/ [Accessed 2023] [18] S N Z Naqvi, S Yfantidou, "Time Series Databases and InfluxDB," Universite´ libre de Bruxelles, 2018 [19] "What Is Time-Series Data?," [Online] Available: https://www.timescale.com/blog/time-series-data/ [Accessed 2023] [20] "DB-Engines Ranking of Time Series DBMS," [Online] Available: https://db-engines.com/en/ranking/time+series+dbms [Accessed 2023] [21] "Golang | Goroutine vs Thread," [Online] https://www.geeksforgeeks.org/golang-goroutine-vs-thread/ 2023 4] Available: [Accessed [22] "Microservices in Go using the Go kit," [Online] Available: https://dev.to/eminetto/microservices-in-go-using-the-go-kit-jjf [Accessed 2023] [23] "Introduction to JSON Web Tokens," https://jwt.io/introduction [Accessed 2023] [Online] [24] "What is VerneMQ?," [Online] https://vernemq.com/intro/index.html [Accessed 2023] Available: Available: [25] "Date and Time on the Internet: Timestamps," [Online] Available: https://www.rfc-editor.org/rfc/rfc3339 [Accessed 2023] [26] "Application of MODBUS Protocol in Microcontrollers," [Online] Available: https://open4tech.com/application-modbus-protocolmicrocontrollers/ [Accessed 2023] [27] "How Do I Make RS-485 Connections?," [Online] Available: https://www.advantech.com/es-co/resources/white-papers/02cb2f4e-4fb24a87-be3b-508325bd61d6 [Accessed 2023] [28] E Systems, "ESP32 Series Datasheet," [Online] Available: https://www.espressif.com/sites/default/files/documentation/esp32_datashe et_en.pdf [Accessed 2023] [29] "FreeRTOS (ESP-IDF)," [Online] https://docs.espressif.com/projects/esp-idf/en/latest/esp32/apireference/system/freertos_idf.html [Accessed 2023] Available: [30] Hướng dẫn kỹ thuật tính tốn cơng bố số chất lượng khơng khí Việt Nam (VN_AQI), Bộ Tài ngun Môi trường, 2019 91 PHỤ LỤC A1 Bảng HTTP Status Code STT Mã phản hồi 200 OK Yêu cầu thành công 201 Created Yêu cầu thành công kết tài nguyên tạo (API key / user / thing / project) 204 No Content Thu hồi thành công tài nguyên (API key) Mô tả 400 Cú pháp không hợp lệ, lỗi phân tích URL lấy Bad Request tham số hay phân tích cấu trúc tin json body 403 Forbidden Client khơng có quyền truy cập, Access Token bị thiếu không hợp lệ 404 Not Found Yêu cầu truy xuất tài nguyên (thing / project) không tồn 409 Conflict Yêu cầu bị xung đột với trạng thái tại, cấp phát tài nguyên (API key / thing key / user) tồn 415 Content type bị thiếu không hợp lệ Unsupported Media Type 500 Internal Server Error Service bị lỗi 92 A2 Thiết kế mạch nguyên lý (Schematic) Data Logger Power Supply RS485 Interface Input & Output 93 ESP32 & Ethernet 94

Ngày đăng: 04/07/2023, 05:48

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN