1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) nghiên cứu và triển khai hệ thống xe giám sát môi trường bằng cảm biến ứng dụng cơ sở dữ liệu cassandra cloud astradb

37 2 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

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 2,3 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT – HÀN HỆ THỐNG NHÚNG NGHIÊN CỨU VÀ TRIỂN KHAI HỆ THỐNG XE GIÁM SÁT MÔI TRƯỜNG BẰNG CẢM BIẾN ỨNG DỤNG CƠ SỞ DỮ LIỆU CASSANDRA CLOUD ASTRADB Sinh viên thực : Trần Viết An Lê Đức Nhật Lê Thiện Nhân Nguyễn Văn Hiếu Đinh Gia Bảo Giảng viên hướng dẫn : TS Nguyễn Vũ Anh Quang Lớp 19CE : Đà Nẵng, tháng 12 năm 2022 h ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT – HÀN HỆ THỐNG NHÚNG NGHIÊN CỨU VÀ TRIỂN KHAI HỆ THỐNG XE GIÁM SÁT MÔI TRƯỜNG BẰNG CẢM BIẾN ỨNG DỤNG CƠ SỞ DỮ LIỆU CASSANDRA CLOUD ASTRADB Đà Nẵng, tháng 10 năm 2022 h LỜI CẢM ƠN Nhóm chúng em xin gửi lời cảm ơn chân thành đến thầy Nguyễn Vũ Anh Quang – giảng viên hướng dẫn môn Hệ thống nhúng Khoa Kỹ thuật máy tính Điện tử nhiệt tình dạy, hỗ trợ nhóm chúng em trang bị kiến thức, kỹ để hồn thành đề tài “Nghiên cứu triển khai hệ thống xe giám sát môi trường cảm biến ứng dụng sở liệu Cassandra Cloud AstraDb” cách tốt Trong trình tìm hiểu, thiết kế thực đề tài, kiến thức chuyên ngành hạn chế nên nhiều thiếu sót việc tìm hiểu, nghiên cứu, trình bày đề tài tạo sản phẩm hồn thiện Nhóm chúng em mong nhận đóng góp, đánh giá q thầy, kết thực đề tài nhóm Đó kiến thức quý giá để nhóm thành viên chúng em hồn thiện phát triển đề tài cho đề tài sau Xin chân thành cảm ơn Nhóm sinh viên thực Trần Viết An Lê Đức Nhật Lê Thiện Nhân Nguyễn Văn Hiếu Đinh Gia Bảo h NHẬN XÉT (Của giảng viên hướng dẫn) Đà Nẵng, ngày … tháng … năm 2022 Giảng viên hướng dẫn TS Nguyễn Vũ Anh Quang h MỤC LỤC LỜI CẢM ƠN NHẬN XÉT MỤC LỤC DANH MỤC HÌNH ẢNH BẢNG PHÂN CÔNG NHIỆM VỤ MỞ ĐẦU CHƯƠNG TỔNG QUAN ĐỀ TÀI 10 1.1 Tổng quan đề tài 10 1.2 Phương pháp thực 10 1.3 Đối tượng phạm vi thực 11 1.4 Nội dung thực 11 CHƯƠNG XÂY DỰNG MƠ HÌNH HỆ THỐNG 13 2.1 Mơ hình hệ thống điều khiển động .13 2.2 Mơ hình hệ thống kết nối truyền tải liệu cảm biến môi trường 13 CHƯƠNG TRIỂN KHAI THỰC HIỆN ĐỀ TÀI 14 3.1 Chuẩn bị phần cứng 14 3.1.1 ESP8266NodeMCU 14 3.1.2 Module điều khiển động L298N 14 3.1.3 Module Bluetooth HC05 15 3.1.4 Module cảm biến DHT11 16 3.1.5 Module cảm biến độ ẩm đất 16 3.1.6 Động .17 3.2 Phần mềm sở liệu 18 3.2.1 Phần mềm 18 3.2.2 Cơ sở liệu .19 3.3 Sơ đồ lắp đặt 21 3.4 Lưu đồ thuật toán .21 3.5 Tạo sở liệu với AstraDb 23 3.5.1 Đăng ký đăng nhập tài khoản DataStax AstraDB .23 3.5.2 Tạo sở liệu .24 3.5.3 Tạo bảng sở liệu trường liệu 25 3.6 Spring boot 30 3.7 Kết nối astra với spring boot 31 h CHƯƠNG KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 33 4.1 Kết thực đề tài 33 4.1.1 Sản phẩm đạt 33 4.1.2 Kết đạt hạn chế 34 4.2 Hướng phát triển 35 TÀI LIỆU THAM KHẢO .36 h DANH MỤC HÌNH ẢNH Hình 2.1: Mơ hình hệ thống điều khiển động 13 Hình 2.2: Mơ hình hệ thống kết nối truyền trải liệu xảm biến môi trường 13 Hình 3.1: ESP8266NodeMCU 14 Hình 3.2: Module điều khiển động L298N 14 Hình 3.3: Module Bluetooth HC05 15 Hình 3.4: Module cảm biến DHT11 16 Hình 3.5: Module cảm biến độ ẩm đất .16 Hình 3.6: Động DC .17 Hình 3.7: Động Servo SG90 17 Hình 3.8: Phần mềm Arduio IDE .18 Hình 3.9: Phần mềm Android Studio 19 Hình 3.10: Logo phần mềm Fritzing 19 Hình 3.11: Cassandra Cloud AstraDb 20 Hình 3.12: Sơ đồ lắp đặt 21 Hình 3.13: Lưu đồ thuật toán .21 Hình 3.14: Trang chủ AstraDb 23 Hình 3.15: Tạo tài khoản AstraDb .23 Hình 3.16: Đăng nhập vào AstraDb 24 Hình 3.17: Đăng nhập thành cơng vào AstraDb 24 Hình 3.18: Tạo Database (1) 24 Hình 3.19: Tạo Database (2) 25 Hình 3.20: Tạo Database thành công 25 Hình 3.21: Trag làm việc với database vừa tạo 25 Hình 3.22: Database mẫu 26 Hình 3.23:Tab Connect 26 Hình 3.24: Tạo token key 26 Hình 3.25: Select role 26 Hình 3.26: Tạo Token key thành công .27 Hình 3.27: Swagger UI 27 Hình 3.28: Tạo trường Database với Swagger UI 28 Hình 3.29: Truy vấn sở liệu vừa tạo 30 Hình 3.30: Spring Boot 30 Hình 3.31: Download bundle file .31 Hình 4.1: Giao diện khởi động ứng dụng điều khiển 33 Hình 4.2: Giao diện kết nối, điều khiển .33 Hình 4.3: Giao diện ứng hiển thị liệu 33 Hình 4.4:Data display 34 Hình 4.5: Data through graphs 34 Hình 4.6: Mơ hình hệ thống xe 34 h BẢNG PHÂN CÔNG NHIỆM VỤ STT Họ Và Tên Nhiệm Vụ - Thiết kế mơ hình hoạt động hệ thống - Xây dựng ứng điều khiển thông qua Trần Viết An Bluetooth hệ điều hành Android - Lập trình Arduino/ESP Kotlin - Chỉnh sửa nội dung báo cáo slide - Thiết kế mơ hình kết nối, giao tiếp Server ứng dụng hiển thị liệu thu thập từ vi điều khiển ESP Lê Đức Nhật - Xây dựng ứng dụng Android kết nối với Server DataStax AstraDb - Lập trình Anduino/ESP Kotlin - Chỉnh sửa nội dung báo cáo slide - Tìm hiểu lý thuyết giao thức mạng HTTP Lê Thiện Nhân - Tìm hiểu, thực kết nối, giao tiếp ESP8266 với Server - Lập trình ESP8266 - Thiết kế hồn thiện slide báo cáo - Tìm hiểu sở liệu Cassandra Cloud AstraDb Nguyễn Văn Hiếu - Thực tạo sở liệu với AstraDb - Lập trình ESP8266 - Hồn thiện báo cáo - Tìm hiểu linh kiện, cảm biến - Lắp đặt hệ thống xe Đinh Gia Bảo - Lập trình ESP8266 đọc liệu từ cảm biến điều khiển động - Làm báo cáo h Tỉ Lệ Hoàn Thành (%) h MỞ ĐẦU Hệ thống nhúng thuật ngữ để hệ thống có khả tự trị nhúng vào môi trường hay hệ thống mẹ Đó hệ thống tích hợp phần cứng phần mềm phục vụ toán chuyên dụng nhiều lĩnh vực cơng nghiệp, tự động hố điều khiển, quan trắc truyền tin Đặc điểm hệ thống nhúng hoạt động ổn định có tính tự động hố cao Hiện hệ thống nhúng có mặt nhiều sản phẩm gần gũi với sống người hệ thống dẫn đường khơng lưu, hệ thống định vị tồn cầu, vệ tinh; thiết bị gia dụng: tủ lạnh, lị vi sóng, lị nướng,… hay thiết bị kết nối mạng: router, hub, gateway,… thiết bị mà sử dụng ngày điện thoại, máy tính, đồng hồ thơng minh, phương tiện giao thơng đại Nhận thấy tình hình biến đổi khí hậu nước ta có nhiều biến động, đặt biệt mùa mưa bão, nhiều khu vực vùng núi có nguy bị sạt lỡ, gây ảnh hưởng đến sống, sinh hoạt người dân mà việc thực kiểm tra địa chất với đại hình vùng núi khó khăn, tìm ẩn nguy an tồn thực khơng biết tình hình khu vực Vì nhóm chúng em thực đề tài “Nghiên cứu triển khai hệ thống xe giám sát môi trường cảm biến ứng dụng sở liệu Cassandra Cloud AstraDb” Với đề tài lần mà chúng em xây dựng hệ thống nhúng hồn thiện, có kết hợp cơng nghệ IoT sở liệu AstraDb Sản phầm đề tài giúp ích nhiều việc thực kiểm ta địa chất hay hậu từ xa khu vực có nguy bị sạt lỡ đất, nơi có địa hình phức tạp mà người khó đến được, biện pháp an toàn để bảo vệ cho người tạo điều kiện thuận lời để thu thập liệu môi trường để phục vụ cho việc phân tích liệu, dự đốn thiên tai 10 h Hệ thống sử dụng hai khối hoạt động riêng lẻ xe nên lưu đồ có hai phần bắt đầu: - Control Car:  Đầu tiên, khai báo thư viện, chân vi điều khiển cần sử dụng khởi tạo biến ban đầu  Tiếp theo, hàm void setup(), cấu hình chức hoạt động chân, gọi hàm bất đầu sử dụng thư viện  Trong hàm void loop() – [khối while(1)] vịng lặp vơ hạn, phần chương trình để xe hoạt động Trong hàm này, bất đầu cấu hình kết nối Bluetooth thông qua module Bluetooth HC05 Nếu kết nối thất bại phải cấu hình kết nối lại Nếu kết nối thành cơng nhận tín hiệu điều khiển thơng qua bluetooth, gán cho ký hiệu nhận với hàm chức điều chỉnh tốc độ động cơ, điều chỉnh hướng chuyển xe, góc quay động servo - Connect Server:  Đầu tiên, khai báo thư viện, chân vi điều khiển cần sử dụng khởi tạo biến ban đầu dùng để kết nối WiFi, kết nối với Server  Tiếp theo, hàm void setup(), cấu hình chức hoạt động chân, gọi hàm bất đầu sử dụng thư viện Thiết lập kết nối mạng thơng qua WiFi, vịng lặp while(WiFi connect) dừng kết nối với WiFi  Trong hàm void loop() – [khối while(1)] vòng lặp vơ hạn, phần chương trình để kết nối gửi liệu cảm biến thu tập lên Server Trong hàm này, bất đầu kiểm tra trạng thái kết nối với WiFi thực kết nối với Server, đóng gói liệu đọc từ cảm biến thành chuổi json Sau gửi lên Server, gửi lên thất bại nhân thông báo lỗi kết nối, kết thúc kết nối với Server thực lại việc kết nối Nếu kết nối thành công, Server gửi phản hồi nhận gói tin, dừng kết nối lặp lại trình kết nối gửi liệu lên Server 23 h 3.5 Tạo sở liệu với AstraDb 3.5.1 Đăng ký đăng nhập tài khoản DataStax AstraDB Truy cập theo đường dẫn sau: https://auth.cloud.datastax.com/ Hình 3.14: Trang chủ AstraDb Nếu chưa có tài khoản, nhấn Sign Up điền thông tin để tạo tài khoản: Hình 3.15: Tạo tài khoản AstraDb Bạn đăng nhập tài khoản Google Github tài khoản bạn đăng ký bước 24 h Hình 3.16: Đăng nhập vào AstraDb Sau đăng nhập thành công, bạn chuyển đến trang làm việc Hình 3.17: Đăng nhập thành cơng vào AstraDb 3.5.2 Tạo sở liệu Hình 3.18: Tạo Database (1) Tại: Quick Access -> chọn Create Database Sau điền Database name, Keyspace name Select the provider and region (Ở sử dụng tài khoản dùng thử nên bị giới hạn số nhà cung cấp khu vực, bạn muốn trải nghiệm tốt vui lòng đăng ký Unlock all regions) Sau nhấn Create Database đợi giây lát để khởi tạo sở liệu h 25 Hình 3.19: Tạo Database (2) Tiếp theo nhấn Go To Database để sử dụng sở liệu Datastax AstraDB Hình 3.20: Tạo Database thành cơng Hình 3.21: Trag làm việc với database vừa tạo Hoàn thành bước 3.5.3 Tạo bảng sở liệu trường liệu Dưới sở liệu mẫu sử dụng cho việc dùng thử AstraDb h 26 Hình 3.22: Database mẫu Để kết nối gửi liệu từ Server đến DataStax AstraDB thông qua REST API, phần Connect chọn {REST:API} Hình 3.23:Tab Connect Tiếp theo tạo token để phục vụ kết nối Server AstraDB cách nhấn vào Application Token, tạo bảng sở liệu Swagger UI (click vào liên kết phần 2.Lauchn Swagger UI) Tạo Token: Sau click vào Application Token đến trang quản lý token Trong vai trò chọn, chọn Administrator User chọn Generate Token Hình 3.24: Tạo token key Hình 3.25: Select role 27 h Hình 3.26: Tạo Token key thành công Tạo bảng sở liệu Swagger UI: Sau nhấp vào liên kết Lauchn Swagger UI, bạn chuyển đến giao diện làm việc Swagger UI Hình 3.27: Swagger UI Trong phần Schemas chọn dòng: POST /v2/schemas/keyspace/… Bấm chọn Try it out 28 h Nhập khơng gian phím sở liệu sử dụng trường keyspaceName Hình 3.28: Tạo trường Database với Swagger UI Ở phần body, tạo bảng sở liệu dạng chuỗi json tạo sở liệu Hình 3.22 sau: { "name": "collection", "primaryKey": { "partitionKey": [ "id" ], "clusteringKey": [ ] }, "columnDefinitions": [ { "name": "id", "typeDefinition": "text", "static": false }, { "name": "position", "typeDefinition": "text", "static": false }, { "name": "temprature", "typeDefinition": "text", "static": false }, { "name": "humility", "typeDefinition": "text", "static": false 29 h }, { "name": "amount_of_rain", "typeDefinition": "text", "static": false } ], "ifNotExists": true, "tableOptions": { "defaultTimeToLive": 0, "clusteringExpression": [ ] } } Bạn thay đổi chuỗi json cho phù hợp với sở liệu mà bạn muốn tạo tên bảng, khóa chính, tên trường liệu, kiểu liệu đầu vào Nhấn Execute để thực việc tạo Để kiểm tra bảng sở liệu tạo thành công hay chưa, bạn thực bước sau: Quay lại Dashboard -> CQL Console -> chạy lệnh USE key19ce; (key19ce keyspacename sở liệu); chạy lệnh DESC TABLES; (dùng để hiển thị tất bảng sở liệu tạo) Bạn thấy bảng thu thập tạo thành công Chạy lệnh chọn * từ sưu tập; để xem trường sở liệu bảng sưu tập 30 h Hình 3.29: Truy vấn sở liệu vừa tạo 3.6 Spring boot Spring Boot giúp dễ dàng tạo Ứng dụng dựa Spring cấp độ sản xuất, độc lập mà bạn "chỉ cần chạy" Cơ sở liệu Apache Cassandra NoSQL cung cấp nhiều khả cho nhóm tìm kiếm giải pháp để xử lý luồng liệu có tốc độ cao, khối lượng lớn biến đổi Cách suy nghĩ giới thiệu khái niệm lộ trình học tập gây sợ hãi cho thành viên nhóm người quản lý nhóm Dữ liệu mùa xuân cho Apache Cassandra cung cấp giao diện quen thuộc cho người sử dụng mô-đun Dữ liệu mùa xuân khác khứ - Thời gian học tập để phát triển ứng dụng với Apache Cassandra giảm đáng kể sử dụng Dữ liệu mùa xuân cho Apache Cassandra Với khả trì mức cao với POJO thích mức thấp với khả nhập liệu hiệu suất cao, mẫu Spring Data cho Apache Cassandra chắn đáp ứng nhu cầu ứng dụng Hình 3.30: Spring Boot 31 h Đặc trưng - Xây dựng kho lưu trữ dựa giao diện Spring Data phổ biến - Hỗ trợ cho hoạt động liệu đồng bộ, phản ứng không đồng - Hỗ trợ tạo Keyspace dựa XML tạo Bảng CQL - Hỗ trợ JavaConfig XML cho tất khả cụm phiên - Dịch ngoại lệ sang cấu trúc phân cấp Spring DataAccessException quen thuộc - QueryBuilders thuận tiện để loại bỏ nhu cầu học CQL - Tự động triển khai giao diện Kho lưu trữ bao gồm hỗ trợ phương thức truy vấn tùy chỉnh - Phiên 2.x dựa Trình điều khiển Java CQL DataStax 3.x, phiên 3.x sử dụng Trình điều khiển Java DataStax 4.x 3.7 Kết nối astra với spring boot Download bundle file Hình 3.31: Download bundle file 32 h Thêm drive spring-data-cassandra  Khai báo thông số database add file bundle vừa tải Khai báo entity cần tạo  33 h CHƯƠNG KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết thực đề tài 4.1.1 Sản phẩm đạt Sau thời gian tìm hiểu triển khai thực đề tài “Nghiên cứu triển khai hệ thống xe giám sát môi trường cảm biến ứng dụng sở liệu Cassandra cloud AstraDb ” hoàn thành với kết đạt sau: Ứng dụng điều khiển xe thông qua Bluetooth: Hình 4.1: Giao diện khởi động ứng dụng điều khiển Hình 4.2: Giao diện kết nối, điều khiển Ứng dụng hiển thị liệu từ cảm biến thông qua sở liệu AstraDb Hình 4.3: Giao diện ứng hiển thị liệu 34 h Hình 4.5: Data through graphs Hình 4.4:Data display Sản phẩm mơ hình hệ thống xe: Hình 4.6: Mơ hình hệ thống xe 4.1.2 Kết đạt hạn chế Kết đạt được: - Hồn thiện đề tài theo mơ hình đề ban đầu - Mơ hình sản phẩm hoàn thiện - Các chức hoạt động tốt - Ứng dụng Android: chức hoàn thiện, hoạt động tốt nhiều phiên Android, điều khiển nơi - Kết nối, sử dụng sở dử liệu AstraDb vào đề tài 35 h Hạn chế : - Sản phẩm dừng lại dạng mơ hình chưa ứng dụng, giải vấn đề thực tế - Nhiều cảm biến có chất lượng chưa tốt - Ứng dụng Android: ứng dụng điều khiển hiển thị tách biệt chưa thống lại thành một, điều khiển hoạt động cho hệ thống nhất, chức không nhiều - Do sử dụng tài khoản dùng thử nên chưa thể khai thách hết ưu điểm Cassandra Cloud AstraDb 4.2 Hướng phát triển Hiện nay, nhiều công nghệ mới, sản phẩm robot tạo nhằm phục vụ cho đời sống người hỗ trợ nhiều lĩnh vực, đặt biệt thay người làm cơng việc có mức độ nguy hiểu cao, nơi mà người trực tiết đến Từ ưu nhược điểm dự án lần với xu hướng nay, hướng phát triển đề tài tạo nên hệ thống nhúng hoàn chỉnh Tích hợp thêm cảm biến chuyên dụng vào mạch sản phẩm để cập nhật đầy đủ thơng số mơi trường chất lượng khơng khí Tối ưu hóa việc lựa chọn thiết bị phần cứng thuật tốn lập trình phù hợp Mở rộng việc cập nhật liệu phát triển App hiển thị đầy đủ mở rộng phương tiện cập nhật Website Phối hợp với chuyên gia mơi trường để cập nhật có biện pháp điều chỉnh, làm môi trường 36 h TÀI LIỆU THAM KHẢO Bài báo – sách: [1] [2] [3] [4] Website: [1] [2] [3] [4] 37 h

Ngày đăng: 10/05/2023, 15:06

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

TÀI LIỆU LIÊN QUAN

w