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

Thiết kế hệ thống nhà xưởng thông minh

85 8 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 85
Dung lượng 5,88 MB

Cấu trúc

  • 1 SKL004551.pdf (p.1)

  • 2ND.pdf (p.2-85)

  • 4 BIA SAU A4.pdf (p.86)

Nội dung

TỔNG QUAN

ĐẶT VẤN ĐỀ

Trong những năm gần đây, thuật ngữ “Internet of Things” (IoT) đã trở nên phổ biến và thu hút sự chú ý lớn từ cộng đồng công nghệ.

Theo Wikipedia, Internet of Things (IoT) là mạng lưới các thiết bị kết nối Internet, bao gồm mọi thiết bị có khả năng kết nối với nhau Kết nối này có thể thông qua Wi-Fi, mạng di động băng rộng (3G, 4G), Bluetooth, ZigBee, hồng ngoại và nhiều công nghệ khác Các thiết bị IoT đa dạng, từ điện thoại thông minh, máy pha cà phê, máy giặt đến tai nghe và bóng đèn, tạo nên một hệ sinh thái kết nối phong phú.

IoT mang lại tiềm năng lớn cho ngành công nghiệp thông minh, cho phép cập nhật dữ liệu liên tục qua cảm biến không dây và xử lý, phân tích thông tin để ra quyết định và điều khiển thiết bị từ xa thông qua thiết bị di động Đối với Việt Nam, nơi nền công nghiệp đang phát triển, việc ứng dụng IoT là cần thiết để nâng cao công suất, chất lượng sản phẩm, giảm thiểu sức lao động và tăng cường sức cạnh tranh toàn cầu Việc tích hợp công nghệ vào sản xuất và quản lý đang thu hút sự quan tâm lớn, đặc biệt là ở các nhà xưởng có quy mô từ 1 hecta đến hàng trăm hecta.

MỤC TIÊU

Mục tiêu xây dựng hệ thống nhà xưởng thông minh là quản lý hiệu quả việc ra vào của công nhân, tự động điều khiển thiết bị và thu thập dữ liệu môi trường Hệ thống này sẽ vận hành dễ dàng, giảm thiểu chi phí và sức lao động của con người.

NỘi DUNG NGHIÊN CỨU

Để giải quyết vấn đề ta thực hiện phương pháp nghiên cứu như sau:

Tìm hiểu về kit Raspberry và hệ điều hành trên nền Linux

Nghiên cứu ngôn ngữ lập trình Python, ngôn ngữ lập trình web HTML, ngôn ngữ PHP, JavaScript kết hợp cơ sở dữ liệu MySQL.

GIỚI HẠN

Hệ thống thiết kế có kích thước lớn

Nguồn của hệ thống chủ yếu là nguồn 5v nên chưa phù hợp với môi trường công nghiệp

Khả năng chống nhiễu ở trong môi trường công nghiệp còn thấp

BỐ CỤC

Đề tài được thực hiện gồm 5 chương với các nội dung chính như sau:

Chương 1: Giới thiệu: Trong chương này, nhóm thực hiện đề tài trình bày tổng quan về vấn đề nghiên cứu và triển khai của hệ thống nhà xưởng thông minh Mục tiêu, đối tượng và giới hạn của đề tài nghiên cứu

Chương 2: Cơ sở lý thuyết: Ở chương này nhóm thực hiện đề tài sẽ giới thiệu sơ lược lý thuyết kit raspberry ngôn ngữ Python, ngôn ngữ lập trình web và web server

Chương 3: Thiết kế hệ thống: Giới thiệu về phần cứng, các công cụ và phần mềm hổ trợ trong quá trình xây dựng và thiết kế phần cứng, phần mềm Đưa ra giải thuật để xử lý và giải thích lưu đồ, cách thức hoạt động của các phần bên trong

Chương 4: thi công hệ thống: thực hiện các kết nối phần cứng

Chương 5: Kết quả thực hiện: Kiểm nghiệm hoạt động của toàn bộ hệ thống, kết quả hoạt động của hệ thống

Chương 6: Kết luận và hướng phát triển: Chương này trình bày những kết luận chung về đề tài, những mặt còn hạn chế và hướng phát triển.

CƠ SỞ LÝ THUYẾT

CẤU TRÚC PHẦN MỀM CHO BOARD RASPBERRY

được truy cập thông qua Image Firmware được nạp vào GPU vào lúc khởi động từ thẻ

Firmware SD được gọi là đốm màu nhị phân (Binary Blob), trong khi ARM liên kết với mã trình điều khiển Linux ban đầu dựa trên nguồn đóng Một phần của mã điều khiển đã được giải mã từ mã nguồn đóng GPU Phần mềm ứng dụng thực hiện các cuộc gọi đến thư viện thời gian chạy nguồn đóng như OpenMax, OpenGL ES và OpenVG, sau đó gọi trình điều khiển nguồn mở bên trong lõi Linux, tiếp theo là mã điều khiển nguồn đóng GPU VideoCore IV Các API của trình điều khiển lõi được thiết kế đặc thù cho các thư viện đóng, với ứng dụng Video sử dụng OpenMax, ứng dụng 3D sử dụng OpenGL ES và ứng dụng 2D sử dụng OpenVG, cả hai đều sử dụng EGL.

OpenGL ES 2.0 (opengl) là một thư viện 3D, rất thường được sử dụng trên máy tính để bàn và các hệ thống nhúng Nó được định nghĩa bởi Khronos Group

OpenVG là thư viện đồ họa 2D chuyên dụng cho việc vẽ véc tơ, thường được áp dụng trên máy tính để bàn và các hệ thống nhúng, do Khronos Group định nghĩa.

OpenVG là một hệ thống cửa sổ nền tảng cơ bản, được sử dụng phổ biến trong âm thanh, video và xử lý hình ảnh tĩnh OpenMax định nghĩa ba lớp, trong đó lớp IL cung cấp giao diện kết nối giữa các khuôn khổ đa phương tiện như Gstreamer và các thành phần đa phương tiện khác, chẳng hạn như bảng mã.

Hệ điều hành Linux

Linux là một hệ điều hành máy tính, đồng thời là tên của hạt nhân do Linus Torvalds phát triển vào năm 1991 và phát hành chính thức vào năm 1992 dưới giấy phép GNU/GPL.

Linus Torvalds đã làm việc chăm chỉ trong ba năm để phát hành phiên bản Linux 1.0 vào năm 1994 Phiên bản này được phát triển và phát hành dưới giấy phép GNU General Public License, cho phép mọi người tải xuống và xem mã nguồn của Linux.

Thuật ngữ "Linux" thường được hiểu là Nhân Linux, nhưng thực tế nó chỉ một phần của hệ điều hành GNU/Linux, bao gồm nhân Linux cùng với các thư viện và công cụ GNU Hệ điều hành này là một tập hợp phong phú của nhiều phần mềm, bao gồm máy chủ web, ngôn ngữ lập trình, hệ quản trị cơ sở dữ liệu, môi trường desktop như GNOME và KDE, cũng như các ứng dụng văn phòng như OpenOffice và LibreOffice.

Linux, ban đầu được phát triển cho vi xử lý 386, hiện nay đã mở rộng hỗ trợ nhiều kiến trúc vi xử lý khác nhau Hệ điều hành này được ứng dụng rộng rãi, từ máy tính cá nhân đến siêu máy tính và các thiết bị nhúng, bao gồm cả điện thoại di động.

2.2.2 Các thư mục trên linux

Hệ thống tập tin của Linux và Unix được cấu trúc theo dạng phân cấp giống như một cây, với thư mục gốc là bậc cao nhất, được biểu thị bằng dấu gạch chéo “/”.

Trong hệ điều hành Linux, tất cả các thiết bị kết nối với máy tính được nhận diện như các tập tin, bao gồm ổ đĩa cứng, phân vùng và ổ USB Điều này có nghĩa là mọi tập tin và thư mục đều nằm dưới thư mục gốc, kể cả các tập tin đại diện cho các ổ đĩa cứng.

Dưới thư mục gốc (/) của hệ thống tập tin Linux, có nhiều thư mục quan trọng được công nhận trong tất cả các bản phân phối Dưới đây là danh sách các thư mục thường gặp dưới thư mục gốc (/):

/bin– chứa các ứng dụng quan trọng (binary applications)

/boot– các tập tin cấu hình cho quá trình khởi động hệ thống (boot configuration files)

/dev– chứa các tập tin là chứng nhận cho các thiết bị của hệ thống (device files)

/etc– chứa các tập tin cấu hình của hệ thống, các tập tin lệnh để khởi động các dịch vụ của hệ thống

/home– thư mục này chứa các thư mục cá nhân của những người có quyền truy cập vào hệ thống (local users' home directories)

/lib– thư mục này lưu các thư viện chia sẻ của hệ thống (system libraries).

Thư mục /lost+found được sử dụng để lưu trữ các tập tin không có thư mục mẹ, được phát hiện dưới thư mục gốc (/) sau khi thực hiện lệnh kiểm tra hệ thống tập tin (fsck).

Thư mục /media được sử dụng để lưu trữ các tập tin tạm thời mà hệ thống tạo ra khi thiết bị lưu động như đĩa CD hoặc máy ảnh kỹ thuật số được kết nối.

/mnt– thư mục này được dùng để gắn các hệ thống tập tin tạm thời (mounted filesystems),

/opt– thư mục dùng dể chứa các phần mềm ứng dụng (optional applications) đã được cài đặt thêm

Thư mục /proc là một thư mục đặc biệt trong hệ thống, có chức năng lưu trữ thông tin về tình trạng hệ thống, đặc biệt là các tiến trình (processes) đang hoạt động.

/root– đây là thư mục nhà của người quản trị hệ thống (root)

/sbin– thư mục này lưu lại các tập tin thực thi của hệ thống (system binaries)

/sys– thư mục này lưu các tập tin của hệ thống (system files)

/tmp– thư mục này lưu lại các tập tin được tạo ra tạm thời (temporary files)

/usr– thư mục này lưu và chứa những tập tin của các ứng dụng chính đã được cài đặt cho mọi người dùng (all users)

The /var directory stores variable files, including data files and logs, which are essential for tracking changes and maintaining system records.

Tổng quan về ngôn ngữ Python

Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm

1990 Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động;

Python là một ngôn ngữ lập trình mã nguồn mở, được quản lý bởi tổ chức phi lợi nhuận Python Software Foundation Với cú pháp tao nhã và kiểu dữ liệu động, Python dễ học và mạnh mẽ, cung cấp các cấu trúc dữ liệu cấp cao hiệu quả và hỗ trợ lập trình hướng đối tượng Nhờ vào bản chất thông dịch, Python trở thành lựa chọn hàng đầu cho việc viết kịch bản và phát triển ứng dụng nhanh chóng trên nhiều lĩnh vực và hầu hết các hệ thống.

Trình thông dịch Python và bộ thư viện chuẩn được cung cấp miễn phí dưới dạng mã nguồn hoặc nhị phân cho tất cả các hệ điều hành chính tại trang chủ Python.

2.3.2 Đăc điểm ngôn ngữ lập trình Python

Python được thiết kế để trở thành một ngôn ngữ dễ học, mã nguồn dễ đọc, bố cục trực quan, dễ hiểu

Python sử dụng từ khóa tiếng Anh, giảm thiểu ký hiệu và cấu trúc so với các ngôn ngữ khác Ngôn ngữ này phân biệt giữa chữ hoa và chữ thường, với tất cả các từ khóa đều được viết bằng chữ thường như trong C/C++.

Trong các ngôn ngữ lập trình như C/C++, khối lệnh được xác định bằng cặp dấu ngoặc nhọn { } Tuy nhiên, Python sử dụng một phương pháp độc đáo để xác định khối lệnh, đó là thông qua việc thụt lề các câu lệnh bên trong khối lệnh chứa chúng.

Python được phát triển từ nhiều ngôn ngữ khác nhau, với phiên bản chính là CPython, được viết bằng C và đi kèm với một thư viện chuẩn phong phú CPython có khả năng chạy trên nhiều nền tảng khác nhau, đảm bảo tính khả chuyển cao Bên cạnh CPython, còn có hai phiên bản khác là Jython, dành cho môi trường Java, và IronPython, phục vụ cho môi trường NET và Mono.

Python là một ngôn ngữ lập trình thông dịch, giúp tiết kiệm thời gian phát triển ứng dụng nhờ không cần biên dịch và liên kết Trình thông dịch có thể chạy file script hoặc hoạt động ở chế độ tương tác, cho phép người dùng nhập biểu thức và nhận kết quả ngay lập tức, tương tự như shell trên hệ điều hành Unix Tính năng này rất hữu ích cho người mới học và lập trình viên, giúp họ thử nghiệm mã lệnh trong quá trình phát triển phần mềm hoặc thực hiện các phép tính đơn giản như máy tính bỏ túi.

Trong Python, mỗi câu lệnh được viết trên một dòng mã nguồn và không cần kết thúc bằng ký tự đặc biệt nào Giống như các ngôn ngữ lập trình khác, Python cũng hỗ trợ các cấu trúc điều khiển.

Cấu trúc rẽ nhánh: cấu trúc if (có thể sử dụng thêm elif hoặc else), dùng để thực thi có điều kiện một khối mã cụ thể

Cấu trúc lặp trong Python bao gồm lệnh while, cho phép chạy một khối mã cho đến khi điều kiện lặp trở thành false, và vòng lặp for, lặp qua từng phần tử của một dãy, với mỗi phần tử được lưu vào biến cục bộ để sử dụng trong khối mã Ngoài ra, Python còn hỗ trợ từ khóa class để khai báo lớp trong lập trình hướng đối tượng và lệnh def để định nghĩa hàm.

Python hỗ trợ chia chương trình thành các module, giúp tái sử dụng trong các ứng dụng khác Ngoài ra, nó cung cấp một bộ module chuẩn phong phú, cho phép lập trình viên sử dụng lại trong các dự án của mình Những module này mang lại nhiều chức năng hữu ích, bao gồm truy xuất tập tin, gọi hệ thống và hỗ trợ lập trình mạng (socket).

2.3.3 Cấu trúc ngôn ngữ python

Trong các ngôn ngữ lập trình khác, khối lệnh thường được xác định bằng cặp ký hiệu hoặc từ khóa, như trong C/C++ với cặp ngoặc nhọn { } Tuy nhiên, Python sử dụng một phương pháp đặc biệt để tạo khối lệnh thông qua việc thụt lề các câu lệnh vào bên phải so với khối lệnh cha chứa chúng.

6 // Khối lệnh mới bắt đầu từ kí tự { đến kí tự }

9 printf("Phuong trinh co hai nghiem phan biet:\n");

11 } Đoạn mã trên có thể được viết lại bằng Python như sau:

5 # Khối lệnh mới, thụt vào đầu dòng

8 print "Phuong trinh co hai nghiem phan biet:"

Ta có thể sử dụng dấu tab hoặc khoảng trống để thụt các câu lệnh vào.(trích dẩn tài liệu 3)

Ngôn ngữ lập trình web

Nhóm nghiên cứu sử dụng ngôn ngữ HTML để thiết kế giao diện trang web, PHP để truy xuất dữ liệu từ cơ sở dữ liệu MySQL, và JavaScript để xử lý dữ liệu từ cảm biến.

HTML (HyperText Markup Language) là ngôn ngữ chính để xây dựng và trình bày các trang web, cùng với CSS và JavaScript Cấu trúc của HTML bao gồm các thẻ mở và đóng, giúp trình duyệt web hiểu và hiển thị nội dung một cách chính xác.

HTML (hoặc *.html, *.htm) là ngôn ngữ đánh dấu dùng để trình bày nội dung trên web Mặc dù không phải là ngôn ngữ lập trình, HTML có thể kết hợp với các thẻ để nhúng mã JavaScript, tạo ra các tính năng tương tác cho trang web.

Thành phần của HTML được xác định thông qua các thẻ HTML, sử dụng để đánh dấu và định dạng văn bản Mỗi thẻ trong văn bản HTML được bao quanh bởi dấu ngoặc, với định dạng như sau: .

Thuộc tính của thẻ HTML:

 Những thẻ HTML đều có những thuộc tính riêng và một thẻ có thể có nhiều thuộc tính

 Những thuộc tính này cung cấp thông tin về thành phần HTML của trang web

 Thuộc tính luôn luôn đi kèm một cặp như name/value: name= “value” (tên= “giá trị”)

 Thuộc tính luôn luôn được thêm vào thẻ mở đầu của thành phần HTML

Ví dụ:

 Thẻ đóng không có thuộc tính

Ví dụ cấu trúc của ngôn ngữ HTML:

The commands within the and tags define the structure of a webpage, while the content displayed on the webpage is contained within the and tags Additionally, the and tags are used to present the header information of the HTML document.

PHP (Hypertext Preprocessor) là ngôn ngữ lập trình mã nguồn mở chủ yếu được sử dụng để phát triển ứng dụng cho web server, cho phép dễ dàng nhúng vào mã HTML.

This is a title

PHP là một ngôn ngữ lập trình web phổ biến nhất thế giới, được tối ưu hóa cho ứng dụng web với tốc độ nhanh, kích thước nhỏ gọn, cú pháp tương tự như C và Java Đặc biệt, PHP dễ học và cho phép thời gian xây dựng sản phẩm ngắn hơn so với nhiều ngôn ngữ khác.

PHP chỉ phân tích mã nằm trong thẻ , với cú pháp phổ biến là Lệnh PHP có thể được đặt ở bất kỳ vị trí nào, và thỉnh thoảng cú pháp và cũng được sử dụng Để bắt đầu đoạn mã PHP, ta sử dụng Những thẻ này giúp phân tách mã PHP với các ngôn ngữ khác như HTML, trong khi mọi mã bên ngoài các thẻ này sẽ bị hệ thống phân tích bỏ qua và được xuất ra trực tiếp.

Trong PHP, các biến được xác định bằng cách thêm dấu đô la ($) trước tên biến mà không cần khai báo kiểu dữ liệu Ngôn ngữ này coi xuống dòng như một khoảng trắng, trừ khi nằm trong trích dẫn xâu, và các phát biểu kết thúc bằng dấu chấm phẩy (;) PHP hỗ trợ ba kiểu cú pháp chú thích: /* */ cho đoạn chú thích nhiều dòng, và // hoặc # cho chú thích một dòng Lệnh echo trong PHP cho phép xuất văn bản ra trình duyệt web.

PHP có cú pháp tương tự như hầu hết các ngôn ngữ lập trình bậc cao, đặc biệt là kiểu C Các cấu trúc điều kiện IF, vòng lặp For và While, cùng với các hàm trả về đều giống với cú pháp của các ngôn ngữ như C, C++, Java và Perl.

Ví dụ về cấu trúc ngôn ngữ PHP

SQL (Ngôn ngữ truy vấn có cấu trúc) là một ngôn ngữ tiêu chuẩn phổ biến dùng để truy xuất và quản lý cơ sở dữ liệu Ngôn ngữ này đã phát triển vượt bậc, không chỉ phục vụ cho các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ mà còn mở rộng ra nhiều ứng dụng khác trong lĩnh vực công nghệ thông tin.

Ví dụ câu lệnh cơ bản của SQL

JavaScript là một ngôn ngữ lập trình mạnh mẽ và phổ biến, chủ yếu được sử dụng cho lập trình web Nó không chỉ hỗ trợ việc xây dựng các trang web mà còn cho phép viết script tương tác với các đối tượng trong ứng dụng Mặc dù tên gọi có phần liên quan đến Java, JavaScript thực tế không được phát triển từ ngôn ngữ này Ngôn ngữ này bao gồm hai mảng chính: client-server, thực hiện lệnh trên máy của người dùng cuối, và web-server.

// This is a single-line comment

# This is also a single-line comment /*

This is a multiple-lines comment

SELECT – truy xuất dữ liệu trong CSDL

UPDATE – cập nhật dữ liệu trong CSDL

DELETE - xóa dữ liệu trong CSDL

INSERT INTO - thêm dữ liệu trong CSDL

CREATE DATABASE – tạo CSDL mới

ALTER DATABASE – chỉnh sửa CSDL

CREATE TABLE – tạo bảng mới

ALTER TABLE – chỉnh sửa bảng

JavaScript là ngôn ngữ lập trình dựa trên nguyên mẫu, có cú pháp phát triển từ ngôn ngữ C Tương tự như C, JavaScript sử dụng khái niệm từ khóa, điều này khiến cho việc mở rộng ngôn ngữ trở nên khó khăn.

Ví dụ cấu trúc ngôn ngữ Javascript

Câu lệnh JavaScript được đặt trong thẻ , Câu lệnh ghi chú đươc viết sau dấu ‘//’ Biến được khai báo theo lệnh var.

Web server

Một trang web bao gồm nhiều trang web được tạo ra từ các tệp kỹ thuật số, thường được viết bằng ngôn ngữ HTML Để một trang web có thể truy cập toàn cầu mọi lúc, nó cần được lưu trữ trên một máy chủ kết nối Internet liên tục 24/7/365.

Máy chủ Web (Web Server) là máy tính cài đặt phần mềm phục vụ web, thường được gọi là web server Tất cả các web server đều có khả năng xử lý các file *.htm và *.html, nhưng mỗi loại web server có thể hỗ trợ các định dạng file đặc biệt, như IIS của Microsoft dành cho file *.asp.

*.aspx; Apache dành cho *.php; Sun Java system web server của SUN dành cho *.jsp

Máy Web Server là một loại máy chủ lưu trữ các website đã được thiết kế cùng với các thông tin liên quan như mã Script, chương trình và file Multimedia.

The var Keyword Creates a Variable

// var z = 6; z will not be executed var x = 5 + 6; var y = x * 10; document.getElementById("demo").innerHTML = y;

Web Server có khả năng truyền tải các trang Web đến máy khách qua Internet hoặc Intranet thông qua giao thức HTTP, được thiết kế đặc biệt để gửi file đến trình duyệt Web và các giao thức khác.

All web servers possess either an IP address or a domain name When you enter a URL like http://www.abc.com into your browser's address bar and hit Enter, you send a request to the server associated with that domain name The server then locates the webpage named index.htm and sends it back to your browser.

Mọi máy tính đều có khả năng trở thành Web Server chỉ cần cài đặt phần mềm Server Software và kết nối với Internet.

Khi máy tính của bạn kết nối với một Web Server để truy cập thông tin từ một trang web, phần mềm máy chủ web sẽ nhận yêu cầu và trả lại cho bạn những thông tin mà bạn cần.

Giới thiệu phần cứng sử dụng trong hệ thống

Raspberry Pi là một máy tính nhỏ gọn, giá 35 USD, có kích thước tương đương với iPhone và chạy trên hệ điều hành Linux Được phát triển bởi Raspberry Pi Foundation, một tổ chức phi lợi nhuận, mục tiêu chính của Raspberry Pi là giảng dạy máy tính cho trẻ em và tạo ra một hệ thống dễ tiếp cận cho nhiều người sử dụng trong các ứng dụng tùy biến khác nhau Raspberry Pi được sản xuất bởi ba nhà sản xuất chính là Sony, Qsida và Egoman, và được phân phối chủ yếu qua các kênh như Element14, RS Components và Egoman.

Dự án Raspberry Pi ban đầu nhằm tạo ra một máy tính giá rẻ cho sinh viên, nhưng đã thu hút sự chú ý từ nhiều đối tượng khác nhau Raspberry Pi được xây dựng dựa trên bộ xử lý SoC Broadcom BCM2835, một chip xử lý di động mạnh mẽ và nhỏ gọn, thường được sử dụng trong điện thoại di động Chip này tích hợp CPU, GPU, bộ xử lý âm thanh/video và nhiều tính năng khác, tất cả đều hoạt động với mức điện năng thấp.

Hình 2.3: Máy tính Raspberry Pi B+

Process Unit) 700 MHz ARM1176JZFS

Dual Core VideoCore IV® Multimedia Co-Processor

Hỗ trợ Open GL ES 2.0, tăng tốc phần cứng OpenVG, và bộ giải mã 1080p30 H.264

Ethernet: Cổng mạng Ethernet 10/100M Video: HDMI hỗ trợ phiên bản 1.3/1.4 và Composite

RCA (PAL and NTSC) Audio: Cổng ra 3.5 và HDMI USB: 4 cổng USB 2.0 GPIO: 40 chân

9 Phụ kiện camera, wifi, thẻ nhớ, tản nhiệt,

Hệ điều hành khuyên dùng cho Raspberry là Raspbian

Hình 2.4: Sơ đồ chân GPIO Raspberry Pi B+

2.6.2 Giới thiệu về cảm biến nhiệt độ và độ ẩm dht22

Cảm biến DHT22 là lựa chọn lý tưởng cho các ứng dụng thu thập dữ liệu cơ bản nhờ vào tính năng tiết kiệm chi phí và độ chính xác cao Thiết bị này bao gồm hai thành phần chính: một cảm biến độ ẩm điện dung và một điện trở nhiệt, giúp đo lường nhiệt độ và độ ẩm một cách hiệu quả.

Cảm biến DHT22 có độ chính xác cao và khoảng đo hoạt động rộng hơn so với DHT11

Module truyền dữ liệu theo giao thức 1 wire nên dể dàng sử dụng và lấy dữ liệu

Hình 2.5: Cảm biến nhiệt độ và độ ẩm DHT22

 DATA: nối chân tín hiệu

Nguyên lý hoạt động: Để có thể giao tiếp với DHT22 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:

 Bước 1: Giao tiếp của MCU với DHT22

Gửi tín hiệu khởi động (Start) tới cảm biến DHT22, sau đó nhận được xác nhận từ DHT22 Khi kết nối thành công, DHT22 sẽ trả về 5 byte dữ liệu cùng với nhiệt độ đo được.

Hình 2.6: Giao tiếp của MCU với DHT22

MCU thiết lập chân DATA làm ngõ ra và kéo chân này xuống 0 trong thời gian trên 18 ms Hành động này cho phép DHT22 nhận biết rằng MCU đang yêu cầu đo nhiệt độ và độ ẩm.

 MCU đưa chân DATA lên 1, sau đó thiết lập lại chân DATA là ngõ vào

 Sau khoảng 20-40 às, DHT22 sẽ kộo chõn DATA xuống thấp Nếu >40 às mà chân DATA không được kéo xuống thấp nghĩa là không giao tiếp được với DHT22

 Chõn DATA sẽ ở mức thấp 80 às sau đú nú được DHT22 kộo lờn cao trong

Bằng cách kiểm tra dữ liệu, MCU có thể xác định liệu có thể giao tiếp với cảm biến DHT22 hay không Nếu tín hiệu từ DHT22 tăng cao, điều này cho thấy quá trình giao tiếp giữa MCU và DHT22 đã hoàn tất.

 Bước 2: Đọc giá trị trên DHT22

 DHT22 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:

+ Byte 1: giá trị phần nguyên của độ ẩm (RH%)

+ Byte 2: giá trị phần thập phân của độ ẩm (RH%)

+ Byte 3: giá trị phần nguyên của nhiệt độ (TC)

+ Byte 4 : giá trị phần thập phân của nhiệt độ (TC)

+ Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa

 Sau khi giao tiếp được với DHT22, DHT22 sẽ gửi liên tiếp 40 bit về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm

Hình 2.7: Tín hiệu bit 0 chân DATA DHT22

Hình 2.8: Tín hiệu bit 1 chân DATA DHT22

 Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT22 kéo lên 1

Nếu chân DATA có giá trị từ 26-28 às, thì giá trị là 0; ngược lại, nếu giá trị là 70 às, thì giá trị là 1 Do đó, trong lập trình, ta cần xác định giá trị trên của chân DATA và sau đó thực hiện một độ trễ 50 às.

 Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì giá Đo dược la 1 và ta đọc các bít tiếp theo

2.6.3 Giới thiệu mạch RFID rc522

Module RFID RC522 sử dụng IC MFRC522 của Phillip để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56MHz Với thiết kế nhỏ gọn và mức giá phải chăng, module này là lựa chọn hàng đầu cho các ứng dụng liên quan đến ghi và đọc thẻ RFID.

Truyền dữ liệu theo giao thức spi

 Điện áp hoạt động: 3.3V 13-26mA

 Dòng tiêu thụ ở chế độ Stand by: 3.3V 10-13mA

 Sleep-mode:

Ngày đăng: 27/11/2021, 23:42

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Xu hướng IoT - Thiết kế hệ thống nhà xưởng thông minh
Hình 1.1 Xu hướng IoT (Trang 13)
Hình 2.3: Máy tính RaspberryPi B+ - Thiết kế hệ thống nhà xưởng thông minh
Hình 2.3 Máy tính RaspberryPi B+ (Trang 29)
Hình 2.4: Sơ đồ chân GPIO RaspberryPi B+ 2.6.2 Giới thiệu về cảm biến nhiệt độ và độ ẩm dht22  - Thiết kế hệ thống nhà xưởng thông minh
Hình 2.4 Sơ đồ chân GPIO RaspberryPi B+ 2.6.2 Giới thiệu về cảm biến nhiệt độ và độ ẩm dht22 (Trang 30)
Hình 2.10 Truyền dữ liệu SPI - Thiết kế hệ thống nhà xưởng thông minh
Hình 2.10 Truyền dữ liệu SPI (Trang 35)
Hình 2.16: Mạch điều khiển - Thiết kế hệ thống nhà xưởng thông minh
Hình 2.16 Mạch điều khiển (Trang 40)
Hình 3.1: Sơ đồ khối hệ thống 3.1.2 Sơ lược về hệ thống và mục đích thiết kế  - Thiết kế hệ thống nhà xưởng thông minh
Hình 3.1 Sơ đồ khối hệ thống 3.1.2 Sơ lược về hệ thống và mục đích thiết kế (Trang 41)
Cấu hình các chân điều khiển input output,cấu  hình trạng thái thiết  bị,khai báo biến toàn cục - Thiết kế hệ thống nhà xưởng thông minh
u hình các chân điều khiển input output,cấu hình trạng thái thiết bị,khai báo biến toàn cục (Trang 43)
Hình 3.6: Giải thuật Python chương trình con ct_taomang2() - Thiết kế hệ thống nhà xưởng thông minh
Hình 3.6 Giải thuật Python chương trình con ct_taomang2() (Trang 45)
Hình 3.5: Giải thuật Python chương trình con ct_taomang1() - Thiết kế hệ thống nhà xưởng thông minh
Hình 3.5 Giải thuật Python chương trình con ct_taomang1() (Trang 45)
Truy vấn sql bảng thongtinnv - Thiết kế hệ thống nhà xưởng thông minh
ruy vấn sql bảng thongtinnv (Trang 46)
Truy vấn sql bảng CAI_DAT - Thiết kế hệ thống nhà xưởng thông minh
ruy vấn sql bảng CAI_DAT (Trang 47)
Hình 3.11: Giải thuật Python chương trình con dk_den() - Thiết kế hệ thống nhà xưởng thông minh
Hình 3.11 Giải thuật Python chương trình con dk_den() (Trang 51)
Hình 3.1 2: Giải thuật Python chương trình con dk_loa() - Thiết kế hệ thống nhà xưởng thông minh
Hình 3.1 2: Giải thuật Python chương trình con dk_loa() (Trang 52)
Hình 3.15: Giao diện PuTTY - Thiết kế hệ thống nhà xưởng thông minh
Hình 3.15 Giao diện PuTTY (Trang 55)
Hình 3.17: Sơ đồ khối database - Thiết kế hệ thống nhà xưởng thông minh
Hình 3.17 Sơ đồ khối database (Trang 56)
Bảng 3.4: Bảng mô tả cấu trúc của bảng dữ liệu QUANLY_NV - Thiết kế hệ thống nhà xưởng thông minh
Bảng 3.4 Bảng mô tả cấu trúc của bảng dữ liệu QUANLY_NV (Trang 58)
 Bảng DK_DONGCO - Thiết kế hệ thống nhà xưởng thông minh
ng DK_DONGCO (Trang 59)
Hình 3.18: Sơ đồ khối hoạt động của trang login - Thiết kế hệ thống nhà xưởng thông minh
Hình 3.18 Sơ đồ khối hoạt động của trang login (Trang 60)
tới bảng QUANLY_NV và  THONGTIN_NV - Thiết kế hệ thống nhà xưởng thông minh
t ới bảng QUANLY_NV và THONGTIN_NV (Trang 63)
Chương trình thêm một nhân viên mới vào bảng thông tin nhân viên Sơ đồ khối trang chinhsua  - Thiết kế hệ thống nhà xưởng thông minh
h ương trình thêm một nhân viên mới vào bảng thông tin nhân viên Sơ đồ khối trang chinhsua (Trang 66)
Chương trình sửa thông tin nhân viên và update lại vào bảng thông tin nhân viên  - Thiết kế hệ thống nhà xưởng thông minh
h ương trình sửa thông tin nhân viên và update lại vào bảng thông tin nhân viên (Trang 67)
Kết nối tới csdlsql Tạo bảng cài đặt - Thiết kế hệ thống nhà xưởng thông minh
t nối tới csdlsql Tạo bảng cài đặt (Trang 68)
Hình 4.1:Kết nối raspberry với dht22 - Thiết kế hệ thống nhà xưởng thông minh
Hình 4.1 Kết nối raspberry với dht22 (Trang 70)
Hình 4.2:Kết nối raspberry với module rc522 - Thiết kế hệ thống nhà xưởng thông minh
Hình 4.2 Kết nối raspberry với module rc522 (Trang 71)
Bảng 4.3:kết nối raspberry với MQ2 - Thiết kế hệ thống nhà xưởng thông minh
Bảng 4.3 kết nối raspberry với MQ2 (Trang 72)
Bảng 4.4:kết nối raspberry với quan trở - Thiết kế hệ thống nhà xưởng thông minh
Bảng 4.4 kết nối raspberry với quan trở (Trang 73)
Hình 5.2: Màn hình đăng nhập WebServer - Thiết kế hệ thống nhà xưởng thông minh
Hình 5.2 Màn hình đăng nhập WebServer (Trang 76)
chúng ta truy cập vào màn hình đăng nhập. - Thiết kế hệ thống nhà xưởng thông minh
ch úng ta truy cập vào màn hình đăng nhập (Trang 76)
Hình 5.6: Màn hình trang chinhsua - Thiết kế hệ thống nhà xưởng thông minh
Hình 5.6 Màn hình trang chinhsua (Trang 79)
Hình 5.9: Hệ thống thực tế - Thiết kế hệ thống nhà xưởng thông minh
Hình 5.9 Hệ thống thực tế (Trang 82)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w