Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN 1


o0o

BÁO CÁO BÀI TẬP LỚN


Hệ thống giám sát và cảnh báo độ ẩm đất - ESP8266

Môn học: Xây dựng các hệ thống nhúng


Số thứ tự nhóm: 16

Đoàn Văn Bình MSSV: B19DCCN066


Bùi Khắc Phong MSSV: B19DCCN497
Vũ Đức Mạnh MSSV: B19DCCN425

Giảng viên hướng dẫn: Đinh Xuân Trường

HÀ NỘI, 05/2023
LỜI CẢM ƠN

Lời cảm ơn của nhóm sinh viên (SV) tới người yêu, gia đình, bạn bè, thầy cô, và
chính bản thân nhóm vì đã chăm chỉ và quyết tâm thực hiện Bài tập lớn Môn ABC
để đạt kết quả tốt nhất, nên viết phần cảm ơn ngắn gọn, tránh dùng các từ sáo rỗng,
giới hạn trong khoảng 100-150 từ.
TÓM TẮT NỘI DUNG ĐỒ ÁN

Sinh viên viết tóm tắt Đề tài Bài tập lớn của nhóm mình trong mục này, với 200
đến 350 từ. Theo trình tự, các nội dung tóm tắt cần có: (i) Giới thiệu đề tài (tại sao
lựa chọn đề tài đó về mặt ứng dụng và mặt kỹ thuật), (ii) Nội dung chính của đề
tài Bài tập lớn như các yêu cầu cần thực hiện, phần cứng hệ thống, phần mềm hệ
thống, và phương pháp thực hiện, (iii) Kết quả đạt được sau cùng là gì. Sinh viên
cần viết thành đoạn văn, không được viết ý hoặc gạch đầu dòng.
MỤC LỤC

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI ......................................................... 1

1.1 Đặt vấn đề............................................................................................ 1

1.2 Các giải pháp hiện tại và hạn chế ........................................................... 1

1.3 Mục tiêu và định hướng giải pháp .......................................................... 1

1.4 Đóng góp của bài tập lớn ....................................................................... 1

1.5 Bố cục bài tập lớn ................................................................................. 1

CHƯƠNG 2. NỘI DUNG ĐỀ TÀI............................................................ 2

2.1 Yêu cầu của hệ thống ............................................................................ 2

2.2 Thành phần phần cứng .......................................................................... 2

2.3 Thành phần phần mềm .......................................................................... 5

2.4 Các phương pháp thực hiện và kết quả .................................................... 6

CHƯƠNG 3. KẾT LUẬN ........................................................................ 7

3.1 Kết luận ............................................................................................... 7

3.2 Hướng phát triển trong tương lai ............................................................ 7

TÀI LIỆU THAM KHẢO......................................................................... 8


DANH MỤC HÌNH VẼ

i
DANH MỤC BẢNG BIỂU

ii
DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT

Thuật ngữ Ý nghĩa


API Giao diện lập trình ứng dụng
(Application Programming Interface)
EUD Phát triển ứng dụng người dùng
cuối(End-User Development)
GWT Công cụ lập trình Javascript bằng Java
của Google (Google Web Toolkit)
HTML Ngôn ngữ đánh dấu siêu văn bản
(HyperText Markup Language)
IaaS Dịch vụ hạ tầng

iii
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

1.1 Đặt vấn đề


1.2 Các giải pháp hiện tại và hạn chế
1.3 Mục tiêu và định hướng giải pháp
1.4 Đóng góp của bài tập lớn
1.5 Bố cục bài tập lớn

1
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI

2.1 Yêu cầu của hệ thống


Hệ thống tưới tự động là hệ thống tưới cây thông minh gồm 3 chế độ chức năng
cho người dùng lựa chọn:
• Bật tắt hệ thống tưới nước theo yêu cầu của người sử dụng thông qua ứng dụng
trên điện thoại
• Hệ thống tự động tưới cây khi kết quả độ ẩm nhận được gửi về nhỏ hơn ngưỡng
được cài đặt
• Đặt lịch cho hệ thống tự động tưới theo khoảng thời gian, sau một khoảng thời
gian được cài đặt sẽ tự động bật và tưới trong 10 phút
...
2.2 Thành phần phần cứng
Các thành phần phần cứng sử dụng gồm có: - Esp8266: là nodeMCU được phát
triển dựa trên Chip Wifi esp8266 bên trong module esp-12e để kết nối với wifi.
Board tích hợp IC CP2102 giúp kết nối với máy tính thông qua cổng USB. Qua đó,
người phát triển hệ thống nhúng dễ dàng sử dụng thông qua kết nối Wifi.
Thông số kỹ thuật esp8266: 11 b/g/n protocol,Wi-Fi Direct (P2P), soft-AP,Integrated
TCP/IP protocol stack ,Built-in low-power 32-bit CPU, SDIO 2.0, SPI, UART
Ứng dụng của module esp8266: Tạo một web server,Gửi các HTTP requests,Điều
khiển các tín hiệu đầu ra,Đọc các tín hiệu đầu vào và các tín hiệu ngắt,Gửi emails,...
Các chân và chức năng:

Trong esp8266 số GPIO không khớp với các nhãn được in trên bo mạch
Nhãn D0(GPIO16) input: không gián đoạn, output không hỗ trợ PWM hoạc 12C,
ở mức cao khi khởi động, sử dụng để đánh thức khi ngủ sâu

2
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI

Nhãn D1(GPIO5) input: OK, output OK, thường được sử dụng như SCL(12C)
Nhãn D2(GPIO4) input: OK, output OK, thường được sử dụng nhứu SDA(12C)
Nhãn D3(GPIO0) input: pulled up, output OK, kết nối với nút Flash, khởi động
không thành công nếu pulled LOW
Nhãn D4(GPIO2) input: pulled up, output OK, mức cao khi khởi động, kết nối với
đèn led trên bo mạch, khởi động không thành công nếu pulled LOW
Nhãn D5(GPIO14) input: OK, output OK, SPI(SCLK)
Nhãn D6(GPIO12) input: OK, output OK, SPI(MISG)
Nhãn D7(GPIO13) input: OK, output OK, SPI(MOSI)
Nhãn D8(GPIO15) input: pulled to GND, output OK,SPI(CS), khởi động không
thành công nếu pulled up
Nhãn RX(GPIO3) input: OK, output chân RX, mức cao khi khởi động
Nhãn TX(GPIO1) input: chân TX, output OK, mức cao khi khởi động, đầu ra gỡ
lỗi khi khởi động, khởi động không thành công nếu pulled LOW
Nhãn A0(ADC0) input: analog input, output không hỗ trợ
Lưu ý:
GPIO6 tới GPIO11 thường được sử dụng để kết nối với flash chip trong các bo
ESP8266. Vì vậy, những chân này không được khuyến khích sử dụng cho các mục
đích khác.
Có thể ngăn cản quá trình Boot xẩy ra trên ESP8266 nếu một trong các chân sau
được thiết lập ở mức LOW hoặc HIGH. Danh sách sau miêu tả trạng thái các chân
trong quá trình BOOT. • GPIO16: chân ở mức high trong quá trình BOOT • GPIO0:
Boot lỗi nếu chân ở mức LOW • GPIO2: chân ở mức high trong quá trình BOOT,
boot lỗi nếu chân ở mức LOW • GPIO15: boot lỗi nếu chân ở mức HIGH • GPIO3:
chân ở mức high trong quá trình BOOT • GPIO1: chân ở mức high trong quá trình
BOOT, boot lỗi nếu chân ở mức LOW • GPIO10: chân ở mức high trong quá trình
BOOT • GPIO9: chân ở mức high trong quá trình BOOT
Các chân ở mức HIGH trong quá trình BOOT • GPIO16 • GPIO3 • GPIO1 •
GPIO10 • GPIO9
Ngoài ra, các chân GPIO khác, ngoại trừ GPIO5 và GPIO4, có thể phát ra tín hiệu
điện áp thấp trong qua trình boot. Điều này có thể gây ra những vấn đề rắc rối nếu
những chân này kết nối tới các transistor hoặc relay.
Analog Input ESP8266 chỉ hỗ trợ đọc tín hiệu analog trên một chân GPIO. Chân
GPIO này được gọi là ADC0 và nó thường được gắn nhãn là A0. Điện áp đầu vào
lớn nhất của chân ADC0 từ 0 tới 1V nếu bạn đang sử dụng chip ESP8266 để trần
(Chip chưa gắn các linh kiện bổ trợ). Nếu bạn đang sử dụng một bo phát triển như
như ESP8266 12-E NodeMCU, điện áp đầu vào sẽ vào khoảng từ 0 tới 3.3V bởi

3
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI

vì những bo này đã chứa một bộ phân chia điện áp bên trong cho chip. LED tích
hợp trên bo Hầu hết các bo phát triển của ESP8266 có một LED đã được tích hợp
sẵn. LED này thường được kết nối tới chân GPIO2. LED được kết nối tới một điện
trở pull-down, vì vậy khi bạn gửi một tín hiệu mức HIGH, LED sẽ tắt. Chân RST
Khi chân RST được thiết lập ở trạng thái LOW, ESP8266 sẽ reset. Điều này tương
đượng với việc bạn ấn nút RESET được tích hợp trên các bo phát triển. GPIO0 Khi
chân GPIO0 được thiết lập ở trạng thái LOW, nó sẽ kích hoạt chế độ bootloader cho
ESP8266. Điều này tương đương với việc bạn ấn nút FLASH/BOOT được tích hợp
trên các bo phát triển. GPIO16 GPIO16 có thể được sử dụng để đánh thức ESP8266
khi nó đang ở trạng thái deep sleep (ngủ sâu). Để đánh thức ESP8266 từ chế độ
deep sleep, GPIO16 nên kết nối tới chân RST. I2C ESP8266 không hỗ trợ về mặt
phần cứng cho giao thức I2C, tuy nhiên chúng ta có thể lập trình cho nó bằng phần
mềm. Vì vậy bạn có thể sử dụng bất cứ chân GPIO nào cho I2C. Thông thường
các chân sau được sử dụng như là các chân I2C: GPIO5: SCL GPIO4: SDA SPI
Những chân được sử dụng như là các chân SPI: GPIO12: MISO GPIO13: MOSI
GPIO14: SCLK GPIO15: CS Các chân PWM ESP8266 cho phép lập trình PWM
bằng phần mềm trên tất cả các chân I/O: GPIO0 tới GPIO16. Các tín hiệu PWM
trên ESP8266 có độ phân giải 10 bit.
Các chân Interrupt (Ngắt) ESP8266 hỗ trợ các chế độ interrupt trên bất cứ chân
GPIO nào, trừ chân GPIO16.
- Board test: sử dụng để cắm các thành phần phần cứng

- Relay: là một công tắc điện từ để điều khiển bật tắt máy bơm. Nếu hệ thống tắt
thì Relay báo đèn đỏ, nếu hệ thống báo bật thì relay báo đèn xanh. Relay được sử
dụng để thông báo trạng thái bật tắt nên tiện cho người phát triển quan sát.

4
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI

- Đèn Led: Led để hiển thị chế độ của hệ thống đang hoạt động: độ ẩm thấp,
trung bình, cao. Hệ thống sử dụng ba đèn để hiển thị ba mức độ ẩm, thuận tiện cho
người phát triển quan sát.
- Cảm biến độ ẩm: cảm biến đo độ ẩm đất hoạt động với điện áp 3.3 – 12VDC.
Tín hiệu đầu ra Analog theo điện áp cấp nguồn tương ứng hoặc Digital (High hoặc
Low) có thể điều chỉnh độ ẩm mong muốn bằng biến trở thông qua mạch so sánh
tích hợp. Cảm biến giúp đo độ ẩm đất và gửi về bộ xử lý.

- Các dây nối


2.3 Thành phần phần mềm
+ Blynk app: Cho phép điều khiển phần cứng từ xa, nó có thể hiển thị dữ liệu
cảm biến, lưu trữ dữ liệu, ảo hóa và làm nhiều thứ khác. Có ba thành phần chính:
- Ứng dụng Blynk : cho phép bạn tạo các giao diện tuyệt vời cho các dự án của
mình bằng các tiện ích khác nhau. - Máy chủ Blynk : chịu trách nhiệm về tất cả các
giao tiếp giữa điện thoại thông minh và phần cứng.Có thể sử dụng Đám mây Blynk

5
CHƯƠNG 2. NỘI DUNG ĐỀ TÀI

hoặc chạy cục bộ máy chủ Blynk . Đây là mã nguồn mở, có thể dễ dàng xử lý hàng
nghìn thiết bị và thậm chí có thể khởi chạy trên Raspberry Pi. - Thư viện Blynk :
dành cho tất cả các nền tảng phần cứng phổ biến - cho phép giao tiếp với máy chủ
và xử lý tất cả các lệnh đến và đi.

2.4 Các phương pháp thực hiện và kết quả


Tiêu đề và nội dung của chương này sẽ thay đổi tuỳ thuộc vào từng BTL. Chú ý
trình bày những kiến thức có liên quan mật thiết nhất đối với BTL của mình, Tránh
trình bày lan man những kiến thức phổ thông không cần thiết.

6
CHƯƠNG 3. KẾT LUẬN

3.1 Kết luận


Sinh viên nhắc lại các vấn đề mà đồ án đã giải quyết được, cũng như những vấn
đề còn tồn đọng của BTL.
3.2 Hướng phát triển trong tương lai
Sinh viên đề xuất hướng phát triển trong tương lai (nếu có) .

7
PHỤ LỤC

You might also like