SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU
BÁO CÁO
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG
Đề tài:
GIÁM SÁT MỨC TIÊU THỤ
ĐIỆN, NƯỚC BẰNG CÔNG NGHỆ IOT
Họ và tên GVHD : Th.S Phan Thanh Hoàng Anh
Họ và tên SVTH : Nguyễn Hoàng Quân
LỜI CẢM ƠN
Em xin gửi lời cảm ơn sâu sắc đến thầy Phan Thanh Hoàng Anh, người thầy đã
cung cấp ý tưởng đề tài, đồng thời tận tình hướng dẫn, giúp đỡ, tạo điều kiện cho em
trong suốt quá trình thực hiện đề tài.
Đồng thời trong quá trình thực hiện em đã nhận được rất nhiều sự giúp đỡ của
các thầy cô giáo trong bộ môn, em xin chân thành cảm ơn các thầy cô đã giúp em hoàn
thành đề tài này.
Em cũng xin gửi lời cảm ơn đến các bạn trong lớp, người thân trong gia đình,
các anh, các chú có kinh nghiệm chuyên môn đã chia sẻ, trao đổi kiến thức và hướng
dẫn em thực hiện tốt đề tài.
Xin chân thành cảm ơn!
SV thực hiện đề tài
Nguyễn Hoàng Quân
Vũng Tàu, tháng 06 năm 2020
TRƯỜNG ĐH BÀ RỊA VŨNG TÀU
KCN KT – NNCNC
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
------o0o-----
NHIỆM VỤ NGHIÊN CỨU ĐỀ TÀI KHOA HỌC
CẤP TRƯỜNG NĂM 2019 - 2020
1. Họ và tên sinh viên thực hiện chính: NGUYỄN HOÀNG QUÂN
- MSSV: 16031555 - Ngày, tháng, năm sinh: 16/03/1998
- Nơi sinh: DAKLAK - Chuyên ngành: Điện công nghiệp và Dân dụng
I. TÊN ĐỀ TÀI: ỨNG DỤNG CÔNG NGHỆ IOT
GIÁM SÁT MỨC TIÊU THỤ ĐIỆN – NƯỚC
II. NHIỆM VỤ VÀ NỘI DUNG:
1. Các số liệu ban đầu:
- Kit Arduino Mega, NodeMCU và ngôn ngữ lập trình
- Tài liệu nghiên cứu Arduino Mega, NodeMCU, tạo web trong NODE RED
- Tài liệu nghiên cứu cảm biến dòng ACS712 và lưu lượng S201
2. Nội dung thực hiện:
- Kết nối các cảm biến, nodemcu, mạch đo dòng và lưu lượng S201 vào
mạch Arduino.
- Lập trình cho kit Arduino và nodemcu.
- Thiết kế mô hình hộp chứa mạch điều khiển.
- Xây dựng giao diện và lập trình trang web giám sát từ xa.
- Chạy thử nghiệm.
III. NGÀY GIAO NHIỆM VỤ ĐỀ TÀI: 01/12/2018
IV. NGÀY HOÀN THÀNH ĐỀ TÀI: 15/07/2019
V. HỌ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Phan Thanh Hoàng Anh
CÁN BỘ HƯỚNG DẪN
(Ký và ghi rõ họ tên)
ThS. Phan Thanh Hoàng Anh
Bà Rịa - Vũng Tàu, ngày tháng năm 2020
SINH VIÊN THỰC HIỆN CHÍNH
(Ký và ghi rõ họ tên)
Nguyễn Hoàng Quân
PHÒNG KHOA ĐÀO TAỌ - KHCN
(Ký và ghi rõ họ tên)
TRƯỞNG KHOA
(Ký và ghi rõ họ tên)
LỜI NÓI ĐẦU
Trong những năm gần đây, dường như thuật ngữ IoT (hay Internet
of Things) hay “Vạn vật kết nối internet” đã không còn trở nên quá xa lạ, ta
có thể đôi lần bắt gặp cụm từ này ở bất kỳ đâu, từ những bản tin thời sự -
công nghệ trên tivi, trên các trang mạng điện tử, hoặc cụ thể là những ứng
dụng thiết thực trong đời sống. Đúng như tên gọi, đây là một hệ thống các
thiết bị công nghệ có liên quan đến nhau, mọi vật được kết nối với nhau
dựa trên giao thức chung, đó là mạng truyền thông – hay Internet. Chỉ cần
một thiết bị có kết nối mạng, là bạn có thể hoàn toàn kiểm tra, điều khiển
các thiết bị trong nhà, bất kể bạn đang ở đâu. Công nghệ IoT đã và đang
phát triển trong rất nhiều lĩnh vực.
Với những lợi ích trông thấy, bạn cũng muốn sở hữu một ứng dụng
IoT cho căn nhà của bạn phải không nào? Vậy ứng dụng vào đâu bây giờ,
ngoài việc chỉ điều khiển các thiết bị điện từ xa? Vậy có bao giờ bạn phải
đau đầu tự hỏi tháng này hóa đơn tiền điện nước lại tăng lên trong khi bạn
nghĩ là đã sử dụng chúng một cách hợp lý và tiết kiệm chưa? Chẳng lẽ đồng
hồ lại báo số sai?, cũng có thể. Như vậy, bạn cần phải có một ứng dụng để
có thể giám sát thông số điện- nước mà gia đình bạn sử dụng hàng ngày;
đến cuối tháng, bạn tổng kết lại, đối chiếu với hóa đơn điện-nước trong
tháng này, chứ không còn phụ thuộc vào hóa đơn của công ty điện nước
như trước kia nữa. Thực ra, trên thị trường đã có những thiết bị như thế
này rồi, với độ chính xác cao, nhưng giá thành lại rất mắc, vả lại không thể
giám sát được từ xa.
Nắm bắt được điều này, vận dụng kiến thức đã học, em đã tiến hành thực
hiện đề tài với tên “ỨNG DỤNG CÔNG NGHỆ IOT GIÁM SÁT MỨC
TIÊU THỤ ĐIỆN - NƯỚC”, thực hiện công việc đo và giám sát, hiển thị và
cập nhật lên màn hình thiết bị và trên web, giúp cho người sử dụng có thể
dễ dàng quan sát cũng như thống kê được lượng điện - nước mà họ đã và
đang sử dụng. Với đề tài này, nhóm hy vọng sẽ làm cơ sở nghiên cứu để
các nhóm sau có thể phát triển và cải tiến thêm nữa.
MỤC LỤC
LỜI CẢM ƠN
ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN
LỜI MỞ ĐẦU
MỤC LỤC
CHƯƠNG 1. TỔNG QUAN ....................................................................................... 1
1.1. Đặt vấn đề ............................................................................................................... 1
1.2. Mục tiêu ..................................................................................................................
1
1.3. Nội dung nghiên cứu ...............................................................................................
2
1.4. Giới hạn ..................................................................................................................
2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ...........................................................................
3
2.1. Giới thiệu phần cứng. ..............................................................................................
3
2.1.1. Thiết bị đầu vào ...................................................................................................
3
2.1.1.1. Module cảm biến dòng điện ACS712 - 20A .....................................................
4
2.1.1.2. Cảm biến lưu lượng S201. ................................................................................
5
2.1.2. Thiết bị đầu ra – Màn hình LCD 16x2 và mạch LCD I2C ..................................
6
2.1.2.1. LCD 16x2 .........................................................................................................
7
2.1.2.2. Module giao tiếp LCD I2C. ..............................................................................
8
2.1.3. Arduino Mega 2560..............................................................................................
9
2.1.3.1. Giới thiệu. .........................................................................................................
9
2.1.3.2. Thông số kỹ thuật............................................................................................
19
2.1.4. NodeMCU 1.0. ...................................................................................................
10
2.1.4.1. Giới thiệu. .......................................................................................................
10
2.1.4.2. Thông số kỹ thuật.............................................................................................
11
2.2. Chuẩn truyền dữ liệu. ............................................................................................
11
2.2.1 Giao tiếp UART ..................................................................................................
12
2.2.1.1. Giới thiệu. .......................................................................................................
12
2.2.1.2. Các thông số trong truyền nhận UART...........................................................
13
2.2.2 Chuẩn giao tiếp I2C ............................................................................................
13
2.2.2.1. Giới thiệu. .......................................................................................................
13
2.2.2.2. Đặc điểm giao tiếp I2C. ..................................................................................
14
2.2.2.3 Trình tự truyền bit trên đường truyền. .............................................................
14
2.2.2.4 Điều kiện START và STOP.............................................................................
15
2.2.3 Chuẩn giao tiếp Wifi .......................................................................................... 15
2.2.3.1 Giới thiệu. ........................................................................................................
15
2.2.3.2 Nguyên tắc hoạt động. .....................................................................................
15
2.2.3.3 Một số chuẩn kết nối Wifi. ..............................................................................
15
2.3. NODE RED. .........................................................................................................
16
2.3.1 Giới thiệu ............................................................................................................
17
2.3.2 cấu trúc tổng quan node red ................................................................................
17
2.4. Firebase Realtime Database ................................................................................. 18
2.4.1 Giới thiệu ............................................................................................................
18
2.4.2 Những đặc điểm nổi bật ..................................................................................... 19
2.4.2.1 Cách dữ liệu được lưu trữ ............................................................................... 19
2.4.2.2 Dữ liệu offline.................................................................................................. 20
2.4.2.3 Cập nhật dữ liệu thời gian thực........................................................................ 20
2.4.2.4 Tính bảo mật và quy định. ...............................................................................
20
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG. .........................................
21
3.1. Giới thiệu ..............................................................................................................
21
3.2. Tính toán và thiết kế hệ thống...............................................................................
22
3.2.1. Thiết kế sơ đồ khối hệ thống. ............................................................................
22
3.2.2. Tính toán và thiết kế mạch ................................................................................ 23
3.2.2.1. Thiết kế khối hiển thị ......................................................................................
23
3.2.2.2. Thiết kế khối xử lý ..........................................................................................
24
3.2.2.3 Thiết kế khối thiết bị đầu vào. ..........................................................................
24
3.2.2.4 Thiết kế khối nguồn. .........................................................................................
25
3.2.3. Sơ đồ nguyên lý của toàn mạch .........................................................................
25
CHƯƠNG 4. THI CÔNG HỆ THỐNG ...................................................................... 26
4.1. Giới thiệu ..............................................................................................................
27
4.2 lập trình hệ thống ...................................................................................................
30
4.3 Phần mềm lập trình cho phần cứng ........................................................................
34
4.4 Phần mềm lập trình cho website .............................................................................
35
4.5 Phần mềm giao tiêp cho web và phần cứng ...........................................................
35
4.6 Sơ đồ khối toàn hệ thống ........................................................................................
36
4.7 Mô hình thực tế ......................................................................................................
36
CHƯƠNG 5. KẾT LUẬN- HƯỚNG PHÁT TRIỂN ĐỀ TÀI ................................... 38
5.1. Kết luận................................................................................................................. 38
5.1.1 ưu điểm ...............................................................................................................
38
5.1.2. nhược điểm ........................................................................................................
38
5.2 Hướng phát triển.....................................................................................................
38
TÀI LIỆU THAM KHẢO
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 10
Chương 1. TỔNG QUAN
1.1. ĐẶT VẤN ĐỀ
Hàng tháng, chúng ta phải luôn trả các hóa đơn điện – nước mà hầu như số tiền phải
đóng lại ngày một tăng cao. Lý do ở đây là ta không thể hoàn toàn kiểm soát được
mức điện – nước đã được sử dụng, bởi hầu như ta không có bất kỳ con số thống kê cụ
thể nào cả, ngoài việc tự ước lượng. Hiện nay, trên thị trường cũng có bán các thiết bị
để giám sát điện năng tiêu thụ với độ chính xác khá cao, nhưng giá thành thì lại
không hề rẻ, cũng như hạn chế về mặt giám sát từ xa.
Nhận thấy được điều này, nhóm chúng em muốn tạo ra một ứng dụng giúp cho các
hộ gia đình có thể dễ dàng thống kê - giám sát được lượng điện - nước mà họ sử
dụng hàng ngày; để từ đó họ có thể kiểm soát và đề ra phương án sử dụng một cách
hiệu quả và tiết kiệm hơn. Đó là lý do nhóm em quyết định lựa chọn và thực hiện
đề tài “ỨNG DỤNG CÔNG NGHỆ IOT GIÁM SÁT MỨC TIÊU THỤ ĐIỆN -
NƯỚC”.
1.2. MỤC TIÊU
Thiết kế một hệ thống tiến hành đo lượng điện – nước tiêu thụ, và đều đặn cập nhật
các thông số đó lên một trang web-host để thuận tiện cho công việc giám sát. Hệ
thống ứng dụng công nghệ IoT, giúp cho người dùng ở bất kỳ đâu cũng có thể dễ
dàng truy cập được. Đồng thời, ứng dụng cũng xây dựng một hệ thống các user, giúp
cho quản trị viên dễ dàng hơn trong việc kiểm soát thông tin người dùng.
1.3. NỘI DUNG NGHIÊN CỨU
 NỘI DUNG 1: Tìm hiểu và lựa chọn các giải pháp thiết kế.
 NỘI DUNG 2: Thu thập tài liệu về các cảm biến, module wifi, bộ vi xử lý,
cũng
như tìm kiếm một web host khả dụng.
 NỘI DUNG 3: Thiết kế, lập trình cho hệ thống điều khiển, chạy thử nghiệm.
 NỘI DUNG 4: Thiết kế mô hình, chỉnh sửa và cải tiến từ những phương án đã
chọn
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 11
 NỘI DUNG 5: Đánh giá kết quả thực hiện
1.4. GIỚI HẠN
 Hệ thống chỉ dừng lại ở công việc giám sát các thông số
 Mô hình không quá to để có thể dễ dàng sử dụng ở nhà
 Sử dụng nguồn điện lấy trực tiếp từ lưới điện gia đình.
 Sai số hệ thống chấp nhận được
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 12
Chương 2. CƠ SỞ LÝ THUYẾT
2.1 GIỚI THIỆU PHẦN CỨNG
2.1.1 Thiết bị đầu vào
2.1.1.1 Module cảm biến dòng điện ACS712 - 20A
Để đo dòng điện AC, ta có thể dùng máy biến dòng CT, đây là một loại “công cụ đo
lường dòng điện” được thiết kế nhằm tạo ra một dòng điện xoay chiều có cường độ
tỷ lệ với cường độ dòng điện ban đầu. Tuy nhiên, giá thành của thiết bị này khá là
mắc. Ta có thể dùng cảm biến ACS712 được tích hợp sẵn vào module để thực hiện đo
dòng điện với độ chính xác khá cao, kết nối đơn giản – thuận tiện và giá thành phải
chăng.
Hình 2.1 Hình ảnh của Module và IC cảm biến dòng ACS712
Module ở hình trên sử dụng cảm biến dòng điện ACS712 – đây là một cảm biến
dòng tuyến tính dựa trên hiệu ứng Hall, giúp chuyển dòng điện cần đo thành giá trị
điện thế. Chân ACS712 sẽ xuất ra một tín hiệu analog ở chân Vout biến đổi tuyến tính
theo Ip
(dòng điện cần đo) được lấy mẫu thứ cấp DC (hoặc AC) trong phạm vi cho phép.
Tụ Cf dùng cho mục đích chống nhiễu.
Các thông số kỹ thuật của module ACS712 -20A:
 Đường tín hiệu analog có độ nhiễu thấp
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 13
 Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5ìs
 Băng thông 80 Khz
 Tổng lỗi ngõ ra tại Ta = 25ºC là 1,5%
 Điện trở dây dẫn trong là 1,2mΩ
 Nguồn vận hành đơn : 5V
 Dòng tiêu thụ (max): 13mA
 Độ nhạy đầu ra từ 96 – 104mV/A
 Điện áp ngõ ra tương ứng với dòng AC hoặc DC
 Điện áp ngõ ra cực kỳ ổn định
 Ip: từ -20A đến 20A
 Nhiệt độ hoạt động từ -40 đến 85oC
Ngoài ra còn có các loại cảm biến dòng khác như :
 ACS712 – 5A: khoảng đo từ -5A đến 5A, độ nhạy điện áp 180 - 190mV/A
 ACS712 – 30A: khoảng đo từ -30A đến 30A, độ nhạy điện áp 64 - 68mV/A
Hình 2.2 Hình ảnh minh họa kết nối với module ACS712
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 14
2.1.1.2 Cảm biến lưu lượng S201
Ta có thể sử dụng đồng hồ đo nước thông dụng để biết được lượng nước sinh hoạt
đã sử dụng. Tuy nhiên, để có thể giám sát ở bất cứ đâu thông qua internet ứng dụng
công nghệ IoT, ta cần phải sử dụng một cảm biến chuyên dụng, để đọc và gửi dữ
liệu từ cảm biến về vi bộ xử lý. Trong đề này sử dụng cảm biến lưu lượng S201 để đo.
Cảm biến S201 bên trong có chứa một cánh quạt để đếm lượng chất lỏng chảy qua
nó và có một cảm biến từ Hall xuất ra các xung khi có sự thay đổi trạng thái đầu ra.
Cảm biến Hall được hàn kín trong ống để được an toàn và khô ráo.
Hình 2.3 Hình ảnh của cảm biến lưu lượng S201 và kết nối
Cảm biến lưu lượng có 3 dây:
 Dây đỏ: cấp nguồn 5V – 24VDC
 Dây đen: GND
 Dây vàng: ngõ ra của cảm biến Hall
Thông số kỹ thuật của cảm biến S201:
 Điện áp làm việc: 5V – 24VDC
 Loại ngõ ra: 5V TTL
 Dòng điện cao nhất: 15mA (5V)
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 15
 Mức độ dòng chảy: từ 1 đến 30 L/phút
 Vận hành ở nhiệt độ: -25ºC – 80ºC
 Nhiệt độ dòng chảy: <120ºC
 Áp lực nước tối đa: 2Mpa
 Vận hành ở độ ẩm: 35% - 80% RH
 Sai số: 10%
 Số xung trên lít: 450
 Thời gian xung ngõ ra ở mức cao: 0,04ìs
 Thời gian xung ngõ ra ở mức thấp: 0,18 ìs
Với các tín hiệu xung ra là một dải xung vuông đơn giản, ta có thể dễ dàng đọc và
tính được lưu lượng nước bằng việc đếm xung từ ngõ ra của cảm biến theo công
thức sau:
Tần số xung (Hz) / 7,5 = tốc độ dòng chảy (L / phút)
Một số lưu ý khi sử dụng:
 Nên đặt cảm biến ở trên cùng dòng chảy
 Không cho dòng chảy có chất hóa học, ăn mòn
 Không chịu va đập khi sử dụng
 Đặt cảm biến thẳng đứng không lệch quá 5 độ
 Nhiệt độ nước chảy qua dưới 120 độ C
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 16
2.1.2 Thiết bị đầu ra – Màn hình LCD 16x2 và mạch LCD I2C
2.1.2.1 LCD 16x2
LCD (Liquid Crystal Display) được sử dụng rất nhiều trong các ứng dụng vi điều
khiển, nó có nhiều ưu điểm so với các dạng hiển thị khác như: khả năng hiển thị ký tự
đa dạng trực quang, dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp
khác nhau, tốn rất ít tài nguyên hệ thống và giá thành lại rẻ.
Trên thị trường có rất nhiều loại LCD đa dạng về kích cỡ và hình dáng, như hình
2.4 bên dưới, đây là một loại LCD rất thông dụng. Bên trong lớp vỏ của LCD
được tích hợp chip điều khiển HD44780 và chỉ đưa các chân giao tiếp cần thiết ra
bên ngoài, và được ghi chú hướng dẫn cụ thể.
Hình 2.4 Sơ đồ chân của LCD 16x2
Thông số kỹ thuật của LCD 16x2:
 Điện áp lớn nhất: 7V
 Điện áp nhỏ nhất: - 0,3V
 Điện áp hoạt động: 2,7V - 5,5V
 Dòng điện cấp nguồn: 350ìA - 600ìA
 Nhiệt độ hoạt động: - 30 - 75˚C
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 17
khiển để điều khiển màn hình. Ta cần tải thư viện LCD I2C về, thêm vào Arduino
IDE để sử dụng.
Kết nối LCD với Nodemcu
Bảng 2.1 Kết nối LCD với NodeMCU
Module màn hình LCD (16x2) NodeMCU
GND GND
Vcc (Nguồn riêng 5V)
SDA D1
SCL D0
2.1.3 Arduino Mega 2560
2.1.3.1 Giới thiệu
Nếu cần tìm kiếm một bộ vi xử lý được hỗ trợ mạnh mẽ với mã nguồn mở, có
một cộng đồng sử dụng rộng lớn, ngôn ngữ lập trình dễ tiếp cận, và giá thành
hợp lý, thì Arduino chính là thứ mà bạn đang tìm kiếm. Arduino trải qua rất nhiều
phiên bản cải tiến, mở rộng và một trong những phiên bản được sử dụng rộng rãi là
Arduino Mega.
Arduino Mega 2560 là một phiên bản nâng cấp của Arduino Uno R3 với số chân
giao tiếp, ngoại vi và bộ nhớ nhiều hơn; phù hợp cho các ứng dụng cần nhiều bộ
nhớ hoặc nhiều chân, cổng giao tiếp hơn so với Arduino Uno. Arduino Mega 2560
cung cấp mọi thứ cần thiết để hỗ trợ vi điều khiển; chỉ cần cáp USB kết nối đến
máy vi tính hoặc cấp điện bằng bộ điều hợp AC-DC hoặc dùng pin để cấp
nguồn là ta đã có thể sử dụng được. Arduino Mega 2560 tương thích với hầu hết
các “shield”.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 18
2.1.3.2 Thông số kỹ thuật
Vi điều khiển chính: Atmega2560
IC nạp và giao tiếp UART: Atmega16U2
Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn bên ngoài
 Số chân Digital: 54 (15 chân PWM)
 Số chân Analog: 16
 Giao tiếp UART: 4 bộ UART
 Giao tiếp SPI: 1 bộ (chân 50 – 53), dùng với thư viện SPI của Arduino
 Giao tiếp I2C: 1 bộ
 Ngắt ngoài: 6 chân
 Bộ nhớ Flash: 256kb; 8kb sử dụng cho Bootloader
 SRAM: 8kb
 EEPROM: 4kb
 Xung clock: 16Mh
 1 nút nhấn reset board
Hình 2.6 Thành phần Arduino Mega 2560
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 19
2.1.4 NodeMCU 1.0
2.1.4.1 Giới thiệu:
NodeMCU V1.0 là một dạng vi điều khiển có tích hợp Wifi, được phát triển dựa
trên chip Wifi ESP8266EX bên trong module ESP – 12E, cho phép dễ dàng kết nối
wifi với một vài thao tác. Board còn tích hợp IC CP2102, giúp dễ dàng giao tiếp
máy tính thông qua Micro USB để thao tác với board. NodeMCU giúp lập trình
viên thực hiện các tác vụ TCP/IP đơn giản để xây dựng các ứng dụng khác nhau, đặc
biệt là ứng dụng IoT.
Hình 2.7 NodeMCU 1.0 (ESP-12E Module)
Với việc sử dụng và kết nối dễ dàng, có thể lập trình và nạp chương trình trực
tiếp trên phần mềm Arduino IDE; Có rất nhiều thư viện và tài liệu hỗ trợ
người dùng, NodeMCU cùng với Arduino chính là công cụ thúc đầy cho các ứng
dụng về lĩnh vực IoT phát triển mạnh mẽ như ngày hôm nay.
Lưu ý là nếu gặp lỗi không giao tiếp được với NodeMCU, ta nên kiểm tra lại cable
(vì có một số loại cable không truyền dữ liệu được), và cài đặt driver xem đã đúng
chưa.
Khi test mạch, ta cần để ý đến nguồn, tránh việc sơ ý bị chồng nguồn gây cháy
module.
2.1.4.2 Thông số kỹ thuật
 Chip: ESP8266EX
 Wifi: 2,4Ghz hỗ trợ chuẩn 802,11b/g/n
 Điện áp hoạt động: 3.3V
 Điện áp vào: 5V (thông qua cáp USB) hoặc nguồn bên ngoài
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 20
 Số chân I/O: 11 (tất cả các chân I/O đều có Interupt/PWM/I2C/One-wire

Hình 2.8 Sơ đồ chân NodeMCU 1.0 (ESP-12E Module)
 Số chân analog input: 1 (điện áp vào tối đa 3.3V)
 Bộ nhớ Flash: 4Mb
 Giao tiếp: Cable Micro USB
 Hỗ trợ bảo mật: WPA/WPA2
 Tích hợp giao thức: TCP/IP
 Lập trình trên các ngôn ngữ: C/C++, MicroPython, NodeMCU – LUA
2.2 CHUẨN TRUYỀN DỮ LIỆU
2.2.1 Giao tiếp UART
2.2.1.1 Giới thiệu
Hiện nay, chuẩn UART (Universal Asynchronous Receiver – Transmitter) được sử
dụng rất nhiều trong các board mạch điều khiển để truyền nhận dữ liệu giữa các thiết
bị với nhau. Rất nhiều vi điều khiển hiện nay được tích hợp UART. Khác với giao
tiếp SPI và I2C cần phải có 1 dây truyền dữ liệu và 1 dây dùng để truyền xung clock
(SCL) cho đồng bộ; đối với chuẩn UART thì không sử dụng dây SCL, công việc
truyền UART được thực hiện giữa 2 bộ vi xử lý, và mỗi vi xử lý đều tự tạo ra xung
clock.
Để thực hiện công việc truyền dữ liệu, bắt đầu bằng việc gửi đi một bit START, tiếp
theo là các bit dữ liệu và cuối cùng là bit stop để kết thúc.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 21
Khi chưa truyền dữ liệu thì ban đầu điện thế ở mức logic 1 (mức cao). Khi bắt đầu
truyền dữ liệu, bit START chuyển từ mức logic 1 về logic 0, báo cho bộ nhận là
việc truyền dữ liệu bắt đầu được thực hiện. Tiếp theo là truyền đi các bit dữ liệu
D0-D7 (có thể là logic 1 hoặc 0). Bộ nhận sẽ kiểm tra tính đúng đắn của dữ liệu
truyền đi dựa theo bit PARITY (kiểm tra chẵn/lẻ). Cuối cùng bit STOP sẽ báo cho
thiết bị rằng dữ liệu đã được gửi đi hoàn tất.
Tất cả các board Arduino đều có ít nhất 1 cổng UART hoặc USART. Cổng giao tiếp
UART trên chân TX/RX sử dụng mức logic TTL (5V hoặc 3,3V) để giao tiếp với
máy tính hay các thiết bị khác. Nếu đã sử dụng 2 chân TX/RX này thì không thể dùng
với mục đích input/output của Arduino nữa.
2.2.1.2 Các thông số trong truyền nhận UART
Baud rate: Hay còn gọi là tốc độ Baud, đây là khoảng thời gian của 1 bit
được
truyền đi. Lưu ý là phải được cài đặt giống nhau ở thiết bị gửi và nhận.
Frame: Khung truyền quy định về số bit trong mỗi lần truyền.
Bit start: đây là bit đầu tiên truyền đi trong một Frame để báo hiệu cho thiết
bị
nhận sẽ có dữ liệu sắp được truyền đến.
Data: đây là dữ liệu cần gửi; bit trọng số nhỏ nhất (LSB) được truyền đi trước, và
cuối cùng là bit MSB.
Parity bit: kiểm tra tính chẵn/lẽ của dữ liệu được truyền đi.
Stop bit: đây là bit báo cho thiết bị nhận rằng việc gửi dữ liệu đi đã hoàn tất. Thiết
bị nhận sẽ kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu.
2.2.2 Chuẩn giao tiếp I2C
2.2.2.1 Giới thiệu
Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là
I2C. I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit. Đây là đường Bus giao
tiếp giữa các IC với nhau. I2C mặc dù được phát triển bới Philips, nhưng nó đã được
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 22
rất nhiều nhà sản xuất IC trên thế giới sử dụng. I2C trở thành một chuẩn công nghiệp
cho các giao tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoài Philips như:
Texas
Intrument(TI), MaximDallas, analog Device, National Semiconductor ... Bus I2C
được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại
Vi điều khiển 8051, PIC, AVR, ARM... chip nhớ như: RAM tĩnh (Static Ram),
EEPROM, bộ
chuyển đổi tương tự số (ADC), số tương tự(DAC), IC điểu khiển LCD, LED...
Hình 2.10 Thiết bị ngoại vi giao tiếp bus I2C
2.2.2.2 Đặc điểm giao tiếp I2C
Một giao tiếp I2C gồm có 2 dây là Serial Data (SDA) và Serial Clock (SCL). SDA
truyền dữ liệu theo 2 hướng, còn SCL là đường truyền một hướng để truyền xung
clock đồng bộ.
Hình 2.11 Thiết bị kết nối vào I2C ở chế độ chuẩn và chế độ nhanh
Mỗi dây SDA và SCL đều nối với điện áp dương của nguồn thông qua một điện trở
kéo lên. Giá trị của các điện trở này khác nhau tùy thuộc vào từng thiết bị và chuẩn
giao tiếp.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 23
Ở hình 2.10 bên trên, có rất nhiều thiết bị kết cùng kết nối vào một bus, tuy nhiên sẽ
không xảy ra trường hợp nhầm lẫn giữa các thiết bị, vì mỗi thiết bị sẽ được nhận ra
bởi một địa chỉ duy nhất, với một quan hệ chủ/tớ tồn tại trong
suốt quá trình kết nối. Một thiết bị có thể hoạt động như một thiết bị truyền hay
nhận dữ liệu hoặc vừa truyền vừa nhận.
Một thiết bị hay IC khi kết nối với I2C, ngoài địa chỉ duy nhất để phân biệt, nó còn
được cấu hình là một thiết bị chủ hay tớ - với quyền điều khiển thuộc về thiết bị chủ.
Khi giữa 2 thiết bị chủ - tớ giao tiếp, thì thiết bị chủ có vai trò tạo xung clock và
quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp.
Như hình trên, xung đồng hồ chỉ đi một hướng từ chủ đến tớ, còn luồng dữ liệu có
thể đi theo 2 hướng.
2.2.3 Chuẩn giao tiếp Wifi
2.2.3.1 Giới thiệu
Wifi là viết tắt của Wireless Fidelity, được gọi chung là mạng không dây sử dụng
sóng vô tuyến, loại sóng vô tuyến này tương tự như sóng truyền hình, điện thoại và
radio. Wifi phát sóng trong phạm vi nhất định, các thiết bị điện tử tiêu dùng ngày
nay như laptop, smartphone hoặc máy tính bảng có thể kết nối và truy cập internet
trong tầm phủ sóng.
2.2.3.2 Nguyên tắc hoạt động
Để tạo được kết nối Wifi nhất thiết phải có Router (bộ thu phát), Router này lấy
thông tin từ mạng Internet qua kết nối hữu tuyến rồi chuyển nó sang tín hiệu vô tuyến
và gửi đi, bộ chuyển tín hiệu không dây (adapter) trên các thiết bị di động thu nhận
tín hiệu này rồi giải mã nó sang những dữ liệu cần thiết. Quá trình này có thể thực
hiện ngược
lại, Router nhận tín hiệu vô tuyến từ Adapter và giải mã chúng rồi gởi qua Internet.
2.2.3.3 Một số chuẩn kết nối Wifi
Tuy nói wifi tương tự như sóng vô tuyến truyền hình, radio hay điện thoại nhưng nó
vẫn khác các loại sóng kia ở mức độ tần số hoạt động.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 24
Sóng wifi truyền nhận dữ liệu ở tần số 2,5Ghz đến 5Ghz. Tần số cao này cho phép
nó mang nhiều dữ liệu hơn nhưng phạm vi truyền của nó bị giới hạn; còn các loại
sóng khác, tuy tần số thấp nhưng có thể truyền đi được rất xa.
Kết nối wifi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute
of
Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ a/b/g/n:
 Chuẩn wifi đầu tiên 802.11: năm 1997, IEEE đã giới thiệu chuẩn đầu tiên này
cho
WLAN. Tuy nhiên, 802.11 chỉ hỗ trợ cho băng tần mạng cực đại lên đến 2Mbps –
quá chậm đối với hầu hết mọi ứng dụng. Và với lý do đó, các sản phẩm không dây
thiết kế theo chuẩn 802.11 ban đầu không được sản xuất nữa.
 Chuẩn wifi 802.11b: IEEE đã mở rộng trên chuẩn gốc 802.11 để tạo ra
chuẩn
802.11b vào tháng 7/1999. Chuẩn này hỗ trợ băng thông lên đến 11Mbps, tương
ứng
Hình 2.16 Bảng so sánh thông số các chuẩn wifi
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 25
2.3 NODE RED
2.3.1 Giới thiệu
Node-RED là một công cụ lập trình để kết nối các thiết bị phần cứng, API và
online services theo những cách mới và thú vị.
Nó cung cấp một trình soạn thảo dựa trên trình duyệt giúp dễ dàng kết nối các luồng
với nhau bằng cách sử dụng một loạt các Node trong bảng màu (palette) có thể được
triển khai chỉ bằng một cú nhấp chuột.Nếu như ngày xưa phải biết ngôn ngữ C, C++
hay các ngôn ngữ máy bậc thấp. Thì giờ đây ta có thể code nó bằng javascript do
Node-RED được xây dựng trên NodeJS
Node-RED được dựa trên Node.js, nó có thể được xem như một web server mà bạn
có thể cấu hình tùy chỉnh các chức năng gọi là “flow” từ bất kỳ trình duyệt nào trên
máy
2.3.2 cấu trúc tổng quan của NODE-RED
Một ví dụ đơn giản để chúng ta có thể hình dung được các node khác nhau sẽ tương
tác như thế nàoVới Node-RED ta có thể hình dung cách tương tác và giao tiếp với các
thiết bị một cách tổng quan như hình dưới. Ở đây máy tính của mình sẽ đóng vai trò là
server và client
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 26
Nếu dùng Raspberry hay OrangePi thì thiết bị này sẽ đóng vai trò là Server, còn lại
sẽ là client như hình
2.3.3 cài đặt terminal NODE RED
Cài nhanh gọn với lệnh
$ sudo apt-get install nodejs-legacy
$ sudo apt-get install npm
$ sudo npm install -g --unsafe-perm node-red node-red-admin
$ node-red
Giờ thì có thể truy cập vào Node-RED ở đường dẫn http://127.0.0.1:1880/#
Khởi Động Nodered Tự Động
Đây là một option khi bạn cài nodered lên ubuntu 16.04, ta cần tạo một service
nodered với tên node-red.service với lệnh
–v
Restart=on-failure
KillSignal=SIGINT
# log
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 27
Lưu ý: thay sammy bằng user hiện tại của bạn, ví dụ của mình dùng user ubuntu thì
ubuntu sẽ được thay thế cho Sammy, Sau đó chạy lệnh để auto start nodered
$ sudo systemctl enable node-red
Nếu muốn dừng chạy auto thì chạy command
$ sudo systemctl stop node-red
Tạo màn hình đăng nhập cho node-red
Để đảm bảo chỉ có mình bạn và những người liên quan có thể vào được trang
nodered admin thì cần enable trang đăng nhập lên, để thực hiện được cần
Chỉnh sửa file settings.js với lệnh
$ nano ~/.node-red/settings.js
Kéo xuống và uncomment khối adminAuth(xóa các kí tự “// ” trước mỗi line). Đổi
phần username thành cái bạn muốn và paste hash password đã tạo ở trên vào.
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password:
"$2a$08$Ab9prIr1M8a5a1/Zx8.B9.uIOCPe.v90ZGuZc2kAATp6BHJ/WV5KS",
permissions: "*"
}]
},
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 28
$ sudo systemctl restart node-red
Ở đây bạn cần thay thế 2 chỗ là username và password
Sau khi chỉnh sửa hoàn tất, khởi động lại nodered với lệnh
2.3.4 tạo giao diện cho website bằng NODE RED
Các đối tượng trong Dashboard được phân thành 3 cấp từ lớn đến nhỏ như sau:
 Tabs & Links: đây có thể xem nhưng từng màn hình
 Group: đây là các nhóm thuộc các màn hình. Bạn có thể tạo nhiều nhóm trong
cùng một màn hình
 Object: button, textbox, slider, chart, form, . . .
kéo thả 2 nodes button và text vào workplace để làm thực nghiệm:
 Với mỗi đối tượng chúng ta sử dụng, các bạn cần lưu ý các điều sau:
 Đối tượng thuộc Tab nào ?
 Đối tượng thuộc Group nào ?
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 29
 Các bạn cấu hình node button và node text như sau:
Phần payload trong cấu hình của button là giá trị mà button sẽ truyền đi khi ta
click vào nó.
Các bạn bấm Deploy và truy cập http://localhost:<port>/ui để xem kết quả !
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 30
Chương 3. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.1 GIỚI THIỆU
Hệ thống này sẽ thực hiện công việc giám sát thông số điện năng tiêu thụ và lượng
nước sinh hoạt hằng ngày, sau đó đều đặn gửi những thông tin này ra màn hình hiển
thị trên thiết bị hay cập nhật lên giao diện web để người dùng tiện theo dõi, quan sát.
Giả dụ, đối với những ai muốn sử dụng hệ thống này cho hộ gia đình của họ, điều
đầu tiên là họ cần mua bộ thiết bị giám sát điện – nước,
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
Với những yêu cầu kể trên, hệ thống sẽ bao gồm các khối sau: khối nguồn, khối
xử
lí trung tâm, khối hiển thị, khối thiết bị đầu vào và WebServer.
Khối nguồn: cấp nguồn cho hệ thống hoạt động.
Khối xử lí trung tâm: nhận dữ liệu từ khối thiết bị đầu vào, tính toán các giá trị
điện - nước sau đó xuất tín hiệu ra khối hiển thị để hiển thị các giá trị điện – nước đã
sử dụng. Kết nối mạng không dây để đọc thời gian thực từ internet về so sánh để đều
đặn lấy dữ liệu và đẩy lên websete
Khối hiển thị: hiển thị thông tin về lượng điện – nước tiêu thụ.
Khối thiết bị đầu vào: bao gồm cảm biến dòng, mạch đo áp và cảm biến lưu
lượng.
WebServer: bao gồm một database để lưu trữ dữ liệu và một web node red để
xây
dựng trang web giám sát điện – nước.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 31
Hình 3.1: Sơ đồ khối hệ thống
3.2.2 Tính toán và thiết kế mạch
3.2.2.1 Thiết kế khối hiển thị
Trên mô hình sẽ có một màn hình LCD 16x2 hiển thị thông tin về mức điện năng
đang sử dụng hoặc lượng nước đang sử dụng. LCD 16x2 sẽ sử dụng nguồn 5V từ
Arduino để hoạt động và tiêu tốn dòng tối đa là 120mA.
3.2.2.2 Thiết kế khối xử lý
Sử dụng Arduino Mega để tiếp nhận và xử lý dữ liệu từ khối thiết bị đầu vào.
Arduino Mega có dòng tiêu thụ là 200mA. Module giao tiếp wifi NodeMcu sẽ tiếp
nhận dữ liệu để xử lý, so sánh và cập nhật thông tin lên web server; khi hoạt động ở
mức tối đa thì tiêu thụ dòng 170mA.
Về WebServer nhóm sử dụng phương pháp cài đặt và tạo giao diện web bằng
node red. Vừa đơn giản, dễ sử dụng và thu lại được kết quả cao trong các nút
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 32
3.2.2.3 Thiết kế khối thiết bị đầu vào
Thiết kế mạch đo điện áp:
Có nhiều phương pháp để đo điện áp của nguồn điện.
Hình 3.2: Mạch đo điện áp
Nếu không xét về kích thước hơi cồng kềnh và giá thành của sản phẩm, thì việc
sử dụng biến áp để giảm áp là một trong những cách đơn giản và an toàn.
Như sơ đồ nguyên lý bên trên, nguồn 220Vac khi qua biến áp sẽ được giảm xuống
còn 9Vac hiệu dụng (điện áp đỉnh là 12.7V). Sử dụng cầu diode để chỉnh lưu thành
điện áp một chiều 11.3V đỉnh (sụt áp trên diode là 1.4V). Sau đó sử dụng 2 tụ
điện để lọc nhiễu và làm phẳng điện áp.
Nhưng để bộ ADC của Arduino đo được điện áp thì điện áp ngõ ra Vo phải nhỏ hơn
5V, và để tránh trường hợp áp tăng cao đột ngột gây hại cho Arduino thì ta xử lí cho
điện áp nhỏ hơn 4V. Ta sử dụng cầu phân áp để xử lý vấn đề này, theo sơ đồ hình 3.2
điện áp ngõ ra Vo được chia xuống còn 1/3 tức sẽ có giá trị khoảng 3.78V
Cảm biến đầu vào:
Sử dụng một module đo dòng điện ACS712 có dòng tiêu thụ là 13 mA và một
cảm biến lưu lượng S201 với mức dòng tiêu tốn cao nhất 15 mA. Cả 2 cảm biến này
sử dụng nguồn 5V lấy từ arduino để hoạt động.
3.2.2.4 Thiết kế khối nguồn
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 33
Với thông số mức dòng điện tiêu thụ đã kể ở trên, ta tính được dòng điện mà hệ
thống cần phải cung cấp:
Dòng tiêu thụ khối hiển thị: 120mA
Dòng tiêu thụ của khối xử lý:
200mA (Arduino Mega) + 170mA (NodeMCU) = 370mA
Dòng tiêu thụ khối thiết bị đầu vào:
13mA (ACS712) + 15mA (S201) = 28mA
Như vậy dòng tổng cần cung cấp cho cả hệ thống là:
Cả arduino và NodeMCU đều sử dụng IC AMS1117 để ổn định điện áp cho mạch
hoạt động nên nguồn cấp cho board có thể dao động từ 7V – 12V (giới hạn từ 6V –
15V). Ta thiết kế mạch nguồn như sau:
Hình 3.3: Mạch nguồn cấp cho Arduino và NodeMCU
Điện áp đầu ra của mạch nguồn được tính toán giống như mạch đo áp với
Vo1.3V.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 34
3.2.3 Sơ đồ nguyên lý của hệ thống
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 35
Chương 4. THI CÔNG HỆ THỐNG
4.1 GIỚI THIỆU
Sau khi đã tính toán và lựa chọn thiết bị cụ thể, ta sẽ bước sang giai đoạn sau cùng
là thi công hệ thống. Về phần cứng, phần lớn các thiết bị được sử dụng trong đề tài là
các module và cảm biến đều có sẵn trên thị trường: Arduino Mega, NodeMCU,
ACS712, S201… Ngoài ra sẽ thiết kế mạch để đo giá trị điện áp AC 220V.
Đối với phần mềm, chúng ta sẽ tiến hành lập trình điều khiển cho Arduino Mega và
NodeMCU; đồng thời sẽ thiết kế giao diện web server và xây dựng cơ sở dữ liệu
Realtime Database Firebase.
4.2 LẬP TRÌNH HỆ THỐNG
4.2.1 LƯU ĐỒ GIẢI THUẬT
Khi cấp nguồn, màn hình LCD sẽ hiển thị 2 thông số là điện năng tiêu thụ hiện tại
lấy từ mạch đo áp, cảm biến dòng ACS712 và mức nước tiêu thụ lấy từ cảm biến lưu
lượng S201
Arduino sẽ đều đặn gửi dữ liệu qua module wifi Nodemcu. Nodemcu tiếp nhận dữ
liệu và cập nhật hiển thị LCD và database của node-red. Khi xảy ra trường hợp mất
điện, thì Nodemcu chỉ việc lấy dữ liệu từ database node-red và cộng với mức tiêu thụ
mà arduino gửi qua để tiếp tục hiển thị khi có điện lại.
Đối với Arduino, ta sẽ tiến hành khởi tạo thiết lập kết nối, khai báo biến và bật các
chức năng cần thiết. Cả hai chương trình đo điện và nước tiêu thụ được thực hiện song
song. Sử dụng hàm millis() được hỗ trợ sẵn từ Arduino IDE để canh
thời gian, tiến hành lấy mẫu dòng điện, điện áp trong 1 giây; sau đó sẽ thực hiện
công việc tính toán. Bên cạnh đó, Arduino sẽ thực hiện ngắt để chạy chương trình đếm
số lượng xung và dừng ngắt để tính toán lượng nước tiêu thụ trong 1 giây (cũng sử
dụng hàm millis()).
Sau khi đã tính toán xong thông số điện – nước, biến đếm sẽ tăng lên 1; khi biến
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 36
đếm bằng 10 thì sẽ gửi dữ liệu sang Nodemcu (tức mỗi 10 giây sẽ gửi dữ liệu sang
Nodemcu
một lần).
Đối với Nodemcu, khi khởi động sẽ thực hiện khởi tạo kết nối và bật các chức năng
cần thiết. Sau đó sẽ thực hiện kết nối wifi và dashboard dựa trên các khai báo.
Nodemcu
sẽ kiểm tra và nhận dữ liệu từ arduino, khi arduino gửi dữ liệu sang thì Nodemcu sẽ
nhận, xử lí để hiển thị lên lcd và gửi lên data node-red. NodeMcu lấy thời gian thực
trực tiếp từ Internet, thực hiện so sánh và cập nhật dữ liệu lên database node-red sau
mỗi 120s. Đầu tháng sẽ reset các dữ liệu tổng về 0, bên cạnh đó sẽ lưu giá trị tổng điện
– nước của tháng này để thống kê mức độ sử dụng điện - nước trong 3 tháng gần nhất.
Nếu nhấn nút hiển thị LCD, chương trình sẽ thực hiện ngắt để xử lý trong thời gian rất
ngắn, sau đó tiếp tục hoạt động.
4.3 PHẦN MỀM LẬP TRÌNH CHO PHẦN CỨNG
Đề tài sử dụng phần mềm ArduinoIDE (Arduino Intergrated Development
Environment) để lập trình cho Arduino Mega 2560 và cả NodeMCU; Ngôn ngữ được
sử dụng ở ArduinoIDE là C/C++. Tất cả đều là mã nguồn mở, được đóng góp và hỗ
trợ rất nhiều từ cộng đồng, rất thích hợp cho những ai mới bắt đầu tìm hiểu hoặc
không chuyên để dễ dàng tiếp cận, nắm bắt và triển khai nhanh chóng. ArduinoIDE
hoạt động được trên cả 3 nền tảng: Windows, MAC OS và Linux.
Bên dưới là hướng dẫn về cách cài đặt, cách tạo project, viết code và biên dịch
chương trình trên hệ điều hành Windows. Cài đặt:
Cài đặt Java Runtime Environment (JRE)
Vì Arduino IDE được viết trên Java, nên ta cần phải cài đặt JRE trước; nếu không,
Arduino IDE sẽ không hoạt động được. JRE có 2 bản phổ biến nhất hiện nay dành
cho Windows 32 bit (x86) và Windows 64 bit (x64).
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 37
Linkdowload:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 38
Hình 4.3: Ủng hộ nhà phát triển Arduino IDE
Sau khi đã cài đặt xong, mở phần mềm lên ta sẽ thấy một giao diện rất dễ nhìn và
thân thiện hơn so với đa phần các phần mềm lập trình khác. Arduino IDE làm việc
với dưới dạng bản soạn thảo gọi là Sketch, ta sẽ soạn các lệnh lập trình (code) vào
Sketch rồi sử dụng thao tác biên tập và upload chương trình đó xuống board
Arduino đã cắm vào máy. Khi tiến hành nạp code thì ta cần phải chắc chắn rằng
phần mềm đã nhận được tín hiệu của board Arduino (Arduino COM port detect); bản
Sketch đang soạn nạp đúng với board Arduino tương ứng (khi cần soạn hai Sketch
giao tiếp giữa hai board Arduino và cắm vào cùng máy tính thì vấn đề như vậy sẽ bắt
đầu phát sinh). Khi cắm board Arduino vào máy tính cổng COM sẽ được nhận và ta
vào phần Tools -> Port để chọn cổng COM kết nối Arduino IDE với board. Sau khi
máy đã nhận cổng COM thì ta cần điều chỉnh phần mềm lập trình Arduino xác nhận
đúng loại board đang muốn nạp.
4.4 PHẦN MỀM LẬP TRÌNH CHO WEBSITE
Sau đó, bạn có thể truy cập trình soạn thảo Node-RED bằng cách truy cập
dến http://doansmarthome.tk/admin/#flow/1406bb2e.be6ad5 Giao diện như sau:
Từ giao diện nút này ta có thể tạo ra 1 giao diện website theo mục đích của mạch
mình làm
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 39
Mỗi nút ta sẽ để nó thuộc vào một group hoặc tab rồi bất đầu gắn địa chỉ, kết nốt
data trong các nút và nối các nút lại với nhau
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 40
Và đây là giao diện của website
4.5 PHƯƠNG THỨC GIAO TIẾP CHO WEBSITE VÀ PHẦN CỨNG
4.4.1 GIAO THỨC MQTT
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 41
MQTT = Message Queue Telemetry Transport
Đây là một giao thức truyền thông điệp (message) theo mô hình publish/subscribe
(xuất bản – theo dõi), sử dụng băng thông thấp, độ tin cậy cao và có khả năng hoạt
động trong điều kiện đường truyền không ổn định.
MQTT là một giao thức nhắn tin gọn nhẹ được thiết kế để liên lạc nhẹ giữa các thiết
bị và hệ thống máy tính. MQTT được thiết kế ban đầu cho các mạng SCADA, các kịch
bản sản xuất và băng thông thấp, MQTT đã trở nên phổ biến gần đây do sự phát triển
của Internet-of-Things (IoT).
Ưu điểm của MQTT
Giao thức MQTT cho phép hệ thống SCADA của bạn truy cập dữ liệu IIoT. MQTT
mang lại nhiều lợi ích mạnh mẽ cho quy trình của bạn:
 Chuyển thông tin hiệu quả hơn
 Tăng khả năng mở rộng
 Giảm đáng kể tiêu thụ băng thông mạng
 Giảm tốc độ cập nhật xuống giây
 Rất phù hợp cho điều khiển và do thám
 Tối đa hóa băng thông có sẵn
 Chi phí cực nhẹ
 Rất an toàn với bảo mật dựa trên sự cho phép
 Được sử dụng bởi ngành công nghiệp dầu khí, Amazon, Facebook và các doanh
nghiệp lớn khác
 Tiết kiệm thời gian phát triển
 Giao thức publish/subscribe thu thập nhiều dữ liệu hơn với ít băng thông
hơn so với giao thức cũ.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 42
Ứng dụng của MQTT
Facebook Messenger . Facebook đã sử dụng các khía cạnh của MQTT trong
Facebook Messenger để trò chuyện trực tuyến . Tuy nhiên, không rõ MQTT được sử
dụng bao nhiêu hoặc để làm gì.
 IECC Scalable , DeltaRail phiên bản mới nhất của hệ thống kiểm soát hiệu
IECC của họ ‘s sử dụng MQTT cho thông tin liên lạc trong các phần khác nhau của hệ
thống và các thành phần khác của hệ thống báo hiệu. Nó cung cấp khung truyền thông
cơ bản cho một hệ thống tuân thủ các tiêu chuẩn CENELEC cho các thông tin liên lạc
quan trọng về an toàn.
 Các tổ chức không gian địa lý SensorThings API đặc điểm kỹ thuật tiêu chuẩn
có một phần mở rộng MQTT trong tiêu chuẩn như một giao thức thông báo bổ sung
ràng buộc. Nó đã được chứng minh trong một thí điểm IoT của Bộ An ninh Nội địa
Hoa Kỳ.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 43
4.6 SƠ ĐỒ KHỐI TOÀN HỆ THỐNG
 HƯỚNG DẪN SỬ DỤNG:
Bước 1: cấp nguồn cho hệ thống
Bước 2: mở code chương trình của esp 8266 và đổi mật khẩu và tên wifi và nạp lại
chương trình cho esp8266
Bước 3: cắm tải cho cảm biến dòng acs712 -20a và cảm biến lưu lượng s201
Bước 4: mở đường link website lên và theo dõi thông số tiêu thụ điện nước và truy
xuất time cần tìm đồng thời màn hình LCD cũng hiển thị thông số lên phần cứng.
4.7 MÔ HÌNH THỰC TẾ
Khối Thiết Bị Đầu Vào:
1: Module cảm biến dòng ACS712 -20A. Chức năng để đo dòng của phụ tải để
truyền dữ liệu vào cho bộ xử lý trung tâm
KHỐI
NGUỒN
CẢM BIẾN
LƯU
LƯỢNG
CẢM BIẾN
DÒNG
KHỐI THU
THẬP DỮ
LIỆU
KHỐI XỬ
LÝ DỮ
LIỆU
WEBSITE LCD 16.2
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 44
2: Cảm biến lưu lượng S201. Chức năng đo lưu lượng nước tiêu thụ để truyền dữ
liệu vào cho bộ xử lý trung tâm
3: Tải tiêu thụ
Khối Hiển Thị:
4: màn hình LCD 16.2, chức năng hiển thị thông số điện nước đang tiêu thụ
Khối điều khiển:
5: NodeMCU 1.0. Chức năng là nhận dữ liệu từ Arduino và giao tiếp đẩy thông tin
lên website và lưu vào database
6: Arduino Mega 2560 chức năng chính là thu thập dữ liệu từ chân tín hiệu của cảm
biến truyền lên
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 45
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 46
CHƯƠNG 5. KẾT LUẬN – HƯỚNG PHÁT TRIỂN ĐỀ TÀI
5.1 KẾT LUẬN
5.1.1 Ưu Điểm
- Phần cứng thì nhỏ gọn, dễ lắp đặt
- Nguồn dùng chung với điện lưới nên rất thuận tiện khi sử dụng
- Về website thì được cập nhập và lưu trữ dữ liệu từ esp lên data ổn định
- Trang giao diện của website nhìn đơn giản, dễ truy cập cho người dùng
5.1.2 Nhược Điểm
- Dữ liệu gởi lên data còn trễ khi tín hiệu wifi yếu
- Bị sai số của phụ tải khoảng 1%
- Vì là mô hình nên mạch không thể cập nhâp dữ liệu cho các phụ tải là động cơ
có công suất lớn
5.2 HƯỚNG PHÁT TRIỂN
- Có hệ thống cảnh báo nếu giá trị điện – nước đo được vượt quá ngưỡng cài
đặt cho
- phép (dùng loa, đèn báo), hoặc gửi tin nhắn qua sim.
- Thay màn hình LCD 16x2 đơn điệu bằng màn hình cảm ứng có giao diện trực
quan.
- Mở rộng hệ thống để có thể điều khiển các thiết bị từ xa như: công tắc, van
điện tử…
- Mô hình cần được cải tiến để trở nên nhỏ gọn và bắt mắt hơn.
NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 47
TÀI LIỆU THAM KHẢO
Sách tham khảo
[1] Hoàng Ngọc Văn, “ Điện Tử Công Suất”, Trường đại học SPKT Tp.HCM, 2007
[2] Trần Thu Hà (chủ biên), “ Điện Tử Cơ Bản”, NXB ĐH Quốc Gia Tp.HCM, 2013
[3] Nguyễn Đình Phú – Trương Ngọc Anh, “Vi xử lý”, NXB ĐH Quốc Gia Tp.HCM,
2013
[5] Bùi Minh Phúc, “ESP8266 NodeMCU - Một lựa chọn khác ngoài Adruino”,
[6] Phạm Trần Đăng Khoa, “Tự học thiết kế Web tĩnh cơ bản: HTML, CSS &
jQuery tại KhoaPham.Vn”,
[7] Material design lite tutorial, 2018
ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 48
PHỤC LỤC
CODE ARDUNIO
#include <Arduino.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
/*
Measuring Current Using ACS712
*///--------------------------------------------------------------
const int analogIn = A0;
int mVperAmp = 225; // use 100 for 20A Module and 66 for 30A Module
int RawValue= 0;
int ACSoffset = 2500;
double Voltage = 0;
double Amps = 0;
double Walt = 0;
double Voltage1= 0;
double VRMS = 0;
double AmpsRMS = 0;
//----------------------------------------------------------------
/*
YF S201 Water Flow Sensor
Water Flow Sensor output processed to read in litres/hour
Adaptation Courtesy: www.hobbytronics.co.uk
*/
volatile int flow_frequency; // Measures flow sensor pulses
unsigned int l_hour; // Calculated litres/hour
unsigned char flowsensor = 2; // Sensor Input
unsigned int flowMilliLitres;
unsigned long totalMilliLitres;
float lit;
unsigned long currentTime;
unsigned long cloopTime;
//-----------------------------------------------------------------
void flow () // Interrupt function
{
flow_frequency++;
}
float getVPP()
{
float result;
int readValue; //value read from the sensor
int maxValue = 0; // store max value here
int minValue = 1024; // store min value here
uint32_t start_time = millis();
while((millis()-start_time) < 1000) //sample for 1 Sec
{
readValue = analogRead(analogIn);
// see if you have a new maxValue
if (readValue > maxValue)
{
/*record the maximum sensor value*/
maxValue = readValue;
}
if (readValue < minValue)
{
/*record the minimum sensor value*/
minValue = readValue;
}
}
// Subtract min from max
result = ((maxValue - minValue) * 5.0)/1024.0;
ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 49
return result;
}
void setup()
{
pinMode(flowsensor, INPUT);
digitalWrite(flowsensor, HIGH); // Optional Internal Pull-Up
Serial.begin(9600);
Serial2.begin(115200);
attachInterrupt(0, flow, RISING); // Setup Interrupt
sei(); // Enable interrupts
currentTime = millis();
cloopTime = currentTime;
lcd.init();
lcd.backlight();
lcd.setCursor(2,0);
lcd.print("Hoang Quan");
}
void loop()
{
currentTime = millis();
// Every second, calculate and print litres/hour
if(currentTime >= (cloopTime + 1000))
{
cloopTime = currentTime; // Updates cloopTime
// Pulse frequency (Hz) = 7.5Q, Q is flow rate in L/min.
l_hour = (flow_frequency * 60 / 7.5); // (Pulse frequency x 60 min) / 7.5Q =
flowrate in L/hour
flowMilliLitres = (l_hour / 60) * 1000;
totalMilliLitres += flowMilliLitres/60;
lit = (float)totalMilliLitres/1000;
flow_frequency = 0; // Reset Counter
Serial.print("Water Value = " ); // shows pre-scaled value
Serial.print((float)lit,3); // Print litres/hour
Serial.println("L");
}
Voltage = getVPP();
VRMS = (Voltage/2.0) *0.707;
AmpsRMS = abs((VRMS * 1000)/mVperAmp - 0.0975);
if(AmpsRMS >= 0.1)
{
Voltage = 220;
}
else
{
Voltage = 0;
}
Serial.print("Voltage :");
Serial.print(Voltage);
Serial.println("V");
Serial.print("Current :");
Serial.print(AmpsRMS);
Serial.println("A");
delay(50);
Walt = Voltage * AmpsRMS * 0.9;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Nuoc =");
lcd.setCursor(7,0);
lcd.print(lit);
lcd.setCursor(12,0);
lcd.print("L");
ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 50
lcd.setCursor(0,1);
lcd.print("Dien =");
lcd.setCursor(7,1);
lcd.print(Walt);
lcd.setCursor(12,1);
lcd.print("W");
Serial.print("Walt Value = " ); // shows pre-scaled value
Serial.print(Walt,3);
Serial.println("W");
Serial2.println(lit,3); // the '3' after voltage allows you to display 3 digits after
decimal point
Serial2.print("-"); // shows the voltage measured
Serial2.println(Walt,3); // the '3' after voltage allows you to display 3 digits after
decimal point
totalMilliLitres = 0;
delay(10000);
}
CODE ESP 8266
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <SoftwareSerial.h>
#include <string.h>
void serialEvent();
SoftwareSerial Serial2(13, 15); // RX_D7, TX_D8
const char* ssid = "dhstestiot";
const char* password = "DHSAbc@@123";
const char* mqttServer = "doansmarthome.tk";
const int mqttPort = 1883;
const char* mqttUser = "admin";
const char* mqttPassword = "123456";
const char Voltage = 0;
const char l_hour = 0; // Calculated litres/hour
WiFiClient espClient;
PubSubClient client(espClient);
unsigned long lastMsg = 0;
#define MSG_BUFFER_SIZE (50)
char msg[MSG_BUFFER_SIZE];
String buff_data;
int flash = 0;
char buff[MSG_BUFFER_SIZE];
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived in topic: ");
Serial.println(topic);
Serial.print("Message:");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 51
Serial.println();
Serial.println("-----------------------");
}
void setup() {
Serial.begin(115200);
Serial2.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to the WiFi network");
client.setServer(mqttServer, mqttPort);
client.setCallback(callback);
while (!client.connected()) {
Serial.println("Connecting to MQTT...");
if (client.connect("ESP8266Client", mqttUser, mqttPassword )) {
Serial.println("connected");
} else {
Serial.print("failed with state ");
Serial.print(client.state());
delay(2000);
}
}
}
void loop()
{
serialEvent();
delay(1000);
}
void serialEvent() {
if(Serial2.available()>0)
{
buff_data = Serial2.readString();
delay(100);
int str_len = buff_data.length() + 1;
// Prepare the character array (the buffer)
char char_array[str_len];
char water_array[str_len];
// Copy it over
buff_data.toCharArray(char_array, str_len);
Serial.print("char arary: ");
Serial.println((char*)char_array);
for(int n = 0; n<buff_data.length() ; n++)
{
if(char_array[n]=='-')
{
flash = n;
}
}
strncpy(water_array,char_array,(flash-1));
Serial.print("water arary: ");
Serial.println((char*)water_array);
client.publish("data/home1/water", water_array);
strncpy(buff,char_array+(flash+1),10);
Serial.print("power arary: ");
ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh
SVTH: Nguyễn Hoàng Quân 52
Serial.println((char*)buff);
client.publish("data/home1/power", buff);
}
delay(10000);
}

Mais conteúdo relacionado

Mais procurados

[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266Ngo Gia HAi
 
Thiết kế mạch giám sát đồng hồ điện công nghiệp
Thiết kế mạch giám sát đồng hồ điện công nghiệpThiết kế mạch giám sát đồng hồ điện công nghiệp
Thiết kế mạch giám sát đồng hồ điện công nghiệptraigalang1991
 
Đồ án Điều khiển xe lăn điện bằng giọng nói hoặc smartphone
Đồ án Điều khiển xe lăn điện bằng giọng nói hoặc smartphoneĐồ án Điều khiển xe lăn điện bằng giọng nói hoặc smartphone
Đồ án Điều khiển xe lăn điện bằng giọng nói hoặc smartphoneDaren Harvey
 
đồ áN cung cấp điện đề tài thiết kế cung câp điện cho phân xưởng sửa chữa thi...
đồ áN cung cấp điện đề tài thiết kế cung câp điện cho phân xưởng sửa chữa thi...đồ áN cung cấp điện đề tài thiết kế cung câp điện cho phân xưởng sửa chữa thi...
đồ áN cung cấp điện đề tài thiết kế cung câp điện cho phân xưởng sửa chữa thi...jackjohn45
 
Đồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google Assistant
Đồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google AssistantĐồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google Assistant
Đồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google AssistantDaren Harvey
 
Ứng dụng công nghệ IoT để thiết kế hệ thống giám sát và điều khiển thiết bị ...
 Ứng dụng công nghệ IoT để thiết kế hệ thống giám sát và điều khiển thiết bị ... Ứng dụng công nghệ IoT để thiết kế hệ thống giám sát và điều khiển thiết bị ...
Ứng dụng công nghệ IoT để thiết kế hệ thống giám sát và điều khiển thiết bị ...hieu anh
 
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờĐiều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờMan_Ebook
 
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoĐồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoVerdie Carter
 

Mais procurados (20)

Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAYĐề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
 
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAYĐề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
Đề tài: Ứng dụng Iot giám sát mức tiêu thụ điện – nước, HAY
 
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266[123doc]   dieu-khien-thiet-bi-qua-module-wifi-esp8266
[123doc] dieu-khien-thiet-bi-qua-module-wifi-esp8266
 
Thiết kế mạch giám sát đồng hồ điện công nghiệp
Thiết kế mạch giám sát đồng hồ điện công nghiệpThiết kế mạch giám sát đồng hồ điện công nghiệp
Thiết kế mạch giám sát đồng hồ điện công nghiệp
 
Đồ án Điều khiển xe lăn điện bằng giọng nói hoặc smartphone
Đồ án Điều khiển xe lăn điện bằng giọng nói hoặc smartphoneĐồ án Điều khiển xe lăn điện bằng giọng nói hoặc smartphone
Đồ án Điều khiển xe lăn điện bằng giọng nói hoặc smartphone
 
Đề tài: Hệ thống giám sát điện năng tiêu thụ trong hộ gia đình
Đề tài: Hệ thống giám sát điện năng tiêu thụ trong hộ gia đìnhĐề tài: Hệ thống giám sát điện năng tiêu thụ trong hộ gia đình
Đề tài: Hệ thống giám sát điện năng tiêu thụ trong hộ gia đình
 
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOTĐề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
 
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng họcĐề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
Đề tài: Thiết kế hệ thống điều khiển các thiết bị trong phòng học
 
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAYĐề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
 
Thiết kế hệ thống giám sát và điều khiển thiết bị công nghiệp, HAY
Thiết kế hệ thống giám sát và điều khiển thiết bị công nghiệp, HAYThiết kế hệ thống giám sát và điều khiển thiết bị công nghiệp, HAY
Thiết kế hệ thống giám sát và điều khiển thiết bị công nghiệp, HAY
 
Đề tài: Ứng dụng PLC S7 – 1200 điều khiển, giám sát lò đốt bã mía
Đề tài: Ứng dụng PLC S7 – 1200 điều khiển, giám sát lò đốt bã míaĐề tài: Ứng dụng PLC S7 – 1200 điều khiển, giám sát lò đốt bã mía
Đề tài: Ứng dụng PLC S7 – 1200 điều khiển, giám sát lò đốt bã mía
 
Đề tài: Hệ thống điều khiển và giám sát các thiết bị trong nhà, 9đ
Đề tài: Hệ thống điều khiển và giám sát các thiết bị trong nhà, 9đĐề tài: Hệ thống điều khiển và giám sát các thiết bị trong nhà, 9đ
Đề tài: Hệ thống điều khiển và giám sát các thiết bị trong nhà, 9đ
 
đồ áN cung cấp điện đề tài thiết kế cung câp điện cho phân xưởng sửa chữa thi...
đồ áN cung cấp điện đề tài thiết kế cung câp điện cho phân xưởng sửa chữa thi...đồ áN cung cấp điện đề tài thiết kế cung câp điện cho phân xưởng sửa chữa thi...
đồ áN cung cấp điện đề tài thiết kế cung câp điện cho phân xưởng sửa chữa thi...
 
Đề tài: Mạch điều khiển thiết bị bằng Android qua Bluetooth, HAY
Đề tài: Mạch điều khiển thiết bị bằng Android qua Bluetooth, HAYĐề tài: Mạch điều khiển thiết bị bằng Android qua Bluetooth, HAY
Đề tài: Mạch điều khiển thiết bị bằng Android qua Bluetooth, HAY
 
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đĐề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
Đề tài: Hệ thống Iot điều khiển và giám sát ngôi nhà, HAY, 9đ
 
Đồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google Assistant
Đồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google AssistantĐồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google Assistant
Đồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google Assistant
 
Luận văn: Thiết kế hệ thống tưới cây tự động, HAY
Luận văn: Thiết kế hệ thống tưới cây tự động, HAYLuận văn: Thiết kế hệ thống tưới cây tự động, HAY
Luận văn: Thiết kế hệ thống tưới cây tự động, HAY
 
Ứng dụng công nghệ IoT để thiết kế hệ thống giám sát và điều khiển thiết bị ...
 Ứng dụng công nghệ IoT để thiết kế hệ thống giám sát và điều khiển thiết bị ... Ứng dụng công nghệ IoT để thiết kế hệ thống giám sát và điều khiển thiết bị ...
Ứng dụng công nghệ IoT để thiết kế hệ thống giám sát và điều khiển thiết bị ...
 
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờĐiều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
Điều khiển và ổn định mức nước ứng dụng bộ điều chỉnh pid và logic mờ
 
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoĐồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
 

Semelhante a Giám sát mức tiêu thụ điện, nước bằng công nghệ IOT.pdf

Hệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdfHệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdfMan_Ebook
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...Man_Ebook
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...Man_Ebook
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...Man_Ebook
 
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdfThiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdfMan_Ebook
 
Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
 Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l... Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...anh hieu
 
Khóa Luận Tổng Quan Về Mạng Cảm Biến Không Dây Đặc Điểm Vô Tuyến Của Mạng Wsn...
Khóa Luận Tổng Quan Về Mạng Cảm Biến Không Dây Đặc Điểm Vô Tuyến Của Mạng Wsn...Khóa Luận Tổng Quan Về Mạng Cảm Biến Không Dây Đặc Điểm Vô Tuyến Của Mạng Wsn...
Khóa Luận Tổng Quan Về Mạng Cảm Biến Không Dây Đặc Điểm Vô Tuyến Của Mạng Wsn...mokoboo56
 
Vườn-Lan-Thông-Minh-IOT.docx
Vườn-Lan-Thông-Minh-IOT.docxVườn-Lan-Thông-Minh-IOT.docx
Vườn-Lan-Thông-Minh-IOT.docxLTinTun
 

Semelhante a Giám sát mức tiêu thụ điện, nước bằng công nghệ IOT.pdf (20)

projectII-nn.pdf
projectII-nn.pdfprojectII-nn.pdf
projectII-nn.pdf
 
Hệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdfHệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdf
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
 
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG GIÁM SÁT THỜI TIẾT TRONG NÔNG NGHIỆP ỨNG DỤNG C...
 
Đề tài: Chế taọ bộ giám sát, điều khiển thiết bị bằng SMS và Wifi
Đề tài: Chế taọ bộ giám sát, điều khiển thiết bị bằng SMS và WifiĐề tài: Chế taọ bộ giám sát, điều khiển thiết bị bằng SMS và Wifi
Đề tài: Chế taọ bộ giám sát, điều khiển thiết bị bằng SMS và Wifi
 
Hệ thống giám sát chỉ số môi trường và hiển thị thông tin trên Web
Hệ thống giám sát chỉ số môi trường và hiển thị thông tin trên WebHệ thống giám sát chỉ số môi trường và hiển thị thông tin trên Web
Hệ thống giám sát chỉ số môi trường và hiển thị thông tin trên Web
 
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdfThiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ.pdf
 
Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
 Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l... Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử l...
 
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnhĐề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
 
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAYĐề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
Đề tài: Thiết kế hộp thuốc thông minh cho người bệnh, HAY
 
Khóa Luận Tổng Quan Về Mạng Cảm Biến Không Dây Đặc Điểm Vô Tuyến Của Mạng Wsn...
Khóa Luận Tổng Quan Về Mạng Cảm Biến Không Dây Đặc Điểm Vô Tuyến Của Mạng Wsn...Khóa Luận Tổng Quan Về Mạng Cảm Biến Không Dây Đặc Điểm Vô Tuyến Của Mạng Wsn...
Khóa Luận Tổng Quan Về Mạng Cảm Biến Không Dây Đặc Điểm Vô Tuyến Của Mạng Wsn...
 
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOTHệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
Hệ thống chăm sóc vườn lan sử dụng năng lượng mặt trời, HOT
 
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAYĐề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
 
Đề tài: Thiết kế vòng tay đo nhịp tim sử dụng công nghệ IoTs, HAY
Đề tài: Thiết kế vòng tay đo nhịp tim sử dụng công nghệ IoTs, HAYĐề tài: Thiết kế vòng tay đo nhịp tim sử dụng công nghệ IoTs, HAY
Đề tài: Thiết kế vòng tay đo nhịp tim sử dụng công nghệ IoTs, HAY
 
Vườn-Lan-Thông-Minh-IOT.docx
Vườn-Lan-Thông-Minh-IOT.docxVườn-Lan-Thông-Minh-IOT.docx
Vườn-Lan-Thông-Minh-IOT.docx
 
Hệ Thống Khóa Cửa Thông Minh dùng Arduino (Nguyễn Đức Ngọc Cảnh).doc
Hệ Thống Khóa Cửa Thông Minh dùng Arduino (Nguyễn Đức Ngọc Cảnh).docHệ Thống Khóa Cửa Thông Minh dùng Arduino (Nguyễn Đức Ngọc Cảnh).doc
Hệ Thống Khóa Cửa Thông Minh dùng Arduino (Nguyễn Đức Ngọc Cảnh).doc
 
Đề tài: Thiết kế hệ thống nuôi cá tự động, HOT, 9đ
Đề tài: Thiết kế hệ thống nuôi cá tự động, HOT, 9đĐề tài: Thiết kế hệ thống nuôi cá tự động, HOT, 9đ
Đề tài: Thiết kế hệ thống nuôi cá tự động, HOT, 9đ
 
Đề tài: Giải pháp giả lập thiết bị mạng với Unetlab-EVE, HAY
Đề tài: Giải pháp giả lập thiết bị mạng với Unetlab-EVE, HAYĐề tài: Giải pháp giả lập thiết bị mạng với Unetlab-EVE, HAY
Đề tài: Giải pháp giả lập thiết bị mạng với Unetlab-EVE, HAY
 
Đề tài: Triển khai giải pháp giả lập thiết bị mạng với Unetlab EVE
Đề tài: Triển khai giải pháp giả lập thiết bị mạng với Unetlab EVEĐề tài: Triển khai giải pháp giả lập thiết bị mạng với Unetlab EVE
Đề tài: Triển khai giải pháp giả lập thiết bị mạng với Unetlab EVE
 

Mais de Man_Ebook

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfMan_Ebook
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docMan_Ebook
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfMan_Ebook
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfMan_Ebook
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfMan_Ebook
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfMan_Ebook
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfMan_Ebook
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdfMan_Ebook
 

Mais de Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Último

SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfhoangtuansinh1
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoidnghia2002
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxDungxPeach
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptPhamThiThuThuy1
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phươnghazzthuan
 
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxbài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxTrnHiYn5
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngYhoccongdong.com
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdfltbdieu
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...Nguyen Thanh Tu Collection
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...hoangtuansinh1
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...ChuThNgnFEFPLHN
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhdtlnnm
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiNgocNguyen591215
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgsNmmeomeo
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 

Último (20)

SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
 
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoiC6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
C6. Van de dan toc va ton giao ....pdf . Chu nghia xa hoi
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.ppt
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phương
 
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxbài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
SD-05_Xây dựng website bán váy Lolita Alice - Phùng Thị Thúy Hiền PH 2 7 8 6 ...
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 

Giám sát mức tiêu thụ điện, nước bằng công nghệ IOT.pdf

  • 1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA VŨNG TÀU BÁO CÁO ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG Đề tài: GIÁM SÁT MỨC TIÊU THỤ ĐIỆN, NƯỚC BẰNG CÔNG NGHỆ IOT Họ và tên GVHD : Th.S Phan Thanh Hoàng Anh Họ và tên SVTH : Nguyễn Hoàng Quân
  • 2. LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc đến thầy Phan Thanh Hoàng Anh, người thầy đã cung cấp ý tưởng đề tài, đồng thời tận tình hướng dẫn, giúp đỡ, tạo điều kiện cho em trong suốt quá trình thực hiện đề tài. Đồng thời trong quá trình thực hiện em đã nhận được rất nhiều sự giúp đỡ của các thầy cô giáo trong bộ môn, em xin chân thành cảm ơn các thầy cô đã giúp em hoàn thành đề tài này. Em cũng xin gửi lời cảm ơn đến các bạn trong lớp, người thân trong gia đình, các anh, các chú có kinh nghiệm chuyên môn đã chia sẻ, trao đổi kiến thức và hướng dẫn em thực hiện tốt đề tài. Xin chân thành cảm ơn! SV thực hiện đề tài Nguyễn Hoàng Quân
  • 3. Vũng Tàu, tháng 06 năm 2020 TRƯỜNG ĐH BÀ RỊA VŨNG TÀU KCN KT – NNCNC CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc ------o0o----- NHIỆM VỤ NGHIÊN CỨU ĐỀ TÀI KHOA HỌC CẤP TRƯỜNG NĂM 2019 - 2020 1. Họ và tên sinh viên thực hiện chính: NGUYỄN HOÀNG QUÂN - MSSV: 16031555 - Ngày, tháng, năm sinh: 16/03/1998 - Nơi sinh: DAKLAK - Chuyên ngành: Điện công nghiệp và Dân dụng I. TÊN ĐỀ TÀI: ỨNG DỤNG CÔNG NGHỆ IOT GIÁM SÁT MỨC TIÊU THỤ ĐIỆN – NƯỚC II. NHIỆM VỤ VÀ NỘI DUNG: 1. Các số liệu ban đầu: - Kit Arduino Mega, NodeMCU và ngôn ngữ lập trình - Tài liệu nghiên cứu Arduino Mega, NodeMCU, tạo web trong NODE RED - Tài liệu nghiên cứu cảm biến dòng ACS712 và lưu lượng S201 2. Nội dung thực hiện: - Kết nối các cảm biến, nodemcu, mạch đo dòng và lưu lượng S201 vào mạch Arduino. - Lập trình cho kit Arduino và nodemcu. - Thiết kế mô hình hộp chứa mạch điều khiển. - Xây dựng giao diện và lập trình trang web giám sát từ xa. - Chạy thử nghiệm.
  • 4. III. NGÀY GIAO NHIỆM VỤ ĐỀ TÀI: 01/12/2018 IV. NGÀY HOÀN THÀNH ĐỀ TÀI: 15/07/2019 V. HỌ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Phan Thanh Hoàng Anh CÁN BỘ HƯỚNG DẪN (Ký và ghi rõ họ tên) ThS. Phan Thanh Hoàng Anh Bà Rịa - Vũng Tàu, ngày tháng năm 2020 SINH VIÊN THỰC HIỆN CHÍNH (Ký và ghi rõ họ tên) Nguyễn Hoàng Quân PHÒNG KHOA ĐÀO TAỌ - KHCN (Ký và ghi rõ họ tên) TRƯỞNG KHOA (Ký và ghi rõ họ tên)
  • 5. LỜI NÓI ĐẦU Trong những năm gần đây, dường như thuật ngữ IoT (hay Internet of Things) hay “Vạn vật kết nối internet” đã không còn trở nên quá xa lạ, ta có thể đôi lần bắt gặp cụm từ này ở bất kỳ đâu, từ những bản tin thời sự - công nghệ trên tivi, trên các trang mạng điện tử, hoặc cụ thể là những ứng dụng thiết thực trong đời sống. Đúng như tên gọi, đây là một hệ thống các thiết bị công nghệ có liên quan đến nhau, mọi vật được kết nối với nhau dựa trên giao thức chung, đó là mạng truyền thông – hay Internet. Chỉ cần một thiết bị có kết nối mạng, là bạn có thể hoàn toàn kiểm tra, điều khiển các thiết bị trong nhà, bất kể bạn đang ở đâu. Công nghệ IoT đã và đang phát triển trong rất nhiều lĩnh vực. Với những lợi ích trông thấy, bạn cũng muốn sở hữu một ứng dụng IoT cho căn nhà của bạn phải không nào? Vậy ứng dụng vào đâu bây giờ, ngoài việc chỉ điều khiển các thiết bị điện từ xa? Vậy có bao giờ bạn phải đau đầu tự hỏi tháng này hóa đơn tiền điện nước lại tăng lên trong khi bạn nghĩ là đã sử dụng chúng một cách hợp lý và tiết kiệm chưa? Chẳng lẽ đồng hồ lại báo số sai?, cũng có thể. Như vậy, bạn cần phải có một ứng dụng để có thể giám sát thông số điện- nước mà gia đình bạn sử dụng hàng ngày; đến cuối tháng, bạn tổng kết lại, đối chiếu với hóa đơn điện-nước trong tháng này, chứ không còn phụ thuộc vào hóa đơn của công ty điện nước như trước kia nữa. Thực ra, trên thị trường đã có những thiết bị như thế này rồi, với độ chính xác cao, nhưng giá thành lại rất mắc, vả lại không thể giám sát được từ xa. Nắm bắt được điều này, vận dụng kiến thức đã học, em đã tiến hành thực hiện đề tài với tên “ỨNG DỤNG CÔNG NGHỆ IOT GIÁM SÁT MỨC TIÊU THỤ ĐIỆN - NƯỚC”, thực hiện công việc đo và giám sát, hiển thị và cập nhật lên màn hình thiết bị và trên web, giúp cho người sử dụng có thể dễ dàng quan sát cũng như thống kê được lượng điện - nước mà họ đã và
  • 6. đang sử dụng. Với đề tài này, nhóm hy vọng sẽ làm cơ sở nghiên cứu để các nhóm sau có thể phát triển và cải tiến thêm nữa.
  • 7. MỤC LỤC LỜI CẢM ƠN ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN LỜI MỞ ĐẦU MỤC LỤC CHƯƠNG 1. TỔNG QUAN ....................................................................................... 1 1.1. Đặt vấn đề ............................................................................................................... 1 1.2. Mục tiêu .................................................................................................................. 1 1.3. Nội dung nghiên cứu ............................................................................................... 2 1.4. Giới hạn .................................................................................................................. 2 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ........................................................................... 3 2.1. Giới thiệu phần cứng. .............................................................................................. 3 2.1.1. Thiết bị đầu vào ................................................................................................... 3 2.1.1.1. Module cảm biến dòng điện ACS712 - 20A ..................................................... 4 2.1.1.2. Cảm biến lưu lượng S201. ................................................................................ 5 2.1.2. Thiết bị đầu ra – Màn hình LCD 16x2 và mạch LCD I2C .................................. 6 2.1.2.1. LCD 16x2 ......................................................................................................... 7 2.1.2.2. Module giao tiếp LCD I2C. .............................................................................. 8 2.1.3. Arduino Mega 2560.............................................................................................. 9 2.1.3.1. Giới thiệu. ......................................................................................................... 9 2.1.3.2. Thông số kỹ thuật............................................................................................ 19 2.1.4. NodeMCU 1.0. ................................................................................................... 10 2.1.4.1. Giới thiệu. ....................................................................................................... 10 2.1.4.2. Thông số kỹ thuật............................................................................................. 11 2.2. Chuẩn truyền dữ liệu. ............................................................................................ 11
  • 8. 2.2.1 Giao tiếp UART .................................................................................................. 12 2.2.1.1. Giới thiệu. ....................................................................................................... 12 2.2.1.2. Các thông số trong truyền nhận UART........................................................... 13 2.2.2 Chuẩn giao tiếp I2C ............................................................................................ 13 2.2.2.1. Giới thiệu. ....................................................................................................... 13 2.2.2.2. Đặc điểm giao tiếp I2C. .................................................................................. 14 2.2.2.3 Trình tự truyền bit trên đường truyền. ............................................................. 14 2.2.2.4 Điều kiện START và STOP............................................................................. 15 2.2.3 Chuẩn giao tiếp Wifi .......................................................................................... 15 2.2.3.1 Giới thiệu. ........................................................................................................ 15 2.2.3.2 Nguyên tắc hoạt động. ..................................................................................... 15 2.2.3.3 Một số chuẩn kết nối Wifi. .............................................................................. 15 2.3. NODE RED. ......................................................................................................... 16 2.3.1 Giới thiệu ............................................................................................................ 17 2.3.2 cấu trúc tổng quan node red ................................................................................ 17 2.4. Firebase Realtime Database ................................................................................. 18 2.4.1 Giới thiệu ............................................................................................................ 18 2.4.2 Những đặc điểm nổi bật ..................................................................................... 19 2.4.2.1 Cách dữ liệu được lưu trữ ............................................................................... 19 2.4.2.2 Dữ liệu offline.................................................................................................. 20 2.4.2.3 Cập nhật dữ liệu thời gian thực........................................................................ 20 2.4.2.4 Tính bảo mật và quy định. ............................................................................... 20 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG. ......................................... 21 3.1. Giới thiệu .............................................................................................................. 21 3.2. Tính toán và thiết kế hệ thống............................................................................... 22 3.2.1. Thiết kế sơ đồ khối hệ thống. ............................................................................ 22 3.2.2. Tính toán và thiết kế mạch ................................................................................ 23
  • 9. 3.2.2.1. Thiết kế khối hiển thị ...................................................................................... 23 3.2.2.2. Thiết kế khối xử lý .......................................................................................... 24 3.2.2.3 Thiết kế khối thiết bị đầu vào. .......................................................................... 24 3.2.2.4 Thiết kế khối nguồn. ......................................................................................... 25 3.2.3. Sơ đồ nguyên lý của toàn mạch ......................................................................... 25 CHƯƠNG 4. THI CÔNG HỆ THỐNG ...................................................................... 26 4.1. Giới thiệu .............................................................................................................. 27 4.2 lập trình hệ thống ................................................................................................... 30 4.3 Phần mềm lập trình cho phần cứng ........................................................................ 34 4.4 Phần mềm lập trình cho website ............................................................................. 35 4.5 Phần mềm giao tiêp cho web và phần cứng ........................................................... 35 4.6 Sơ đồ khối toàn hệ thống ........................................................................................ 36 4.7 Mô hình thực tế ...................................................................................................... 36 CHƯƠNG 5. KẾT LUẬN- HƯỚNG PHÁT TRIỂN ĐỀ TÀI ................................... 38 5.1. Kết luận................................................................................................................. 38 5.1.1 ưu điểm ............................................................................................................... 38 5.1.2. nhược điểm ........................................................................................................ 38 5.2 Hướng phát triển..................................................................................................... 38 TÀI LIỆU THAM KHẢO
  • 10. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 10 Chương 1. TỔNG QUAN 1.1. ĐẶT VẤN ĐỀ Hàng tháng, chúng ta phải luôn trả các hóa đơn điện – nước mà hầu như số tiền phải đóng lại ngày một tăng cao. Lý do ở đây là ta không thể hoàn toàn kiểm soát được mức điện – nước đã được sử dụng, bởi hầu như ta không có bất kỳ con số thống kê cụ thể nào cả, ngoài việc tự ước lượng. Hiện nay, trên thị trường cũng có bán các thiết bị để giám sát điện năng tiêu thụ với độ chính xác khá cao, nhưng giá thành thì lại không hề rẻ, cũng như hạn chế về mặt giám sát từ xa. Nhận thấy được điều này, nhóm chúng em muốn tạo ra một ứng dụng giúp cho các hộ gia đình có thể dễ dàng thống kê - giám sát được lượng điện - nước mà họ sử dụng hàng ngày; để từ đó họ có thể kiểm soát và đề ra phương án sử dụng một cách hiệu quả và tiết kiệm hơn. Đó là lý do nhóm em quyết định lựa chọn và thực hiện đề tài “ỨNG DỤNG CÔNG NGHỆ IOT GIÁM SÁT MỨC TIÊU THỤ ĐIỆN - NƯỚC”. 1.2. MỤC TIÊU Thiết kế một hệ thống tiến hành đo lượng điện – nước tiêu thụ, và đều đặn cập nhật các thông số đó lên một trang web-host để thuận tiện cho công việc giám sát. Hệ thống ứng dụng công nghệ IoT, giúp cho người dùng ở bất kỳ đâu cũng có thể dễ dàng truy cập được. Đồng thời, ứng dụng cũng xây dựng một hệ thống các user, giúp cho quản trị viên dễ dàng hơn trong việc kiểm soát thông tin người dùng. 1.3. NỘI DUNG NGHIÊN CỨU  NỘI DUNG 1: Tìm hiểu và lựa chọn các giải pháp thiết kế.  NỘI DUNG 2: Thu thập tài liệu về các cảm biến, module wifi, bộ vi xử lý, cũng như tìm kiếm một web host khả dụng.  NỘI DUNG 3: Thiết kế, lập trình cho hệ thống điều khiển, chạy thử nghiệm.  NỘI DUNG 4: Thiết kế mô hình, chỉnh sửa và cải tiến từ những phương án đã chọn
  • 11. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 11  NỘI DUNG 5: Đánh giá kết quả thực hiện 1.4. GIỚI HẠN  Hệ thống chỉ dừng lại ở công việc giám sát các thông số  Mô hình không quá to để có thể dễ dàng sử dụng ở nhà  Sử dụng nguồn điện lấy trực tiếp từ lưới điện gia đình.  Sai số hệ thống chấp nhận được
  • 12. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 12 Chương 2. CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU PHẦN CỨNG 2.1.1 Thiết bị đầu vào 2.1.1.1 Module cảm biến dòng điện ACS712 - 20A Để đo dòng điện AC, ta có thể dùng máy biến dòng CT, đây là một loại “công cụ đo lường dòng điện” được thiết kế nhằm tạo ra một dòng điện xoay chiều có cường độ tỷ lệ với cường độ dòng điện ban đầu. Tuy nhiên, giá thành của thiết bị này khá là mắc. Ta có thể dùng cảm biến ACS712 được tích hợp sẵn vào module để thực hiện đo dòng điện với độ chính xác khá cao, kết nối đơn giản – thuận tiện và giá thành phải chăng. Hình 2.1 Hình ảnh của Module và IC cảm biến dòng ACS712 Module ở hình trên sử dụng cảm biến dòng điện ACS712 – đây là một cảm biến dòng tuyến tính dựa trên hiệu ứng Hall, giúp chuyển dòng điện cần đo thành giá trị điện thế. Chân ACS712 sẽ xuất ra một tín hiệu analog ở chân Vout biến đổi tuyến tính theo Ip (dòng điện cần đo) được lấy mẫu thứ cấp DC (hoặc AC) trong phạm vi cho phép. Tụ Cf dùng cho mục đích chống nhiễu. Các thông số kỹ thuật của module ACS712 -20A:  Đường tín hiệu analog có độ nhiễu thấp
  • 13. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 13  Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5ìs  Băng thông 80 Khz  Tổng lỗi ngõ ra tại Ta = 25ºC là 1,5%  Điện trở dây dẫn trong là 1,2mΩ  Nguồn vận hành đơn : 5V  Dòng tiêu thụ (max): 13mA  Độ nhạy đầu ra từ 96 – 104mV/A  Điện áp ngõ ra tương ứng với dòng AC hoặc DC  Điện áp ngõ ra cực kỳ ổn định  Ip: từ -20A đến 20A  Nhiệt độ hoạt động từ -40 đến 85oC Ngoài ra còn có các loại cảm biến dòng khác như :  ACS712 – 5A: khoảng đo từ -5A đến 5A, độ nhạy điện áp 180 - 190mV/A  ACS712 – 30A: khoảng đo từ -30A đến 30A, độ nhạy điện áp 64 - 68mV/A Hình 2.2 Hình ảnh minh họa kết nối với module ACS712
  • 14. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 14 2.1.1.2 Cảm biến lưu lượng S201 Ta có thể sử dụng đồng hồ đo nước thông dụng để biết được lượng nước sinh hoạt đã sử dụng. Tuy nhiên, để có thể giám sát ở bất cứ đâu thông qua internet ứng dụng công nghệ IoT, ta cần phải sử dụng một cảm biến chuyên dụng, để đọc và gửi dữ liệu từ cảm biến về vi bộ xử lý. Trong đề này sử dụng cảm biến lưu lượng S201 để đo. Cảm biến S201 bên trong có chứa một cánh quạt để đếm lượng chất lỏng chảy qua nó và có một cảm biến từ Hall xuất ra các xung khi có sự thay đổi trạng thái đầu ra. Cảm biến Hall được hàn kín trong ống để được an toàn và khô ráo. Hình 2.3 Hình ảnh của cảm biến lưu lượng S201 và kết nối Cảm biến lưu lượng có 3 dây:  Dây đỏ: cấp nguồn 5V – 24VDC  Dây đen: GND  Dây vàng: ngõ ra của cảm biến Hall Thông số kỹ thuật của cảm biến S201:  Điện áp làm việc: 5V – 24VDC  Loại ngõ ra: 5V TTL  Dòng điện cao nhất: 15mA (5V)
  • 15. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 15  Mức độ dòng chảy: từ 1 đến 30 L/phút  Vận hành ở nhiệt độ: -25ºC – 80ºC  Nhiệt độ dòng chảy: <120ºC  Áp lực nước tối đa: 2Mpa  Vận hành ở độ ẩm: 35% - 80% RH  Sai số: 10%  Số xung trên lít: 450  Thời gian xung ngõ ra ở mức cao: 0,04ìs  Thời gian xung ngõ ra ở mức thấp: 0,18 ìs Với các tín hiệu xung ra là một dải xung vuông đơn giản, ta có thể dễ dàng đọc và tính được lưu lượng nước bằng việc đếm xung từ ngõ ra của cảm biến theo công thức sau: Tần số xung (Hz) / 7,5 = tốc độ dòng chảy (L / phút) Một số lưu ý khi sử dụng:  Nên đặt cảm biến ở trên cùng dòng chảy  Không cho dòng chảy có chất hóa học, ăn mòn  Không chịu va đập khi sử dụng  Đặt cảm biến thẳng đứng không lệch quá 5 độ  Nhiệt độ nước chảy qua dưới 120 độ C
  • 16. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 16 2.1.2 Thiết bị đầu ra – Màn hình LCD 16x2 và mạch LCD I2C 2.1.2.1 LCD 16x2 LCD (Liquid Crystal Display) được sử dụng rất nhiều trong các ứng dụng vi điều khiển, nó có nhiều ưu điểm so với các dạng hiển thị khác như: khả năng hiển thị ký tự đa dạng trực quang, dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành lại rẻ. Trên thị trường có rất nhiều loại LCD đa dạng về kích cỡ và hình dáng, như hình 2.4 bên dưới, đây là một loại LCD rất thông dụng. Bên trong lớp vỏ của LCD được tích hợp chip điều khiển HD44780 và chỉ đưa các chân giao tiếp cần thiết ra bên ngoài, và được ghi chú hướng dẫn cụ thể. Hình 2.4 Sơ đồ chân của LCD 16x2 Thông số kỹ thuật của LCD 16x2:  Điện áp lớn nhất: 7V  Điện áp nhỏ nhất: - 0,3V  Điện áp hoạt động: 2,7V - 5,5V  Dòng điện cấp nguồn: 350ìA - 600ìA  Nhiệt độ hoạt động: - 30 - 75˚C
  • 17. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 17 khiển để điều khiển màn hình. Ta cần tải thư viện LCD I2C về, thêm vào Arduino IDE để sử dụng. Kết nối LCD với Nodemcu Bảng 2.1 Kết nối LCD với NodeMCU Module màn hình LCD (16x2) NodeMCU GND GND Vcc (Nguồn riêng 5V) SDA D1 SCL D0 2.1.3 Arduino Mega 2560 2.1.3.1 Giới thiệu Nếu cần tìm kiếm một bộ vi xử lý được hỗ trợ mạnh mẽ với mã nguồn mở, có một cộng đồng sử dụng rộng lớn, ngôn ngữ lập trình dễ tiếp cận, và giá thành hợp lý, thì Arduino chính là thứ mà bạn đang tìm kiếm. Arduino trải qua rất nhiều phiên bản cải tiến, mở rộng và một trong những phiên bản được sử dụng rộng rãi là Arduino Mega. Arduino Mega 2560 là một phiên bản nâng cấp của Arduino Uno R3 với số chân giao tiếp, ngoại vi và bộ nhớ nhiều hơn; phù hợp cho các ứng dụng cần nhiều bộ nhớ hoặc nhiều chân, cổng giao tiếp hơn so với Arduino Uno. Arduino Mega 2560 cung cấp mọi thứ cần thiết để hỗ trợ vi điều khiển; chỉ cần cáp USB kết nối đến máy vi tính hoặc cấp điện bằng bộ điều hợp AC-DC hoặc dùng pin để cấp nguồn là ta đã có thể sử dụng được. Arduino Mega 2560 tương thích với hầu hết các “shield”.
  • 18. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 18 2.1.3.2 Thông số kỹ thuật Vi điều khiển chính: Atmega2560 IC nạp và giao tiếp UART: Atmega16U2 Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn bên ngoài  Số chân Digital: 54 (15 chân PWM)  Số chân Analog: 16  Giao tiếp UART: 4 bộ UART  Giao tiếp SPI: 1 bộ (chân 50 – 53), dùng với thư viện SPI của Arduino  Giao tiếp I2C: 1 bộ  Ngắt ngoài: 6 chân  Bộ nhớ Flash: 256kb; 8kb sử dụng cho Bootloader  SRAM: 8kb  EEPROM: 4kb  Xung clock: 16Mh  1 nút nhấn reset board Hình 2.6 Thành phần Arduino Mega 2560
  • 19. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 19 2.1.4 NodeMCU 1.0 2.1.4.1 Giới thiệu: NodeMCU V1.0 là một dạng vi điều khiển có tích hợp Wifi, được phát triển dựa trên chip Wifi ESP8266EX bên trong module ESP – 12E, cho phép dễ dàng kết nối wifi với một vài thao tác. Board còn tích hợp IC CP2102, giúp dễ dàng giao tiếp máy tính thông qua Micro USB để thao tác với board. NodeMCU giúp lập trình viên thực hiện các tác vụ TCP/IP đơn giản để xây dựng các ứng dụng khác nhau, đặc biệt là ứng dụng IoT. Hình 2.7 NodeMCU 1.0 (ESP-12E Module) Với việc sử dụng và kết nối dễ dàng, có thể lập trình và nạp chương trình trực tiếp trên phần mềm Arduino IDE; Có rất nhiều thư viện và tài liệu hỗ trợ người dùng, NodeMCU cùng với Arduino chính là công cụ thúc đầy cho các ứng dụng về lĩnh vực IoT phát triển mạnh mẽ như ngày hôm nay. Lưu ý là nếu gặp lỗi không giao tiếp được với NodeMCU, ta nên kiểm tra lại cable (vì có một số loại cable không truyền dữ liệu được), và cài đặt driver xem đã đúng chưa. Khi test mạch, ta cần để ý đến nguồn, tránh việc sơ ý bị chồng nguồn gây cháy module. 2.1.4.2 Thông số kỹ thuật  Chip: ESP8266EX  Wifi: 2,4Ghz hỗ trợ chuẩn 802,11b/g/n  Điện áp hoạt động: 3.3V  Điện áp vào: 5V (thông qua cáp USB) hoặc nguồn bên ngoài
  • 20. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 20  Số chân I/O: 11 (tất cả các chân I/O đều có Interupt/PWM/I2C/One-wire  Hình 2.8 Sơ đồ chân NodeMCU 1.0 (ESP-12E Module)  Số chân analog input: 1 (điện áp vào tối đa 3.3V)  Bộ nhớ Flash: 4Mb  Giao tiếp: Cable Micro USB  Hỗ trợ bảo mật: WPA/WPA2  Tích hợp giao thức: TCP/IP  Lập trình trên các ngôn ngữ: C/C++, MicroPython, NodeMCU – LUA 2.2 CHUẨN TRUYỀN DỮ LIỆU 2.2.1 Giao tiếp UART 2.2.1.1 Giới thiệu Hiện nay, chuẩn UART (Universal Asynchronous Receiver – Transmitter) được sử dụng rất nhiều trong các board mạch điều khiển để truyền nhận dữ liệu giữa các thiết bị với nhau. Rất nhiều vi điều khiển hiện nay được tích hợp UART. Khác với giao tiếp SPI và I2C cần phải có 1 dây truyền dữ liệu và 1 dây dùng để truyền xung clock (SCL) cho đồng bộ; đối với chuẩn UART thì không sử dụng dây SCL, công việc truyền UART được thực hiện giữa 2 bộ vi xử lý, và mỗi vi xử lý đều tự tạo ra xung clock. Để thực hiện công việc truyền dữ liệu, bắt đầu bằng việc gửi đi một bit START, tiếp theo là các bit dữ liệu và cuối cùng là bit stop để kết thúc.
  • 21. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 21 Khi chưa truyền dữ liệu thì ban đầu điện thế ở mức logic 1 (mức cao). Khi bắt đầu truyền dữ liệu, bit START chuyển từ mức logic 1 về logic 0, báo cho bộ nhận là việc truyền dữ liệu bắt đầu được thực hiện. Tiếp theo là truyền đi các bit dữ liệu D0-D7 (có thể là logic 1 hoặc 0). Bộ nhận sẽ kiểm tra tính đúng đắn của dữ liệu truyền đi dựa theo bit PARITY (kiểm tra chẵn/lẻ). Cuối cùng bit STOP sẽ báo cho thiết bị rằng dữ liệu đã được gửi đi hoàn tất. Tất cả các board Arduino đều có ít nhất 1 cổng UART hoặc USART. Cổng giao tiếp UART trên chân TX/RX sử dụng mức logic TTL (5V hoặc 3,3V) để giao tiếp với máy tính hay các thiết bị khác. Nếu đã sử dụng 2 chân TX/RX này thì không thể dùng với mục đích input/output của Arduino nữa. 2.2.1.2 Các thông số trong truyền nhận UART Baud rate: Hay còn gọi là tốc độ Baud, đây là khoảng thời gian của 1 bit được truyền đi. Lưu ý là phải được cài đặt giống nhau ở thiết bị gửi và nhận. Frame: Khung truyền quy định về số bit trong mỗi lần truyền. Bit start: đây là bit đầu tiên truyền đi trong một Frame để báo hiệu cho thiết bị nhận sẽ có dữ liệu sắp được truyền đến. Data: đây là dữ liệu cần gửi; bit trọng số nhỏ nhất (LSB) được truyền đi trước, và cuối cùng là bit MSB. Parity bit: kiểm tra tính chẵn/lẽ của dữ liệu được truyền đi. Stop bit: đây là bit báo cho thiết bị nhận rằng việc gửi dữ liệu đi đã hoàn tất. Thiết bị nhận sẽ kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu. 2.2.2 Chuẩn giao tiếp I2C 2.2.2.1 Giới thiệu Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là I2C. I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit. Đây là đường Bus giao tiếp giữa các IC với nhau. I2C mặc dù được phát triển bới Philips, nhưng nó đã được
  • 22. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 22 rất nhiều nhà sản xuất IC trên thế giới sử dụng. I2C trở thành một chuẩn công nghiệp cho các giao tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoài Philips như: Texas Intrument(TI), MaximDallas, analog Device, National Semiconductor ... Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM... chip nhớ như: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), số tương tự(DAC), IC điểu khiển LCD, LED... Hình 2.10 Thiết bị ngoại vi giao tiếp bus I2C 2.2.2.2 Đặc điểm giao tiếp I2C Một giao tiếp I2C gồm có 2 dây là Serial Data (SDA) và Serial Clock (SCL). SDA truyền dữ liệu theo 2 hướng, còn SCL là đường truyền một hướng để truyền xung clock đồng bộ. Hình 2.11 Thiết bị kết nối vào I2C ở chế độ chuẩn và chế độ nhanh Mỗi dây SDA và SCL đều nối với điện áp dương của nguồn thông qua một điện trở kéo lên. Giá trị của các điện trở này khác nhau tùy thuộc vào từng thiết bị và chuẩn giao tiếp.
  • 23. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 23 Ở hình 2.10 bên trên, có rất nhiều thiết bị kết cùng kết nối vào một bus, tuy nhiên sẽ không xảy ra trường hợp nhầm lẫn giữa các thiết bị, vì mỗi thiết bị sẽ được nhận ra bởi một địa chỉ duy nhất, với một quan hệ chủ/tớ tồn tại trong suốt quá trình kết nối. Một thiết bị có thể hoạt động như một thiết bị truyền hay nhận dữ liệu hoặc vừa truyền vừa nhận. Một thiết bị hay IC khi kết nối với I2C, ngoài địa chỉ duy nhất để phân biệt, nó còn được cấu hình là một thiết bị chủ hay tớ - với quyền điều khiển thuộc về thiết bị chủ. Khi giữa 2 thiết bị chủ - tớ giao tiếp, thì thiết bị chủ có vai trò tạo xung clock và quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp. Như hình trên, xung đồng hồ chỉ đi một hướng từ chủ đến tớ, còn luồng dữ liệu có thể đi theo 2 hướng. 2.2.3 Chuẩn giao tiếp Wifi 2.2.3.1 Giới thiệu Wifi là viết tắt của Wireless Fidelity, được gọi chung là mạng không dây sử dụng sóng vô tuyến, loại sóng vô tuyến này tương tự như sóng truyền hình, điện thoại và radio. Wifi phát sóng trong phạm vi nhất định, các thiết bị điện tử tiêu dùng ngày nay như laptop, smartphone hoặc máy tính bảng có thể kết nối và truy cập internet trong tầm phủ sóng. 2.2.3.2 Nguyên tắc hoạt động Để tạo được kết nối Wifi nhất thiết phải có Router (bộ thu phát), Router này lấy thông tin từ mạng Internet qua kết nối hữu tuyến rồi chuyển nó sang tín hiệu vô tuyến và gửi đi, bộ chuyển tín hiệu không dây (adapter) trên các thiết bị di động thu nhận tín hiệu này rồi giải mã nó sang những dữ liệu cần thiết. Quá trình này có thể thực hiện ngược lại, Router nhận tín hiệu vô tuyến từ Adapter và giải mã chúng rồi gởi qua Internet. 2.2.3.3 Một số chuẩn kết nối Wifi Tuy nói wifi tương tự như sóng vô tuyến truyền hình, radio hay điện thoại nhưng nó vẫn khác các loại sóng kia ở mức độ tần số hoạt động.
  • 24. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 24 Sóng wifi truyền nhận dữ liệu ở tần số 2,5Ghz đến 5Ghz. Tần số cao này cho phép nó mang nhiều dữ liệu hơn nhưng phạm vi truyền của nó bị giới hạn; còn các loại sóng khác, tuy tần số thấp nhưng có thể truyền đi được rất xa. Kết nối wifi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute of Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ a/b/g/n:  Chuẩn wifi đầu tiên 802.11: năm 1997, IEEE đã giới thiệu chuẩn đầu tiên này cho WLAN. Tuy nhiên, 802.11 chỉ hỗ trợ cho băng tần mạng cực đại lên đến 2Mbps – quá chậm đối với hầu hết mọi ứng dụng. Và với lý do đó, các sản phẩm không dây thiết kế theo chuẩn 802.11 ban đầu không được sản xuất nữa.  Chuẩn wifi 802.11b: IEEE đã mở rộng trên chuẩn gốc 802.11 để tạo ra chuẩn 802.11b vào tháng 7/1999. Chuẩn này hỗ trợ băng thông lên đến 11Mbps, tương ứng Hình 2.16 Bảng so sánh thông số các chuẩn wifi
  • 25. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 25 2.3 NODE RED 2.3.1 Giới thiệu Node-RED là một công cụ lập trình để kết nối các thiết bị phần cứng, API và online services theo những cách mới và thú vị. Nó cung cấp một trình soạn thảo dựa trên trình duyệt giúp dễ dàng kết nối các luồng với nhau bằng cách sử dụng một loạt các Node trong bảng màu (palette) có thể được triển khai chỉ bằng một cú nhấp chuột.Nếu như ngày xưa phải biết ngôn ngữ C, C++ hay các ngôn ngữ máy bậc thấp. Thì giờ đây ta có thể code nó bằng javascript do Node-RED được xây dựng trên NodeJS Node-RED được dựa trên Node.js, nó có thể được xem như một web server mà bạn có thể cấu hình tùy chỉnh các chức năng gọi là “flow” từ bất kỳ trình duyệt nào trên máy 2.3.2 cấu trúc tổng quan của NODE-RED Một ví dụ đơn giản để chúng ta có thể hình dung được các node khác nhau sẽ tương tác như thế nàoVới Node-RED ta có thể hình dung cách tương tác và giao tiếp với các thiết bị một cách tổng quan như hình dưới. Ở đây máy tính của mình sẽ đóng vai trò là server và client
  • 26. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 26 Nếu dùng Raspberry hay OrangePi thì thiết bị này sẽ đóng vai trò là Server, còn lại sẽ là client như hình 2.3.3 cài đặt terminal NODE RED Cài nhanh gọn với lệnh $ sudo apt-get install nodejs-legacy $ sudo apt-get install npm $ sudo npm install -g --unsafe-perm node-red node-red-admin $ node-red Giờ thì có thể truy cập vào Node-RED ở đường dẫn http://127.0.0.1:1880/# Khởi Động Nodered Tự Động Đây là một option khi bạn cài nodered lên ubuntu 16.04, ta cần tạo một service nodered với tên node-red.service với lệnh –v Restart=on-failure KillSignal=SIGINT # log
  • 27. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 27 Lưu ý: thay sammy bằng user hiện tại của bạn, ví dụ của mình dùng user ubuntu thì ubuntu sẽ được thay thế cho Sammy, Sau đó chạy lệnh để auto start nodered $ sudo systemctl enable node-red Nếu muốn dừng chạy auto thì chạy command $ sudo systemctl stop node-red Tạo màn hình đăng nhập cho node-red Để đảm bảo chỉ có mình bạn và những người liên quan có thể vào được trang nodered admin thì cần enable trang đăng nhập lên, để thực hiện được cần Chỉnh sửa file settings.js với lệnh $ nano ~/.node-red/settings.js Kéo xuống và uncomment khối adminAuth(xóa các kí tự “// ” trước mỗi line). Đổi phần username thành cái bạn muốn và paste hash password đã tạo ở trên vào. adminAuth: { type: "credentials", users: [{ username: "admin", password: "$2a$08$Ab9prIr1M8a5a1/Zx8.B9.uIOCPe.v90ZGuZc2kAATp6BHJ/WV5KS", permissions: "*" }] },
  • 28. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 28 $ sudo systemctl restart node-red Ở đây bạn cần thay thế 2 chỗ là username và password Sau khi chỉnh sửa hoàn tất, khởi động lại nodered với lệnh 2.3.4 tạo giao diện cho website bằng NODE RED Các đối tượng trong Dashboard được phân thành 3 cấp từ lớn đến nhỏ như sau:  Tabs & Links: đây có thể xem nhưng từng màn hình  Group: đây là các nhóm thuộc các màn hình. Bạn có thể tạo nhiều nhóm trong cùng một màn hình  Object: button, textbox, slider, chart, form, . . . kéo thả 2 nodes button và text vào workplace để làm thực nghiệm:  Với mỗi đối tượng chúng ta sử dụng, các bạn cần lưu ý các điều sau:  Đối tượng thuộc Tab nào ?  Đối tượng thuộc Group nào ?
  • 29. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 29  Các bạn cấu hình node button và node text như sau: Phần payload trong cấu hình của button là giá trị mà button sẽ truyền đi khi ta click vào nó. Các bạn bấm Deploy và truy cập http://localhost:<port>/ui để xem kết quả !
  • 30. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 30 Chương 3. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 3.1 GIỚI THIỆU Hệ thống này sẽ thực hiện công việc giám sát thông số điện năng tiêu thụ và lượng nước sinh hoạt hằng ngày, sau đó đều đặn gửi những thông tin này ra màn hình hiển thị trên thiết bị hay cập nhật lên giao diện web để người dùng tiện theo dõi, quan sát. Giả dụ, đối với những ai muốn sử dụng hệ thống này cho hộ gia đình của họ, điều đầu tiên là họ cần mua bộ thiết bị giám sát điện – nước, 3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 3.2.1 Thiết kế sơ đồ khối hệ thống Với những yêu cầu kể trên, hệ thống sẽ bao gồm các khối sau: khối nguồn, khối xử lí trung tâm, khối hiển thị, khối thiết bị đầu vào và WebServer. Khối nguồn: cấp nguồn cho hệ thống hoạt động. Khối xử lí trung tâm: nhận dữ liệu từ khối thiết bị đầu vào, tính toán các giá trị điện - nước sau đó xuất tín hiệu ra khối hiển thị để hiển thị các giá trị điện – nước đã sử dụng. Kết nối mạng không dây để đọc thời gian thực từ internet về so sánh để đều đặn lấy dữ liệu và đẩy lên websete Khối hiển thị: hiển thị thông tin về lượng điện – nước tiêu thụ. Khối thiết bị đầu vào: bao gồm cảm biến dòng, mạch đo áp và cảm biến lưu lượng. WebServer: bao gồm một database để lưu trữ dữ liệu và một web node red để xây dựng trang web giám sát điện – nước.
  • 31. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 31 Hình 3.1: Sơ đồ khối hệ thống 3.2.2 Tính toán và thiết kế mạch 3.2.2.1 Thiết kế khối hiển thị Trên mô hình sẽ có một màn hình LCD 16x2 hiển thị thông tin về mức điện năng đang sử dụng hoặc lượng nước đang sử dụng. LCD 16x2 sẽ sử dụng nguồn 5V từ Arduino để hoạt động và tiêu tốn dòng tối đa là 120mA. 3.2.2.2 Thiết kế khối xử lý Sử dụng Arduino Mega để tiếp nhận và xử lý dữ liệu từ khối thiết bị đầu vào. Arduino Mega có dòng tiêu thụ là 200mA. Module giao tiếp wifi NodeMcu sẽ tiếp nhận dữ liệu để xử lý, so sánh và cập nhật thông tin lên web server; khi hoạt động ở mức tối đa thì tiêu thụ dòng 170mA. Về WebServer nhóm sử dụng phương pháp cài đặt và tạo giao diện web bằng node red. Vừa đơn giản, dễ sử dụng và thu lại được kết quả cao trong các nút
  • 32. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 32 3.2.2.3 Thiết kế khối thiết bị đầu vào Thiết kế mạch đo điện áp: Có nhiều phương pháp để đo điện áp của nguồn điện. Hình 3.2: Mạch đo điện áp Nếu không xét về kích thước hơi cồng kềnh và giá thành của sản phẩm, thì việc sử dụng biến áp để giảm áp là một trong những cách đơn giản và an toàn. Như sơ đồ nguyên lý bên trên, nguồn 220Vac khi qua biến áp sẽ được giảm xuống còn 9Vac hiệu dụng (điện áp đỉnh là 12.7V). Sử dụng cầu diode để chỉnh lưu thành điện áp một chiều 11.3V đỉnh (sụt áp trên diode là 1.4V). Sau đó sử dụng 2 tụ điện để lọc nhiễu và làm phẳng điện áp. Nhưng để bộ ADC của Arduino đo được điện áp thì điện áp ngõ ra Vo phải nhỏ hơn 5V, và để tránh trường hợp áp tăng cao đột ngột gây hại cho Arduino thì ta xử lí cho điện áp nhỏ hơn 4V. Ta sử dụng cầu phân áp để xử lý vấn đề này, theo sơ đồ hình 3.2 điện áp ngõ ra Vo được chia xuống còn 1/3 tức sẽ có giá trị khoảng 3.78V Cảm biến đầu vào: Sử dụng một module đo dòng điện ACS712 có dòng tiêu thụ là 13 mA và một cảm biến lưu lượng S201 với mức dòng tiêu tốn cao nhất 15 mA. Cả 2 cảm biến này sử dụng nguồn 5V lấy từ arduino để hoạt động. 3.2.2.4 Thiết kế khối nguồn
  • 33. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 33 Với thông số mức dòng điện tiêu thụ đã kể ở trên, ta tính được dòng điện mà hệ thống cần phải cung cấp: Dòng tiêu thụ khối hiển thị: 120mA Dòng tiêu thụ của khối xử lý: 200mA (Arduino Mega) + 170mA (NodeMCU) = 370mA Dòng tiêu thụ khối thiết bị đầu vào: 13mA (ACS712) + 15mA (S201) = 28mA Như vậy dòng tổng cần cung cấp cho cả hệ thống là: Cả arduino và NodeMCU đều sử dụng IC AMS1117 để ổn định điện áp cho mạch hoạt động nên nguồn cấp cho board có thể dao động từ 7V – 12V (giới hạn từ 6V – 15V). Ta thiết kế mạch nguồn như sau: Hình 3.3: Mạch nguồn cấp cho Arduino và NodeMCU Điện áp đầu ra của mạch nguồn được tính toán giống như mạch đo áp với Vo1.3V.
  • 34. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 34 3.2.3 Sơ đồ nguyên lý của hệ thống
  • 35. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 35 Chương 4. THI CÔNG HỆ THỐNG 4.1 GIỚI THIỆU Sau khi đã tính toán và lựa chọn thiết bị cụ thể, ta sẽ bước sang giai đoạn sau cùng là thi công hệ thống. Về phần cứng, phần lớn các thiết bị được sử dụng trong đề tài là các module và cảm biến đều có sẵn trên thị trường: Arduino Mega, NodeMCU, ACS712, S201… Ngoài ra sẽ thiết kế mạch để đo giá trị điện áp AC 220V. Đối với phần mềm, chúng ta sẽ tiến hành lập trình điều khiển cho Arduino Mega và NodeMCU; đồng thời sẽ thiết kế giao diện web server và xây dựng cơ sở dữ liệu Realtime Database Firebase. 4.2 LẬP TRÌNH HỆ THỐNG 4.2.1 LƯU ĐỒ GIẢI THUẬT Khi cấp nguồn, màn hình LCD sẽ hiển thị 2 thông số là điện năng tiêu thụ hiện tại lấy từ mạch đo áp, cảm biến dòng ACS712 và mức nước tiêu thụ lấy từ cảm biến lưu lượng S201 Arduino sẽ đều đặn gửi dữ liệu qua module wifi Nodemcu. Nodemcu tiếp nhận dữ liệu và cập nhật hiển thị LCD và database của node-red. Khi xảy ra trường hợp mất điện, thì Nodemcu chỉ việc lấy dữ liệu từ database node-red và cộng với mức tiêu thụ mà arduino gửi qua để tiếp tục hiển thị khi có điện lại. Đối với Arduino, ta sẽ tiến hành khởi tạo thiết lập kết nối, khai báo biến và bật các chức năng cần thiết. Cả hai chương trình đo điện và nước tiêu thụ được thực hiện song song. Sử dụng hàm millis() được hỗ trợ sẵn từ Arduino IDE để canh thời gian, tiến hành lấy mẫu dòng điện, điện áp trong 1 giây; sau đó sẽ thực hiện công việc tính toán. Bên cạnh đó, Arduino sẽ thực hiện ngắt để chạy chương trình đếm số lượng xung và dừng ngắt để tính toán lượng nước tiêu thụ trong 1 giây (cũng sử dụng hàm millis()). Sau khi đã tính toán xong thông số điện – nước, biến đếm sẽ tăng lên 1; khi biến
  • 36. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 36 đếm bằng 10 thì sẽ gửi dữ liệu sang Nodemcu (tức mỗi 10 giây sẽ gửi dữ liệu sang Nodemcu một lần). Đối với Nodemcu, khi khởi động sẽ thực hiện khởi tạo kết nối và bật các chức năng cần thiết. Sau đó sẽ thực hiện kết nối wifi và dashboard dựa trên các khai báo. Nodemcu sẽ kiểm tra và nhận dữ liệu từ arduino, khi arduino gửi dữ liệu sang thì Nodemcu sẽ nhận, xử lí để hiển thị lên lcd và gửi lên data node-red. NodeMcu lấy thời gian thực trực tiếp từ Internet, thực hiện so sánh và cập nhật dữ liệu lên database node-red sau mỗi 120s. Đầu tháng sẽ reset các dữ liệu tổng về 0, bên cạnh đó sẽ lưu giá trị tổng điện – nước của tháng này để thống kê mức độ sử dụng điện - nước trong 3 tháng gần nhất. Nếu nhấn nút hiển thị LCD, chương trình sẽ thực hiện ngắt để xử lý trong thời gian rất ngắn, sau đó tiếp tục hoạt động. 4.3 PHẦN MỀM LẬP TRÌNH CHO PHẦN CỨNG Đề tài sử dụng phần mềm ArduinoIDE (Arduino Intergrated Development Environment) để lập trình cho Arduino Mega 2560 và cả NodeMCU; Ngôn ngữ được sử dụng ở ArduinoIDE là C/C++. Tất cả đều là mã nguồn mở, được đóng góp và hỗ trợ rất nhiều từ cộng đồng, rất thích hợp cho những ai mới bắt đầu tìm hiểu hoặc không chuyên để dễ dàng tiếp cận, nắm bắt và triển khai nhanh chóng. ArduinoIDE hoạt động được trên cả 3 nền tảng: Windows, MAC OS và Linux. Bên dưới là hướng dẫn về cách cài đặt, cách tạo project, viết code và biên dịch chương trình trên hệ điều hành Windows. Cài đặt: Cài đặt Java Runtime Environment (JRE) Vì Arduino IDE được viết trên Java, nên ta cần phải cài đặt JRE trước; nếu không, Arduino IDE sẽ không hoạt động được. JRE có 2 bản phổ biến nhất hiện nay dành cho Windows 32 bit (x86) và Windows 64 bit (x64).
  • 37. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 37 Linkdowload: http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • 38. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 38 Hình 4.3: Ủng hộ nhà phát triển Arduino IDE Sau khi đã cài đặt xong, mở phần mềm lên ta sẽ thấy một giao diện rất dễ nhìn và thân thiện hơn so với đa phần các phần mềm lập trình khác. Arduino IDE làm việc với dưới dạng bản soạn thảo gọi là Sketch, ta sẽ soạn các lệnh lập trình (code) vào Sketch rồi sử dụng thao tác biên tập và upload chương trình đó xuống board Arduino đã cắm vào máy. Khi tiến hành nạp code thì ta cần phải chắc chắn rằng phần mềm đã nhận được tín hiệu của board Arduino (Arduino COM port detect); bản Sketch đang soạn nạp đúng với board Arduino tương ứng (khi cần soạn hai Sketch giao tiếp giữa hai board Arduino và cắm vào cùng máy tính thì vấn đề như vậy sẽ bắt đầu phát sinh). Khi cắm board Arduino vào máy tính cổng COM sẽ được nhận và ta vào phần Tools -> Port để chọn cổng COM kết nối Arduino IDE với board. Sau khi máy đã nhận cổng COM thì ta cần điều chỉnh phần mềm lập trình Arduino xác nhận đúng loại board đang muốn nạp. 4.4 PHẦN MỀM LẬP TRÌNH CHO WEBSITE Sau đó, bạn có thể truy cập trình soạn thảo Node-RED bằng cách truy cập dến http://doansmarthome.tk/admin/#flow/1406bb2e.be6ad5 Giao diện như sau: Từ giao diện nút này ta có thể tạo ra 1 giao diện website theo mục đích của mạch mình làm
  • 39. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 39 Mỗi nút ta sẽ để nó thuộc vào một group hoặc tab rồi bất đầu gắn địa chỉ, kết nốt data trong các nút và nối các nút lại với nhau
  • 40. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 40 Và đây là giao diện của website 4.5 PHƯƠNG THỨC GIAO TIẾP CHO WEBSITE VÀ PHẦN CỨNG 4.4.1 GIAO THỨC MQTT
  • 41. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 41 MQTT = Message Queue Telemetry Transport Đây là một giao thức truyền thông điệp (message) theo mô hình publish/subscribe (xuất bản – theo dõi), sử dụng băng thông thấp, độ tin cậy cao và có khả năng hoạt động trong điều kiện đường truyền không ổn định. MQTT là một giao thức nhắn tin gọn nhẹ được thiết kế để liên lạc nhẹ giữa các thiết bị và hệ thống máy tính. MQTT được thiết kế ban đầu cho các mạng SCADA, các kịch bản sản xuất và băng thông thấp, MQTT đã trở nên phổ biến gần đây do sự phát triển của Internet-of-Things (IoT). Ưu điểm của MQTT Giao thức MQTT cho phép hệ thống SCADA của bạn truy cập dữ liệu IIoT. MQTT mang lại nhiều lợi ích mạnh mẽ cho quy trình của bạn:  Chuyển thông tin hiệu quả hơn  Tăng khả năng mở rộng  Giảm đáng kể tiêu thụ băng thông mạng  Giảm tốc độ cập nhật xuống giây  Rất phù hợp cho điều khiển và do thám  Tối đa hóa băng thông có sẵn  Chi phí cực nhẹ  Rất an toàn với bảo mật dựa trên sự cho phép  Được sử dụng bởi ngành công nghiệp dầu khí, Amazon, Facebook và các doanh nghiệp lớn khác  Tiết kiệm thời gian phát triển  Giao thức publish/subscribe thu thập nhiều dữ liệu hơn với ít băng thông hơn so với giao thức cũ.
  • 42. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 42 Ứng dụng của MQTT Facebook Messenger . Facebook đã sử dụng các khía cạnh của MQTT trong Facebook Messenger để trò chuyện trực tuyến . Tuy nhiên, không rõ MQTT được sử dụng bao nhiêu hoặc để làm gì.  IECC Scalable , DeltaRail phiên bản mới nhất của hệ thống kiểm soát hiệu IECC của họ ‘s sử dụng MQTT cho thông tin liên lạc trong các phần khác nhau của hệ thống và các thành phần khác của hệ thống báo hiệu. Nó cung cấp khung truyền thông cơ bản cho một hệ thống tuân thủ các tiêu chuẩn CENELEC cho các thông tin liên lạc quan trọng về an toàn.  Các tổ chức không gian địa lý SensorThings API đặc điểm kỹ thuật tiêu chuẩn có một phần mở rộng MQTT trong tiêu chuẩn như một giao thức thông báo bổ sung ràng buộc. Nó đã được chứng minh trong một thí điểm IoT của Bộ An ninh Nội địa Hoa Kỳ.
  • 43. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 43 4.6 SƠ ĐỒ KHỐI TOÀN HỆ THỐNG  HƯỚNG DẪN SỬ DỤNG: Bước 1: cấp nguồn cho hệ thống Bước 2: mở code chương trình của esp 8266 và đổi mật khẩu và tên wifi và nạp lại chương trình cho esp8266 Bước 3: cắm tải cho cảm biến dòng acs712 -20a và cảm biến lưu lượng s201 Bước 4: mở đường link website lên và theo dõi thông số tiêu thụ điện nước và truy xuất time cần tìm đồng thời màn hình LCD cũng hiển thị thông số lên phần cứng. 4.7 MÔ HÌNH THỰC TẾ Khối Thiết Bị Đầu Vào: 1: Module cảm biến dòng ACS712 -20A. Chức năng để đo dòng của phụ tải để truyền dữ liệu vào cho bộ xử lý trung tâm KHỐI NGUỒN CẢM BIẾN LƯU LƯỢNG CẢM BIẾN DÒNG KHỐI THU THẬP DỮ LIỆU KHỐI XỬ LÝ DỮ LIỆU WEBSITE LCD 16.2
  • 44. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 44 2: Cảm biến lưu lượng S201. Chức năng đo lưu lượng nước tiêu thụ để truyền dữ liệu vào cho bộ xử lý trung tâm 3: Tải tiêu thụ Khối Hiển Thị: 4: màn hình LCD 16.2, chức năng hiển thị thông số điện nước đang tiêu thụ Khối điều khiển: 5: NodeMCU 1.0. Chức năng là nhận dữ liệu từ Arduino và giao tiếp đẩy thông tin lên website và lưu vào database 6: Arduino Mega 2560 chức năng chính là thu thập dữ liệu từ chân tín hiệu của cảm biến truyền lên
  • 45. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 45
  • 46. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 46 CHƯƠNG 5. KẾT LUẬN – HƯỚNG PHÁT TRIỂN ĐỀ TÀI 5.1 KẾT LUẬN 5.1.1 Ưu Điểm - Phần cứng thì nhỏ gọn, dễ lắp đặt - Nguồn dùng chung với điện lưới nên rất thuận tiện khi sử dụng - Về website thì được cập nhập và lưu trữ dữ liệu từ esp lên data ổn định - Trang giao diện của website nhìn đơn giản, dễ truy cập cho người dùng 5.1.2 Nhược Điểm - Dữ liệu gởi lên data còn trễ khi tín hiệu wifi yếu - Bị sai số của phụ tải khoảng 1% - Vì là mô hình nên mạch không thể cập nhâp dữ liệu cho các phụ tải là động cơ có công suất lớn 5.2 HƯỚNG PHÁT TRIỂN - Có hệ thống cảnh báo nếu giá trị điện – nước đo được vượt quá ngưỡng cài đặt cho - phép (dùng loa, đèn báo), hoặc gửi tin nhắn qua sim. - Thay màn hình LCD 16x2 đơn điệu bằng màn hình cảm ứng có giao diện trực quan. - Mở rộng hệ thống để có thể điều khiển các thiết bị từ xa như: công tắc, van điện tử… - Mô hình cần được cải tiến để trở nên nhỏ gọn và bắt mắt hơn.
  • 47. NGHIÊN CỨU KHOA HỌC GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 47 TÀI LIỆU THAM KHẢO Sách tham khảo [1] Hoàng Ngọc Văn, “ Điện Tử Công Suất”, Trường đại học SPKT Tp.HCM, 2007 [2] Trần Thu Hà (chủ biên), “ Điện Tử Cơ Bản”, NXB ĐH Quốc Gia Tp.HCM, 2013 [3] Nguyễn Đình Phú – Trương Ngọc Anh, “Vi xử lý”, NXB ĐH Quốc Gia Tp.HCM, 2013 [5] Bùi Minh Phúc, “ESP8266 NodeMCU - Một lựa chọn khác ngoài Adruino”, [6] Phạm Trần Đăng Khoa, “Tự học thiết kế Web tĩnh cơ bản: HTML, CSS & jQuery tại KhoaPham.Vn”, [7] Material design lite tutorial, 2018
  • 48. ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 48 PHỤC LỤC CODE ARDUNIO #include <Arduino.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); /* Measuring Current Using ACS712 *///-------------------------------------------------------------- const int analogIn = A0; int mVperAmp = 225; // use 100 for 20A Module and 66 for 30A Module int RawValue= 0; int ACSoffset = 2500; double Voltage = 0; double Amps = 0; double Walt = 0; double Voltage1= 0; double VRMS = 0; double AmpsRMS = 0; //---------------------------------------------------------------- /* YF S201 Water Flow Sensor Water Flow Sensor output processed to read in litres/hour Adaptation Courtesy: www.hobbytronics.co.uk */ volatile int flow_frequency; // Measures flow sensor pulses unsigned int l_hour; // Calculated litres/hour unsigned char flowsensor = 2; // Sensor Input unsigned int flowMilliLitres; unsigned long totalMilliLitres; float lit; unsigned long currentTime; unsigned long cloopTime; //----------------------------------------------------------------- void flow () // Interrupt function { flow_frequency++; } float getVPP() { float result; int readValue; //value read from the sensor int maxValue = 0; // store max value here int minValue = 1024; // store min value here uint32_t start_time = millis(); while((millis()-start_time) < 1000) //sample for 1 Sec { readValue = analogRead(analogIn); // see if you have a new maxValue if (readValue > maxValue) { /*record the maximum sensor value*/ maxValue = readValue; } if (readValue < minValue) { /*record the minimum sensor value*/ minValue = readValue; } } // Subtract min from max result = ((maxValue - minValue) * 5.0)/1024.0;
  • 49. ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 49 return result; } void setup() { pinMode(flowsensor, INPUT); digitalWrite(flowsensor, HIGH); // Optional Internal Pull-Up Serial.begin(9600); Serial2.begin(115200); attachInterrupt(0, flow, RISING); // Setup Interrupt sei(); // Enable interrupts currentTime = millis(); cloopTime = currentTime; lcd.init(); lcd.backlight(); lcd.setCursor(2,0); lcd.print("Hoang Quan"); } void loop() { currentTime = millis(); // Every second, calculate and print litres/hour if(currentTime >= (cloopTime + 1000)) { cloopTime = currentTime; // Updates cloopTime // Pulse frequency (Hz) = 7.5Q, Q is flow rate in L/min. l_hour = (flow_frequency * 60 / 7.5); // (Pulse frequency x 60 min) / 7.5Q = flowrate in L/hour flowMilliLitres = (l_hour / 60) * 1000; totalMilliLitres += flowMilliLitres/60; lit = (float)totalMilliLitres/1000; flow_frequency = 0; // Reset Counter Serial.print("Water Value = " ); // shows pre-scaled value Serial.print((float)lit,3); // Print litres/hour Serial.println("L"); } Voltage = getVPP(); VRMS = (Voltage/2.0) *0.707; AmpsRMS = abs((VRMS * 1000)/mVperAmp - 0.0975); if(AmpsRMS >= 0.1) { Voltage = 220; } else { Voltage = 0; } Serial.print("Voltage :"); Serial.print(Voltage); Serial.println("V"); Serial.print("Current :"); Serial.print(AmpsRMS); Serial.println("A"); delay(50); Walt = Voltage * AmpsRMS * 0.9; lcd.clear(); lcd.setCursor(0,0); lcd.print("Nuoc ="); lcd.setCursor(7,0); lcd.print(lit); lcd.setCursor(12,0); lcd.print("L");
  • 50. ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 50 lcd.setCursor(0,1); lcd.print("Dien ="); lcd.setCursor(7,1); lcd.print(Walt); lcd.setCursor(12,1); lcd.print("W"); Serial.print("Walt Value = " ); // shows pre-scaled value Serial.print(Walt,3); Serial.println("W"); Serial2.println(lit,3); // the '3' after voltage allows you to display 3 digits after decimal point Serial2.print("-"); // shows the voltage measured Serial2.println(Walt,3); // the '3' after voltage allows you to display 3 digits after decimal point totalMilliLitres = 0; delay(10000); } CODE ESP 8266 #include <Arduino.h> #include <ESP8266WiFi.h> #include <PubSubClient.h> #include <SoftwareSerial.h> #include <string.h> void serialEvent(); SoftwareSerial Serial2(13, 15); // RX_D7, TX_D8 const char* ssid = "dhstestiot"; const char* password = "DHSAbc@@123"; const char* mqttServer = "doansmarthome.tk"; const int mqttPort = 1883; const char* mqttUser = "admin"; const char* mqttPassword = "123456"; const char Voltage = 0; const char l_hour = 0; // Calculated litres/hour WiFiClient espClient; PubSubClient client(espClient); unsigned long lastMsg = 0; #define MSG_BUFFER_SIZE (50) char msg[MSG_BUFFER_SIZE]; String buff_data; int flash = 0; char buff[MSG_BUFFER_SIZE]; void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Message arrived in topic: "); Serial.println(topic); Serial.print("Message:"); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); }
  • 51. ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 51 Serial.println(); Serial.println("-----------------------"); } void setup() { Serial.begin(115200); Serial2.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.println("Connecting to WiFi.."); } Serial.println("Connected to the WiFi network"); client.setServer(mqttServer, mqttPort); client.setCallback(callback); while (!client.connected()) { Serial.println("Connecting to MQTT..."); if (client.connect("ESP8266Client", mqttUser, mqttPassword )) { Serial.println("connected"); } else { Serial.print("failed with state "); Serial.print(client.state()); delay(2000); } } } void loop() { serialEvent(); delay(1000); } void serialEvent() { if(Serial2.available()>0) { buff_data = Serial2.readString(); delay(100); int str_len = buff_data.length() + 1; // Prepare the character array (the buffer) char char_array[str_len]; char water_array[str_len]; // Copy it over buff_data.toCharArray(char_array, str_len); Serial.print("char arary: "); Serial.println((char*)char_array); for(int n = 0; n<buff_data.length() ; n++) { if(char_array[n]=='-') { flash = n; } } strncpy(water_array,char_array,(flash-1)); Serial.print("water arary: "); Serial.println((char*)water_array); client.publish("data/home1/water", water_array); strncpy(buff,char_array+(flash+1),10); Serial.print("power arary: ");
  • 52. ĐỒ ÁN TỐT NGHIỆP GVHD: ThS. Phan Thanh Hoàng Anh SVTH: Nguyễn Hoàng Quân 52 Serial.println((char*)buff); client.publish("data/home1/power", buff); } delay(10000); }