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

Đồ án thiết kế hệ thống giám sát thông số môi trường và điều khiển thiết bị qua internet

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.61 MB, 73 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
Đề tài:

Thiết kế hệ thống giám sát thông số môi trường và
điều khiển thiết bị qua mạng Internet

Hà Nội, 5/2018


TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ VIỄN THÔNG

ĐỒ ÁN

TỐT NGHIỆP ĐẠI HỌC
Đề tài:

Thiết kế hệ thống giám sát thông số môi trường và
điều khiển thiết bị qua Internet

Hà Nội, 05/2018


Đánh giá quyển đồ án tốt nghiệp


(Dùng cho giảng viên hướng dẫn)
Giảng viên đánh giá:......................................................
Tên đồ án:
Thiết kế hệ thống giám sát thông số môi trường và điều khiển thi ết b ị qua
Internet
…………………………………………………………………………………
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
1

2

3

4

5

1
tế)
3
Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề
1
Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng k ết
4
1
quả đạt được
Có khả năng phân tích và đánh giá kết quả (15)

Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp

2

3

4

5

2

3

4

5

2

3

4

5

5

2


3

4

5

1

2

3

4

5

1

2

3

4

5

1

2


3

4

5

trích dẫn đúng quy định
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, 1

2

3

4

5

2

6

7

các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như 1
phạm vi ứng dụng của đồ án
Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc

thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có 1
hệ thống
Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết

quả đều được phân tích và đánh giá thỏa đáng.
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) gi ữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung
cấp lập luận để đề xuất hướng giải quyết có thể thực hiện

trong tương lai.
Kỹ năng viết (10)
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đ ề, đ ược
8

đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có m ở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có

9


lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.)
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt gi ải
10a

SVNC khoa học giải 3 cấp Viện trở lên/các gi ải thưởng khoa
học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng

5

phát minh sáng chế
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên

10b

nghiên cứu khoa học nhưng không đạt giải từ giải 3 tr ở
lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và qu ốc t ế

khác về chuyên ngành như TI contest.
10c Không có thành tích về nghiên cứu khoa học
Điểm tổng

2

0
/50

Điểm tổng quy đổi về thang 10

3. Nhận xét thêm của Thầy/Cô (giảng viên hướng dẫn nhận xét về thái độ và tinh
thần làm việc của sinh viên)
..................................................................................................................................................................................
..................................................................................................................................................................................
..................................................................................................................................................................................
..................................................................................................................................................................................
........................................................
Ngày:

/

/201

Người nhận xét

(Ký và ghi rõ họ tên)


Đánh giá quyển đồ án tốt nghiệp
(Dùng cho cán bộ phản biện)
Giảng viên đánh giá:......................................................
Tên đồ án:
Thiết kế hệ thống giám sát thông số môi trường và điều khiển thi ết b ị qua
Internet
…………………………………………………………………………………..
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
1

2

3

4

5

1
tế)
3
Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề
1
Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng k ết

4
1
quả đạt được
Có khả năng phân tích và đánh giá kết quả (15)
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp

2

3

4

5

2

3

4

5

2

3

4

5


5

2

3

4

5

1

2

3

4

5

1

2

3

4

5


1

2

3

4

5

trích dẫn đúng quy định
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, 1

2

3

4

5

2

6

7

các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như 1
phạm vi ứng dụng của đồ án
Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc


thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có 1
hệ thống
Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết
quả đều được phân tích và đánh giá thỏa đáng.
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) gi ữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung
cấp lập luận để đề xuất hướng giải quyết có thể thực hiện

trong tương lai.
Kỹ năng viết (10)
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đ ề, đ ược
8

đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có m ở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có

9


lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.)
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt gi ải
10a

SVNC khoa học giải 3 cấp Viện trở lên/các gi ải thưởng khoa
học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng


5

phát minh sáng chế
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên
10b

nghiên cứu khoa học nhưng không đạt giải từ giải 3 tr ở
lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và qu ốc t ế

khác về chuyên ngành như TI contest.
10c Không có thành tích về nghiên cứu khoa học
Điểm tổng

2

0
/50

Điểm tổng quy đổi về thang 10
3. Nhận xét thêm của Thầy/Cô
..................................................................................................................................................................................
..................................................................................................................................................................................
..................................................................................................................................................................................
..................................................................................................................................................................................
........................................................
Ngày:

/

/201


Người nhận xét
(Ký và ghi rõ họ tên)


LỜI NÓI ĐẦU
Công nghệ thông tin đã và đang phát triển với tốc độ nhanh chóng và trở thành
một ngành công nghiệp mũi nhọn trên thế giới cũng như ở Việt Nam. Việc tin học
hoá đã được ứng dụng rộng rãi trong nhiều lĩnh vực khoa học công nghệ, đời sống,
xã hội và thực tế đã mang lại nhiều tiện ích cho người dùng. Cùng với sự phát triển
của xã hội số lượng trang thiết bị điện, điện tử đang không ngừng gia tăng. Tuy
nhiên, do khác nhau về kiến trúc, việc điều khiển các thiết bị đôi khi rất bất cập.
Việc điều khiển thiết bị một cách thủ công với khoảng các địa lý lớn chắc chắn là
điều không thể. Với lý do đó, em chọn đề tài “Thiết kế hệ thống giám sát
thông số môi trường và điều khiển thiết bị qua Internet ” để giải quyết
vấn đề trên.
Em xin chân thành cảm ơn TS. đã luôn tận tình chỉ bảo tạo điều kiện không
chỉ về cơ sở vật chất mà còn về tinh thần, luôn động viên khích lệ về mặt tinh thần
cho em hoàn thành đề tài này. Cuối cùng, tất cả tấm lòng biết ơn và kính trọng gửi
đến bố mẹ và gia đình, những người đã có công sinh thành, nuôi dưỡng để em có
đẩy đủ hành trang thực hiện những ước mơ của cuộc đời mình.
Mặc dù đã cố gắng và nỗ lực nhưng đồ án của em khó tránh khỏi những
những thiếu sót và hạn chế. Vì vậy, em rất mong nhận được sự giúp đỡ của các thầy
cô để đề tài tốt nghiệp của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Hà Nội, tháng 5 năm 2018

1



TÓM TẮT ĐỒ ÁN
Đồ án đưa ra giải pháp cụ thể trong việc truyền dữ liệu cảm bi ến lên
một web server và điều khiển bật tắt thiết bị theo thời gian thực bằng cách
ứng dụng công nghệ khoa học sẵn có giúp con người giám sát được những
thông số môi trường ở những nơi sử dụng được Internet. Đồ án cũng trình bày
cụ thể được mô hình và cách thức hoạt động của thi ết bị truy ền d ữ li ệu c ảm
biến . Thiết bị sử dụng cảm biến nhiệt độ và cảm bi ến độ ẩm đất từ đó đưa
ra thông số nhiệt độ và độ ẩm của khu vườn giám sát . Ngoài ra dữ li ệu v ề
cảm biến sẽ được truyền lên Web server thông qua Internet và được giám sát
tại chính Web server đó bởi người dùng.

ABTRACT
The Thesis offers a specific solution for transmitting sensor data to a web
server and controling device in real time by applying the available scientific
technology to help people monitor the environmental parameters in places
where wifi is available. The Thesis also details the model and operation of the
sensor data transmission device. The device uses soil humidity sensor, and the
temperature sensor measures the parameter of the garden. Sensor data will
also be transferred to the Web server through Internet and monitored at the
Web server itself by the user.

2


MỤC LỤC

LỜI NÓI ĐẦU

i


TÓM TẮT ĐỒ ÁN

ii

MỤC LỤC

iii

DANH MỤC HÌNH VẼ

vi

DANH MỤC BẢNG BIỂU

viii

DANH MỤC THUẬT NGỮ VIẾT TẮT

ix

MỞ ĐẦU

1

NỘI DUNG

2

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHUNG...........................................................2
1.1.


Đặt vấn đề......................................................................................................2

1.2.

Giới thiệu.......................................................................................................2
1.2.1.

Mô hình..........................................................................................2

1.2.2.

Giới thiệu công nghệ Wifi...............................................................3

1.2.3.

Giới thiệu ESP8266........................................................................3

1.2.3.1. ESP8266.....................................................................................3
1.2.3.2. Module và board mạch phát triển...............................................4
1.2.3.3. ESP8266 Wifi.............................................................................5
1.2.3.4. Phần mềm phát triển...................................................................6
1.2.4.

Giao thức HTTP.............................................................................7

1.2.4.1. HTTP..........................................................................................7
1.2.4.2. URL............................................................................................8
1.2.4.3. HTTP Header & Status Code......................................................9
3



1.2.5.

Web Server....................................................................................11

1.2.5.1. Web Server...............................................................................11
1.2.5.2. HTML - Javascript – CSS.........................................................12
1.2.5.3. Ngôn ngữ PHP..........................................................................13
1.2.6.

Phần mềm phát triển Web Server..................................................14

1.2.6.1. Dreamweaver............................................................................14
1.2.6.2. Xampp......................................................................................15
1.2.7.

Phần mềm thiết kế mạch...............................................................16

1.2.8.

Giới thiệu cảm biến.......................................................................18

1.2.8.1. Phân loại cảm biến theo nguyên lý hoạt động...........................19
1.2.8.2. Phân loại dựa trên nguồn năng lượng dùng cho phép được biến
đổi và lấy từ đâu......................................................................................20
1.2.8.3. Vai trò của cảm biến.................................................................21
1.3.

Kết luận chương..........................................................................................21


CHƯƠNG 2: NGHIÊN CỨU THIẾT KẾ HỆ THỐNG..........................................22
2.1. Đặt vấn đề........................................................................................................22
2.2. Yêu cầu thiết kế................................................................................................22
2.3. Sơ đồ khối........................................................................................................22
2.4. Phân tích chức năng thông số từng khối thiết bị...............................................23
2.4.1. Khối nguồn........................................................................................23
2.4.2. Khối cảm biến....................................................................................23
2.4.2.1. Cảm biến nhiệt độ DS18B20......................................................24
2.4.2.2. Cảm biến độ ẩm đất....................................................................25
2.4.3. Khối vi điều khiển.............................................................................26
2.4.3.1. Module wifi ESP8266 ESP-12E.................................................26
2.4.3.2. Nguồn cho vi điều khiển.............................................................28
4


2.4.3.3. Mạch nạp cho vi điều khiển........................................................29
2.4.4. Khối hiển thị (Display)......................................................................31
2.4.4.1. Giới thiệu LCD 16x2..................................................................31
2.4.4.2. Giới thiệu Module I2C................................................................33
2.4.5. Bàn phím điều khiển..........................................................................35
2.4.6. Khối điều khiển thiết bị điện..............................................................36
2.5. Sơ đồ nguyên lý thiết bị....................................................................................38
2.6. Sơ đồ mạch in thiết bị.......................................................................................39
2.7. Webserver.........................................................................................................40
2.5.1. Giao diện và cách thức hoạt động......................................................42
2.5.2. Chức năng..........................................................................................43
2.8. Thuật toán sử dụng...........................................................................................44
2.2. Kết luận chương...............................................................................................46
CHƯƠNG 3: KẾT QUẢ VÀ THẢO LUẬN...........................................................47

3.1. Kết quả thực tế..................................................................................................47
3.1.1. Thiết bị...............................................................................................47
3.2. Kết quả thừ nghiệm..........................................................................................51
3.3. Thảo luận..........................................................................................................54
3.3.1. Các hạn chế........................................................................................54
3.3.2. Hướng phát triển................................................................................54
KẾT LUẬN

55

TÀI LIỆU THAM KHẢO

56

5


DANH MỤC HÌNH
Hình 1. 1: Mô hình tổng quát....................................................................................2
Hình 1. 2: ESP8266 chế độ Station [2].....................................................................5
Hình 1. 3: Cách thức HTTP hoạt động......................................................................8
Hình 1. 4: Cấu trúc 1 URL [2]...................................................................................8
Hình 1. 5: Hoạt động của PHP [3]...........................................................................13
Hình 1. 6: Giao diện Dreamweaver CS6.................................................................15
Hình 1. 7: Giao diện Xampp....................................................................................16
Hình 1. 8: Hình ảnh nền phần mềm Altium Designer..............................................17
Hình 1. 9: Giao diện thiết kế sơ đồ nguyên lý phần mềm Altium Designer.............18
Hình 1. 10: Giao diện thiết kế mạch in phần mềm Altium.......................................18
Y
Hình 2. 1: Adapter 5V 1A........................................................................................23

Hình 2. 2: Cảm biến nhiệt độ DS18B20..................................................................24
Hình 2. 3: Cảm biến độ ẩm đất................................................................................25
Hình 2. 4: Sơ đồ chân ESP 12E.............................................................................27
Hình 2. 5: AMS1117................................................................................................28
Hình 2. 6: Sơ đồ chân AMS1117.............................................................................28
Hình 2. 7: Sơ đồ nguyên lý khối nguồn...................................................................29
Hình 2. 8: Mạch nạp PL 2303..................................................................................30
Hình 2. 9: LCD 16x2...............................................................................................31
Hình 2. 10: Module I2C...........................................................................................33
Hình 2. 11: Ghép nối I2C........................................................................................35
Hình 2. 12: Nút nhấn...............................................................................................35
Hình 2. 13: Rơ le 5V DC.........................................................................................36
Hình 2. 14: Sơ đồ nguyên lý khối điều khiển thiết bị điện.......................................37
Hình 2. 15: Sơ đồ nguyên lý thiết bị........................................................................38
Hình 2. 16: Sơ đồ mạch in.......................................................................................39
Hình 2. 17: Mạch 3d mô phỏng...............................................................................39
Hình 2. 18: Giao diện Web server............................................................................43
Hình 2. 19: Thuật toán truyền dữ liệu cảm biến nhiệt độ.........................................44
6


Hình 2. 20: Thuật toán truyền dữ liệu cảm biến độ ẩm đất.............................45
Hình 2. 21: Sơ đồ thuật toán bật tắt thiết bị.............................................................46
Hình 3. 1: Thiết bị hoàn chỉnh.................................................................................47
Hình 3. 2: Mặt sau thiết bị.......................................................................................48
Hình 3. 3: Tìm kiếm mạng Wifi...............................................................................49
Hình 3. 4: Kết nối Wifi............................................................................................50
Hình 3. 5: Bật 2 rơ le...............................................................................................51
HÌnh 3. 6: Kết quả các lần thử nghiệm....................................................................52
HÌnh 3. 7: Kết quả các lần thử nghiệm....................................................................52

Hình 3. 8: Bật đèn (rơ le 1)......................................................................................53
Hình 3. 9: Bật 2 rơ le...............................................................................................53
Hình 3. 10: Tắt 2 rơ le.............................................................................................53

7


DANH MỤC BẢNG BI
Bảng 1. 1: Một số Module và Board phát triển phổ biến...........................................4
Y
Bảng 2. 1: Bảng kết nối chân PL2303.....................................................................31
Bảng 2. 2: Bảng chức năng chân của LCD..............................................................32
Bảng 2. 3: Bảng kết nối chân Module I2C...............................................................35

8


9


DANH MỤC THUẬT NGỮ VIẾT TẮT
Thuật ngữ
Wifi
URL
HTML

CSS

Tiếng Anh
Wireless Fidelity

Uniform Resource Locator
Hyper
Text
Markup
Language
Integrated
Development
Environment
Cascading Style Sheets

LCD
MCU

Liquid Crystal Display
Micro-controller Unit

ADC

Analog Digital Converter

USART

Universal
Synchronous/Asynchronou
s Receiver/Transmitter
Universal Serial Bus

IDE

USB


10

Tiếng Việt
Sóng wifi
Địa chị định dạng web
Ngôn ngữ đánh dấu siêu
văn bản
Môi trường phát triển tích
hợp
Ngôn ngữ được thiết kế
để xử lý giao diện Web
Màn hình hiển thị LCD
Vi điều khiển
Bộ chuyển đổi số sang
tương tự
Bộ thu/ phát đồng bộ/
không đồng bộ
Đường truyền dẫn tuần tự
đa năng


MỞ ĐẦU
Trong thời gian tới với sự gia tăng dân số thế giới, kết hợp biến đổi khí hậu, thời tiết
cực đoan làm cho cây trồng, mùa vụ không kịp thích ứng, trong khi nhu cầu lương
thực tăng cao. Tài nguyên trái đất đang cạn kiệt và con đường sống của nhân loại là
sử dụng chúng một cách hợp lý hiệu quả. Do đó, nhu cầu theo dõi thường xuyên,
liên tục các thông số môi trường (để điều chỉnh nếu nhận được sự thay đổi ngoài
giới hạn) là cần thiết.
Về nội dung, đồ án được thiết kế gồm:

CHƯƠNG I : CƠ SỞ LÝ THUYẾT CHUNG: “ Chương này tập trung giới thiệu về
các vấn đề thực tế và các công nghệ hiện tại có thể đưa ra yêu cầu cũng như mục
đích của thiết bị”.
CHƯƠNG II : NGHIÊN CỨU THIẾT KẾ HỆ THỐNG: “ Chương này đưa ra sơ đồ
khối của hệ thống và phương thức hoạt động của thiết bị. Các công nghệ có thể áp
dụng vào thiết bị từ đó phân tích yêu cầu để thiết kế thiết bị đạt kết quả tốt và hữu
ích nhất”.
CHƯƠNG III : KẾT QUẢ VÀ THẢO LUẬN: “Nội dung chương đưa ra các kết quả
đạt được và các hạn chế của hệ thống”.

1


NỘI DUNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CHUNG

1.1. Đặt vấn đề
Tin học hóa nền nông nghiệp được coi là cuộc cách mạng xanh hiện nay.
Trong nền nông nghiệp chính xác đó Công nghệ thông tin không chỉ là phương tiện
hỗ trợ mà trở thành lực lượng lao động trung tâm. Trong thời gian tới với sự gia
tăng dân số thế giới, kết hợp với biến đổi khí hậu, thời tiết cực đoan làm cho cây
trồng, mùa vụ không kịp thích ứng, trong khi nhu cầu lương thực và đất ở tăng cao.
Tài nguyên trái đất đang cạn kiệt, và con đường sống của nhân loại là sử dụng
chúng một cách hợp lý và hiệu quả. Thông qua nhiều nghiên cứu thực nghiệm và cả
kinh nghiệm, các giải pháp cho bài toán đều dẫn đến nhu cầu triển khai một nền
nông nghiệp chính xác từ khâu tiếp nhận tín hiệu đồng ruộng, xử lý thông tin, ra
lệnh triển khai, thực hiện công việc, và kiểm tra phản hồi. Để khai thác có hiệu quả
hơn nữa tiềm năng của Việt Nam trong phát triển kinh tế nông nghiệp, chúng ta phải
chú trọng và tích cực ứng dụng công nghệ thông tin truyền thông vào phát triển
nông nghiệp để mang lại hiệu quả đáng kể. Qua đó, trong đồ án này em đã thiết

kế hệ thống giám sát thông số môi trường và điều khiển thiết bị qua Internet .
1.2. Giới thiệu
1.2.1.
Mô hình

Hình 1. 1: Mô hình tổng quát

2


1.2.2. Giới thiệu công nghệ Wifi
Wifi (là viết tắt từ Wireless Fidelity hay mạng 802.11) là hệ thống mạng không
dây sử dụng sóng vô tuyến, cũng giống như điện thoại di đông, truyền hình và radio
[1]. Kết nối Wifi thường là sự lựa chọn hàng đầu của rất nhiều kỹ sư giải pháp bởi
tính thông dụng và kinh tế của hệ thống wifi và mạng LAN với mô hình kết nối
trong một phạm vi địa lý có giới hạn.
Các sóng vô tuyến sử dụng cho WiFi gần giống với các sóng vô tuyến sử dụng
cho thiết bị cầm tay, điện thoại di động và các thiết bị khác. Nó có thể chuyển và
nhận sóng vô tuyến, chuyển đổi các mã nhị phân 1 và 0 sang sóng vô tuyến và
ngược lại. Tuy nhiên, sóng WiFi có một số khác biệt so với các sóng vô tuyến khác
ở chỗ: Chúng truyền và phát tín hiệu ở tần số 2.4 GHz hoặc 5 GHz [1]. Tần số này
cao hơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay và
truyền hình. Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn.
Hiện nay, đa số các thiết bị wifi đều tuân theo chuẩn 802.11n, được phát ở tần
số 2.4Ghz và đạt tốc độ xử lý tối đa 300Megabit/giây


Chuẩn: dựa trên 802.11n




Tần số: từ 2.4GHz đến 5GHz



Độ phủ: Xấp xỉ 50m

 Tốc độ truyền: tối đa 600 Mbps, nhưng 150-200Mbps phổ biến hơn, dựa trên
tần số kênh sử dụng và số lượng anten (chuẩn mới 802.11-ac có thể đạt tới
500Mbps đến 1Gbp)
1.2.3. Giới thiệu ESP8266
1.2.3.1.

ESP8266

ESP8266 là dòng chip tích hợp Wi-Fi 2.4Ghz có thể lập trình được, rẻ tiền
được sản xuất bởi một công ty bán dẫn Trung Quốc: Espressif Systems [2].
Được phát hành đầu tiên vào tháng 8 năm 2014, đóng gói đưa ra thị trường
dạng Module ESP-01, được sản xuất bởi bên thứ 3: AI-Thinker. Có khả năng kết nối
Internet qua mạng Wi-Fi một cách nhanh chóng và sử dụng rất ít linh kiện đi kèm.
Với giá cả có thể nói là rất rẻ so với tính năng và khả năng ESP8266 có thể làm
được.
3


ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn, cung cấp
nhiều module lập trình mã nguồn mở giúp nhiều người có thể tiếp cận và xây dựng
ứng dụng rất nhanh.
Hiện nay tất cả các dòng chip ESP8266 trên thị trường đều mang nhãn
ESP8266EX, là phiên bản nâng cấp của ESP8266

1.2.3.2.

Module và board mạch phát triển

ESP8266 cần ít nhất thêm 7 linh kiện nữa mới có thể hoạt động, trong đó phần
khó nhất là Antena. Đòi hỏi phải được sản xuất, kiểm tra với các thiết bị hiện đại.
Do đó, trên thị trường xuất hiện nhiều Module và Board mạch phát triển đảm đương
hết để người dùng đơn giản nhất trong việc phát triển ứng dụng. Một số Module và
Board phát triển phổ biến:
Bảng 1. 1: Một số Module và Board phát triển phổ biến
Tên

Số chân

Pitch

Leds

Antenna

Shielded

ESP-01
ESP-02
ESP-03
ESP-04
ESP-05
ESP-06
ESP-07


6
6
10
10
3
11
14

0.1
0.1
2mm
2mm
0.1
Misc
2mm

Yes
No
No
No
No
No
Yes

PCB
U-FL
Ceramic
None
U-FL
None

Ceramic+
U-FL

No
No
No
No
No
Yes
Yes

Dimension
s
14.3*24.8
14.2*14.2
17.3*12.1
14.7*12.1
14.2*14.2
14.2*14.7
20.0*16.0

ESP-08
ESP-09
ESP-10
ESP-11
ESP-12
ESP-12E
ESP-12F
ESP-13
ESP-14


10
10
3
6
14
20
20
16
22

2mm
Misc
2mm
0.05
2mm
2mm
2mm
1.5mm
2mm

No
No
No
No
Yes
Yes
Yes
No
No


None
None
None
Ceramic
PCB
PCB
PCB
PCB
PCB

Yes
No
No
No
Yes
Yes
Yes
Yes
Yes

17.0*16.0
10.0*10.0
14.2*10.0
17.3*12.1
24.0*16.0
24.0*16.0
24.0*16.0
18.0*20.0
24.3*16.2


1.2.3.3.

ESP8266 Wifi

Kết nối WiFi chính điểm mạnh nhất của chip ESP8266, nó có thể kết nối đến
các Router sẵn có trong gia đình, các Access Point với các tiêu chuẩn kết nối thông
4


dụng hiện nay ở tần số 2.4GHz - ở chế độ STA. Ngoài ra, ESP8266 còn hỗ trợ chế
độ AP (Access Point), tức là nó có thể khởi động một (hoặc nhiều) Access Point và
cho phép các client khác có thể kết nối vào, hoặc chạy đồng thời cả chế độ STA và
AP.
Trong đa phần các ứng dụng thì chế độ STA được sử dụng rất nhiều, nó giúp
thiết bị kết nối đến mạng WiFi cục bộ, có internet để kết nối đến Server và gởi dữ
liệu. Một số trường hợp khác thì chế độ AP được sử dụng để trao đổi dữ liệu với
ESP8266 và máy tính (hoặc thiết bị có hỗ trợ trình duyệt) [2]. Ví dụ như điều khiển
đóng tắt đèn thông qua Web Server chạy trên ESP8266.
WiFi Access Point là một thiết bị xử lý kết nối trung tâm và phân phối các
luồng dữ liệu. Như là việc xử lý các gói tin IP để định địa chỉ mạng LAN, định
tuyến các gói tin từ Internet về các máy trạm (Station). Thiết bị kết nối đến Access
Point được gọi là Station, các máy tính Laptop, máy tính có card WiFi khi kết nối
vào Access Point thì đều được gọi là Station.

Hình 1. 2: ESP8266 chế độ Station [2]
Các Station khi muốn kết nối vào Access Point thì cần xác định thông qua
BSSID, thông thường chúng ta hay gọi là SSID - hay mạng WiFi. Bạn có thể dễ
dàng xem danh sánh SSID xung quanh mình khi scan wifi trên máy tính để kết nối
mạng Internet.

1.2.3.4.

Phần mềm phát triển

5


Arduino là một IDE tích hợp sẵn editor, compiler, programmer và đi kèm với
nó là các firmware có bootloader, các bộ thư viện được xây dựng sẵn và dễ dàng
tích hợp. Ngôn ngữ sử dụng là C/C++. Tất cả đều opensource và được đóng góp,
phát triển hàng ngày bởi cộng đồng. Triết lý thiết kế và sử dụng của Arduino giúp
cho người mới, không chuyên rất dễ tiếp cận, các công ty, hardware dễ dàng tích
hợp. Tuy nhiên, với trình biên dịch C/C++ và các thư viện chất lượng được xây
dựng bên dưới thì mức độ phổ biến ngày càng tăng và hiệu năng thì không hề thua
kém các trình biên dịch chuyên nghiệp cho chip khác.
Đại diện cho Arduino ban đầu là chip AVR, nhưng sau này có rất nhiều nhà
sản xuất sử dụng các chip khác nhau như ARM, PIC, STM32 gần đây nhất là
ESP8266, ESP32, và RISCV với năng lực phần cứng và phần mềm đi kèm mạnh
mẽ hơn nhiều.
Một số đặc điểm của Arduino
• Arduino che dấu đi sự phức tạp của điện tử bằng các khái niệm đơn giản, che
đi sự phức tạp của phần mềm bằng các thủ tục ngắn gọn. Việc setup output cho 1
MCU bằng cách setup thanh ghi rõ ràng phức tạp đến độ người chuyên cũng phải
lật datasheet ra xem, nhưng với Arduino thì chỉ cần gọi 1 hàm.
• Bởi vì tính phổ biến và dễ dùng, với các thư viện được tích hợp sẵn. Bạn chỉ
cần quan tâm đến tính năng sản phẩm mà bỏ qua các tiểu tiết (protocol, datasheet
…) Nên giúp các newbie không chuyên dễ dàng tiếp cận và làm ra các sản phẩm
tuyệt vời mà không cần phải biết nhiều về điện tử.
• Chính vì không quan tâm nhiều đến cách thức hoạt động của các Module đi
kèm, nên đa phần người dùng sẽ khó xử lý được khi có các vấn đề phát sinh ngoài

tầm của thư viện.
• Các module prototype làm sẵn cho Arduino có độ bền không cao, mục tiêu
đơn giản hóa quá trình làm sản phẩm.
Các lợi ích khi sử dụng Arduino
• Thiết kế IDE tốt, có thể dễ dàng tích hợp nhiều loại compiler, nhiều loại
hardware mà không hề giảm hiệu năng. Ví dụ: Arduino gốc cho AVR, nhưng có
nhiều phiên bản cho STM32, PIC32, ESP8266, ESP32… tận dụng tối đa các thư
viện sẵn có.
6


• Các thư viện được viết dựa trên lớp API trên cùng, nên đa số các thư viện
cho Arduino có thể dùng được cho tất cả các chip. Điển hình là Arduino cho
ESP8266 có thể tận dụng trên 90% các thư viện cho Arduino khác
• Trình biên dịch cho Arudino là C/C++, bạn có biết là khi biên dịch ESP8266
non-os SDK và ESP8266 Arduino cùng dùng chung trình biên dịch? Vậy thì hiệu
năng không hề thua kém
• Cách tổ chức các thư viện C/C++ theo dạng OOP giúp phân lớp, kế thừa và
quản lý cực kỳ tốt cho các ứng dụng lớn .Các MCU ngày càng mạnh mẽ và ứng
dụng cho nó sẽ ngày càng lớn. Các mô hình quản lý code đơn giản trước đây (thuần
C) sẽ khó.
• Các project cho Arduino đều opensource, bạn dễ dàng lấy nó và đưa vào sản
phẩm production với chất lượng tốt và học hỏi được nhiều từ cách thức thiết kế
chương trình của các bậc thầy.
• Arduino chú trọng tính đa nền tảng, module hóa cao, phù hợp với các ứng
dụng từ phức tạp tới cực kỳ phức tạp.
Arduino cho ESP8266
ESP8266 Arduino core đi kèm với thư viện kết nối WiFi hỗ trợ TCP, UDP và
các ứng dụng HTTP, mDNS, SSDP, DNS Servers. Ngoài ra còn có thể thực hiện cập
nhật OTA, sử dụng Filesystem dùng bộ nhớ Flash hay thẻ SD, điều khiển servos,

ngoại vi SPI, I2C
1.2.4. Giao thức HTTP
1.2.4.1.

HTTP

HTTP - Hypertext Transfer Protocol (giao thức truyền dẫn siêu văn bản), là
giao thức để truyền dữ liệu giữa các máy tính qua www (World Wide Web), với dữ
liệu có thể là dạng text, file, ảnh, hoặc video [2].
HTTP được thiết kế để trao đổi dữ liệu giữa Client và Server trên nền TCP/IP,
nó vận hành theo cơ chế yêu cầu/trả lời, stateless - không lưu trữ trạng thái. Trình
duyệt Web chính là Client, và một máy chủ chứa Web Site là Server. Client sẽ kết
nối tới Server, gởi dữ liệu đến server bao gồm các thông tin header. Server nhận
được thông tin và căn cứ trên đó gởi phản hồi lại cho Client. Đồng thời đóng kết
nối.
7


Một ví dụ điển hình là khi bạn gõ địa chỉ vào thanh địa chỉ của trình duyệt và
nhấn Enter, thì ngay lập tức Web Client sẽ thực hiện việc gởi yêu cầu tới Web
Server có địa chỉ mà bạn vừa gõ. Web Server sẽ trả lời bằng nội dung Web Site mà
bạn cần xem.
Trong giao thức HTTP, việc thiết lập kết nối chỉ có thể xuất phát từ phía client
( lúc này có thể gọi là HTTP Client ). Khi client gửi yêu cầu, cùng với URL và
payload ( dữ liệu muốn lấy ) tới server. Server ( HTTP Server ) lắng nghe mọi yêu
cầu từ phía client và trả lời các yêu cầu ấy. Khi trả lời xong kết nối được chấm dứt.

Hình 1. 3: Cách thức HTTP hoạt động
1.2.4.2.


URL

URL (Uniform Resource Locator) được dùng để định dạng địa chỉ Website, chứa
các thông tin yêu cầu từ client và server dựa vào đó xử lý, cấu trúc của nó như hình:

Hình 1. 4: Cấu trúc 1 URL [2]
① scheme xác định giao thức truyền tới server, nếu là https thì sẽ được mã hóa.
② host địa chỉ server.
③ port port server dùng để phục vụ, nếu ko có thì mặc định là 80 cho web.
④ path thông tin client muốn truy suất.
⑤ query thông tin client muốn gởi lên.
⑥ fragment thuộc tính này giúp browser đi đến vị trí của trang.
Giao thức HTTP định nghĩa một số phương thức (method) truyền đến Server:
• GET là phương thức yêu cầu dữ liệu đơn giản và thường sử dụng nhất của HTTP.
Phương thức GET yêu cầu server chỉ trả về dữ liệu bằng việc cung cấp các thông tin
8


truy vấn trên URL, thông thường Server căn cứ vào thông tin truy vấn đó trả về dữ
liệu mà không thay đổi nó. path và query trong URL chứa thông tin truy vấn.
• POST tương tự như GET, nhưng POST có thể gởi dữ liệu về Server.
Internet Of Things (IoT) cho người mới bắt đầu 49/155
• PUT là phương thức yêu cầu tạo mới một dữ liệu, giống POST nhưng đánh dấu
cho Server biết, nếu dữ liệu không tồn tại trong cơ sở dữ liệu thì tạo mới, hoặc sửa
đổi nó.
• DELETE Tương tự như GET, nhưng báo cho Server biết về việc xóa dữ liệu thông
qua URL.
Các phương thức thông thường chỉ dùng GET và POST, các phương thức còn lại
thường sử dụng trong API server (RESTful). Một số điểm khác biệt giữ POST và
GET.

• GET có thể bị cache (lưu trữ ở trình duyệt và sử dụng lại sau đó), nội dung request
có thể lưu trữ ở lịch sử trình duyệt, có thể được đánh dấu (bookmark).
• GET không nên sử dụng để gởi các dữ liệu nhạy cảm.
• GET bị giới hạn độ lớn dữ liệu cần gởi.
• GET chỉ nên dùng để lấy dữ liệu về.
• POST không bị catch, không tồn tại dữ liệu gởi trong lịch sử trình duyệt, không
thể đánh dấu (bookmark).
• POST không giới hạn bởi độ lớn dữ liệu cần gởi.
1.2.4.3.

HTTP Header & Status Code

Dữ liệu trả về bao giờ cũng có phần thông tin header với dòng đầu tiên chưa
Status Code HTTP/1.1 200 OK có nghĩa là status code = 200, request được trả về
phù hợp. Theo sau đó là các cặp header chứa thông tin Server muốn trao đổi với
Client, mà nếu là trình duyệt thì nó bị ẩn đi (người dùng bình thường không thể
thấy). Các cặp header này định dạng theo kiểu name: value và kết thúc bằng ký tự
xuống dòng không thấy bằng mắt thường (0x0D 0x0A hay \r\n). Trong ví dụ trên,
thông tin header Content-Type: text/html; charset=utf-8 báo cho trình duyệt biết
rằng định dạng dữ liệu gởi về là dạng text, mã hóa utf-8. Transfer-Encoding:

9


×