Tải bản đầy đủ (.docx) (31 trang)

(TIỂU LUẬN) báo cáo bài tập chủ đề thiết kế hệ thống thông gió điều khiển từ xa

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 (4.36 MB, 31 trang )

1


BÁO CÁO BÀI TẬP
Chủ đề :
Thiết kế hệ thống thông gió điều khiển từ xa
Giảng viên hướng dẫn: Ts. Ngơ Thanh Bình
Sinh viên:

Đặng Đồng Tuấn Anh - 181413497

Giáp Kim Anh - 181401811
Nguyễn Trọng Lâm - 1814000398
Bùi Trọng Nghĩa - 181412037
Phạm Minh Phương - 181401833
Lớp :

Kỹ thuật Điện tử & Tin học Công nghiệp 1 - K59

Môn

:

Thiết kế Hệ thống Nhúng

2


I. Phân tích yêu cầu đề bài
II. Lý thuyết chung
BI.



Phần cứng

IV. Phần mềm

3


I.

1)

Phân tích yêu cầu đề bài
Ý tưởng

Xây dựng hệ thống nhúng sử dụng vi xử lý ESP32 ứng dụng trong điều khiển cách ly thu thập dữ liệu qua mạng wifi.

2) Mục tiêu
Xây dựng được mạch thu thập dữ liệu và điều khiển relay từ xa hướng tới ứng dụng trong hệ thống thơng gió trong sinh hoạt.

3) Hướng phát triển
Phát triển thêm các chức năng điều khiển đèn, điều hòa
Xây dựng hệ thống báo cháy
Ứng dụng thêm vào mạng Lora, ESP-Now
...

4


AI.


Lý thuyết chung

1)

Cơ sở lý thuyết

2)

Các giao thức
Giao thức HTTP
- HTTP là tên viết tắt của cụm từ HyperText Transfer Protocol - giao thức truyền tải siêu văn bản, được sử dụng
trong www dùng để truyền tải dữ liệu giữa Web server đến các trình duyệt Web và ngược lại.
- HTTP lần đầu được giới thiệu vào những năm 90. Cho đến ngày nay, nó khơng ngừng được mở rộng và chiếm
một vị trí rất quan trọng trong thế giới Internet. HTTP được coi như là một giao thức ứng dụng của bộ các giao
thức nền tảng cho Internet TCP/IP. Nó cũng có thể được gửi thơng qua kết nối TCP được mã hóa TLS.
a)

5


AI.

b)
-

Lý thuyết chung

Cấu trúc cơ bản của HTTP
Cấu trúc hoạt động của HTTP rất đơn giản và dễ hiểu. HTTP là

một nền tảng cho phép sự giao tiếp giữa 2 phía là Client và
Server. Client ở đây là người dùng, thường truy cập vào HTTP
thông qua một công cụ bất kỳ như trình duyệt web. Cịn Server
sẽ đại diện cho phía website, đằng sau giao diện web gồm có
kịch bản phản ứng từ máy chủ và cơ sở dữ liệu.

Quá trình giao tiếp của Client và Server sẽ dựa trên các
message độc lập. Đầu tiên, phía khách hàng sẽ gửi một
message đến cho máy chủ, thường là các yêu cầu lợi ích
khiến khách hàng truy cập website này. Sau khi tiếp
nhận yêu cầu và xử lý, máy chủ sẽ trả lại một message
được gọi là phản hồi.
-

6


AI.

d)

Lý thuyết chung

Giao thức WebSocket
Websocket là giao thức hỗ trợ giao tiếp hai chiều giữa client và server để
tạo một kết nối trao đổi dữ liệu. Giao thức này không sử dụng HTTP mà
thực hiện nó qua TCP. Mặc dù được thiết kế để chuyên sử dụng cho các
ứng dụng web, lập trình viên vẫn có thể đưa chúng vào bất kì loại ứng
dụng nào.


Ưu điểm: WebSocket cung cấp giao thức giao tiếp hai chiều
mạnh mẽ. Nó có độ trễ thấp và dễ xử lý lỗi. Websocket thường
được sử dụng cho những trường hợp yêu cầu real time như
chat, hiển thị biểu đồ hay thơng tin chứng khốn.
Cấu trúc WebSocket
7


BI.

1)

Phần cứng

Linh kiện sử dụng trong mạch
1 Kit Arduino Wifi BLE SoC ESP32 WeMos D1 R32
1 LCD keypad shield 1602
1 Module relay 1 kênh 5V10A RL1-0510
1 cảm biến nhiệt độ, độ ẩm DTH11
1 bộ nguồn adapter 12V
Điện thoại và máy tính

8


BI.

a)

Phần cứng


Giới thiệu về ESP32

ESP32 là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp có hỗ trợ WiFi và dual-mode Bluetooth (tạm
dịch: Bluetooth chế độ kép). Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6 ở cả hai biến thể lõi kép và lõi đơn, và bao
gồm các công tắc antenna tích hợp, RF balun, bộ khuếch đại cơng suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý
năng lượng.
Nhà chế tạo
Loại
Ngày ra mắt
CPU
Bộ nhớ
Năng lượng
Sản phẩm trước
Sản phẩm sau
9


BI.

a)

Phần cứng

Giới thiệu về ESP32

Sơ đồ chân ESP32

Sơ đồ khối chức năng của ESP32
10



BI.

Phần cứng

Hệ thống xung nhịp:
CPU Clock, RTC Clock và Audio PLL Clock
Bộ nhớ nội:
o
448 KB bộ nhớ ROM cho việc booting và các tính năng
lõi
o
520 KB bộ nhớ SRAM trên chip cho dữ liệu và tập lệnh
Kết nối không dây:
o
Wi-Fi: 802.11 b/g/n
o
Bluetooth: v4.2 BR/EDR và BLE (chia sẻ sóng vơ
tuyến với Wi-Fi)

Kit ESP32 của hãng: WeMos model: Arduino uno
11


BI.

Phần cứng

34 GPIO pad vật lý với các ngoại vi:

o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o

ADC SAR 12 bit, 18 kênh
DAC 2 × 8-bit
10 touch sensor
3 SPI (SPI, HSPI và VSPI)
2 I²S
2 I²C
3 UART (UART0, UART1, UART2) với tốc độ lên đến 5 Mbps
SD/SDIO/CE-ATA/MMC/eMMC host controller
SDIO/SPI slave controller
Ethernet MAC interface cho DMA và IEEE 1588 Precision Time Protocol (tạm dịch: Giao thức thời gian chính xác IEEE 1588)
CAN bus 2.0
Bộ điều khiển hồng ngoại từ xa (TX/RX, lên đến 8 kênh)
PWM cho điều khiển động cơ

LED PWM (lên đến 16 kênh)
Cảm biến hiệu ứng Hall
Bộ tiền khuếch đại analog công suất cực thấp (Ultra low power analog pre-amplifier)

12


III. Phần cứng

Bảo mật:
o
o
o
o
o

Hỗ trợ tất cả các tính năng bảo mật chuẩn IEEE 802.11
Secure boot (tạm dịch: khởi động an tồn)
Mã hóa flash
1024-bit OTP, lên đến 768-bit cho khách hàng
Tăng tốc mã hóa phần cứng: AES, SHA-2, RSA, elliptic curve
cryptography (ECC - mật mã đường cong ellip), trình tạo số
ngẫu nhiên (random number generator - RNG)

Quản lý năng lượng:
o
o
o
o


Bộ ổn áp nội với điện áp rơi thấp (internal low-dropout regulator)
Miền nguồn riêng (individual power domain) cho RTC
Dòng 5μA cho chế độ deep sleep
Trở lại hoạt động từ ngắt GPIO, timer, đo ADC, ngắt với cảm
ứng điện dung.

13


BI.

b)

Phần cứng

Giới thiệu 1602 LCD Keypad Shield

LCD1602 Keypad Shield được phát triển và tương thích với các board Arduino, nhằm tạo một giao diện người dùng thân
thiện, cho phép người dùng đơn giản hóa q trình điều chỉnh và làm mạch.
Thông số kỹ thuật
LCD1602 Keypad Shield hoạt động ở điện áp 5V.
Bao gồm LCD 2×16 và 6 nút nhấn.
Sử dụng chân 4,5,6,7,8,9,10 và chân A0 của
Arduino để giao tiếp với LCD.
Không cần sử dụng chân 10 sau khi LCD đã được kết
nối.
Đèn nền xanh dương với chứ màu trắng.
Sử dụng thư viện LCD 4bit.
Điều chỉnh độ sáng đèn nền qua biến trở.
14



III. Phần cứng
Sơ đồ chân LCD1602 Keypad Shield
Chân

Chức năng

Digital4

DB4

Digital5

DB5

Digital6

DB6

Digital7

DB7

Digital8

RS (data or signa

Digital9


Enable

Analog0

Buttons (select, u

15


BI.

c)

Phần cứng

Module relay 1 kênh 5V10A RL1-0510
Điều khiển thiết bị qua Relay
- Tính hiệu vào điều khiển: 5VDC
- Mặc định điều khiển:

Bật 0 - Tắt 1
- Thay đổi J1, J0 để thay đổi mức điều khiển
- Đầu ra:

Tiếp điểm relay 250V 10A (khơng phải điện áp ra)

NC : Thường đóng

NO: Thường mở
- Ký hiệu nguồn:

VCC, GND là nguồn chung với điều khiển

VSS+ , VSS- là nguồn của Relay
Nếu muốn cách ly thì sử dụng 2 nguồn riêng
Nếu dùng chung nguồn, cần Jump Chốt để nối VCC -- VSS+ ;
GND -- VSS•

16


BI.

d)


Phần cứng

Cảm biến nhiệt độ, độ ẩm DTH11

Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp
1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất). Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu
chính xác mà khơng phải qua bất kỳ tính tốn nào.
Thơng số kỹ thuật:
Nguồn: 3 - 5 VDC.
Dòng sử dụng: 2.5mA max
Khoảng đo độ ẩm: 20%-90% RH (± 5%RH)
Khoảng đo nhiệt độ: 0-50°C (± 2°C)
Tần số lấy mẫu tối đa: 1Hz (1 giây / lần)
Kích thước 15mm x 12mm x 5.5mm.


17


BI.

e)

Phần cứng

Nguồn adapter 12V

Nguồn adapter 12V - 1A được thiết kế để chuyển đổi điện áp từ nguồn xoay chiều 110/220VAC thành nguồn 12VDC
để cung cấp cho các thiết bị hoạt động.
Thông số kỹ thuật
Điện áp đầu vào: AC100-240V 50 / 60HZ
Đầu cắm AC: chuẩn Hoa Kỳ
Điện áp đầu ra: DC12V
Dòng đầu ra tối đa: 1A
Tổng chiều dài nguồn ~ 1m5
Hiệu quả: > 85%
Jack cắm DC : 5.5*2.5mm (tương thích 5.5 * 2.1mm)
Trọng lượng: 215g

18


BI.

2)


Phần cứng

Sơ đồ khối phần cứng

19


BI.

3)

Phần cứng

Mạch đấu nối

Thiết
bị đấu
nối
DHT11
Relay

Sơ đồ đấu nối trên Fritzing

Mạch đấu nối thực tế
20


IV. Phần mềm
1)


Mơi trường lập trình

Visual Studio Code
• Visual Studio Code là một trình biên tập mã được phát triển bởi
Microsoft dành cho Windows, Linux và macOS. Nó hỗ trợ chức năng
debug, đi kèm với Git, có syntax highlighting, tự hồn thành mã
thơng minh, snippets, và cải tiến mã nguồn.

a)





Visual Studio Code được dựa trên Electron, một nền tảng được sử
dụng để triển khai các ứng dụng Node.js máy tính cá nhân chạy trên
động cơ bố trí Blink.
Trong cuộc khảo sát vào năm 2018 trên Stack Overflow, Visual
Studio Code được xếp hạng là trình biên tập mã phổ biến nhất.

21


IV. Phần mềm
Tính năng:
• Visual Studio Code hỗ trợ nhiều ngơn ngữ và chức
năng tùy vào ngơn ngữ sử dụng.
• Nhiều chức năng của Visual Studio Code không
hiển thị ra trong các menu tùy chọn hay giao diện
người dùng. Thay vào đó, chúng được gọi thơng

qua khung nhập lệnh hoặc qua một tập tin .json (ví
dụ như tập tin tùy chỉnh của người dùng).
• Khung nhập lệnh là một giao diện theo dịng lệnh.
Tuy nhiên, nó biến mất khi người dùng nhấp bất cứ
nơi nào khác, hoặc nhấn tổ hợp phím để tương tác
với một cái gì đó ở bên ngồi đó.

Giao diện của Visual Studio Code
22


IV. Phần mềm

Chức năng
Syntax highlighting

Snippets
Tự động hồn thành mã thơng minh CSS, HTML, JavaScript, JSON, Less, Sass, TypeScript
Cải tiến mã nguồn
Debugging
Visual Studio Code có thể được mở rộng qua plugin. Điều này giúp bổ sung thêm chức năng cho trình biên tập và hỗ trợ
thêm ngơn ngữ. Một tính năng đáng chú ý là khả năng tạo phần mở rộng để phân tích mã, như là các linter và cơng cụ phân tích,
sử dụng Language Server Protocol.
23


IV. Phần mềm
b)

Platform IO-IDE


PlatformIO là một hệ sinh thái mã
nguồn mở được viết trên Python để
phát triển IoT và là một IDE đa nền
tảng với trình gỡ lỗi hợp nhất chạy
trên Windows, Mac và Linux.

PlatformIO đi kèm với trình quản lý
thư viện cho các nền tảng như
Arduino hay MBED cùng với kiểm
thử phần mềm và cập nhật firmware.

PlatformIO hỗ trợ một số platform,
framework, board như Arduino,
ESP32, ESP8266 và đi kèm với một
số ví dụ và thư viện.
Giao diện lập trình của Platform IO trên VSCode
24


IV. Phần mềm
Những ưu điểm của PlatformIO:

PlatformIO giúp người dùng viết chương trình nhanh chóng với các tính năng như hồn tất code C/C ++ và cơng cụ
hỗ trợ viết code thông minh Linter để phát triển dự án chuyên nghiệp và nhanh chóng. Nó cũng đi kèm với điều
hướng code và định dạng code.

Trình gỡ lỗi hợp nhất với hỗ trợ cho nhiều kiến trúc và nền tảng phát triển cho phép gỡ lỗi nhiều board nhúng với
Zero-Configuration. Trình gỡ lỗi có các tính năng như điểm ngắt có điều kiện (Conditional Breakpoint), biểu thức
(Expression) và điểm theo dõi (Watchpoint), trình xem bộ nhớ (Memory Viewer), khởi động lại nóng phiên gỡ lỗi

đang hoạt động.

PlatformIO Core được viết bằng Python và hoạt động trên Windows, macOS, Linux, FreeBSD và thậm chí cả các máy
tính có kích thước nhỏ dựa trên ARM như Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, v.v...

25


×