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

Thiết kế và thi công mô hình vườn thông minh

102 24 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 102
Dung lượng 7,03 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thu thập thông số của hệ thống và điều khiển hoạt động của hệ thống qua App trên điện thoại di động sử dụng công nghệ truyền thông mạng Wifi.. Chính vì thế, nhóm lựa chọn đề tài THIẾT KẾ

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

THIẾT KẾ VÀ THI CÔNG MÔ HÌNH

VƯỜN THÔNG MINH

GVHD:TRƯƠNG NGỌC HÀ SVTH: PHAN HỮU PHƯỚC MSSV: 14141508

SVTH: BÙI ĐỨC SANG MSSV: 14141514

SKL 0 0 6 5 4 5

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

-

ĐỒ ÁN TỐT NGHIỆP

Đề tài:

Tp Hồ Chí Minh, tháng 07 năm 2018

THIẾT KẾ VÀ THI CÔNG MÔ HÌNH

VƯỜN THÔNG MINH

SVTH : PHAN HỮU PHƯỚC

Trang 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

-

ĐỒ ÁN TỐT NGHIỆP

Đề tài:

THIẾT KẾ VÀ THI CÔNG MÔ HÌNH

VƯỜN THÔNG MINH

SVTH : PHAN HỮU PHƯỚC

Trang 4

Tp Hồ Chí Minh, ngày 21 tháng 7 năm 2017

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Họ và tên sinh viên: Phan Hữu Phước MSSV: 14141508

Họ và tên sinh viên: Bùi Đức Sang MSSV: 14141514

Ngành: Công nghệ kỹ thuật điện tử truyền thông Lớp: 14141CL-VT

Giảng viên hướng dẫn: ThS Trương Ngọc Hà ĐT: 0903698741

Ngày nhận đề tài: 22/2/2018 Ngày nộp đề tài: 19/07/2018

1 Tên đề tài: Thiết kế và thi công mô hình vườn thông minh

2 Các số liệu, tài liệu ban đầu: Đồ án môn học 2: Thiết kế và thi công hệ thống vườn rau thực tế ảo

3 Nội dung thực hiện đề tài: Thiết kế và xây dựng hệ thống vườn thông minh qua việc giám sát nhiệt độ, độ ẩm không khí, độ ẩm đất và điều khiển máy bơm để tưới nước Thu thập thông số của hệ thống và điều khiển hoạt động của hệ thống qua App trên điện thoại di động sử dụng công nghệ truyền thông mạng Wifi

4 Sản phẩm: Mô hình hệ thống vườn thông minh gồm hệ thống khung trượt điều khiển máy bơm và khối xử lý trung tâm thu thập dữ liệu và điều khiển thông qua App trên điện thoại di động chạy hệ điều hành Android thông qua hệ thống Wifi

GIẢNG VIÊN HƯỚNG DẪN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc ***

Trang 5

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên sinh viên: Phan Hữu Phước MSSV: 14141508

Họ và tên sinh viên: Bùi Đức Sang MSSV: 14141514

Ngành: Công nghệ kỹ thuật điện tử truyền thông

Tên đề tài: Thiết kế và thi công mô hình vườn thông minh

Họ và tên Giáo viên hướng dẫn: ThS Trương Ngọc Hà

NHẬN XÉT

1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:……….(Bằng chữ: )

Tp Hồ Chí Minh, ngày tháng 07 năm 2018 Giáo viên hướng dẫn CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc

Trang 6

*** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên sinh viên: Phan Hữu Phước MSSV: 14141508

Họ và tên sinh viên: Bùi Đức Sang MSSV: 14141514

Ngành: Công nghệ kỹ thuật điện tử truyền thông

Tên đề tài: Thiết kế và thi công mô hình vườn thông minh

Họ và tên Giáo viên phản biện:

NHẬN XÉT 1 Về nội dung đề tài & khối lượng thực hiện:

2 Ưu điểm:

3 Khuyết điểm:

4 Đề nghị cho bảo vệ hay không?

5 Đánh giá loại:

6 Điểm:……….(Bằng chữ: )

Tp Hồ Chí Minh, ngày tháng 07 năm 2018 Giáo viên phản biện CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc

Trang 7

*** LỜI CẢM ƠN

Để có thể hoàn thành đề tài này, nhóm sinh viên thực hiện xin chân thành cảm

ơn quý thầy cô Trường ĐH Sư phạm Kỹ thuật TP.Hồ Chí Minh đã hướng dẫn, truyền đạt kiến thức cho nhóm trong suốt quá trình học tập Đặc biệt, nhóm xin chân thành

cảm ơn Thầy Trương Ngọc Hà đã tận tình hướng dẫn và tạo điều kiện thuận lợi cho

nhóm trong suốt thời gian thực hiện đồ án tốt nghiệp Nhóm xin được phép gửi đến thầy lòng biết ơn, lời cảm ơn chân thành và sâu sắc nhất

Bên cạnh đó, nhóm cũng xin cảm ơn các anh, chị khóa trước cũng như các bạn sinh viên trong lớp 14141CL-VT đã nhiệt tình đóng góp ý kiến và chia sẻ kinh nghiệm , cảm ơn gia đình đã tạo điều kiện, động viên, chia sẻ và tiếp thêm động lực để giúp nhóm có thể hoàn thành đề tài này

Cuối cùng, dù đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra đảm bảo thời hạn nhưng do kiến thức có hạn nên trong quá trình thực hiện đề tài không tránh khỏi những thiếu sót Nhóm rất mong nhận được ý kiến đóng góp của quý thầy cô và các bạn để đồ án được hoàn thiện hơn

Nhóm xin chân thành cảm ơn!

Phan Hữu Phước – Bùi Đức Sang

Trang 8

LỜI NÓI ĐẦU

Công nghệ ngày càng phát triển đòi hỏi nhu cầu ứng dụng vào mọi lĩnh vực đặc biệt là nông nghiệp truyền thống nhằm giảm lao động, tăng năng suất cây trồng… đem lại hiệu quả cao cho nền nông nghiệp trong thời kì mới

Việc ứng dụng nông nghiệp thông minh là một trong những giải pháp cấp bách

để bảo đảm an ninh lương thực và chất lượng nông sản phục vụ toàn cầu trong bối cảnh tình trạng xung đột và bất ổn, dịch bệnh và biến đổi khí hậu đang diễn biến ngày càng phức tạp, khó lường

Chính vì thế, nhóm lựa chọn đề tài THIẾT KẾ VÀ THI CÔNG MÔ HÌNH VƯỜN THÔNG MINH nhằm tìm hiểu thêm về sự quan trọng cũng như ứng dụng của vi xử lý, Web Server và mạng Wifi trong đời sống nhằm đáp ứng nhu cầu cấp thiết của xã hội

Bên cạnh việc kiểm soát các thông số về nhiệt độ và độ ẩm môi trường là những thông số ảnh hưởng trực tiếp đến vườn rau, việc giám sát hoạt động của hệ thống là rất cần thiết để có thể nắm bắt kịp thời các thông số của hệ thống, điều khiển

hệ thống hoạt động một cách hiệu quả nhất thông qua mạng Internet

Trang 9

MỤC LỤC

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii

LỜI CẢM ƠN iv

LỜI NÓI ĐẦU v

MỤC LỤC vi

DANH MỤC CÁC TỪ VIẾT TẮT ix

DANH MỤC CÁC BẢNG BIỂU x

DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH ẢNH xi

CHƯƠNG 1: TỔNG QUAN 1

1.1 GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY 1

1.1.1 Đặt vấn đề 1

1.1.2 Tính cấp thiết của đề tài 2

1.2 MỤC TIÊU NGHIÊN CỨU 3

1.3 ĐỐI TƯỢNG NGHIÊN CỨU 3

1.4 PHẠM VI NGHIÊN CỨU 3

1.5 BỐ CỤC ĐỒ ÁN 3

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 5

2.1 GIỚI THIỆU VI ĐIỀU KHIỂN ARDUINO UNO 5

2.1.1 Sơ lược về ARDUINO UNO R3 5

2.1.2 Thông số kỹ thuật 5

2.1.3 Các chức năng cơ bản của Arduino Uno R3 6

2.2 ESP8266 VÀ MODULE NODEMCU v1.0 6

2.2.1 Giới thiệu ESP8266 6

2.2.2 Thông số kỹ thuật 7

2.2.3 Chức năng của module ESP8266 7

2.2.4 NodeMCU v1.0 8

2.3 MUDULE ĐIỀU KHIỂN ĐỘNG CƠ L298N 9

2.3.1 Giới thiệu 9

Trang 10

2.3.2 Thông số kỹ thuật 10

2.4 MODULE RELAY 10

2.4.1 Giới thiệu 10

2.4.2 Thông số kỹ thuật 11

2.5 ĐỘNG CƠ BƯỚC 11

2.5.1 Giới thiệu 11

2.5.2 Cách điều khiển động cơ bước 11

2.5.3 Các loại động cơ bước 12

2.6 CẢM BIẾN DHT11 13

2.6.1 Giới thiệu 13

2.6.2 Thông số kỹ thuật 13

2.7 CẢM BIẾN ĐỘ ẨM ĐẤT 13

2.7.1 Giới thiệu 13

2.7.2 Thông số kỹ thuật 14

2.8 CẢM BIẾN QUANG TRỞ 14

2.8.1 Giới thiệu 14

2.8.2 Thông số kỹ thuật 15

2.9 NGUỒN 15

2.10 CHUẨN GIAO TIẾP 1-WIRE 16

2.10.1 Giới thiệu 16

2.10.2 Nguyên lý hoạt động 16

2.11 CHUẨN GIAO TIẾP UART 18

2.11.1 Giới thiệu 18

2.11.2 Các thông số cơ bản của chuẩn truyền UART 20

2.12 GOOGLE FIREBASE 20

2.12.1 Giới thiệu 20

2.12.2 Các chức năng chính của Google Firebase 21

2.12.3 Những lợi ích từ Google Firebase 21

2.12.4 Cách tạo project trên Firebase 22

2.13 PHƯƠNG PHÁP XÂY DỰNG WEB SERVER 24

2.13.1 Phần mềm hỗ trợ lập trình Web Server 24

Trang 11

2.13.2 Ngôn ngữ HTML 25

2.13.3 Ngôn ngữ PHP 28

2.13.4 Giao thức HTTP 29

2.13.5 Ngôn ngữ CSS 30

2.13.6 Cơ sở dữ liệu MySQL 33

2.13.7 Phần mềm tạo biểu tượng Favicon cho trang web 34

CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 37

3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG 37

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

3.1.2 Sơ đồ khối và chức năng mỗi khối 37

3.1.3 Hoạt động của hệ thống 38

3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 39

3.2.1 Khối điều khiển trung tâm chính 39

3.2.2 Khối động cơ 53

3.3 THIẾT KẾ PHẦN MỀM HỆ THỐNG 55

3.3.1 Firebase – App Android 55

3.3.2 Web 61

CHƯƠNG 4: KẾT QUẢ THỰC HIỆN 70

4.1 KẾT QUẢ PHẦN CỨNG 70

4.2 KẾT QUẢ PHẦN MỀM 72

4.2.1 Firebase – App Android 72

4.2.2 Web 79

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 82

5.1 KẾT LUẬN 82

5.2 HƯỚNG PHÁT TRIỂN 82 TÀI LIỆU THAM KHẢO Error! Bookmark not defined.

Trang 12

nối tiếp CSS Cascading Style Sheets Một dạng file text với phần tên

mở rộng là css PHP Hypertext Preprocessor Ngôn ngữ lập trình kịch bản

I/O Input/Output Ngõ vào/ngõ ra

MCU Microprocessor Control Unit Khối vi điều khiển

UART Universal Asynchronous Receiver

– Transmitter

Truyền dữ liệu nối tiếp bất đồng

bộ

HTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn bản

HTTP Hyper Text Transfer Protocol Giao thức truyền siêu văn bản ADC hay

A/D

Analog Digital Converter Chuyển đổi tín hiệu tương tự

sang tín hiệu số VietGAP Vietnamese Good Agricultural

Practices

Thực phẩm sạch của nông nghiệp Việt Nam

USB Universal Serial Bus Kết nối cổng serial trực tiếp SSL Secure Sockets Layer Chuẩn bảo mật của hệ thống

mạng DDos Distributed Denial of Service Từ chối dịch vụ phân tán

Trang 13

DANH MỤC CÁC BẢNG BIỂU

Bảng 2.1 Cách vào chế độ Boot của NodeMCU [7] 8

Bảng 2.2 Code lồng PHP vào HTML 28

Bảng 2.3 Một đoạn mã PHP 28

Bảng 2.4 Tạo mảng trên PHP 29

Bảng 2.5 Cú pháp vòng lặp while 29

Bảng 2.6 Cấu trúc cơ bản của CSS 31

Bảng 2.7 Đặt các định dạng vào trong CSS 31

Bảng 2.8 Nội dung tập tin CSS 32

Bảng 2.9 Tập tin sau khi nhúng 32

Bảng 2.10 Chèn icon vào HTML 36

Trang 14

DANH MỤC CÁC BIỂU ĐỒ VÀ HÌNH ẢNH

Hình 1.1 Mô hình trồng rau truyền thống 1

Hình 2.1 Board Arduino Uno R3 [4] 5

Hình 2.2 ESP8266 [6] 7

Hình 2.3 Sơ đồ chân board NodeMCU v1.0 9

Hình 2.4 Module L298N 9

Hình 2.5 Module Relay [9] 10

Hình 2.6 Động cơ bước đơn cực [10] 12

Hình 2.7 Sơ đồ dây động cơ bước [10] 12

Hình 2.8 Cảm biến DHT11 [11] 13

Hình 2.9 Cảm biến độ ẩm đất 14

Hình 2.10 Module cảm biến quang trở 15

Hình 2.11 Nguồn DC 12V-5A 16

Hình 2.12 Gửi tín hiệu bit “1” 17

Hình 2.13 Gửi tín hiệu bit “0” 17

Hình 2.14 Đọc tín hiệu 17

Hình 2.15 Tín hiệu Reset và Presence 18

Hình 2.16 Tổng hợp dạng sóng các tiến trình hoạt động chuẩn 1-Wire 18

Hình 2.17 Truyền dữ liệu UART 19

Hình 2.18 Logo công cụ Google Firebase 20

Hình 2.19 Hệ thống CSDL Realtime của Firebase 21

Hình 2.20 Tạo Project mới trong Firebase 23

Hình 2.21 Giao diện của Project mới trên Firebase 23

Hình 2.22 Giao diện của XAMPP 24

Hình 2.23 Giao diện phần mềm soạn thảo 25

Hình 2.24 Giao diện phần mềm Perfect Icon 35

Hình 2.25 Hình ảnh sử dụng làm Favicon cho trang web 35

Hình 3.1 Sơ đồ khối của hệ thống 37

Hình 3.2 Sơ đồ kết nối hệ thống 38

Hình 3.3 Board NodeMCU v1.0 và board Arduino Uno R3 39

Hình 3.4 Sơ đồ kết nối khối trung tâm 40

Hình 3.5 Sơ đồ kết nối khối cảm biến và đèn của hệ thống với NodeMCU 40

Hình 3.6 Lưu đồ thuật toán khối điều khiển giữa khối trung tâm và CSDL 41

Trang 15

Hình 3.7 Lưu đồ đọc cảm biến ánh sáng 42

Hình 3.8 Lưu đồ đọc cảm biến nhiệt độ, độ ẩm DHT11 43

Hình 3.9 Lưu đồ đẩy dữ liệu cảm biến lên Firebase 44

Hình 3.10 Lưu đồ gửi dữ liệu lên web server 45

Hình 3.11 Đọc dữ liệu cảm biến từ UART 46

Hình 3.12 Lưu đồ lấy dữ liệu từ Firebase 47

Hình 3.13 Lưu đồ điều khiển bơm bằng tay 48

Hình 3.14 Lưu đồ giải thuật điều khiển động cơ và đọc cảm biến độ ẩm đất 49

Hình 3.15 Sơ đồ kết nối điều khiển bơm 50

Hình 3.16 Lưu đồ giải thuật điều khiển động cơ bơm 51

Hình 3.17 Sơ đồ kết nối cảm biến độ ẩm đất 52

Hình 3.18 Lưu đồ giải thuật đọc cảm biến độ ẩm đất 52

Hình 3.19 Khung máy CNC mini 53

Hình 3.20 Trục motor Step trượt trên khung nhôm định hình 53

Hình 3.21 Nhôm định hình 54

Hình 3.22 Động cơ DC 12v 55

Hình 3.23 Trang chủ của ứng dụng 56

Hình 3.24 Trang thông tin cây trồng trên ứng dụng 57

Hình 3.25 Trang thông tin người dùng của ứng dụng 58

Hình 3.26 Trang điều khiển bằng tay của ứng dụng 59

Hình 3.27 Trang admin của ứng dụng 60

Hình 3.28 Các mã nguồn của trang web được lưu trữ tại 000webhost 61

Hình 3.29 Database của hệ thống lưu trữ trên 000webhost 62

Hình 3.30 Cấu trúc cơ bản của website 62

Hình 3.31 Lưu đồ thuật toán của website 63

Hình 3.32 Lưu đồ thuật toán trang đăng nhập 65

Hình 3.33 Hiển thị thông số cảm biến 6 khu vực 66

Hình 3.34 Hiển thị biểu đồ và thông số chi tiết khu vực được chọn 67

Hình 3.35 Cấu trúc CSDL 69

Hình 4.1 Khối xử lý trung tâm 70

Hình 4.2 Mô hình nhìn từ trên xuống 71

Hình 4.3 Mô hình nhìn phía trước 71

Hình 4.4 Giao diện CSDL trên Firebase 72

Hình 4.5 Trang chủ giao diện ứng dụng Android 73

Hình 4.6 Giao diện đổi tài khoản khi lần đầu đăng nhập vào ứng dụng 74

Trang 16

Hình 4.7 Giao diện trang thông tin cây trồng 75

Hình 4.8 Trang đổi thông tin (trái) và điều khiển bằng tay (phải) 76

Hình 4.9 Giao diện trang chủ Web trên ứng dụng Android 76

Hình 4.10 Giao diện sau khi người dùng đăng nhập thành công 77

Hình 4.11 Biểu đồ giá trị cảm biến ở các khu vực 77

Hình 4.12 Các thông số cảm biến đã được ghi nhận tại khu vực 3 78

Hình 4.13 Trang điều khiển của Admin 79

Hình 4.14 Trang chủ của hệ thống 80

Hình 4.15 Giao diện hiển thị thông tin của tất cả các khu vực 80

Hình 4.16 Giao diện thông tin từng khu vực dạng biểu đồ 81

Hình 4.17 Giao diện thông tin từng khu vực dạng chi tiết 81

Trang 17

Vì thế nhu cầu của người dân về rau sạch lại càng cao

Trong vài năm trở lại đây, truyền thông, báo đài không ngừng cập nhật những thông tin về rau bẩn, rau thiếu an toàn Những luống rau, bó rau xanh ngắt, tươi ngon mơn mởn, nhưng ít ai biết đến trong chúng tiềm ẩn dư lượng chất bảo vệ thực vật, thuốc trừ sâu Hằng ngày, có biết bao nhiêu vụ ngộ độc thực phẩm mà thủ phạm chính lại là những món ăn từ rau xanh thiếu an toàn

Hình 1.1 Mô hình trồng rau truyền thống

Trang 18

Chính vì thế, nhóm thực hiện đề tài: “THIẾT KẾ VÀ THI CÔNG MÔ HÌNH VƯỜN RAU THÔNG MINH” nhằm góp phần đưa nguồn rau sạch đến gần hơn với mọi người, áp dụng kiến thức đã học sử dụng các module cảm biến nhiệt độ, độ ẩm vào kiểm soát khu vườn, tiến tới hiện đại hóa nền nông nghiệp

1.1.2 Tính cấp thiết của đề tài

Ngày trước, người dân luôn tiện đường ghé xe vào chọn mua rau tại các sạp nhỏ, hay các người buôn rau ngồi rải rác ven đường Những bó rau ở đây luôn có vẻ ngoài bắt mắt, mà giá ở đây thường không quá đắt Nhưng ngày nay, nhận thức của nhiều người dân đã thay đổi, ý thức được tác hại của rau bẩn, rau không an toàn; biết được rau nào là rau sạch, rau nào là rau an toàn

Theo các nghiên cứu, các chuyên gia về dinh dưỡng luôn cảnh báo về những tác hại khôn lường của rau bẩn, rau thiếu an toàn Việc ăn những loại rau bẩn, rau thiếu an toàn đó làm cho chúng ta có nguy cơ cao mắc các bệnh hiểm nghèo như ung thư, ảnh hưởng đến hệ thần kinh, tim mạch…Một biểu hiện bệnh dễ thấy đó là ngộ độc thực phẩm do ăn phải rau bẩn Trước nhiều tác nhân gây bệnh khác thì con đường

ăn uống là con đường gần nhất đưa ta đến cái chết Việc bảo vệ sức khỏe của mình

và những người thân yêu bằng những sản phẩm rau sạch, thực phẩm sạch là điều thiết yếu Cho nên, nhu cầu của người dân về rau sạch để đảm bảo cho sức khỏe của mình

và gia đình là điều cần thiết

Trên cơ sở phát triển nông nghiệp ứng dụng công nghệ cao, trong những năm gần đây, các doanh nghiệp/trang trại ở Lâm Đồng đã tiếp cận ứng dụng công nghệ IoT trong sản xuất nông nghiệp tạo đột phá, chủ yếu ứng dụng ở các trang trại trồng

rau, hoa, dâu tây đã cho doanh thu từ 5 đến 8 tỷ đồng/ha/năm [1] Chủ nhiệm hợp

tác xã Anh Đào (Lâm Đồng) ông Nguyễn Công Thừa cho biết hợp tác xã đang trồng rau quả VietGAP, áp dụng công nghệ nhà kính, tự động hoá vào tưới tiêu, từ đó cung cấp cho các hệ thống siêu thị khắp cả nước và xuất khẩu, sản lượng tiêu thụ bình quân

50.000 tấn trong nước và 4.000 tấn xuất khẩu Doanh thu hơn 10 triệu USD/năm [2]

Rau sạch trồng theo tiêu chuẩn VietGAP có giá thành đắt gấp 3 thậm chí gấp 5 lần

giá rau bình thường nhưng người dân vẫn chọn mua Giá rau sạch đắt là vậy nhưng nhu cầu của người dân về rau sạch không hề giảm mà ngày càng có dấu hiệu tăng Mặc dù sản lượng cung cấp như thế song vẫn chưa đáp ứng đủ nhu cầu của xã hội

"Thời gian qua, Chính phủ đã đưa ra gói tín dụng 100.000 tỷ đồng [3] cho các doanh

nghiệp ứng dụng nông nghiệp công nghệ cao nhưng đến nay chỉ giải ngân được khá

ít Không tiếp cận được vốn, ở nhiều vùng nông thôn nhiều nông dân phải tìm tới nguồn tín dụng đen", ông Phạm S (Phó Chủ tịch UBND tỉnh Lâm Đồng) nói

Trang 19

Hiện tại trên thị trường cũng đã có nhiều hệ thống tự động tưới nước dựa theo thời gian cài đặt sẵn, giúp người dân có thể tự động hóa trong vấn đề tưới nước cho cây trồng Nhưng với sự biến đổi khí hậu bất thường ngày nay, việc theo dõi nhiệt

độ, độ ẩm của vườn rau thường xuyên là điều cần thiết Vì vậy, nhóm đã thực hiện đề tài “THIẾT KẾ VÀ THI CÔNG MÔ HÌNH VƯỜN THÔNG MINH” để theo dõi nhiệt độ, độ ẩm môi trường của khu vườn, từ các thông số thu được có thể tưới nước cho các loại rau hợp lý hơn, giúp cây phát triển tốt hơn

1.2 MỤC TIÊU NGHIÊN CỨU

Mục tiêu nghiên cứu của đề tài bao gồm các vấn đề sau:

- Xây dựng mô hình vườn rau thông minh

- Hoạt động của các vi điều khiển, cảm biến…

- Cách thức tạo ra một ứng dụng di động chạy trên nền tảng hệ điều hành Android

- Tìm hiểu về CSDL thời gian thực

- Các ngôn ngữ lập trình, thiết kế Web như HTML, PHP và CSS

- Tìm hiểu về hoạt động của động cơ cũng như các vật liệu về cơ khí chính xác

1.3 ĐỐI TƯỢNG NGHIÊN CỨU

Đối tượng nghiên cứu của đề tài bao gồm:

- Vi điều khiển ATmega328, ESP8266

- Cảm biến nhiệt độ, độ ẩm đất, độ ẩm không khí, cảm biến quang trở

- Máy bơm một chiều

- Cách thức hoạt động của công cụ thiết kế ứng dụng Mit App Inventor 2

- Thiết kế Web và các ngôn ngữ hỗ trợ

- Trao đổi dữ liệu giữa App, Web, CSDL và phần cứng của mô hình

1.4 PHẠM VI NGHIÊN CỨU

Phạm vi nghiên cứu của đề tài gồm có:

- Nghiên cứu và xây dựng vườn mô hình (6 khu đất) với các tính năng đo nhiệt

độ, độ ẩm, ánh sáng: nhiệt độ đo trong khoảng từ 20oC đến 50oC; độ ẩm đo trong khoảng từ 50% đến 100%

- Điều khiển máy bơm tưới nước khi độ ẩm đất dưới 70%

- Trao đổi dữ liệu giữa CSDL và các thiết bị phần cứng

- Xây dựng ứng dụng giám sát, điều khiển trên hệ điều hành Android

1.5 BỐ CỤC ĐỒ ÁN

Bố cục của đồ án được trình bày thành 5 phần như sau:

Trang 20

Chương 1: Tổng quan: Trong chương này, nhóm thực hiện đề tài trình bày tổng

quan về tình hình nghiên cứu, về mạng Wifi Mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài

Chương 2: Cơ sở lý thuyết: Giới thiệu về sơ lược về Arduino, mạng Wifi, module

NodeMCU, chuẩn giao tiếp UART, hệ quản trị CSDL, các ngôn ngữ để thiết kế website như HTML, PHP, CSS

Chương 3: Thiết kế và thi công: Trong chương này, nhóm thực hiện đề tài sẽ đưa

ra các yêu cầu khi thiết kế, các thiết kế về phần cứng và phần mềm

Chương 4: Kết quả thi công: Đưa ra kết quả mà nhóm đạt được, số liệu, hình ảnh

hệ thống sau khi thi công

Chương 5: Kết luận và hướng phát triển: Đưa ra kết luận và hướng phát triển của

đề tài

Trang 21

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 GIỚI THIỆU VI ĐIỀU KHIỂN ARDUINO UNO

2.1.1 Sơ lược về ARDUINO UNO R3

Arduino board có rất nhiều phiên bản với hiệu năng và mục đích sử dụng khác nhau như: Arduino Mega, Arduino Uno R3, Aruino LilyPad [4] Trong số đó, Arduino Uno R3 là một trong những phiên bản được sử dụng rộng rãi nhất bởi chi phí và tính linh động của nó

Hình 2.1 Board Arduino Uno R3 [4]

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là: ATmega8 (Board Arduino Uno r2), ATmega168, ATmega328 (Board Arduino Uno r3) [4]

2.1.2 Thông số kỹ thuật

Mạch Arduino UNO R3 với thiết kế tiêu chuẩn sử dụng vi điều khiển ATmega328 với các thông số kỹ thuật như sau [5]:

 Điện áp hoạt động: 5V

 Điện áp vào khuyên dùng: 7-12V

 Điện áp vào giới hạn: 6-20V

 Digital I/O pin: 14 (trong đó 6 pin có khả năng băm xung)

 PWM Digital I/O Pins: 6

 Analog Input Pins: 6

Trang 22

 Cường độ dòng điện trên mỗi I/O pin: 20 mA

 Cường độ dòng điện trên mỗi 3.3V pin: 50 mA

 Flash Memory: 32 KB (ATmega328P)

 0.5 KB được sử dụng bởi bootloader

2.1.3 Các chức năng cơ bản của Arduino Uno R3

Board Arduino Uno R3 [5] có các chức năng cơ bản sau:

 Điều khiển động cơ: board Arduino Uno R3 sử dụng các chân 3, 5, 9, 10, 11 cho phép xuất xung PWM (Pulse Width Modulation) với độ phân giải 8 bit dùng để điều khiển động cơ DC

 Truyền dữ liệu qua các chuẩn như UART, SPI, I2C

 Giao tiếp với cảm biến thông qua các chân ADC từ A0 – A5

 Bộ định thời Timer với 2 bộ 8 bit và 1 bộ 16 bit

Với những chức năng như trên thì chúng ta hoàn toàn có thể sáng tạo, ứng dụng vào nhiều lĩnh vực khác nhau từ những thiết kế đơn giản như điều khiển đèn Led nhấp nháy, điều khiển đèn tín hiệu giao thông… cho đến những ứng dụng phức tạp hơn như nhà thông minh, vườn rau, làm Robot hay máy bay không người lái…

2.2 ESP8266 VÀ MODULE NODEMCU v1.0

2.2.1 Giới thiệu ESP8266

ESP là viết tắt của electronic stability program nghĩa là hệ thống cân bằng điện

tử Module ESP8266 là một module với bộ xử lý 32 bit, dựa trên giao thức TCP/IP,

là một chip tích hợp được thiết kế dùng cho chuẩn kết nối mới Có thể lưu trữ ứng dụng hoặc xử lý các kết nối WiFi từ bộ xử lý tích hợp trên chip, có khả năng tạo kết nối giống như một máy chủ hoặc một cầu nối trung gian và có thể download dữ liệu

từ Internet

Trang 23

Hình 2.2 ESP8266 [6]

Đây là module truyền nhận WiFi đơn giản dựa trên chip ESP8266 SoC (System on Chip) của hãng Espressif Module ESP8266 V1 thường được sử dụng cho các ứng dụng IoT (Internet of Things) Module này đã được nạp sẵn firmware giúp người dùng giao tiếp với wifi rất dễ dàng qua tập lệnh AT thông qua giao tiếp UART (baudrate mặc định 9600) quen thuộc

2.2.2 Thông số kỹ thuật

Module ESP8266 có các thông số kỹ thuật như sau [6]:

- Hỗ trợ chuẩn Wifi 802.11 b/g/n

- Wi-Fi 2.4 GHz, hỗ trợ WPA/WPA2 Wi-Fi Direct (P2P), soft-AP

- Chuẩn điện áp hoạt động: 3.3V

- Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến115200 Có 3 chế độ hoạt động: Client, Access Point, Both (Client and Access Point)

- Hỗ trợ các chuẩn bảo mật như: OPEN, WEP, WPA_PSK, WPA2_PSK, WPA WPA2_PSK Hỗ trợ cả 2 giao tiếp TCP và UDP

- Làm việc như 1 Access Point có thể kết nối với 5 Device Công suất đầu ra 19.5dBm ở chế độ 802.11b

- Tích hợp giao thức TCP / IP stack

2.2.3 Chức năng của module ESP8266

Module ESP8266 có các chức năng chính như sau [6]:

- Hỗ trợ chuẩn 802.11 n/g/n

- Điện áp hoạt động 3.3v

Trang 24

- Wifi 2.4 Ghz, hỗ trợ WPA/WPA2

- Chuẩn giao tiếp UART với tốc độ Baud lên đến 115200

- Giao thức TCP, UDP

- Có ba chế độ hoạt động: Client/ Acesspoint, Both

- Hỗ trợ các chuẩn bảo mật như: WEP, WPA_PSK, WPA2_PSK

ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu của một thế giới kết nối mới, thế giới Internet of thing (Iot) Nó cung cấp một giải pháp kết nối mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng dụng hoặc để giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử lý ứng dụng Ngoài ra, ESP8266 khả năng xử lý và lưu trữ mạnh mẽ cho phép nó được tích hợp với các bộ cảm biến,

vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua GPIOs (General Purpose Input Output) với một chi phí tối thiểu và một PCB (Printed Circuit Board) tối thiểu

2.2.4 NodeMCU v1.0

NodeMCU Wifi v1.0 là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản

Module hỗ trợ 9 chân GPIO , 1 chân ADC, 1 giao tiếp UART, 1 giao tiếp SPI

và hỗ trợ PWM Tích hợp 2 nút nhấn, IC CH340 chuyển đổi USB -UART

IC chính: ESP8266 Wifi SoC Chip nạp và giao tiếp UART: CH340G Cấp nguồn: 5VDC MicroUSB hoặc V-in GPIO giao tiếp mức 3.3VDC Tích hợp Led báo trạng thái, nút Reset, Flash Tương thích hoàn toàn với trình biên dịch Arduino

Cách vào các chế độ boot của NodeMCU:

Bảng 2.1 Cách vào chế độ Boot của NodeMCU [7]

MTDO

(GPIO15) GPIO0 GPIO2 Mode Mô tả

L H H Flash Boot from SPI Flash

H x x SDIO Boot from SD – card

Trang 25

Hình 2.3 Sơ đồ chân board NodeMCU v1.0

2.3 MUDULE ĐIỀU KHIỂN ĐỘNG CƠ L298N

2.3.1 Giới thiệu

Hình 2.4 Module L298N Module điều khiển động cơ (Motor Driver) sử dụng chip cầu H L298N giúp điều khiển tốc độ và chiều quay của động cơ DC một cách dễ dàng [8], ngoài ra module L298N còn điều khiển được 1 động cơ bước lưỡng cực Mạch cầu H của IC L298N có thể hoạt động ở điện áp từ 5V đến 35V

Trang 26

Module L298N có tích hợp một IC nguồn 78M05 để tạo ra nguồn 5V để cung cấp cho các thiết bị khác

2.3.2 Thông số kỹ thuật

Thông số kỹ thuật của mạch điều khiển động cơ L298N [8]:

 Driver: L298N tích hợp hai mạch cầu H

 Điện áp điều khiển: +5 V ~ +35 V

 Dòng tối đa cho mỗi cầu H: 2A

 Điện áp tín hiệu điều khiển: +5 V ~ +7 V

 Dòng tín hiệu điều khiển: 0 ~ 36mA

 Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)

Tiếp điểm đóng ngắt gồm 3 tiếp điểm NC (thường đóng), NO (thường mở) và COM (chân chung) được cách ly hoàn toàn với board mạch chính, ở trạng thái bình thường chưa kích NC sẽ nối với COM, khi có trạng thái kích COM sẽ chuyển sang nối với NO và mất kết nối với NC

Hình 2.5 Module Relay [9]

Trang 27

2.4.2 Thông số kỹ thuật

Module Relay có các thông số kỹ thuật như sau [9]:

 Sử dụng điện áp nuôi DC 5V

 Dòng mỗi Relay tiêu thụ dòng khoảng 80mA

 Điện thế đóng ngắt tối đa: AC250V ~ 10A hoặc DC30V ~ 10A

 Có đèn báo đóng ngắt trên mỗi Relay

 Có thể chọn mức tín hiệu kích 0 hoặc 1 qua jumper

đi một góc nhất định, góc ấy là một bước quay của động cơ Khi các xung điện áp đặt vào các cuộn dây phần ứng thay đổi liên tục thì roto sẽ quay liên tục (nhưng thực chất chuyển động đó vẫn là theo các bước rời rạc)

2.5.2 Cách điều khiển động cơ bước

Động cơ bước có nhiều cách điều khiển Có thể điều khiển các dây trực tiếp qua 4 cổng qua MCU thông qua driver đệm công suất Cách này hơi phức tạp một chút, cần phải hiểu rõ bên trong động cơ và thường chỉ điều khiển được full bước

Cách thông dụng nhất là dùng các IC chuyên dụng điều khiển động cơ bước Các IC hay gặp nhất là TB6560, TB6600, L297, A4988, DRV8825, MA860H [10]…

Nguyên lý điều khiển động cơ đơn cực: động cơ bước đơn cực, (có thể là

động cơ vĩnh cửu hoặc động cơ hỗn hợp) có 5, 6 hoặc 8 dây ra thường được quấn như

sơ đồ dưới Khi dùng, các đầu nối trung tâm thường được nối vào cực dương nguồn cấp, và hai đầu còn lại của mỗi mấu lần lượt nối đất để đảo chiều từ trường tạo bởi cuộn đó [10]

Trang 28

Hình 2.6 Động cơ bước đơn cực [10]

2.5.3 Các loại động cơ bước

Động cơ bước có nhiều loại như động cơ biến trở từ, động cơ đơn cực, động

cơ lưỡng cực

Về step thì có loại là 0.36 độ/ 1step, loại 0.72/step và thông dụng nhất là loại 1.8 độ/ 1 step Tức là 200 step sẽ được 1 vòng

Trên thị trường chúng ta hay gặp nhất là động cơ đơn cực và lưỡng cực Khi

đi mua thì hay gặp động cơ 4 dây, 5 dây, 6 dây, 8 dây Trong đó 4 dây và 6 dây là gặp thường xuyên nhất Dưới đây là sơ đồ dây của hãng Oriental:

Hình 2.7 Sơ đồ dây động cơ bước [10]

Trang 29

2.6 CẢM BIẾN DHT11

2.6.1 Giới thiệu

DHT11 là cảm biến nhiệt độ, độ ẩm 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-wire truyền dữ liệu duy nhất) Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về được chính xác mà không cần phải qua bất kỳ tính toán nào

Hình 2.8 Cảm biến DHT11 [11]

2.6.2 Thông số kỹ thuật

Cảm biến DHT11 có các thông số kỹ thuật sau [11]:

 Nguồn: 3 -> 5 VDC

 Dòng sử dụng: 2.5mA max (khi truyền dữ liệu)

 Đo tốt ở độ ẩm 20 đến 80%RH với sai số 5%

 Đo tốt ở nhiệt độ 0 đến 50°C sai số ±2°C

 Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)

 Kích thước 15mm x 12mm x 5.5mm

 4 chân, khoảng cách chân 0.1''

2.7 CẢM BIẾN ĐỘ ẨM ĐẤT

2.7.1 Giới thiệu

Cảm biến độ ẩm đất, trạng thái đầu ra mức thấp (0V), khi đất thiếu nước đầu

ra sẽ là mức cao (5V), độ nhạy chúng ta có thể điều chỉnh được bằng biến trở Phần đầu đo được cắm vào đất để phát hiện độ ẩm của đất, khi độ ẩm của đất đạt ngưỡng

Trang 30

thiết lập, đầu ra DO sẽ chuyển trạng thái từ mức thấp lên mức cao Nhờ thế, chúng ta

có thể sử dụng Analog hoặc Digital của Arduino để đọc giá trị từ cảm biến

Hình 2.9 Cảm biến độ ẩm đất

2.7.2 Thông số kỹ thuật

Cảm biến độ ẩm đất có các thông số kỹ thuật sau [12]:

 Điện áp sử dụng: 3.3-5V

 Đầu ra: AOUT, DOUT

 AOUT: Tín hiệu ADC

 DOUT: Mức logic 0, 1

 Sử dụng: IC LM393 mắc theo dạng so sánh

 DO khi chưa phát hiện ở mức 1, khi phát hiện độ ẩm cho ra mức 0

 Biến trở điều chỉnh độ nhạy

2.8 CẢM BIẾN QUANG TRỞ

2.8.1 Giới thiệu

Là điện trở có trị số càng giảm khi được chiếu sáng càng mạnh Điện trở tối (khi không được chiếu sáng - ở trong bóng tối) thường trên 1M, trị số này giảm rất nhỏ có thể dưới 100 ôm khi được chiếu sáng mạnh

Nguyên lý làm việc của quang điện trở là khi ánh sáng chiếu vào chất bán dẫn (có thể là Cadmium sulfide – CdS, Cadmium selenide – CdSe) làm phát sinh các điện

tử tự do, tức sự dẫn điện tăng lên và làm giảm điện trở của chất bán dẫn Các đặc tính

Trang 31

điện và độ nhạy của quang điện trở dĩ nhiên tùy thuộc vào vật liệu dùng trong chế tạo

Cảm biến ánh sáng quang trở có tích hợp sẵn opamp và biến trở so sánh mức tín hiệu giúp cho việc nhận biết tín hiệu trở nên dễ dàng, sử dụng để nhận biết hay bật tắt thiết bị theo cường độ ánh sáng môi trường

Hình 2.10 Module cảm biến quang trở

Trang 32

dữ liệu khi ở trạng thái rảnh (khi không có dữ liệu trên đường truyền) phải ở mức cao

do vậy bus dữ liệu phải được kéo lên nguồn thông qua một điện trở

Một tính năng đặc biệt của bus là khả năng chỉ sử dụng hai dây tín hiệu: data

và GND Để thực hiện điều này, các thiết bị 1-Wire bao gồm một tụ điện 800pF để trữ điện, và cung cấp nguồn trong quá trình đường data đang hoạt động

Trang 33

Bốn thao tác hoạt động cơ bản của bus 1 wire là Reset/Presence, gửi bit 1, gửi bit 0, và đọc bit Thao tác byte như gửi byte và đọc byte dựa trên thao tác từng bit

Gửi bit 1 (“Write 1” signal): Thiết bị master kéo bus xuống mức thấp trong khoảng 1 đến 15µs Sau đó nhả bus (releases the bus) cho đến hết phần còn lại của khe thời gian

Hình 2.12 Gửi tín hiệu bit “1”

Gửi bit 0 ("Write 0" signal): Kéo bus xuống mức thấp trong ít nhất 60µs, với chiều dài tối đa là 120 µs

Hình 2.13 Gửi tín hiệu bit “0”

Lưu ý: giữa các lần gửi bit (0 hoặc 1), phải có khoảng thời gian phục hồi bus (recovery time) tối thiểu 1 µs

Đọc bit: Thiết bị master kéo bus xuống mức thấp từ 0 -15µs Khi đó thiết bị tớ khi đó sẽ giữ bus ở mức thấp nếu muốn gửi bit 0, Nếu muốn gửi bit 1 đơn giản là nhả bus Bus nên lấy mẫu 15 µs sau khi bus kéo xuống mức thấp

Hình 2.14 Đọc tín hiệu Reset/Presence: Tín hiệu Reset và Presence (báo hiện diện) được trình bày như hình bên dưới Thiết bị master kéo bus xuống thấp ít nhất 8 khe thời gian (tức là 480 µs) và sau đó nhả bus Khoảng thời gian bus ở mức thấp đó gọi là tín hiệu reset Nếu

có thiết bị slave gắn trên bus nó sẽ trả lời bằng tín hiệu Presence tức là thiết bị tớ sẽ kéo bus xuống mức thấp trong khoảng thời gian 60µs Nếu không có tín hiệu

Trang 34

Presence, thiết bị master sẽ hiểu rằng không có thiết bị slave nào trên bus, và các giao tiếp tiếp theo sẽ không thể diễn ra

Hình 2.15 Tín hiệu Reset và Presence

Hình 2.16 Tổng hợp dạng sóng các tiến trình hoạt động chuẩn 1-Wire

2.11 CHUẨN GIAO TIẾP UART

2.11.1 Giới thiệu

UART chuyển đổi giữa dữ liệu nối tiếp và song song [15] Một chiều UART chuyển đổi dữ liệu song song bus hệ thống ra dữ liệu nối tiếp để truyền đi Một chiều khác UART chuyển đổi dữ liệu nhận được dạng dữ liệu nối tiếp thành dạng dữ liệu song song cho CPU có thể đọc vào bus hệ thống

Trang 35

Hình 2.17 Truyền dữ liệu UART

UART của PC hỗ trợ cả hai kiểu giao tiếp là giao tiếp đồng thời và giao tiếp không đồng thời Giao tiếp đồng thời tức là UART có thể gửi và nhận dữ liệu vào cùng một thời điểm Còn giao tiếp không đồng thời (không kép) là chỉ có một thiết

bị có thể chuyển dữ liệu vào một thời điểm, với tín hiệu điều khiển hoặc mã sẽ quyết định bên nào có thể truyền dữ liệu Giao tiếp không đồng thời được thực hiện khi mà

cả 2 chiều chia sẽ một đường dẫn hoặc nếu có 2 đường nhưng cả 2 thiết bị chỉ giao tiếp qua một đường ở cùng một thời điểm Thêm vào đường dữ liệu, UART hỗ trợ bắt tay chuẩn RS232 và tín hiệu điều khiển như RTS, CTS, DTR, DCR, RT và CD

Để thuận tiện, các chương trình gửi và nhận dữ liệu trong định dạng không đồng bộ đơn giản hơn những gì bạn tưởng PC và nhiều vi xử lý khác có một bộ phận gọi là UART (universal asynchronous receiver/transmitter: truyền /nhận không đồng bộ chung) vì thế có thể vận dụng phần lớn những chi tiết truyền và nhận dữ liệu Trong

PC, hệ điều hành và ngôn ngữ lập trình hỗ trợ cho lập trình liên kết nối tiếp mà không cần phải hiểu rõ chi tiết cấu trúc UART Để mở liên kết, ứng dụng lựa chọn một tần

số dữ liệu hoặc là thiết lập khác hoặc cho phép truyền thông tại các cổng Để gửi 1 byte, ứng dụng ghi byte này vào bộ đệm truyền của cổng được lựa chọn, và UART gửi dữ liệu này, từng bit một, trong định dạng yêu cầu, thêm bit Start, bit Stop, bit chẵn lẻ khi cần Trong một cách đơn giản, byte nhận được tự động được lưu trữ trong

bộ đệm UART có thể dùng nhanh một ngắt để báo cho CPU và các ứng dụng biết dữ liệu đang nhận được và các sự kiện khác Một vài vi điều khiển không bao gồm UART, và thỉnh thoảng bạn cần nhiều hơn các UART mà vi xử lý có Trong trường hợp này, có 2 lựa chọn: thêm UART ngoài, hoặc mô phỏng UART trong mã chương trình Basic Stamp của Parallax là một ví dụ của chip với một UART bổ sung trong

mã chương trình UART là một thiết bị đơn giản hỗ trợ tốt cả hai kiểu truyền thông đồng bộ và không đồng bộ

Trang 36

2.11.2 Các thông số cơ bản của chuẩn truyền UART

Baud rate (tốc độ Baud) [15]: Khi truyền nhận không đồng bộ để hai module hiểu được nhau thì cần quy định một khoảng thời gian cho 1 bit truyền nhận, nghĩa

là trước khi truyền thì tốc độ phải được cài đặt đầu tiên Theo định nghĩa thì tốc độ baud là số bit truyền trong một giây

Frame (khung truyền): Do kiểu truyền thông nối tiếp này rất dễ mất dữ liệu nên ngoài tốc độ, khung truyền cũng được cài đặt từ ban đầu để giảm bớt sự mất mát

dữ liệu này Khung truyền quy định số bit trong mỗi lần truyền, các bit thông báo như start, stop, các bit kiểm tra như parity, và số bit trong một data

Bit Start: Là bit bắt đầu trong khung truyền Bit này nhằm mục đích báo cho thiết bị nhận biết quá trình truyền bắt đầu Trên AVR bit Start có trạng thái là 0

Data: Dữ liệu cần truyền data không nhất thiết phải 8 bit có thể là 5, 6, 7, 8, 9 Trong UART bit LSB được truyền đi trước, bit MSB được truyền đi sau

Parity bit: Là bit kiểm tra dữ liệu Có 2 loại parity: chẵn (even parity), lẻ (old parity) Parity chẵn là bit parity thêm vào để số số 1 trong data + parity = chẵn Parity

lẻ là bit parity thêm vào để số số 1 trong data + parity = lẻ Bit parity là không bắt buộc nên có thể dùng hoặc không

2.12 GOOGLE FIREBASE

2.12.1 Giới thiệu

Google Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp lập trình phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu

Hình 2.18 Logo công cụ Google Firebase

Trang 37

Hình 2.19 Hệ thống CSDL Realtime của Firebase

2.12.2 Các chức năng chính của Google Firebase

Với Google Firebase, bạn có thể tạo ra các ứng dụng chat như Yahoo Message

của ngày xưa hoặc như Facebook Messager của ngày nay trong thời gian cực ngắn

như khoảng một ngày thậm chí là vài giờ bởi đơn giản là bạn chỉ cần lo phần client

còn phần server và database đã có firebase lo Firebase là sự kết hợp giữa nền tảng

cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng ta

những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng database

Cụ thể hơn Google Firebase cung cấp tới chúng ta những chức năng chính sau [16]:

 Realtime Database – Cơ sở dữ liệu thời gian

 Firebase Authentication – Hệ thống xác thực của Firebase

 Firebase Hosting – Tạo tên miền

2.12.3 Những lợi ích từ Google Firebase

Những lợi ích từ việc sử dụng Google Firebase [16]:

 Triển khai ứng dụng nhanh: Với Firebase bạn có thể giảm bớt rất nhiều thời

gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc

Trang 38

sẽ diễn ra hoàn toàn tự động với các API của Firebase Không chỉ có vậy Firebase còn hỗ trợ đa nền tảng nên bạn sẽ càng đỡ mất thời gian rất nhiều khi ứng dụng bạn muốn xây dựng là ứng dụng đa nền tảng Không chỉ nhanh chóng trong việc xây dựng database, Google Firebase còn giúp ta đơn giản hóa quá trình đăng kí và đăng nhập vào ứng dụng bằng các sử dụng hệ thống xác thực

do chính Firebase cung cấp

 Bảo mật Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy bạn sẽ bớt lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền giữa client và server Không chỉ

có vậy, việc cho phép phân quyền người dùng database bằng cú pháp javascipt cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng của bạn, bởi chỉ những user mà bạn cho phép mới có thể có quyền chỉnh sửa cơ sở dữ liệu

 Tính linh hoạt và khả năng mở rộng: Sử dụng Firebase sẽ giúp bạn dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ Ngoài ra firebase còn cho phép bạn tự xây dựng server của riêng mình để bạn có thể thuận tiện hơn trong quá trình quản lý

 Sự ổn định: Firebase hoạt động dựa trên nền tảng cloud đến từ Google vì vậy hầu như bạn không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm nữa bởi đơn giản là Firebase hoạt động trên hệ thống server của Google Hơn nữa nhờ hoạt động trên nền tảng Cloud nên việc nâng cấp, bảo trì server cũng diễn ra rất đơn giản mà không cần phải dừng server để nâng cấp như truyền thống

 Giá thành Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũng như băng thông khác nhau với mức giá dao động từ Free đến $500

đủ để đáp ứng được nhu cầu của tất cả các đối tượng Chính vì vậy bạn có thể lựa chọn gói dịch vụ phù hợp nhất với nhu cầu của mình Điều này giúp bạn tới ưu hóa được vốn đầu tư và vận hành của mình tùy theo số lượng người sử dụng Ngoài ra bạn còn không mất chi phí để bảo trì, nâng cấp, khắc phục các

sự cố bởi vì những điều này đã có Firebase hỗ trợ

2.12.4 Cách tạo project trên Firebase

Để tạo một Firebase project mới, chúng ta truy cập vào Firebase Console, đăng nhập với tài khoản Google của mình, và nhấn “CREATE NEW PROJECT” và tạo project mới

Trang 39

Hình 2.20 Tạo Project mới trong Firebase

Sau khi tạo xong, bạn sẽ thấy giao diện trang Firebase với các công cụ hỗ trợ cho các mục đích Develop, Grow và Earn phía bên trái của chúng ta

Hình 2.21 Giao diện của Project mới trên Firebase

Trang 40

2.13 PHƯƠNG PHÁP XÂY DỰNG WEB SERVER

2.13.1 Phần mềm hỗ trợ lập trình Web Server

2.13.1.1 Máy chủ giả lập XAMPP

Xampp là "chương trình tạo máy chủ Web" (Web Server) được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và các công cụ như php MyAdmin Xampp có chương trình quản lý khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ lúc nào

Xampp chính là một phần mềm cho phép bạn giả lập môi trường server hosting cho phép bạn chạy thử demo một website ngay trên chiếc máy vi tính của bạn mà không cần thiết phải mua hosting hay vps Mọi người thường sử dụng để thực hành

và phát triển Web phục vụ cho việc học tập và giải trí

XAMPP là viết tắt của X + Apache + Mysql + PHP + Perl [18]

Chữ X là cross (platform) ám chỉ dùng được cho cả 4 hệ điều hành khác nhau: Windows, Linux, Solaris và MAC Chúng ta có thể download XAMPP miễn phí tại:

Ngày đăng: 28/11/2021, 09:24

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w