You are on page 1of 117

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

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


THÀNH PHỐ HỒ CHÍ MINH

CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC SINH VIÊN

ỨNG DỤNG GOOGLE MAP TRONG QUẢN LÝ


ĐIỆN NĂNG LƯỚI ĐIỆN PHÂN PHỐI

MÃ SỐ:SV2018-69

SKC 0 0 6 7 2 6

Tp. Hồ Chí Minh, tháng 06/2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ỨNG DỤNG GOOGLE MAP TRONG QUẢN LÝ


ĐIỆN NĂNG LƯỚI ĐIỆN PHÂN PHỐI

SV2018-69

Thuộc nhóm ngành khoa học: Kỹ Thuật - Ứng Dụng

TP Hồ Chí Minh, 06/2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ỨNG DỤNG GOOGLE MAP TRONG QUẢN LÝ


ĐIỆN NĂNG LƯỚI ĐIỆN PHÂN PHỐI

( Mã Số : SV2018-69 )

Thuộc nhóm ngành khoa học: Kỹ Thuật - Ứng Dụng

SV thực hiện: TRẦN HÙNG CƯỜNG Giới tính: Nam


LÔ MINH THÀNH Giới tính: Nam
Dân tộc: Kinh
Lớp, khoa: 141421D , Khoa Điện- Điện Tử Năm thứ: 43/4
Ngành học: Điện – Điện Tử

Người hướng dẫn: ThS. Lê Trọng Nghĩa

TP.Hồ Chí Minh, 6/2018


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI


1. Thông tin chung:
- Tên đề tài: ỨNG DỤNG GOOGLE MAP TRONG QUẢN LÝ ĐIỆN NĂNG LƯỚI
ĐIỆN PHÂN PHỐI.
- SV thực hiện: TRẦN HÙNG CƯỜNG Mã số SV: 14142038
LÔ MINH THÀNH Mã số SV: 14142282
- Lớp: 141421D Khoa: Điện – Điện Tử Năm thứ: 4 Số năm đào tạo: 4
- Người hướng dẫn: ThS. Lê Trọng Nghĩa
2. MỤC TIÊU ĐỀ TÀI:
- Giới thiệu tổng quan về Google Maps APIs.
- Lập trình Website bằng ngôn ngữ lập trình PHP.
- Viết chương trình cập nhật dữ liệu tự động.
- Đóng cắt hệ thống điện trên giao diện website.
- Báo sự cố ngắn mạch lên webserver.
3.Tính mới và sáng tạo:
- Có thể giám sát các thông số và đóng ngắt phụ tải từ trung tâm điều hành.
- Người dùng điện có thể kiểm soát lượng điện tiêu thụ trên websites.
3. KẾT QUẢ NGHIÊN CỨU:
- Đội đã hoàn thành sản phẩm và đưa vào thử nghiệm, có video demo.
4. ĐÓNG GÓP VỀ MẶT GIÁO DỤC VÀ ĐÀO TẠO, KINH TẾ - XÃ HỘI, AN
NINH, QUỐC PHÒNG VÀ KHẢ NĂNG ÁP DỤNG CỦA ĐỀ TÀI:
- Nếu ứng dụng thực tế sẽ thay đổi cách kiểm soát điện truyền thống của điện lực.
- Giảm được nhân viên ghi điện và kiểm tra đồng hồ.
- Thông báo sự cố và khắc phục kịp thời.
5. CÔNG BỐ KHOA HỌC CỦA SV TỪ KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
- Ứng dụng hệ thống cung cấp điện của Điện Lực.

Ngày 14 tháng 6 năm 2018


SV chịu trách nhiệm
chính thực hiện đề tài.

GVHD : ThS. Lê Trọng Nghĩa 5


Nhận xét của người hướng dẫn về những đóng góp khoa học của SV thực
hiện đề tài:
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
Ngày…tháng…năm…
XÁC NHẬN CỦA TRƯỜNG GIẢNG VIÊN HƯỚNG DẪN

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



...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

TP. Hồ Chí Minh, ngày…..tháng…..năm 2018


Giáo viên hướng dẫn

ii
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN



...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

TP. Hồ Chí Minh, ngày…..tháng…..năm 2018


Giáo viên phản biện

iii
LỜI CẢM ƠN

Nhóm xin chân thành cảm ơn các Thầy Cô trong khoa Điện – Điện tử và các Thầy
Cô trong trường Đại học Sư Phạm Kỹ Thuật TP.HCM, đã giảng dạy cho nhóm những
kiến thức chuyên môn và cơ bản về ngành trong suốt khóa học 2014 – 2018. Từ đó giúp
nhóm định hướng theo sự hiểu biết và khả năng của mình. Để hôm nay nhóm có thể
thực hiện đề tài nghiên cứu khoa học “ỨNG DỤNG GOOGLE MAP TRONG QUẢN
LÝ ĐIỆN NĂNG LƯỚI ĐIỆN PHÂN PHỐI”. Nhà trường và Thầy Cô cũng tạo điều
kiện thuận lợi cho nhóm hoàn tất khóa học.
Nhóm xin chân thành cám ơn thầy Lê Trọng Nghĩa, giáo viên hướng dẫn đề tài
nghiên cứu khoa học của nhóm. Dưới sự hướng dẫn, chỉ bảo tận tình của thầy cô, đặc
biệt là các ý tưởng và góp ý khi nhóm gặp trở ngại, nhóm đã hoàn thành tốt được mục
tiêu đề ra của đề tài. Bên cạnh đó, nhóm cũng xin cám ơn các bạn trong các nhóm làm
đề tài khác, các bạn đã nhiệt tình hỗ trợ và kiến thức cũng như kinh nghiệm của mình.
Mặc dù đã đạt được mục tiêu đề ra nhưng vì thời gian hạn chế, cũng như lượng
kiến thức lớn nên nhóm không thể tránh khỏi những thiếu sót. Vì vậy nhóm rất mong sẽ
nhận được nhiều ý kiến đánh giá, góp ý của Thầy Cô và các bạn sinh viên để nhóm có
thể phát triển và hoàn thiện thêm đề tài này.

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

TP. HCM, ngày 10 tháng 06 năm 2018


Nhóm thực hiện:
Trần Hùng Cường
Lô Minh Thành

iv
MỤC LỤC

NHIỆM VỤ NGHIÊN CỨU KHOA HỌC ..... Error! Bookmark not defined.
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ........................................... 5
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ............................................ iii
LỜI CẢM ƠN…………………………………………................................iv
MỤC LỤC………………………………………….......................................v
DANH MỤC CÁC HÌNH ............................................................................viii
DANH MỤC CÁC BẢNG .............................................................................xi
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................. xii
CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI………………………………………...1
1.1 Đặt Vấn Đề ......................................................................................... 1
1.1.1 Vấn Đề Thứ Nhất: Thu Thập Dữ Liệu Điện Năng Từ Xa Và Gửi Về
Webserver ……………………………………......................................................1
1.1.2 Vấn Đề Thứ Hai: Tra Cứu Lịch Sử Điện Năng Sử Dụng. Giám Sát
Lưới Điện Qua Google Map Và Đóng Cắt Điện Từ Xa……….........................2
1.2 CÔNG TRÌNH ĐÃ LÀM VÀ ƯU NHƯỢC ĐIỂM ........................ 2
1.3 NỘI DUNG ĐỀ TÀI .......................................................................... 4
1.4 MỤC ĐÍCH CỦA ĐỀ TÀI ................................................................ 4
1.5 TẦM QUAN TRỌNG CỦA ĐỀ TÀI ............................................... 5
1.6 PHƯƠNG ÁN THỰC HIỆN ............................................................ 5
1.6.1 Hình Thành Ý Tưởng .......................................................................... 5
1.6.2 Thiết Kế Hệ Thống .............................................................................. 5
1.7 THI CÔNG MÔ HÌNH ..................................................................... 6
1.7.1 Vận Hành Và Kiểm Tra ....................................................................... 6
CHƯƠNG 2 THIẾT KẾ HỆ THỐNG………………………………….......7
2.1 KHÁI QUÁT HỆ THỐNG ............................................................... 7
2.2 CƠ SỞ LÍ THUYẾT ........................................................................ 11
2.2.1 Module Xử Lý Trung Tâm Và Giao Tiếp Wifi.................................11
2.2.2 Module Adc Đo Thông Số Điện Năng Pzem 004t ............................ 13
2.2.3 Module Chuyển Tín Hiệu I2c ............................................................ 16

v
2.2.4 Text Lcd 20x4.................................................................................... 19
2.2.5 Hệ Thống Ats + Ups - Pin Sạc Dự Phòng Cho Mạch Điều Khiển….20
2.2.6 Bộ Phát Wifi Từ Sim 3g .................................................................... 20
2.2.7 Phần Mềm Vẽ Mạch Proteus ............................................................. 22
2.2.8 Hệ Thống Đóng Ngắt Và Báo Trạng Thái Lưới Điện Contactor ...... 23
2.2.9 Khái Quát Về Web Sever .................................................................. 24
2.2.10 Khái Quát Về Database ..................................................................... 29
2.2.11 Khái Quát Về Hosting ....................................................................... 31
2.2.12 Khái Quát Về Google Map ................................................................ 34
2.2.13 Phần Mềm Tạo Server Localhost ...................................................... 36
2.2.14 Ngôn Ngữ Và Công Cụ Lập Trình .................................................... 37
2.3 SƠ ĐỒ THIẾT KẾ PHẦN CỨNG ................................................. 45
2.3.1 Sơ Đồ Đấu Dây Lấy Tín Hiệu Điện Năng ........................................ 45
2.3.2 Mạch Tổng Hợp Các Module ............................................................ 46
2.4 THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN TRÊN WEBSITES ...... 48
2.4.1 Giao Diện Của Nhân Viên Vận Hành ............................................... 49
2.4.2 Giao Diện Của Người Sử Dụng Điện ................................................ 51
CHƯƠNG 3 THI CÔNG MÔ HÌNH………………………………….......54
3.1 QUY TRÌNH THỰC HIỆN ............................................................ 54
3.2 THI CÔNG PHẦN CỨNG ............................................................. 54
3.2.1 Cắt, Hàn Khung ................................................................................. 54
3.2.2 Bố Trí Các Thiết Bị Lên Khung ........................................................ 55
3.2.3 Đấu Dây Thiết Bị Và Nguồn Cung Cấp ............................................ 56
3.3 VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN ...................................... 57
3.3.1 Chương Trình Cho Esp8266.............................................................. 57
3.3.2 Code Thiết Kế Website ..................................................................... 61
3.3.3 Code Xử Lý Database Và Giao Tiếp Webserver .............................. 66
CHƯƠNG 4 VẬN HÀNH VÀ KIỂM TRA………………………………68
4.1 VẬN HÀNH HỆ THỐNG ............................................................... 68
4.2 KIỂM TRA HỆ THỐNG ................................................................ 73
CHƯƠNG 5 KẾT LUẬN................................................................. ……….74
5.1 KẾT QUẢ THỰC HIỆN ĐỀ TÀI .................................................. 74
vi
5.1.1 Các Vấn Đề Đã Nghiên Cứu Trong Đề Tài ...................................... 74
5.1.2 Các Vấn Đề Đã Thực Hiện ................................................................ 74
5.1.3 Ưu Điểm Của Đề Tài ......................................................................... 75
5.2 HƯỚNG PHÁT TRIỂN VÀ HOÀN THIỆN ĐỀ TÀI ................. 75
5.2.1 Hoàn Thiện Đề Tài ............................................................................ 75
5.2.2 Hướng Phát Triển .............................................................................. 75
5.3 KẾT LUẬN ...................................................................................... 75
TÀI LIỆU THAM KHẢO ............................................................................ 77
PHỤ LỤC A ................................................................................................... 78
MÃ NGUỒN CHƯƠNG TRÌNH................................................................. 78
1. MÃ NGUỒN CHƯƠNG TRÌNH CHO PZEM 004T ................... 78
2. MÃ NGUỒN CHƯƠNG TRÌNH CHO ESP8266......................... 80
3. CODE TẠO WEBSITES ................................................................ 86

vii
DANH MỤC CÁC HÌNH

Hình 1.2 Hệ Thống Thu Thập Dữ Liệu Cho Khách Hàng .............................................. 2
Hình 1.3 Đề Tài: “ Hệ Thống Thu Thập Dữ Liệu Công Tơ Điện Tử Và Chọn Nhà
Phân Phối Điện Cho Khách Hàng Trong Thị Trường Bán Lẻ Điện Cạnh Tranh ”. ....... 3
Hình 1.4 Phương Thức Tiến Hành .................................................................................. 5
Hình 2.1 Sơ Đồ Tổng Quát Hệ Thống............................................................................. 7
Hình 2.2 Lưu Đồ Giải Thuật Của Esp8266 ..................................................................... 9
Hình 2.3 Lưu Đồ Giải Thuật Của Webserver Khi User, Admin Đăng Nhập ............... 10
Hình 2.4 Esp8266 .......................................................................................................... 11
Hình 2.5 Sơ Đồ Chân Esp8266 ..................................................................................... 12
Hình 2.6 Pzem Và Sơ Đồ Nối Dây Ct ........................................................................... 13
Hình 2.7 Kết Nối Pzem Với Esp ................................................................................... 14
Hình 2.7 Kết Nối Pzem Với Esp ................................................................................... 16
Hình 2.8 Module Chuyển Tín Hiệu I2c ......................................................................... 16
Hình 2.9 Sơ Đồ Đấu Dây I2c ........................................................................................ 18
Hình 2.10 Lcd Kết Nối I2c ............................................................................................ 19
Hình 2.11 Mạch Điều Khiển ......................................................................................... 20
Hình 2.12 Pin Li-On ...................................................................................................... 20
Hình 2.13 Bộ Phát Wifi ................................................................................................. 21
Hình 2.14 Phần Mềm Proteus ........................................................................................ 23
Hình 2.15 Contactor ...................................................................................................... 23
Hình 2.16 Tiếp Điểm Phụ Cb ........................................................................................ 24
Hình 2.17 Vị Trí Của Web Server Trong Mạng Internet .............................................. 24
Hình 2.18 Giao Thức Http ............................................................................................. 26
Hình 2.19 Phản Hồi Từ Web Server.............................................................................. 27
Hình 2.20 Cơ Sở Dữ Liệu .............................................................................................. 29
Hình 2.21 Tổng Thể Của Phpmyadmin ......................................................................... 31
Hình 2.22 Bảng Giá Trị Được Lưu Trên Phpmyadmin ................................................ 31
Hình 2.23 Wed Hosting ................................................................................................. 31
Hình 2.24 Của Một Cpanel ............................................................................................ 34

viii
Hình 2.25 Code Mẫu Để Nhúng Map Vào Web ........................................................... 36
Hình 2.26 Giao Diện Phần Mềm Xampp ...................................................................... 37
Hình 2.27 Giao Diện Phpmyadmin Của Xampp ........................................................... 37
Hình 2.28 Void Loop ..................................................................................................... 38
Hình 2.29 Lệnh Cơ Bản ................................................................................................. 39
Hình 2.30 Cách Thức Hoạt Động Của Một File Php .................................................... 44
Hình 2.31 Code Của PHP .............................................................................................. 45
Hình 2.32 Sơ Đồ Đấu Dây Lấy Tín Hiệu Điện Năng ................................................... 45
Hình 2.33 Sơ Đồ Nguyên Lý Mạch Điều Khiển ........................................................... 46
Hình 2.34 Sơ Đồ Mạch In Mạch Điều Khiển ................................................................ 47
Hình 2.35 Tổng Hợp Các Module ................................................................................. 47
Hình 2.36 Giao Diện Đăng Nhập Hệ Thống ................................................................. 48
Hình 2.37 Giao Diện Admin Tra Cứu Dữ Liệu ............................................................. 49
Hình 2.38 Hiển Thị Địa Chỉ Và Vị Trí Hộ Trên Map ................................................... 50
Hình 2.39 Thông Số Điện Của Hộ Sử Dụng ................................................................. 50
Hình 2.40 Bảng Số Liệu Thông Số Điện Của Hộ Sử Dụng .......................................... 51
Hình 2.41 Người Dùng Tra Cứu Dữ Liệu ..................................................................... 51
Hình 2.42 Biểu Đồ Sử Dụng Điện Của Hộ Gia Đình ................................................... 52
Hình 2.43 Thông Số Sử Dụng Điện Của Hộ Gia Đình ................................................. 53
Hình 3.1 Thi Công Mô Hình ......................................................................................... 54
Hình 3.2 Khung Mô Hình .............................................................................................. 55
Hình 3.3 Bố Trí Các Thiết Bị ........................................................................................ 55
Hình 3.4 Mạch Điều Khiển ........................................................................................... 56
Hình 3.5 Đấu Dây Thiết Bị ............................................................................................ 57
Hình 3.6 Nguồn Tổ Ong 12v ......................................................................................... 57
Hình 3.7: Lưu Đồ Mạch Điều Khiển ............................................................................. 58
Hình 3.8: Mạng Lưới Php Trang Chủ ........................................................................... 61
Hình 3.9: Giám Sát Hệ Thống Của Admin ................................................................... 62
Hình 3.10: Giám Sát Hệ Thống Của User ..................................................................... 63
Hình 4.1 Đăng Nhập Web ............................................................................................. 68
Hình 4.2 Cấp Nguồn Cho Mô Hình............................................................................... 69
Hình 4.3 Mở Bộ Phát Wifi Bằng Sim 3g ...................................................................... 69
ix
Hình 4.4 Hệ Thống Đã Khởi Động Xong ..................................................................... 70
Hình 4.5 Biểu Đồ Giám Sát Realtime ........................................................................... 70
Hình 4.6 Web Cập Nhật Dữ Liệu .................................................................................. 71
Hình 4.7 Đóng Ngắt Trên Web ..................................................................................... 71
Hình 4.8 Điều Khiên Contactor Đóng Ngắt Từ Web .................................................... 72
Hình 4.9 Khi Có Tải ...................................................................................................... 72
Hình 4.10 Hệ Thống Sử Dụng Tải ................................................................................ 73

x
DANH MỤC CÁC BẢNG

Bảng 1 Một số phương thức cơ bản HTTP ...................................................................26


Bảng 2 Mã trạng thái trả về từ web server ....................................................................28
Bảng 3 Tóm tắt hàm và biến thường sử dụng trong Arduino........................................39
Bảng 4 Tag thông dụng của HTML ..............................................................................43

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

IC - Integrated Circuit: Vi mạch tích hợp.


RF - Radio Frequence: Tần số vô tuyến, tần số radio.
SQL - Structured Query Language: Ngôn ngữ truy vấn mang tính cấu trúc.
CB - Circuit Breaker: Khí cụ điện dùng đóng ngắt mạch điện (1 pha, 3 pha).
IOT - Internet of things: Mạng lưới thiết bị kết nối Internet.
MCU - Micro Controller Unit: Vi điều khiển.
RTOS - Real-time operating system: Hệ điều hành thời gian thực.
UART - Universal Asynchronous Receiver/Transmitter: Là kiểu truyền thông tin nối
tiếp không đồng bộ.
I2C - Inter-Intergrated Circuit: Là đường Bus giao tiếp giữa các IC với nhau.
LCD - Liquid crystal display: Màn hình tinh thể lỏng.
ATS - Automatic Tranfer Swich: Là thiết bị chuyển mạch tự động.
UPS - Uninterruptible Power Supply: Bộ lưu trữ điện dự phòng.
HTML - Hyper Text Markup Language: Ngôn ngữ đánh dấu siêu văn bản.
IP - Internet Protocol: Giao thức Internet.
HTTP - Hyper Text Transfer Protocol: Giao thức truyền tải siêu văn bản
PHP - Hypertext Preprocessor: Ngôn ngữ lập trình kịch bản được chạy ở phía server
nhằm sinh ra mã html trên client.
FTP - File Transfer Protocol: Một giao thức truyền tệp tin trên mạng Internet.
API - Application Programming Interface: Giao diện lập trình ứng dụng.

xii
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Chương 1
GIỚI THIỆU ĐỀ TÀI

Hình 1.1 Sơ đồ hệ thống phân phối điện trong tương lai


Đây là mô hình hệ thống phân phối điện trong tương lai, ở đó các hộ gia đình có
thể sử dụng điện năng từ lưới điện. Đề này sẽ giải quyết các vấn đề về đo thông số, thu
thập dữ liệu từ xa, đưa lên website, giám sát lưới điện qua google map và đóng cắt điện
từ xa.

1.1 ĐẶT VẤN ĐỀ

Ngày nay, xã hội phát triển không ngừng, thì những yêu cầu xã hội ngày càng tăng
cao. Những yêu cầu của xã hội đã đặt ra nhiều vấn đề cần giải quyết. Một số vấn đề đang
được quan tâm trong đề tài này gồm có:

1.1.1 Vấn đề thứ nhất: Thu thập dữ liệu điện năng từ xa và gửi về webserver

Thông thường để thu thập dữ liệu từ các công tơ điện lực phải cử nhân viên đến tận
nơi để ghi chỉ số công tơ. Điều này làm cho việc thu thập dữ liệu không được linh hoạt,
phụ thuộc nhiều vào nhân viên ghi số điện, và có nhiều công đoạn phải giải quyết. Chính
vì thế, giải pháp thu thập dữ liệu từ xa là một giải pháp tối ưu và đem lại lợi ích lớn.
Vi điều khiển được sử dụng để điều khiển giám sát và thu thập dữ liệu từ các thiết
bị có rất nhiều ưu điểm, mà các phương pháp truyền thống không có được. Như việc
điều chỉnh thông tin một cách nhanh chóng bằng cách thay đổi chương trình. Ngày nay,

1
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

việc giám sát và thu thập dữ liệu một thiết bị từ xa rất dễ dàng và nhanh chóng. Có nhiều
phương pháp để đo và truyền dữ liệu điện năng như là đo thông số điện năng thông qua
Module Pzem 004T và sử dụng Module wifi ESP 8266 đưa dữ liệu lên internet, truyền
qua thiết bị phát wifi từ sim 3g, 4g AB14.

Hình 1.2 Hệ thống thu thập dữ liệu cho khách hàng

1.1.2 Vấn đề thứ hai: Tra cứu lịch sử điện năng sử dụng, giám sát lưới điện qua
google map và đóng cắt điện từ xa

Bên cạnh đó, cần xây dựng Website để tiếp nhận dữ liệu, thuận tiện giám sát và điều
khiển đóng ngắt từ xa. Khách hàng cũng có thể tra cứu điện năng mà gia đình mình đã
sử dụng thông qua Website đó theo ngày, tháng, giờ, phút, giây. Còn quản trị viên (nhân
viên điện lực) sẽ có thể truy cập theo dõi lịch sử sử dụng điện tại căn hộ, cũng như đóng
cắt điện căn hộ từ website nếu họ chưa thanh toán tiền điện đúng thời hạn. Ngoài ra, còn
có google báo trạng thái sự cố của CB tại căn hộ.

1.2 CÔNG TRÌNH ĐÃ LÀM VÀ ƯU NHƯỢC ĐIỂM

Đề tài: “ Hệ thống thu thập dữ liệu công tơ điện tử và chọn nhà phân phối điện
cho khách hàng trong thị trường bán lẻ điện cạnh tranh ”.
GVHD: Ths. Lê Trọng Nghĩa
SVTH: Lê Hiểu Ý 12142313
Phạm Huỳnh Trọng Nhân 12142174

2
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 1.3 Đề tài: “ Hệ thống thu thập dữ liệu công tơ điện tử và chọn nhà phân phối
điện cho khách hàng trong thị trường bán lẻ điện cạnh tranh ”.
Mục tiêu:
Tất cả dữ liệu từ khách hàng được thu thập một cách dễ dàng và nhanh chóng, đồng
thời khách hàng có khả năng lựa chọn nhà phân phối nào có giá chào bán thấp hơn và
sử dụng điện năng với mức giá tiết kiệm và minh bạch nhất.
Khi kết nối các công tơ thành hệ thống mạng, hệ thống có thể thu thập dữ liệu từ xa
qua sóng RF kết hợp với đường truyền Internet về trung tâm. Điều này làm tăng tính
chính xác và hiệu quả trong việc đọc chỉ số công tơ hàng tháng.
Hệ thống còn có thể lựa chọn nhà phân phối điện tại công tơ điện tử và thu thập dữ
liệu về số lượng nhà phân phối được đã được đăng ký từ khách hàng. Từ đó điều khiển
nguồn cung cấp điện (nhà máy điện). Người dùng có thể biết giá chào và chọn nhà phân
phối điện có mức giá chào bán thấp nhất để sử dụng.
Ngoài ra việc giám sát, thu thập dữ liệu công tơ và chọn lựa nhà phân phối điện tại
những nơi xa xôi cũng là nhu cầu cấp thiết hiện nay, cũng như trong tương lai.
 Ưu điểm:
- Có thể quản lý và thu thập dữ liệu công tơ điện tử từ xa.
- Điều khiển tổ máy phát dựa vào dữ liệu nhận về.

3
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

- Mạch hoạt động ổn định trong thời gian dài.


- Giao diện hiển thị đơn giản.
- Điều khiển dễ dàng.
 Nhược điểm:
- Chưa đóng cắt từ xa.
- Chưa xây dựng được giao diện Web để quản lí dữ liệu cũng như cho phép
khách hàng tra cứu thông tin.
- Chưa đưa được dữ liệu công tơ điện tử lên internet cũng như truyền được
tín hiệu điều khiển máy phát từ internet.
- Vì dùng sóng RF thay vì truyền dữ liệu qua Internet nên khoảng cách còn
hạn chế.

Từ những ưu nhược điểm của đề tài sinh viên khóa trước đã thực hiện, nhóm em
đã lên ý tưởng thực hiện đề tài “Ứng Dụng Google Map Trong Quản Lý Điện Năng
Lưới Điện Phân Phối”.

1.3 NỘI DUNG ĐỀ TÀI

Trong khoảng thời gian thực hiện đề tài, nhóm đã thảo luận và thực hiện các nội
dung của đề tài như sau:
- Tìm hiểu phương pháp đo điện năng bằng Pzem 004T thay thế Công tơ điện.
- Tìm hiểu cách xây dựng một website.
- Tìm hiểu phương pháp đưa dữ liệu đo được lên cơ sở dữ liệu
- Tìm hiểu cách điều khiển đóng ngắt từ xa.
- Thi công mạch đo dữ liệu, truyền tín hiệu qua wifi, điều khiển đóng ngắt từ xa
- Vận hành và kiểm tra tính ổn định của mô hình.

1.4 MỤC ĐÍCH CỦA ĐỀ TÀI

- Quản lí tốt hơn tiêu thụ điện từ các hộ gia đình, giảm thiểu công sức trong việc
giám sát và thu tiền điện.
- Đóng cắt điện từ xa bằng website
- Theo dõi được trạng thái sự cố tại căn hộ trên google map để kịp thời sửa chữa.
- Áp dụng được những kiến thức đã được học để thực hiện một đề tài, từ đó học
hỏi được nhiều kinh nghiệm và kiến thức mới;

4
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

1.5 TẦM QUAN TRỌNG CỦA ĐỀ TÀI

Như đã nêu ở trên, với sự phát triển của công nghệ ngày càng mạnh mẽ và nhiệm
vụ của công nghệ là tạo ra nhiều sản phẩm tiện ích hơn cho con người. Với đề tài “Ứng
Dụng Google Map Trong Quản Lý Điện Năng Lưới Điện Phân Phối”, tất cả dữ liệu
từ khách hàng được thu thập một cách dễ dàng và nhanh chóng, đồng thời khách hàng
có khả năng theo dõi điện năng mà gia đình mình tiêu thụ và tiền điện.
Khi sử dụng module wifi, hệ thống có thể thu thập dữ liệu từ xa kết hợp với đường
truyền Internet về trung tâm. Điều này làm tăng tính chính xác và hiệu quả trong việc
kiểm soát điện năng tiêu thụ hàng tháng.
Quan trọng hơn nữa với hệ thống giám sát này, công ty điện lực sẽ giảm được công
sức trong việc giám sát ghi số điện hàng tháng và thu tiền điện. Hệ thống có thể báo sự
cố để công ty điện lực kiểm tra và sửa chữa. Người quản lí có thể điều khiển đóng ngắt
từ xa để dừng việc cấp điện sử dụng điện năng từ lưới của hộ gia đình (không đóng tiền
điện, sảy ra sự cố,..).

1.6 PHƯƠNG ÁN THỰC HIỆN

Để hoàn thành đề tài nhóm quyết định thực hiện theo 4 giai đoạn:

Hình 1.4 Phương thức tiến hành

1.6.1 Hình thành ý tưởng

- Tìm hiểu các phương thức đo và thu thập dữ liệu từ xa.


- Sử dụng website để theo dõi và điều khiển đóng ngắt khi cần thiết.

1.6.2 Thiết kế hệ thống

 Tìm hiểu hệ thống

- Tìm hiểu đo và thu thập dữ điện năng;


- Tìm hiểu về công tơ điện tử 1 pha VSE11;
- Tìm hiểu về Module đo điện năng PZEM 004T;
- Tìm hiểu về Module truyền và nhận tín hiệu thông qua wifi ESP 8266;

5
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

- Tìm hiểu Module phát wifi bằng sim 3G, 4G AB14;


- Tìm hiểu về ngôn ngữ lập trình và website;
 Thiết kế sơ đồ kết nối phần cứng

- Thiết kế sơ đồ khối kết nối phần cứng tổng thể;


- Thiết lập sơ đồ khối kết nối phần cứng chi tiết;
 Vẽ lưu đồ giải thuật

- Vẽ lưu đồ giải thuật đo dữ liệu bằng PZEM 004T;


- Vẽ lưu đồ giải thuật truyền và nhận dữ liệu bằng giữa Module wifi ESP 8266 và
Website;
 Thiết kế sơ đồ mạch nguyên lý

- Thiết kế mạch tổng hợp các Module mạch đo điện năng, nhận và truyền dữ liệu
thông qua Wifi tới Website;
- Thiết kế mạch đóng ngắt;
- Thiết kế Website để hiển thị và điều khiển;

1.7 THI CÔNG MÔ HÌNH

- Thi công mạch điều khiển;


- Thi công mạch đóng ngắt từ xa
- Lập trình Code cho các IC, Code thiết kế Website xử lí Database và Webserver;
- Đấu nối khung, dây dẫn và các thiết bị khác;

1.7.1 Vận hành và kiểm tra

- Vận hành mô hình.


- Truyền và nhận tín hiệu thông qua Wifi.
- Website liên tục cập nhật dữ liệu, có thể điều khiển đóng ngắt từ Website.
- Kiểm tra lỗi và tính toán ổn định của mô hình trong quá trình vận hành.

6
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Chương 2
THIẾT KẾ HỆ THỐNG

2.1 KHÁI QUÁT HỆ THỐNG

Hình 2.1 Sơ đồ tổng quát hệ thống


Giải thích hệ thống:
- Module PZEM-004T: Đo thông số điện năng tiêu thụ của tải
- Module ESP8266: Nhận dữ liệu truyền về từ PZEM-004T. Sau khi kết nối wifi,
Thiết bị sẽ gửi các dữ liệu về webserver, đồng thời nhận dữ liệu trả về từ
database để thực hiện đóng cắt trạng thái của contactor thông qua module Relay
trung gian. Bên cạnh đó trạng thái đóng cắt của CB cũng được gửi về.
- LCD: Hiển thị thông số điện năng tiêu thụ và trạng thái đóng cắt của CB và
contactor.

7
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.2 Sơ đồ phần cứng hệ thống

8
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.2 Lưu đồ giải thuật của esp8266


Giải thích lưu đồ: Khi cấp điện cho hệ thống, tiến hành cấp điện cho tải của căn hộ.
ESP8266 sẽ kết nối với mạng wifi do modem SIM 3G AB114 phát ra. Thiết bị do Pzem-
004T sẽ đo được dòng điện, điện áp, công suất và truyền về cho arduino ESP8266 theo
giao thức UART. Ta sử dụng một biến n để luân phiên việc gửi và đọc giá trị trả về từ
server.

9
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

 Nếu n là số chẵn: Tiến hành gửi dữ liệu cảm biến đọc đến đường dẫn
http://solar-feeehcmute.tk/write_data
 Nếu n là số lẻ: Tiền học đọc giá trị điều khiển contactor từ đường dẫn
http://solar-feeehcmute.tk/<mã hộ>state.txt rồi lưu giá trị vào biến “trangthai”.
Nếu biến trangthai = 1 thì đóng điện contactor, trangthai = 0 thì cắt điện
contactor.

Hình 2.3 Lưu đồ giải thuật của webserver khi user, admin đăng nhập

Giải thích lưu đồ: Sau khi truy cập vào trang http://solar-feeehcmute.tk/, thệ thống sẽ
bắt đăng nhập.

 Nếu là user (chủ hộ): Chủ hộ sẽ có thể theo dõi lịch sử sử dụng điện bằng
cách nhập ngày tháng sử dụng và bấm tra cứu. Dữ liệu của người dùng gõ
sẽ được gửi đến server, và server phản hồi lại kết quả trả về từ database, sau
đó nội dung sẽ được hiện thị trên website
 Nếu là admin (quản trị viên): Quản trị viên ngoài việc có thể tra cứu thông
tin của chủ hộ mà còn có thể đóng cắt điện chủ hộ cũng như theo dõi bản
đồ, trạng thái có hay không sự cố điện tại nhà của chủ hộ thông qua google
map.

10
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hệ thống gồm 2 phần chính là: Phần cứng và Web Server

Phần cứng: Công tơ điện, mạch điều khiển và thu thập dữ liệu (PZEM 004T, ESP
8266, bộ phát Wifi bằng sim 3g), contactor.

Nhiệu vụ phần cứng: PZEM 004T đo các thông số điện từ lưới. Sau đó, dữ liệu về
thông số dòng và áp sẽ được truyền về Module Wifi ESP 8266 và thông qua bộ phát
wifi bằng sim 3G truyền dữ liệu về Web Server. Khi có dữ liệu điều khiển đóng ngắt
điện từ Web, ESP 8266 sẽ nhận được tín hiệu thông qua wifi và điều khiển đóng ngắt
contactor (thông qua bộ khuếch đại dòng).

Phần Webserver: Giao diện website cho phép người dùng truy cập tra cứu thông số
điện và tiền điện của gia đình mình theo mã hộ. Admin quản lí website có quyền sử
dụng website đóng cắt điện từng hộ gia đình từ xa, giám sát trên Map. Khi sảu ra sự cố
mất điện, hệ thống tại hộ gia đình sẽ thông báo về Web.

2.2 CƠ SỞ LÍ THUYẾT

2.2.1 Module xử lý trung tâm và giao tiếp wifi ESP 8266 [1]

Hình 2.4 ESP8266


Giới thiệu
ESP8266 là một wifi SOC (system on a chip) được phát triển bởi Espressif Systems.
ESP8266 được tích hợp với đầy đủ các tính năng về internet với kích thước rất nhỏ gọn
với mức giá khiêm tốn. Đây là sự lựa chọn tuyệt vời cho những ai triển khai dự án IOT,
thiết bị cầm tay, mobile…
Đặc điểm

11
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

ESP8266 là dòng chip Low-power và là một wifi SOC nên cần rất ít linh kiện ngoài
(tầm 7 thành phần).
Hoạt động trong dải nhiệt -40°C to +125°C.
Mạch tích ở High Level
ESP8266 là một trong những dòng chip tích hợp Wifi trong lĩnh vực công nghiệp.
Với kích thước chỉ 5x5mm, ESP8266 cần rất ít linh kiện hỗ trợ ngoài.
ESP8266EX được tích hợp 32-bit Tensilica MCU, các ngoại vi cơ bản, antenna
switches, RF balun, khuếch đại công suất, khuếch đại nhận nhiễu thấp (low noise), bộ
lọc và các modules quản lý nguồn.
32-bit Tensilica MCU
ESP8266EX tích hợp vi xửa lý Tensilica L106 32-bit (MCU) là dòng chip low-
power, 16-bit RSIC, tốc độ clock cao nhất là 160 MHz. Nếu hệ thống hoạt động với
Real Time Operation System (RTOS) và Wi-Fi stack thì có khoảng 80% khả năng xử
lý cho ứng dụng người dùng.

Hình 2.5 Sơ đồ chân ESP8266


Mức tiệu thụ năng lượng rất thấp

12
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Với những ứng dụng cho mobile, thiết bị điện tử cẩm tay và Internet of Things (IoT),
ESP8266 hoạt động với mức tiệu thụ năng lượng rất thấp với nhưng công nghệ độc
quyền. Tính năng tiết kiệm năng lượng với 3 chế độ hoạt động – active mode, sleep
mode và deep sleep mode, vì vậy cho phép hiện thực những thiết bị với thời lượng Pin
rất lớn.
Thiết kế bền vững
Hoạt động với dãi nhiệt khá rộng -40°C to +125°C (trong công nghiệp), ESP8266
có thể hoạt động tốt trong môi trường công nghiệp. Với sự tích hợp cao, dòng chip này
hoạt động với rất ít linh kiện ngoài làm tăng độ tin cậy, chặt chẽ và ổn định cao.
Module ESP8266
Là mạch được thiết kế với các components khác (flash memory, antenna, LEDs…).
Dựa trên kích thước và số lượng chân ra, có nhiều phiên bản cho Module này: ESP-01,
ESP-02, ESP-03… Phổ biến nhất là ESP-12.

2.2.2 Module ADC đo thông số điện năng PZEM 004T [2]

Hình 2.6 PZEM và sơ đồ nối dây CT


Module đo thông số điện PZEM-004 là module dùng để đo các thông số của điện

13
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

xoay chiều như điện áp U, dòng điện I, công suấ P của 1 hay nhiều thiết bị tiêu thụ điện.
PZEM-004 có thể đo được điện áp từ 80 – 260 VAC,
Dòng điện từ 0 – 100A.
PZEM-004 có chức năng lưu trữ / xóa lượng điện năng tiêu thụ của tải.
Lưu tối đa được 99999wh.
Ngoài ra PZEM-004 có hỗ trợ chuẩn giao tiếp TTL ( UART) để các người dùng có
thể sử dụng các vi điều khiển như Arduino, Arm, PIC … giao tiếp để lấy được thông số
mà PZEM-004 đo được.
Ứng dụng: Giám sát thông số điện xoay chiều ở trạm điện, động cơ, công tơ điện
tử…
Thông số kỹ thuật:
Điện áp đo: 80 ~ 260VAC.
Tần số dòng điện đo: 45 -65Hz.
Dòng điện đo: 0 – 100A.
Công Suất đo: 0 – 22 KW.
Chuẩn giao tiếp: TTL.

Hình 2.7 Kết nối PZEM với ESP


Hướng dẫn giao tiếp với Module Đo thông số điện xoay chiều PZEM-004
1. Chuẩn giao tiếp
- PZEM-004 sử dụng chuẩn giao tiếp truyền thông nối tiếp.
- Tốc độ: 9600, 8N, 1.

14
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

2. Các lệnh giao tiếp


Cấu trúc lệnh
Header Data Checksum
1 byte 5 byte 1 byte
+ Lệnh lấy giá trị điện áp
Header Data Checksum
B0 C0 A8 01 01 00 1A
Checksum = B0 + C0 + A8 + 01 + 01 + 00 = 1A (21A).
Phản hồi từ PZEM-004
Header Data Checksum
A0 5 byte 1 byte
Ví dụ: A0 00 E6 02 00 00 88
Checksum = A0 + 00 + E6 + 02 + 00 + 00 = 88 (188)
Giá trị điện áp = 3 byte đầu data. Trong đó 2 byte phần nguyên, 1 byte phần
thập phân.
Trong ví dụ trên: điện áp = 00 E6 02 à 230.2 V ( 00 E6 = 230, 02 = 2).
+ Lệnh lấy giá trị dòng điện
Header Data Checksum
B1 C0 A8 01 01 00 1B
Phản hồi từ PZEM-004
Header Data Checksum
A1 5 byte 1 byte
Ví dụ: A1 00 11 20 00 00 D2
Giá trị dòng điện = 3 byte đầu data. Trong đó 2 byte phần nguyên, 1 byte phần thập
phân. Trong ví dụ trên: dòng điện = 00 11 20 à 17.32 A ( 00 11 = 17, 20 = 32).
+ Lệnh lấy giá trị công suất
Header Data Checksum
B2 C0 A8 01 01 00 1C
Phản hồi từ PZEM-004
Header Data Checksum
A2 5 byte 1 byte
Ví dụ: A2 08 98 00 00 00 42
Giá trị Công suất = 2 byte đầu data.
Trong ví dụ trên : Công suất = 08 98 à 2200W.
+Lệnh lấy giá trị công suất tiêu thụ tích lũy
Header Data Checksum

15
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

B3 C0 A8 01 01 00 1D
Phản hồi từ PZEM-004
Header Data Checksum
A3 5 byte 1 byte
Ví dụ: A3 01 86 9F 00 00 C9
Giá trị dòng điện = 3 byte đầu data.
Trong ví dụ trên: Công suất tích lũy = 01 86 9F à 99999Wh.

Hình 2.3 Kết nối PZEM với ESP

2.2.3 Module chuyển tín hiệu I2C [3]

Hình 2.8 Module chuyển tín hiệu I2C


Đầ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

16
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

giữa các IC với nhau. I2C mặc dù được phát triển bới Philips, nhưng nó đã được 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...
Cấu tạo và nguyên lý hoạt động
I2C sử dụng hai đường truyền tín hiệu:
Một đường xung nhịp đồng hồ (SCL) chỉ do Master phát đi ( thông thường ở 100kHz
và 400kHz. Mức cao nhất là 1 Mhz và 3.4MHz).
Một đường dữ liệu (SDA) theo 2 hướng.
Có rất nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽ không
xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ được nhận ra bởỉ một địa
chỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối. Mỗi thiết bị có
thể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận.
Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hay tớ
(slave).
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) để
phân biệt, nó còn được cấu hình là thiết bị chủ hay tớ.Tại sao lại có sự phân biệt này ?
Đó là vì trên một bus I2C thì quyền điều khiển thuộc về thiết bị chủ. Thiết bị chủ nắm
vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết
bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị tớ trong suốt quá
trình giao tiếp. Thiết bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong
việc giao tiếp.
Về lý thuyết lẫn thực tế I2C sử dụng 7 bit để định địa chỉ, do đó trên một bus có thể
có tới 27 địa chỉ tương ứng với 128 thiết bị có thể kết nối, nhưng chỉ có 112, 16 địa chỉ
còn lại được sử dụng vào mục đích riêng. Bit còn lại quy định việc đọc hay ghi dữ liệu
(1 là write, 0 là read)
Điểm mạnh của I2C chính là hiệu suất và sự đơn giản của nó: một khối điều khiển
trung tâm có thể điều khiển cả một mạng thiết bị mà chỉ cần hai lối ra điều khiển.

17
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Ngoài ra I2C còn có chế độ 10bit địa chỉ tương đương với 1024 địa chỉ, tương tự
như 7 bit, chỉ có 1008 thiết bị có thể kết nối, còn lại 16 địa chỉ sẽ dùng để sử dụng mục
đích riêng.
Module I2C
Để sử dụng các loại LCD có driver là HD44780 (LCD 1602, LCD 2004, ... ), cần
có ít nhất 6 chân của MCU kết nối với các chân RS, EN, D7, D6, D5 và D4 để có thể
giao tiếp với LCD. Nhưng với module chuyển giao tiếp LCD sang I2C, các bạn chỉ cần
2 chân (SDA và SCL) của MCU kết nối với 2 chân (SDA và SCL) của module là đã có
thể hiển thị thông tin lên LCD. Ngoài ra có thể điều chỉnh được độ tương phản bởi biến
trở gắn trên module.
Module MCU
VCC - 5V VCC
GND GND
SDA SDA
SCL SCL

Hình 2.9 Sơ đồ đấu dây I2C

18
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

2.2.4 TEXT LCD 20X4 [4]

Hình 2.10 LCD kết nối I2C


Màn hình text LCD2004 xanh lá sử dụng driver HD44780, có khả năng hiển thị 4
dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và
dễ sử dụng thích hợp cho những người mới học và làm dự án.
Thông số kỹ thuật:
Điện áp hoạt động là 5 V.
Kích thước: 98 x 60 x 13.5 mm
Chữ đen, nền xanh lá
Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử dụng ít
điện năng hơn.
Có thể được điều khiển với 6 dây tín hiệu
Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật, xem thêm HD44780
datasheet để biết thêm chi tiết.

19
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

2.2.5 Hệ thống ATS + UPS - Pin sạc dự phòng cho mạch điều khiển [5]

Hình 2.11 Mạch điều khiển

Hình 2.12 Pin Li-on


Nguyên lý hoạt động của Pin sạc dự phòng
Pin Lithium ion có mức điện áp tiêu chuẩn là 3,7or 3,8 và khi sạc đầy là 4.2V. Khi
sạc cho pin dự phòng điện áp 5v của củ sạc sẽ được hạ xuống phù hợp để sạc cho pin.
Khi dùng pin dự phòng sạc cho mạch điều khiển thì mạch sạc trong pin dự phòng sẽ
khuếch đại điện áp của pin thành 5v để sạc cho mạch khi mất điện.
Vấn đề là dù điện áp của pin trong pin dự phòng sẽ càng giảm khi sạc nhưng điều
đó không quan trọng vì đã có mạch khuếch đại.

2.2.6 Bộ phát wifi từ sim 3G [6]

Bộ phát wifi từ SIM 3G AB14 nguồn USB

20
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Bộ phát wifi 3g hay còn gọi là router wifi là thiết bị phát sóng wifi thông qua sóng
di động. Nó giúp người tiêu dùng truy cập intrernet tại những nơi đường truyền dây
mạng không thể đi qua với tốc độ cao.

Hình 2.13 Bộ phát Wifi


Thông số kỹ thuật:
- Sử dụng được tất cả các loại Sim 3G.
- Hoạt động trên các mạng 3G, 2G HSPA+/UMTS (2000MHz),
GPRS/EDGE/GSM (900,1800MHz).
- Phát sóng xa 25 – 30m.
- Tốc độ download lên đến 21.6Mb upload 5.76mbps.

Một số chức năng cơ bản của thiết bị phát wifi:


- Đơn giản, gọn nhẹ, hợp thời trang.
- Dễ sử dụng, phù hợp với mọi lứa tuổi.
- Sử dụng được sim 3G đa mạng.
- Hỗ trợ thẻ nhớ Micro SD.
- Tốc độ download và up load tương đối ổn định.
- Có modem tích hợp khe sim 3g.

Cách sử dụng thiết bị phát wifi 3G bằng sim 3G.


Đối với bộ phát wifi 3G kèm pin có màn hình hiển thị:
Để sử dụng thiết bị phát wifi 3G bằng sim 3G cho máy tính của mình, khách hàng
vui lòng làm theo các thao tác sau:
- Mở nắp thiết bị ghi lại ký tự (mã) của wifi key đồng thời lắp thẻ sim với
phần tiếp xúc kim loại hướng xuống và góc cắt hướng ra ngoài rồi ấn nhẹ
thẻ sim vào tận cùng.

21
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

- Hệ điều hành sẽ tự động tìm và nhận dạng thiết bị mới và hoàn tất quá trình
cài đặt.
- Khi máy khách kết nối wifi vui lòng tìm tên wifi và địa chỉ IP sau đó nhập
lại mã ký tự wifi key đã lấy ở bên trên.
- Sau khi hoàn tất thủ tục khách hàng nhấn vào connect để truy cập Intrenet.

Đối với thiết bị phát wifi có cấu tạo như chiếc usb thông thường khách hàng làm
theo hướng dẫn:
- Mở nắp thiết bị ghi lại ký tự (mã) của wifi key đồng thời lắp thẻ sim với
phần tiếp xúc kim loại hướng xuống và góc cắt hướng ra ngoài rồi ấn nhẹ
thẻ sim vào tận cùng.
- Cắm usb 3G trực tiếp vào nguồn điện hoặc Cắm usb 3G vào cổng giao diện
usb của máy tính.
- Hệ điều hành sẽ tự động tìm và nhận dạng thiết bị mới và hoàn tất quá trình
cài đặt
- Kết nối vào thiết bị sau đó nhập mã key wifi đã ghi lại ở phía trên và ấn
Connect.
- Khi nào không dùng nữa thì disconnect.
- Để đối mật khẩu Key wifi bạn đăng nhập vào trang: 192.168.0.100 làm
theo hướng dẫn.

2.2.7 Phần mềm vẽ mạch Proteus [7]

Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện tử bao gồm phần
thiết kế mạch và viết chương trình điều khiển cho các họ vi điều khiển như MCS-51,
PIC, AVR,… Proteus là phần mềm mô phỏng mạch điện tử của Lancenter Electronics,
mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho cả các MCU
như PIC, 8051, AVR, Motorola. Phần mềm bao gồm 2 chương trình: ISIS cho phép mô
phỏng mạch và ARES dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại
Vi Điều Khiển khá tốt, nó hỗ trợ các dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11,
MSP430, ARM7/LPC2000 ... các giao tiếp I2C, SPI, CAN, USB, Ethenet.. ngoài ra còn
mô phỏng các mạch số, mạch tương tự một cách hiệu quả. Proteus là bộ công cụ chuyên
về mô phỏng mạch điện tử.

22
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.14 Phần mềm Proteus

2.2.8 Hệ thống đóng ngắt và báo trạng thái lưới điện Contactor [8]

Hình 2.15 Contactor


Contactor là một công tắc điều khiển điện được sử dụng để chuyển đổi một mạch
điện, tương tự như một relay ngoại trừ với mức dòng điện cao hơn. Contactor được điều
khiển bởi một mạch điện trong đó mang năng lượng thấp hơn nhiều so với mạch điện
mà nó đóng cắt.
Contactor có nhiều hình dạng với nhiều công suất và tính năng khác nhau. Không
giống như máy cắt, contactor được thiết kế để không chủ ý cắt một sự cố ngắn mạch.
Contactor có dải hoạt động từ chỗ chỉ có dòng cắt một vài Ampe cho tới hàng ngàn
Ampe và 24 VDC cho tới kilovôn. Kích thước vật lý của contactor dao động từ một thiết

23
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

bị đủ nhỏ để có thể bật tắt với một tay, cho tới các thiết bị lớn có kích thước khoảng một
mét trên một mặt.
Contactor được sử dụng để điều khiển động cơ điện, chiếu sáng, hệ thống sưởi, tụ
điện, máy sấy nhiệt và các phụ tải khác.
Tiếp điểm phụ của CB [9].

Hình 2.16 Tiếp điểm phụ CB


Dùng để báo trạng thái của CB cho hệ thống, có thể kết nối với ngõ vào của vi xử
lý để đọc trạng thái đóng cắt của CB.

2.2.9 Khái quát về Web Sever [10]

Hình 2.17 Vị trí của Web Server trong mạng internet

24
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Web server có thể là phần cứng hoặc phần mềm, hoặc cả hai.
 Ở khía cạnh phần cứng:
Một web server là một máy tính lưu trữ các file thành phần của một website (ví dụ:
các tài liệu HTML, các file ảnh, CSS và các file JavaScript) và có thể phân phát tới thiết
bị của người dùng cuối (end-user). Nó kết nối tới mạng Internet và có thể truy cập vào
thông qua một tên miền bằng một trình duyệt hoặc thiết bị kết nối mạng khác.
 Ở khía cạnh phần mềm:
Một web server bao gồm một số phần mềm điều khiển cách người sử dụng web truy
cập tới các file được lưu trữ trên một HTTP server (máy chủ HTTP). Một HTTP
server là một phần mềm hiểu được các URL (các địa chỉ web) và HTTP (giao thức trình
duyệt của bạn sử dụng để xem các trang web).
Cách thức vận hành
Bất cứ khi nào một trình duyệt cần một file được lưu trữ trên một web server, trình
duyệt sẽ request (yêu cầu) file đó thông qua giao thức HTTP. Khi một request tới
đúng web server (phần cứng), HTTP server (phần mềm) gửi tài liệu được yêu cầu trở
lại, cũng thông qua giao thức HTTP.
Với cách thức vận hành như thế sẽ có 2 loại Website:
 Website tĩnh (static web): Là một website không giao tiếp với máy chủ web để
gửi nhận dữ liệu mà chỉ có các dữ liệu được khai báo sẵn bằng HTML và trình
duyệt đọc.
 Website động (dynamic web): Là một website sẽ giao tiếp với một máy chủ để
gửi nhận dữ liệu, các dữ liệu đó sẽ gửi ra ngoài cho người dùng bằng văn bản
HTML và trình duyệt sẽ hiển thị nó. Để một website có thể giao tiếp với máy chủ
web thì sẽ dùng một số ngôn ngữ lập trình dạng server-side như PHP, ASP.NET,
Ruby,... để thực hiện.
Giao thức HTTP [11]

25
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.18 Giao thức HTTP


Định nghĩa:
HTTP (Tiếng Anh: Hyper Text Transfer Protocol - giao thức truyền tải siêu văn
bản) là một trong năm giao thức chuẩn của mạng Internet, được dùng để liên hệ thông
tin giữa máy cung cấp dịch vụ (Web server) và máy sử dụng dịch vụ (Web client) trong
mô hình Client/Server dùng cho World Wide Web (WWW), HTTP là một giao thức ứng
dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet).
Trên một web server, HTTP server chịu trách nhiệm xử lý và trả lời các request đến.
Khi nhận một request, một HTTP server sẽ kiểm tra xem URL được yêu cầu có khớp
với một file hiện có không. Nếu có, web server gửi nội dung file trả lại trình duyệt. Nếu
không thể xử lý, web server trả lại một thông điệp lỗi cho trình duyệt, phổ biến nhất là
"404 Not Found".
Yêu cầu HTTP (HTTP Request)
HTTP Request Method chỉ phương thức để được thực hiện trên nguồn được nhận
diện bởi Request-URI đã cung cấp. Dưới đây là một số phương thức cơ bản.
Bảng 1 Một số phương thức cơ bản HTTP
Phương thức Chức năng
Được sử dụng để lấy lại thông tin từ Server đã cung cấp bởi sử
GET dụng một URI đã cung cấp. Các yêu cầu sử dụng GET chỉ nhận
dữ liệu và không có ảnh hưởng gì tới dữ liệu.
Một yêu cầu POST được sử dụng để gửi dữ liệu tới Server, ví
POST dụ, thông tin khách hàng, file tải lên, …, bởi sử dụng các mẫu
HTML.
Thay đổi tất cả các đại diện hiện tại của nguồn mục tiêu với nội
PUT
dung được tải lên.
DELETE Gỡ bỏ tất cả các đại diện hiện tại của nguồn mục tiêu bởi URI.
Thiết lập một tunnel tới Server được xác định bởi URI đã cung
CONNECT
cấp.
Trình bày một vòng lặp kiểm tra thông báo song song với path
TRACE
tới nguồn mục tiêu.
OPTIONS Miêu tả các chức năng giao tiếp cho nguồn mục tiêu.

26
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Dưới đây là ví dụ về HTTP Resquest


Từ browser, một địa chỉ có dạng như:

Nhưng khi giao tiếp với server, địa chỉ trên sẽ được hiểu là:

Phản hồi HTTP (HTTP Response) [12]


Khi nhận và phiên dịch một HTTP Request, Server sẽ gửi tín hiệu phản hồi là một
HTTP Response bao gồm các thành phần sau:
- Một dòng trạng thái (Status-Line).
- Không hoặc nhiều hơn các trường Header (General|Response|Entity) được
theo sau CRLF.
- Một dòng trống chỉ dòng kết thúc của các trường Header.
- Một phần thân thông báo tùy ý.

Đây là phản hồi từ Web Server khi đã gửi resquest trước đó:

Hình 2.19 Phản hồi từ web server


Mã trạng thái của server phản hồi lại mỗi khi nhận được http resquest. Các mã
trạng thái này được phân loại như sau

27
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Bảng 2 Mã trạng thái trả về từ web server


1xx: Thông tin
Máy chủ trả về mã này để chỉ ra rằng nó đã nhận được một phần đầu
100: Continue
tiên của một yêu cầu và được chờ đợi cho phần còn lại.
101: Switching Bên yêu cầu đã yêu cầu các máy chủ để chuyển đổi và máy chủ được
protocols thừa nhận rằng nó sẽ làm như vậy.
2xx: Thành công
200:
Các máy chủ xử lý yêu cầu thành công.
Successful
Yêu cầu đã thành công và các máy chủ tạo ra một nguồn tài nguyên
201: Created
mới.
202: Accepted Máy chủ đã chấp nhận yêu cầu, nhưng vẫn chưa xử lý nó
204: No Các máy chủ xử lý yêu cầu thành công, nhưng không trả lại bất kỳ
Content nội dung nào.
Các máy chủ proccessed yêu cầu thành công, nhưng không trả lại
205: Reset
bất kỳ nội dung. Không giống như một phản ứng 204, phản ứng này
content
đòi hỏi người yêu cầu thiết lập lại
206:Partial
Các máy chủ xử lý thành công một phần của một yêu cầu.
content
3xx: Sự điều hướng lại
301: Moved
Các trang web yêu cầu đã bị di chuyển vĩnh viễn tới URL mới.
Permanently
302: Moved
Trang được yêu cầu đã di chuyển tạm thời tới một URL mới.
temporarily
4xx: Lỗi Client
400: Bad
Các máy chủ không hiểu được yêu cầu.
request
Máy chủ từ chối yêu cầu (thông thường nếu đăng nhập không thành
403: Forbidden
công máy chủ sẽ trả về mã lỗi này).

28
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Máy chủ không thể tìm thấy trang yêu cầu. Ví dụ, máy chủ thường
404: Not
trả về mã này nếu có 1 yêu cầu tới một trang không tồn tại trên máy
Found
chủ.
5xx: Lỗi Server
500: Internal
Các máy chủ gặp lỗi và không thể thực hiện yêu cầu.
server error
502: Bad Các máy chủ đã hoạt động như một gateway hoặc proxy và nhận
gateway được một phản ứng không hợp lệ từ máy chủ ngược.
503: Service Máy chủ hiện không có sẵn (vì nó bị quá tải hoặc xuống để bảo trì).
unavailable Nói chung, đây là một trạng thái tạm thời.
504: Gateway Các máy chủ đã hoạt động như một gateway hoặc proxy và đã không
timeout nhận được yêu cầu kịp thời.

2.2.10 Khái quát về Database

Hình 2.20 Cơ sở dữ liệu


Định nghĩa
Cơ sở dữ liệu (viết tắt CSDL; tiếng Anh là Database) là một tập hợp thông tin
có cấu trúc. Tuy nhiên, thuật ngữ này thường dùng trong công nghệ thông tin và nó
thường được hiểu rõ hơn dưới dạng một tập hợp liên kết các dữ liệu, thường đủ lớn để
lưu trên một thiết bị lưu trữ như đĩa hay băng. Dữ liệu này được duy trì dưới dạng một
tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ
liệu.

29
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Cơ sở dữ liệu hiểu một cách cơ bản là một hệ thống lưu trữ các thông tin một
cách có cấu trúc giúp bạn tìm kiếm thông tin hay hiển thị thông tin một cách thông minh
giúp người dung khai thác sức mạnh của thông tin hay bằng cách sử dụng các ứng dụng
công nghệ trong cơ sở dữ liệu được lưu trữ tạo ra. Cơ sở dữ liệu gồm các bảng (table),
cột (row) là những thuộc tính phần tử trong một cơ sở dữ liệu tùy theo hệ quản trị cơ sở
dữ liệu khác nhau mà kiểu dữ liệu sẽ có giá trị khác nhau
Phân loại cơ sở dữ liệu
Phân loại cơ sở dữ liệu theo mục đích:
- Cơ sở dữ liệu dạng file: dữ liệu được lưu trữ dưới dạng các file có thể là
text, ascii, *.dbf. Tiêu biểu cho cơ sở dữ liệu dạng file là*.mdb Foxpro
- Cơ sở dữ liệu quan hệ: dữ liệu được lưu trữ trong các bảng dữ liệu gọi là các
thực thể, giữa các thực thể này có mối liên hệ với nhau gọi là các quan hệ,
mỗi quan hệ có các thuộc tính, trong đó có một thuộc tính là khóa chính.
Các hệ quản trị hỗ trợ cơ sở dữ liệu quan hệ như: MS SQL server, Oracle,
MySQL...
- Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ trong các bảng dữ
liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như
lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đối tượng. Mỗi bảng
xem như một lớp dữ liệu, một dòng dữ liệu trong bảng là một đối tượng.
Các hệ quản trị có hỗ trợ cơ sở dữ liệu hướng đối tượng như: MS SQL
server, Oracle, Postgres
- Cơ sở dữ liệu bán cấu trúc: dữ liệu được lưu dưới dạng XML, với định dạng
này thông tin mô tả về đối tượng thể hiện trong các tag. Đây là cơ sở dữ liệu
có nhiều ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên cơ
sở dữ liệu bán cấu trúc là hướng mới trong nghiên cứu và ứng dụng.

Phần mềm quản lý cơ sở dữ liệu PhpMyAdmin [13]


PhpMyAdmin là phần mềm mã nguồn mở được viết bằng ngôn ngữ PHP nhằm
giúp người dùng (thường là các nhà quản trị cơ sở dữ liệu hay database administrator)
có thể quản lý cơ sở dữ liệu MySQL thông qua giao diện web thay vì sử dụng giao diện
cửa sổ dòng lệnh (command line interface). Sử dụng phpMyadmin người dùng có thể
thực hiện được nhiều tác vụ khác nhau như khi sử dụng cửa sổ dòng lệnh. Các tác vụ
này bao gồm việc tạo, cập nhật và xoá các cơ sở dữ liệu, các bảng, các trường, dữ liệu
trên bảng, phân quyền và quản lý người dùng...

30
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.21 Hình ảnh tổng thể của phpMyAdmin

Hình 2.22 Bảng giá trị được lưu trên phpMyAdmin

2.2.11 Khái quát về Hosting [14]

Hình 2.23 Wed Hosting


Hosting

31
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Web Hosting là không gian trên máy chủ có cài đặt các dịch vụ Internet như world
wide web (www), truyền file(FTP), Mail,… bạn có thể chứa nội dung trang web hay dữ
liệu trên không gian đó. Web Hosting đồng thời cũng là nơi diễn ra tất cả các hoạt động
giao dịch, trao đổi thông tin giữa website với người sử dụng Internet và hỗ trợ các phần
mềm Internet hoạt động. Doanh nghiệp có thể chọn thuê web hosting của nhà cung cấp
dịch vụ (ISP- Internet Service Provider - Nhà cung cấp dịch vụ Internet) có dung lượng
phù hợp với dung lượng website. Với bất kỳ hình thức nào (tự trang bị máy chủ hay thuê
máy chủ) thì doanh nghiệp cũng nên có các hiểu biết cần thiết về Web Hosting và máy
chủ Web.
Lý do bạn phải thuê Web Hosting để chứa nội dung trang web, dịch vụ mail, ftp, vì
những máy tính đó luôn có một địa chỉ cố định khi kết nối vào Internet (đó là địa chỉ
IP), còn như nếu bạn truy cập vào internet như thông thường hiện nay thông qua các IPS
thì địa chỉ IP trên máy bạn luôn bị thay đổi, do đó dữ liệu trên máy của bạn không thể
truy cập được từ những máy khác trên Internet.
 Các loại hosting
- Shared hosting: Chia sẻ host.
- Collocated hosting: Thuê chỗ đặt máy chủ.
- Dedicated Server: Máy chủ dùng riêng.
- Virtual Private Server: VPS là máy chủ riêng ảo.
 Các thông số cần biết trong hosting
- Hệ điều hành (OS) của máy chủ: hiện tại có hai loại OS thông dụng là Linux và
Windows.
 Hosting Linux: là Hosting chuyên hỗ trợ ngôn ngữ lập trình PHP, Joomla,
các mã nguồn mở.
 Hosting Windows: Hosting Windows chuyên hỗ trợ về ngôn ngữ lập trình
ASP, ASP.Net, HTML …. vì các Ngôn ngữ này, chạy chuyên trên Hosting
Windows, do vậy khi load Web sẽ hỗ trợ tốt hơn, Hosting Windows có hỗ
trợ ngôn ngữ PHP, nhưng chủ yếu, là hỗ trợ chính là ASP,…
- Dung lượng: Bộ nhớ lưu trữ cho phép bạn tải file lên host.
- Băng thông: Bandwidth (băng thông) là thông số chỉ dung lượng thông tin tối đa
mà website được lưu chuyển qua lại mỗi tháng.
- PHP: Phiên bản php hỗ trợ.

32
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

- Max file: Số lượng file tối đa có thể upload lên host.


- RAM: Bộ nhớ đệm.
- Addon domain: Số lượng domain bạn có thể trỏ tới hosting.
- Subdomain: Số lượng tên miền phụ có thể tạo ra cho mỗi tên miền.
- Park domain: Số lượng tên miền có thể parking.
- Email accounts: Số lượng email đi kèm với hosting.
- FTP accounts: Số lượng FTP account bạn có thể tạo và dùng nó upload dữ liệu
lên hosting.
 Những điều cần biết trước khi thuê hosting.

Dung lượng của Web Hosting?


Dung lượng của web hosting là khoảng không gian bạn được phép lưu trữ dữ liệu
của mình trên ổ cứng của máy chủ. Như đã nói ở trên, bạn thuê một web hosting cũng
giống như bạn thuê văn phòng trong một nhà cao ốc. Vậy ở đây, dung lượng của web
hosting cũng giống như diện tích văn phòng của bạn.
Băng thông Web Hosting?
Băng thông của web hosting là lượng dữ liệu (tính bằng MBytes) trao đổi giữa
website của bạn với người sử dụng trong một tháng. Ví dụ nếu bạn tải lên website của
mình một tệp tài liệu có kích thước là 1MB và có 100 khách hàng tải tệp tài liệu đó về
thì bạn đã tiêu tốn tổng cộng 101MB băng thông.
Giao thức truyền tệp tin FTP
FTP là viết tắt của cụm từ File Transfer Protocol – là một giao thức truyền tệp tin
trên mạng Internet. Khi máy chủ hỗ trợ FTP, bạn có thể sử dụng các phần mềm FTP
(FTP Client) để kết nối với máy chủ và tải lên các tệp tin dữ liệu cũng như cập nhật
website của mình một cách dễ dàng.
Ngôn ngữ lập trình hỗ trợ
 PHP: Được chạy trên máy chủ Linux hoặc Windows. Với đặc điểm mạnh mẽ, dễ
viết, dễ dùng, dễ phát triển. Cặp đôi với PHP là cơ sở dữ liệu MySQL. PHP đã
trở thành ngôn ngữ lập trình web phổ biến nhất hiện nay.
 ASP: Chạy trên máy chủ Windows, thường sử dụng cơ sở dữ liệu Access, được
Microsoft phát triển nhắm vào các đối tượng ứng dụng văn phòng.

33
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

 ASP.NET: Chạy trên máy chủ Windows. Được Microsoft xây dựng trên nền tảng
.NET, kết hợp với cơ sở dữ liệu MSSQL Server khiến cho ASP.NET trở nên một
địch thủ đáng gờm đối với bất kỳ một ngôn ngữ lập trình web nào.
 JSP, CGI, Python: Chạy trên máy chủ Windows hoặc Linux. Đã từng nổi đình
nổi đám một thời. Tuy nhiên hiện nay đã không còn phổ biến.
Hosting Controller hay Cpanel là gì?
Là phần mềm web đi kèm với các gói hosting hỗ trợ cho khách hàng chủ động quản
lý và cấu hình gói hosting. Phần mềm này cung cấp các tính năng quản lý thư mục,
database, backup dữ liệu, sub-domain,…

Hình 2.24 Hình ảnh của một Cpanel

2.2.12 Khái quát về Google Map [15]

 Google Map API

Google Map là một dịch vụ ứng dụng vào công nghệ bản đồ trực tuyến trên web
miễn phí được cung cấp bởi Google, hỗ trợ nhiều dịch vụ khác của Google đặc biệt là
dò đường và chỉ đường; hiển thị bản đồ đường sá, các tuyến đường tối ưu cho từng loại
phương tiện, cách bắt xe và chuyển tuyến cho các loại phương tiện công cộng (xe bus,
xe khách ...), và những địa điểm (kinh doanh, trường học, bệnh viện, cây ATM...) trong
khu vực cũng như khắp nơi trên thế giới.
 Map API

34
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Là một phương thức cho phép 1 website B sử dụng dịch vụ bản đồ của website A
(gọi là Map API) và nhúng vào website của mình (site B). Site A ở đây là google map,
site B là các website cá nhân hoặc tổ chức muốn sử dụng dịch vụ của google (di chuột,
room, đánh dấu trên bản đồ…).
Các ứng dụng xây dựng trên maps được nhúng vào trang web cá nhân thông qua
các thẻ javascripts do vậy việc sử dụng API google rất dễ dàng.
Google Map API đã được nâng cấp lên phiên bản v3 không chỉ hỗ trợ cho các máy
để bàn truyền thống mà cho cả các thiết bị di động; các ứng dụng nhanh hơn và nhiều
hơn.
Các dịch vụ hoàn toàn miễn phí với việc xây dựng một ứng dụng nhỏ. Trả phí nếu
đó là việc sử dụng cho mục đích kinh doanh, doanh nghiệp.
 Một số ứng dụng của Google Map API
- Đánh dấu các địa điểm trên bản đồ kèm theo thông tin cho địa điểm đó: khu
vui chơi giải trí, nhà hàng khách sạn, cây ATM, bệnh viện, trường học,…
bất cứ địa điểm nào bạn muốn.
- Chỉ dẫn đường đến các địa điểm cần tìm (đường tối ưu và nhiều option
khác), chỉ dẫn đường giao thông công cộng, có thể là các địa điểm cung cấp
như trên. Ở đây sử dụng các service google cung cấp.
- Khoanh vùng khu vực: các trung tâm kinh tế, khu đô thị, khu ô nhiễm…
- Tình trạng giao thông các khu vực từ đó đưa ra các giải pháp.
 Map Javascript API

API JavaScript của Maps cho phép tùy chỉnh bản đồ với nội dung và hình ảnh của
riêng bạn để hiển thị trên các trang web và thiết bị di động. API JavaScript của Maps có
bốn loại bản đồ cơ bản (lộ trình, vệ tinh, kết hợp và địa hình) mà bạn có thể sửa đổi bằng
cách sử dụng các lớp và kiểu, điều khiển và sự kiện cũng như các dịch vụ và thư viện
khác nhau.

35
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.25 Code mẫu để nhúng map vào web

2.2.13 Phần mềm tạo Server Localhost [16]

Xampp là một mã nguồn mở máy chủ web đa nền được phát triển bởi Apache
Friends, bao gồm chủ yếu là Apache HTTP Server, MariaDB database, và interpreters
dành cho những đối tượng sử dụng ngôn ngữ PHP và Perl. Xampp là viết tắt của Cross-
Platform (đa nền tảng-X), Apache (A), MariaDB (M), PHP (P) và Perl (P). Nó phân bố
Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ra máy chủ web
local để kiểm tra và triển khai trang web của mình. Tất cả mọi thứ cần cho phát triển
một trang web - Apache (ứng dụng máy chủ), Cơ sở dữ liệu (MariaDB) và ngôn ngữ lập
trình (PHP) được gói gọn trong 1 tệp. Xampp cũng là 1 đa nền tảng vì nó có thể chạy
tốt trên cả Linux, Windows và Mac. Hầu hết việc triển khai máy chủ web thực tế đều sử
dụng cùng thành phần như XAMPP nên rất dễ dàng để chuyển từ máy chủ local sang
máy chủ online.
Xampp đã được tích hợp sẵn Apache, PHP, MySQL, FTP Server, Mail Server và
các công cụ như phpMyAdmin. Không như Appserv, Xampp có chương trình quản lý

36
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

khá tiện lợi, cho phép chủ động bật tắt hoặc khởi động lại các dịch vụ máy chủ bất kỳ
lúc nào.

Hình 2.26 Giao diện phần mềm XAMPP

Hình 2.27 Giao diện phpMyAdmin của XAMPP


2.2.14 Ngôn ngữ và công cụ lập trình
2.2.14.1 Ngôn ngữ Arduino
 Giới thiệu

37
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Cú pháp lập trình Arduino dựa trên ngôn ngữ lập trình C, vì vậy nếu một bạn
thuần thục với ngôn ngữ C thì khi lập trình với Arduino sẽ đỡ bở ngỡ và dễ tiếp cận hơn.
 Cấu trúc cơ bản[17]
 Void setup
Là hàm được chạy đầu tiên mỗi khi chương trình khởi động, nhưng chỉ chạy 1 lần
duy nhất vào đầu trương trình, được sử dụng để khai báo các biến số, cấu hình chân
truyền / nhận, khởi tạo giao thức truyền, hay khai báo sử dụng bộ thư viện, nếu bạn
muốn một lệnh thực thi nào đó chỉ chạy duy nhất 1 lần ở đầu trương trình thì cũng có
thể cho vào hàm void setup ().
 Void loop
Là hàm được khởi động ngay sau void setup() cũng chính là phần chính và nội dung
của của chương trình, các câu lệnh nằm trong void loop() sẽ được chạy tuần tự từ trên
xuống dưới sau đó lặp lại từ đầu liên tục cho tới khi khởi động lại hoặc nhấn nút reset,
ví dụ chương trình dưới đây sẽ truyền lên máy tính chuỗi ký tự ”hello” liên tục 1 giây 1
lần.

Hình 2.28 Void loop


Một số lệnh cơ bản:
 Lệnh Serial.print();

38
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Đây là câu lệnh nếu bạn muốn truyền một chuỗi ký tự hoặc biến số từ Arduino
về máy tính. Cấu trúc lệnh:
Serial.print(“chuỗi ký tự để trong ngoặc kép”);
Serial.println(“chuỗi ký tự để trong ngoặc kép”);
hoặc
Serial.print(biến số);

Hình 2.29 Lệnh cơ bản


 Lệnh delay ();
Đây là lệnh giữ trạng thái hiện tại của Arduino trong một khoảng thời gian định sẵn.
Cấu trúc lệnh: delay (khoảng thời gian đơn vị mili giây ms);
Ví dụ: delay (1000);
Lệnh này sẽ giữ trạng thái hiện tại của Arduino trong 1000ms, tức 1s (1 giây).
Bảng 3 Tóm tắt hàm và biến thường sử dụng trong Arduino
Cấu trúc Giá trị Hàm thủ tục
Cấu trúc chính Hằng số Nhập xuất Digital
setup() HIGH | LOW (Digital I/O)
loop() pinMode()

39
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Cấu trúc điều khiển INPUT | digitalWrite()


if INPUT_PULLUP | digitalRead()
if...else OUTPUT Nhập xuất Analog
switch / case LED_BUILTIN (Analog I/O)
for true | false analogReference()
while Hằng số nguyên analogRead()
break (integer constants) analogWrite() - PWM
continue Hằng số thực - PPM
return (floating point Hàm thời gian
goto constants) millis()
Cú pháp mở rộng Kiểu dữ liệu micros()
; (dấu chấm phẩy) void delay()
{} (dấu ngoặc nhọn) boolean delayMicroseconds()
//(single line char Hàm toán học
comment) unsigned char min()
/* */(multi-line byte max()
comment) int abs()
#define unsigned int map()
#include word pow()
Toán tử số học long sqrt()
= (phép gán) unsigned long sq()
+ (phép cộng) short isnan()
- (phép trừ) float constrain()
* (phép nhân) double exp(x)
/ (phép chia) array frexp(x, int *exp)
% (phép chia lấy dư) string (chuỗi kí tự biểu ldexp(x, int exp)
diễn bằng log(x)
array) log10(x)
String (object) modf(x, *i)
ceil(x)
floor(x)

40
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

2.2.14.2 Ngôn ngữ SQL server


 Giới thiệu

SQL là viết tắt của Structured Query Language, là ngôn ngữ truy vấn mang tính cấu
trúc.
Nó được thiết kế để quản lý dữ liệu trong một hệ thống quản lý cơ sở dữ liệu quan
hệ (RDBMS).
SQL là ngôn ngữ cơ sở dữ liệu, được sử dụng để tạo, xóa trong cơ sở dữ liệu, lấy
các hàng và sửa đổi các hàng, …
Tất cả DBMS như MySQL, Oracle, MS Access, Sybase, Informix, Postgres và SQL
Server sử dụng SQL như là ngôn ngữ cơ sở dữ liệu chuẩn.
 Lợi ích của SQL
- Tạo cơ sở dữ liệu, bảng và view mới.
- Để chèn các bản ghi vào trong một cơ sở dữ liệu.
- Để xóa các bản ghi từ một cơ sở dữ liệu.
- Để lấy dữ liệu từ một cơ sở dữ liệu.
 Chức năng SQL
- Với SQL, có thể truy vấn Database theo nhiều cách khác nhau, bởi sử dụng
các lệnh.
- Với SQL, người dùng có thể truy cập dữ liệu từ RDBMS.
- SQL cho phép người dùng miêu tả dữ liệu.
- SQL cho phép người dùng định nghĩa dữ liệu trong một Database và thao
tác nó khi cần thiết.
- Cho phép người dùng tạo, xóa Database và bảng.
- Cho phép người dùng tạo view, Procedure, hàm trong một Database.
- Cho phép người dùng thiết lập quyền truy cập vào bảng, thủ tục và view.
 Các lệnh SQL
Các lệnh trong SQL được bắt đầu với bất cứ từ khóa nào trong SQL như
SELECT, INSERT, UPDATE, DELETE, ALTER, DROR, … và lệnh kết thúc với một
dấu chấm phẩy (;).
 Lệnh SELECT trong SQL
SELECT cot1, cot2....cotN
FROM ten_bang;
 Mệnh đề DISTINCT trong SQL
SELECT DISTINCT cot1, cot2....cotN

41
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

FROM ten_bang;
 Mệnh đề WHERE trong SQL
SELECT cot1, cot2....cotN
FROM ten_bang
WHERE DIEU_KIEN;
 Mệnh đề AND/OR trong SQL
SELECT cot1, cot2....cotN
FROM ten_bang
WHERE DIEU_KIEN_1 {AND|OR} DIEU_KIEN_2;
 Mệnh đề IN trong SQL
SELECT cot1, cot2....cotN
FROM ten_bang
WHERE ten_cot IN (gtri-1, gtri-2,...gtri-N);
 Mệnh đề BETWEEN trong SQL
SELECT cot1, cot2....cotN
FROM ten_bang
WHERE ten_cot BETWEEN gtri-1 AND gtri-2;
 Mệnh đề LIKE trong SQL
SELECT cot1, cot2....cotN
FROM ten_bang
WHERE ten_cot LIKE { PATTERN };
 Mệnh đề ORDER BY trong SQL
SELECT cot1, cot2....cotN
FROM ten_bang
WHERE DIEU_KIEN
ORDER BY ten_cot {ASC|DESC};
2.2.14.3 Ngôn ngữ HTML[18]
 Giới thiệu

HTML (tiếng Anh, viết tắt cho Hyper Text Markup Language, hay là "Ngôn ngữ
Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang

42
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

web với các mẩu thông tin được trình bày trên World Wide Web. Cùng với CSS và
JavaScript, HTML tạo ra bộ ba nền tảng kỹ thuật cho World Wide Web. HTML được
định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức
cần đến các yêu cầu xuất bản phức tạp. HTML đã trở thành một chuẩn Internet do tổ
chức World Wide Web Consortium (W3C) duy trì.
 HTML được xử lý ra sao?

Khi một tập tin HTML được hình thành, việc xử lý nó sẽ do trình duyệt web đảm
nhận. Trình duyệt sẽ đóng vai trò đọc hiểu nội dung HTML từ các thẻ bên trong và sẽ
chuyển sang dạng văn bản đã được đánh dấu để đọc, nghe hoặc hiểu (do các bot máy
tính hiểu).
 Các thẻ trong HTML

Các trang HTML được quy định bằng các thẻ tag. Những thẻ này được chứa trong
các dấu ngoặc đơn dạng: <tên thẻ>. Trừ một vài thẻ đặc biệt, hầu hết các thẻ cơ bản đều
có các thẻ đóng tương ứng với nó. Ví dụ, thẻ <html> có thẻ đóng tương ứng là </html>,
thẻ <body> có thẻ đóng tương ứng là </body> … Dưới đây là các mẫu thẻ tag bạn
thường gặp trong HTML.
Bảng 4 Tag thông dụng của HTML
Tag Giải thích
<!DOCTYPE…> Còn gọi là thẻ khai báo một tài liệu HTML. Thẻ này xác định loại
tài liệu và phiên bản HTML.
<html> Thẻ này chứa đựng các tài liệu HTML đầy đủ. Ở đầu trang sẽ xuất
hiện các thẻ <head>, </head> và thân tài liệu là các thẻ <body>,
</body> .
<head> Thẻ này đại diện cho đầu trang tài liệu mà có thể giữ các thẻ HTML
như <title>, <link> …
<title> Thẻ <title> được sử dụng trong thẻ <head> chỉ tiêu đề tài liệu.
<body> Thẻ này đại diện cho thân tài liệu và giữ các thẻ như <span>,
<span>, <p> …
<span> Thẻ tag này đại diện cho các tiêu đề trang.
<p> Thẻ tag này đại diện cho định dạng các đoạn văn trong trang web.

43
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

2.2.14.4 Ngôn ngữ PHP


 Giới thiệu

PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn ngữ lập trình kịch
bản được chạy ở phía server nhằm sinh ra mã html trên client. PHP đã trải qua rất nhiều
phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng, tốc độ
nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến và được
ưa chuộng.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở
dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP).
Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt
người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt.
MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle,
SQL server...) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu.
 Cách thức hoạt động

Hình 2.30 Cách thức hoạt động của một file PHP
Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine để thông
dịch dịch trang PHP và trả kết quả cho người dùng như hình bên dưới.
Thẻ <?php và thẻ ?> sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua
đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP

44
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần
giao diện ứng dụng HTTP.

Hình 2.31 Code của PHP


2.3 SƠ ĐỒ THIẾT KẾ PHẦN CỨNG
2.3.1 Sơ đồ đấu dây lấy tín hiệu điện năng
Hình 2.32 Sơ đồ đấu dây lấy tín hiệu điện năng

Chức năng Module PZEM-004T là lấy giá trị điện áp, dòng điện, công suất.

45
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

2.3.2 Mạch tổng hợp các module

Hình 2.33 Sơ đồ nguyên lý mạch điều khiển

46
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.34 Sơ đồ mạch in mạch điều khiển

Hình 2.35 Tổng hợp các Module

47
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Chú thích:
1. Module nguồn 5VDC-2A: cấp nguồn ổn định cho mạch điều khiển.
2. Công tắc nguồn và đèn báo nguồn: Bật tắt và báo nguồn.
3. Module PZEM-004T: Đo lường điện năng.
4. Module relay trung gian: điều khiển contactor.
5. Module I2C Nhiệm vụ mạch giải mã I2C
6. LCD 20x4: Hiển thị thông số.
7. LED báo dòng điện contactor: Báo trang thái contactor.
8. Domino tiếp điểm phụ CB: Báo sự cố ngắn mạch.
9. Domino UPS: cấp nguồn cho mạch điều khiển khi mất điện lưới.
10. Module ESP8266: Bộ điều khiển trung tâm và truyền Wifi.

2.4 THIẾT KẾ GIAO DIỆN ĐIỀU KHIỂN TRÊN WEBSITES

Giao diện Web được viết bằng ngôn ngữ HPML và PHP, Web kết nối với vi xử lí
thông qua wifi.
Trang Web đăng nhập: http://electricalspkt.cba.pl/index.php

Hình 2.36 Giao diện đăng nhập hệ thống

48
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

2.4.1 Giao diện của nhân viên vận hành

Sau khi đăng nhập bằng Account của Admin, chọn phần “Theo dõi của Admin”.
Trên giao diện theo dõi của Admin, admin có thể biết hộ đó đang có điện hay mất điện
và Admin có thể điều khiển đóng ngắt điện hộ sử dụng đó từ Web.

Hình 2.37 Giao diện Admin tra cứu dữ liệu

49
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.38 Hình hiển thị địa chỉ và vị trí hộ trên Map

Hình 2.39 Thông số điện của hộ sử dụng

50
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.40 Hình bảng số liệu thông số điện của hộ sử dụng

2.4.2 Giao diện của người sử dụng điện

Sau khi đăng nhập bằng Account của Admin, chọn phần “Theo dõi của bạn”. Người
dùng có thể tra cứu “ Tiền điện”, “Thông số điện” của gia đình mình trên biểu đồ và
bảng số liệu.

Hình 2.41 Hình người dùng tra cứu dữ liệu

51
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.42 Hình biểu đồ sử dụng điện của hộ gia đình

52
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 2.43 Hình bảng thông số sử dụng điện của hộ gia đình

53
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Chương 3
THI CÔNG MÔ HÌNH

3.1 QUY TRÌNH THỰC HIỆN

- Bước 1: Thiết kế khung đề tài và bảng tên đề tài


- Bước 2: Test các module: mudule PZEM 004T đo điện áp và dòng điện,
module ESP 8266 truyền nhận dữ liệu thông qua wifi, mạch điều khiển đóng
ngắt contactor, bộ phát Wifi bằng sim 3G.
- Bước 3: Thiết kế mạch đóng ngắt Contactor.
- Bước 4: Thiết kế mạch liên kết các module tạo thành mạch điều khiển và nhận
dữ liệu.
- Bước 5: Kết nối mạch điện và thiết bị với nhau, gắn bảng tên đề tài.
- Bước 6: Kiểm tra các kết nối.
- Bước 7: Vận hành hệ thống.
- Bước 8: Xử lý lỗi và hoàn thiện.

3.2 THI CÔNG PHẦN CỨNG

3.2.1 Cắt, hàn khung

Hình 3.1 Thi công mô hình

54
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 3.2 Khung mô hình


Khung được làm từ sắt được hàn lại theo kích thước thiết kế và sơn màu ghi.
Bảng bố trí thiết bị được làm từ ván ép mỏng 5mm, mặt trước dán decal màu xanh.
Bốn cạnh của bảng bố trí thiết bị sử dụng thanh V nhôm nẹp cạnh và bắt vít cố định
với khung.
Mặt sau khung là tấm ván ép mỏng 5mm sơn trắng, bắt vít cố định với khung.

3.2.2 Bố trí các thiết bị lên khung

Hình 3.3 Bố trí các thiết bị

55
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 3.4 Mạch điều khiển

3.2.3 Đấu dây thiết bị và nguồn cung cấp

56
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 3.5 Đấu dây thiết bị

Hình 3.6 Nguồn tổ ong 12V

3.3 VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN

3.3.1 Chương trình cho ESP8266

 Lưu đồ mạch điều khiển:

57
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 3.7: Lưu đồ mạch điều khiển

58
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

 Khai báo thư viện và các biến sẽ sử dụng:

59
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

 Code kết nối Wifi:

 Đo dòng, áp, công suất và xuất ra LCD:

60
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

3.3.2 Code thiết kế Website

 Sự kết nối giữa các file php:

Hình 3.8: Mạng lưới php trang chủ

61
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 3.9: Giám sát hệ thống của admin

62
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 3.10: Giám sát hệ thống của user


 Khai báo thư viện cho giao diện web

 Code thực hiện lệnh đóng cắt CB viết bằng ngôn ngữ javascript

Giải thích code:


Hàm chkon() sẽ được gọi khi nhấn nút đóng CB. Lúc này, mã công tơ sẽ được gửi
qua file mail.php nhờ giao thức ajax. Mail.php sẽ có trách nhiệm tạo mã code và tiến
hành gửi mail về cho quản trị viên.
Kế đến biến didEnterPassword = false có nhiệm vụ giữ cho hộp thoại đăng nhập
không bị tắt khi ta chuyển tab trên trình duyệt web.

63
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Kế đến hộp thoại thông báo “mã xác nhận đã được gửi”. Khi nhấn “ok” thì hộp thoại
nhập password xuất hiện. Lúc này biến didEnterPassword = true để hệ thống đảm bảo,
chỉ cho phép thực hiện thao tác trên tab hiện tại để tăng độ bảo mật quá trình. Nếu đúng
mật khẩu thì tiến hành thực hiện lệnh cắt điện.
 Code giao diện web

 Code google map

64
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Để có được toạ độ của một điểm trên google map, ta vào địa chỉ:
https://www.latlong.net/

Tại đây ta sẽ có được toạ độ của điểm ta cần lấy.


 Cách vẽ một marker:

65
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

 Cách vẽ một polyline:

Polyline là tập hợp các marker lại với nhau, vậy nên ta sẽ đưa các marker vào một
mảng sau khi đã lấy toạ độ marker.

Sau đó ta dùng code sau để tại polyline

3.3.3 Code xử lý Database và giao tiếp Webserver

 Code php khai báo biến và tên đăng nhập vào server SQL

Đây là tên đăng nhập, địa chỉ host để hệ website có thể giao tiếp và lấy dữ liệu trả về từ
database.

Sauk hi có thông tin để đăng nhập vào database, webserver sẽ tiến hành gửi lệnh truy
xuất dữ liệu trả về

66
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

 Code lấy dữ liệu từ database và xuất ra web để xem

67
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Chương 4
VẬN HÀNH VÀ KIỂM TRA

4.1 VẬN HÀNH HỆ THỐNG

- Bước 1: Mở giao diện Web và đăng nhập.

Hình 4.1 Hình đăng nhập web


- Bước 2: Cấp nguồn cho mô hình, mở CB.

68
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 4.2 Cấp nguồn cho mô hình


- Bước 3: Mở bộ phát wifi bằng sim 3g.

Hình 4.3 Mở bộ phát wifi bằng sim 3g


- Bước 4: Đợi hệ thống khởi động xong (Inverter hòa đồng bộ, Web server kết
nối với mô hình, màn hình LCD hiển thị thông số).

69
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 4.4 Hình hệ thống đã khởi động xong


- Bước 5: Kiểm tra Web đã cập nhật được dữ liệu (Bảng thông số, đồ thị, map).

Hình 4.5 Biểu đồ giám sát realtime

70
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 4.6 Hình web cập nhật dữ liệu


- Bước 6: Thử đóng ngắt từ Web.

Hình 4.7 Đóng ngắt trên web

71
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 4.8 Điều khiên contactor đóng ngắt từ web


- Bước 7: Kiểm tra hệ thống khi gắn tải.

Hình 4.9 Khi có tải

72
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Hình 4.10 Hình hệ thống sử dụng tải

4.2 KIỂM TRA HỆ THỐNG

- Hệ thống làm việc ổn định khi có kết nối wifi.


- Hệ thống tự động hoạt động lại sau khi sự cố mất nguồn được phục hồi.
- Thời gian thu thập dữ liệu cập nhật liên tục lên Web khoảng 15 giây.
- Web hoạt động tốt, có thể tra cứu dữ liệu sử dụng điện của khách hàng theo
mã hộ và ngày giờ sử dụng.
- Dữ liệu được lưu lại trong SQL và dữ liệu có thể xuất file Excel.
- Có thể đóng ngắt contactor từ xa thông qua wifi.
- Màn hình LCD hiển thị đúng với số liệu truyền về Web.
-

73
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Chương 5
KẾT LUẬN

Sau 5 tháng nghiên cứu và thực hiện với nhiều nỗ lực và cố gắng của nhóm thực
hiện đề tài cùng với sự hướng dẫn tận tình của Thầy Lê Trọng Nghĩa, đề tàu này đã
hoàn thành với những nội dung như sau:
5.1 KẾT QUẢ THỰC HIỆN ĐỀ TÀI

5.1.1 Các vấn đề đã nghiên cứu trong đề tài

- Module xử lý trung tâm và giao tiếp wifi ESP 8266.


- Module ADC đo thông số điện năng PZEM 004T .
- Module chuyển tín hiệu I2C.
- TEXT LCD 20X4.
- Hệ thống ATS + UPS .
- Bộ phát wifi từ sim 3G,4G.
- Phần mềm vẽ mạch Proteus.
- Hệ thống đóng ngắt và báo trạng thái lưới điện
- Webserver.
- Database.
- Hosting.
- Google Map.
- Phần mềm tạo server localhost.
- Ngôn ngữ và công cụ lập trình:
 Ngôn ngữ Arduino.
 Ngôn ngữ SQL sever.
 Ngôn ngữ HTML.
 Ngôn ngữ PHP.

5.1.2 Các vấn đề đã thực hiện

- Lập trình Module PZEM 004T bằng chương trình Arduino.


- Lập trình Mudule Wifi ESP 8266 bằng chương trình Arduino.
- Xây dựng được Database lưu trữ dữ liệu và lập trình xây dựng giao diện Web.
- Viết chương trình phân tích và hiển thị dữ liệu lên Website, điều khiển đóng ngắt
từ xa.
- Nhóm đã thi công các phần sau:
o Mô hình thu thập dữ liệu.
o Mô hình điều khiển đóng ngắt contactor.

74
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

o Thiết kế và thi công khung mô hình đề tài.


o Lắp đặt và đấu nối các thiết bị với mạch điều khiển.
5.1.3 Ưu điểm của đề tài

- Dữ liệu về thông số sử dụng điện và tiền điện hiển thị trên Website cho
phép người quản lí và người dùng tra cứu.
- Công ty điện lực không cần đến từng nhà để ghi số điện và thu tiền điện.
- Người quản lí Website có thể đóng ngắt điện từng hộ gia đình theo mã hộ
từ xa thông qua wifi.
- Báo về Web khi có sự cố mất điện.
- Giao diện quản lí đơn giản, điều khiển dễ dàng.
- Hệ thống hoạt động ổn định trong thời gian dài.

5.2 HƯỚNG PHÁT TRIỂN VÀ HOÀN THIỆN ĐỀ TÀI

5.2.1 Hoàn thiện đề tài

Đề tài của nhóm mới chỉ dừng lại ở mô hình đề tài, trong tương lai nếu hệ thống có
khả năng thương mại hóa thì nhóm sẽ tích hợp tất cả các module vào một mạch điện nhỏ
gọn và tổng hợp với các thiết bị thành một tủ điện.
Cải tiến để hệ thống có thể đo được thông số dòng, áp, công suất lớn hơn để đưa hệ
thống vào giám sát điện ở các tòa nhà, công ty, nhà máy, phân xưởng.

5.2.2 Hướng phát triển

Trong tương lai, đề tài sẽ được mở rộng và phát triển thêm chức năng giám sát hệ
thống điện năng lượng mặt trời của căn hộ, có hoà lưới tự động để bán điện cho phía
điện lực. Đây thực sự là một ứng dụng rất cần thiết trong thời kì mà năng lượng mặt trời,
một dạng năng lượng sạch, đang rất được chú trọng và chi phí đầu tư cũng thấp hơn so
mới thời điện mà năng lượng mặt trời mới xuất hiện.
Với hướng phát triển này, người dùng sẽ có thể không những tiết kiện được điện
năng tiêu thụ hằng tháng mà còn có thêm thu nhập vào việc bán điện cho nhà nước.

5.3 KẾT LUẬN

Đề tài “Ứng Dụng Google Map Trong Quản Lý Điện Năng Lưới Điện Phân
Phối” đã đưa ra lí thuyết về module đo, module wifi, ngôn ngữ và phần mềm lập trình,
các vấn đề cần thiết khi xây dựng một website,…

75
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Xây dưng hệ thống giám sát điện năng từ lưới và truyền dữ liệu về Web. Xây dựng
Database để lưu trữ dữ liệu và Website để người dùng có thể tra cứu thông tin về dòng,
áp, công suất, tiền điện của gia đình mình. Admin quản lí Website có thể giám sát điện
năng của các hộ gia đình thông qua map, đồ thị, bảng thông số và điều khiển đóng ngắt
từ xa.

76
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

TÀI LIỆU THAM KHẢO


Website:
[1] https://esp8266.vn/introduction/esp-module/
[2] https://dientu360.com/module-do-thong-so-dien-xoay-chieu-pzem-004
[3] http://arduino.vn/bai-viet/1053-giao-tiep-i2c-voi-nhieu-module
[4] https://www.winstar.com.tw/products/character-lcd-display-module/20x4-lcd-
display.html
[5] http://www.pattencat.com/power/new-power-equipment/ats-ups-switchgear
[6] http://noibanmaytinh.online/noi-ban-bo-phat-wifi-tu-sim-3g-ab14-nguon-usb.html
[7] https://tinhte.vn/threads/download-proteus-7-10-full-sp2-phan-mem-mo-phong-vi-
mach-dien-tu.2679673/
[8] https://beeteco.com/Tu-sach-kien-thuc/Contactor-la-gi-b116bc23.html
[9] http://hoahoa.com.vn/san-pham/tiep-diem-phu-1no1nc-GVAN11
[10] https://en.wikipedia.org/wiki/Web_server
[11] https://vi.wikipedia.org/wiki/Hypertext_Transfer_Protocol
[12] http://expressmagazine.net/development/2160/http-giao-thuc-ma-moi-lap-trinh-
vien-nen-biet
[13] https://www.codehub.vn/phpMyAdmin-la-gi
[14] https://www.bkns.vn/hosting.html
https://viettelidc.com.vn/giai-dap-9-thac-mac-co-ban-ve-web-hosting.html
[15] https://viblo.asia/p/tim-hieu-ve-google-map-api-ZWApGxJ3R06y
[16] http://kienthucweb.net/cai-dat-va-su-dung-phan-mem-xampp-tren-windows.html
[17] http://arduino.vn/reference
[18] https://thachpham.com/web-development/html-css/html-la-gi-va-vi-sao-no-quan-
trong.html

77
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

PHỤ LỤC A
MÃ NGUỒN CHƯƠNG TRÌNH

1. MÃ NGUỒN CHƯƠNG TRÌNH CHO PZEM 004T

void Fpzem_1()
{
v1 = pzem_1.voltage(ip) - 5;
if (v1 < 0.0) v1 = 0.0;

i1 = pzem_1.current(ip);
if (i1 < 0.0) i1 = 0.0;

p1 = pzem_1.power(ip);
if (p1 < 0.0) p1 = 0.0;

e1 = pzem_1.energy(ip);
if (e1 < 0.0) e1 = 0.0;

p1tt = i1 * v1 * 0.85;

if (val == 0)
{
lcd.setCursor(0, 1);
lcd.print("CB_DA_BI_CAT ");
//lcd.print("PZEM_01_OFF ");
val1 = 1;// trang thai CB gui len Server
lcd.setCursor(0, 2);
lcd.print(" ");
}
else if (val == 1 )
{
lcd.setCursor(0, 0);

78
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

lcd.print("Ma so: SPKT1-Luoi ");


lcd.setCursor(0, 1);
lcd.print("Dong: ");
lcd.setCursor(6, 1);
lcd.print(i1);

lcd.setCursor(10, 1);
lcd.print(" Ap:");
lcd.setCursor(14, 1);
lcd.print(v1);

lcd.setCursor(0, 2);
lcd.print("Dien nang: ");
lcd.setCursor(11, 2);
lcd.print(e1);
val1 = 0;
}
}
void Fpzem_2()
{
v2 = pzem_2.voltage(ip) - 5;
if (v2 < 0.0) v2 = 0.0;
i2 = pzem_2.current(ip);
if (i2 < 0.0) i2 = 0.0;
p2 = pzem_2.power(ip);
if (p2 < 0.0) p2 = 0.0;
e2 = pzem_2.energy(ip);
if (e2 < 0.0) e2 = 0.0;
p2tt = i2 * v2 * 0.85;
lcd.setCursor(0, 0);
lcd.print("Ma so: SPKT1-Solar");

79
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

lcd.setCursor(0, 1);
lcd.print("Dong: ");
lcd.setCursor(6, 1);
lcd.print(i2);
lcd.setCursor(10, 1);
lcd.print(" Ap:");
lcd.setCursor(14, 1);
lcd.print(v2);
lcd.setCursor(0, 2);
lcd.print("Dien nang: ");
lcd.setCursor(11, 2);
lcd.print(e2);
}
2. MÃ NGUỒN CHƯƠNG TRÌNH CHO ESP8266
#include <ESP8266WiFi.h>
#include <SPI.h>
#include <PZEM004T.h>
#include <Wire.h>;
#include <LiquidCrystal_I2C.h>;
LiquidCrystal_I2C lcd(0x3F, 20, 4);
PZEM004T pzem_1(0, 2);
PZEM004T pzem_2(14, 12);
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 1);
char server[] = "electricalspkt.cba.pl";
WiFiClient client;
float v1;
float i1;
float p1;

80
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

float e1;
float v2;
float i2;
float p2;
float e2;
float p2tt;
float p1tt;
int inPin = 15;
int val, val1;
String readStringa, readString1;
int trangthai, i;
char lf = 10;
int x = 0;
const char* ssid = "AKILA2";
const char* password = "1234567890";
const int output5 = 16;
const char* host = "192.168.1.30";
void setup() {
Serial.begin(115200);
pzem_1.setAddress(ip);
pzem_2.setAddress(ip);
pinMode(output5, OUTPUT);
pinMode(inPin, INPUT);
lcd.init();
lcd.backlight();
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
int n = WiFi.scanNetworks();
Serial.println("scan done");

81
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

if (n == 0)
{
Serial.println("no networks found");
Serial.println("Going into sleep");
}
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Wi-Fi connected") ;
}
void loop() {
val = digitalRead(inPin);
Fpzem_1();
Fpzem_2();
if (client.connect(server, 80)) {
Serial.println("connected");
sendGET();
}
else {
Serial.println("--> connection failed\n");
}
delay(1000);
}
void Fpzem_1()
{
v1 = pzem_1.voltage(ip) - 5;
if (v1 < 0.0) v1 = 0.0;

82
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

i1 = pzem_1.current(ip);
if (i1 < 0.0) i1 = 0.0;
p1 = pzem_1.power(ip);
if (p1 < 0.0) p1 = 0.0;
e1 = pzem_1.energy(ip);
if (e1 < 0.0) e1 = 0.0;
p1tt = i1 * v1 * 0.85;
if (val == 0)
{
lcd.setCursor(0, 1);
lcd.print("CB_DA_BI_CAT ");
val1 = 1;
lcd.setCursor(0, 2);
lcd.print(" ");
}
else if (val == 1 )
{
lcd.setCursor(0, 0);
lcd.print("Ma so: SPKT1-Luoi ");
lcd.setCursor(0, 1);
lcd.print("Dong: ");
lcd.setCursor(6, 1);
lcd.print(i1);
lcd.setCursor(10, 1);
lcd.print(" Ap:");
lcd.setCursor(14, 1);
lcd.print(v1);
lcd.setCursor(0, 2);
lcd.print("Dien nang: ");
lcd.setCursor(11, 2);
lcd.print(e1);

83
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

val1 = 0;
}
}
void Fpzem_2()
{
v2 = pzem_2.voltage(ip) - 5;
if (v2 < 0.0) v2 = 0.0;
i2 = pzem_2.current(ip);
if (i2 < 0.0) i2 = 0.0;
p2 = pzem_2.power(ip);
if (p2 < 0.0) p2 = 0.0;
e2 = pzem_2.energy(ip);
if (e2 < 0.0) e2 = 0.0;
p2tt = i2 * v2 * 0.85;
lcd.setCursor(0, 0);
lcd.print("Ma so: SPKT1-Solar");
lcd.setCursor(0, 1);
lcd.print("Dong: ");
lcd.setCursor(6, 1);
lcd.print(i2);
lcd.setCursor(10, 1);
lcd.print(" Ap:");
lcd.setCursor(14, 1);
lcd.print(v2);
lcd.setCursor(0, 2);
lcd.print("Dien nang: ");
lcd.setCursor(11, 2);
lcd.print(e2);
}
void sendGET()
{

84
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

if (i % 2) {
client.println("GET /write_data.php?value1=" + String(v1) + "&value2=" +
String(i1) + "&value3=" + String(p1tt) + "&value4=" + String(e1) + "&value5=spkt1"
+ "&value6=" + String(v2) + "&value7=" + String(i2) + "&value8=" + String(p2tt) +
"&value9=" + String(e2) + "&value10=" + String(val1) + " HTTP/1.1");
client.println("Host: electricalspkt.cba.pl");
client.println("Connection: close");
client.println();
client.println();
client.stop();
Serial.println("da gui du lieu");
i++;
}
else {
client.println("GET /spkt1state.txt HTTP/1.1");
client.println("Host: electricalspkt.cba.pl");
client.println("Connection: close");
client.println();
while (client.connected() && !client.available()) delay(1);
while (client.connected() || client.available()) {
char c = client.read();
Serial.print(c);
if (c == lf) x = (x + 1);
if (x == 12) readStringa += c;
}
Serial.println();
Serial.print("Current data row:" );
Serial.print(readStringa);
readString1 = (readStringa.substring(0, 2));
Serial.println();
Serial.print("How we feeling?: ");

85
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

Serial.println(readString1);
trangthai = (readString1.toInt());
dieukhienled();
Serial.println("done");
Serial.println("disconnecting.");
Serial.println("==================");
x = 0;
i = 0;
i++;
readStringa = ("");
readString1 = ("");
client.stop();
}
}
void dieukhienled()
{
if (trangthai == 1) {
Serial.println(" - TELLING ARDUINO TO TURN LED ON");
digitalWrite(output5, HIGH);
lcd.setCursor(0, 3);
lcd.print(" ");
} else if (trangthai == 0)
{
Serial.println(" - TELLING ARDUINO TO TURN LED OFF");
digitalWrite(output5, LOW);
lcd.setCursor(0, 3);
lcd.print("Dien Luc Da Cat Dien");
}
}
3. CODE TẠO WEBSITES
<?php

86
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

session_start();

// Check if user is logged in using the session variable


if ( $_SESSION['logged_inn'] != 1 ) {
$_SESSION['message'] = "Bạn phải đăng nhập (đã được xác
nhận) mới xem được trang này";

header("location: error.php");
}
if ( $_SESSION['logged_inn'] == 1 && $_SESSION['adright']==0) {
$_SESSION['message'] = "Bạn không có quyền truy cập trang
này";

header("location: error.php");
}
else {
$onoroff = $_POST['state']; // lay gia tri
$idcongto = $_POST['macongto'];
$textfile = $idcongto . "state.txt"; // dat ten file se dc tao ra

$fileLocation = "$textfile"; //load file


$fh = fopen($fileLocation, 'w ') or die("Something went
wrong!"); // Opens up the .txt file for writing and replaces any previous content
$stringToWrite = "$onoroff"; // Write either 1 or 0 depending on
request from index.html
fwrite($fh, $stringToWrite); // Writes it to the .txt file
fclose($fh);

$macongto1 = $_POST['macongto'];
$textfile1 = $macongto1 . "state.txt";

87
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

$trangthai= file_get_contents($textfile1);
}
//header("Location: "); // Return to frontend (index.html)
?>
<html>
<head>
<script type="text/javascript" src="./jquery/jquery-1.8.3.min.js"
charset="UTF-8"></script>
<link rel="stylesheet"
href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css">
<script
src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script
src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script>
</head>
<body>
<?php
echo '<button onclick="myFunction1()">Ẩn/Hiện
mục tra cứu</button>';
echo '<div id="myDIV1">';
echo '<table style="width:100%" >';

date_default_timezone_set("Asia/Ho_Chi_Minh");

$con=mysqli_connect("mysql.cba.pl","electricalspkt","Aa123456789@201
8","electricalspkt");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " .
mysqli_connect_error();
}

88
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

mysqli_set_charset($con,"utf8");
$myselectbox=$_POST['myselectbox'];
$tungay1=$_POST['tungay'];
$denngay1=$_POST['denngay'];

$tungay2 = strtotime("$tungay1 UTC") - 43200;


$denngay2 = strtotime("$denngay1 UTC") - 43200;
$tungay = date('Y-m-d H:i', $tungay2);
$denngay = date('Y-m-d H:i', $denngay2);
$macongto=$_POST['macongto'];
$arrayListb = mysqli_query($con,"UPDATE
cambien SET dienluc='$onoroff' WHERE address='$macongto' ORDER BY stt DESC
LIMIT 1");
$sqla = "SELECT * FROM diachiamap where
(madongho='$macongto')";
$resulta=mysqli_query($con,$sqla);
if ( $resulta->num_rows == 0 || $tungay1=="" ||
$denngay1=="" ){
echo "<script
type='text/javascript'>alert('Mã công tơ không tồn tại hoặc chưa nhập hết thông
số')</script>";
}
else {
while ($row =
mysqli_fetch_array($resulta))
{
$longitude=$row["longitude"];
$latitude=$row["latitude"];
$diachi=$row["diachi"];
$tenho=$row["tenho"];
}

89
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

echo '</br>';
echo '<p style="font-size: 20px;
color:rgb(0, 51, 204); font-family:Pridi">'; echo $diachi ;echo '</p>';
if ($trangthai==1)
{
echo '<span
style="background-color: #ffff00;color: #0000cc; padding: 16px 32px; text-align:
center; text-decoration: none; font-size: 18px; margin: 4px 2px;border: 2px solid
#000000;">Đang đóng điện</span>';
$status2='<p
style="color:green;"><b>Điện lực đang đóng điện</b></p>';
}
else if ($trangthai==0)
{
echo '<span
style="background-color: #e0e0d1;color:black; padding: 16px 32px; text-align: center;
text-decoration: none; font-size: 18px; margin: 4px 2px;border: 2px solid
#000000;">Đã cắt điện</span>';
$status2='<p
style="color:red;"><b>Điện lực đã cắt điện</b></p>';
}
else
{
echo '<span
style="background-color: #e0e0d1;color:black; padding: 16px 32px; text-align: center;
text-decoration: none; font-size: 18px; margin: 4px 2px;border: 2px solid
#000000;">Không rõ trạng thái</span>';
}
echo '<button class="button button1"
onclick="chkon()">Đóng điện công tơ '; echo $macongto; echo'</button>';
echo ' ';

90
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

echo '<button class="button button2"


onclick="chkoff()">Cắt điện công tơ '; echo $macongto; echo'</button>';
echo '</br>';
echo '<div id="map"
style="width:700px;height:500px;background:grey"></div>';

$sqlb = "SELECT * FROM cambien


Where (address = '$macongto') ORDER BY stt DESC LIMIT 0, 1";
$resultb=mysqli_query($con,$sqlb);
while ($row =
mysqli_fetch_array($resultb))
{
$my_datetime1 =
$row["thoigian"];
$my_datetime12 =
strtotime("$my_datetime1 UTC") -7200;
$my_datetime13 = date('d-m-Y
H:i:s', $my_datetime12);
$dong1 = $row["giatridong"];
$ap1 = $row["giatriap"];
$congsuat1 =
$row["giatricongsuat"];
$tieuthu1 =
$row["giatritieuthu"];
$suco1 = $row["suco"];
}
if ($dong1 == 0)
{
//$trangthai=0;
$status='<p
style="color:red;"><b>Căn hộ không sử dụng điện</b></p>';

91
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

if ($suco1 == 1)
{
$status3='<p
style="color:red;"><b>[ĐÃ CÓ SỰ CỐ CHẬP ĐIỆN]</b></p>';
}
else if ($suco1 == 0)
{$status3='<p
style="color:green;"><b>[AN TOÀN]</b></p>';}
}
else
{
//$trangthai=1;
$status3='<p
style="color:green;"><b>[AN TOÀN]</b></p>';
$status='<p
style="color:green;"><b>Căn hộ đang sử dụng điện</b></p>';
}
switch ($myselectbox) {
case "*":
echo "<tr>

<th>Thời gian cập nhật</th>


<th>Dòng (A)</th>
<th>Điện áp (VAC)</th>
<th>Công suất (W)</th>
<th>Tiêu thụ (W/h)</th>
</tr>";
$sql = "select * from cambien
where (address = '$macongto') and thoigian between '$tungay' and '$denngay' ORDER
BY thoigian asc";

92
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

$result=mysqli_query($con,$sql);
$chart_data = '';
while ($row =
mysqli_fetch_array($result))
{
$my_datetime =
$row['thoigian'];
$my_datetime2 =
strtotime("$my_datetime UTC") -7200;
$my_datetime3 =
date('d-m-Y H:i:s', $my_datetime2);
echo "<tr>";
echo "<td>" .
$my_datetime3 . "</td>";
echo "<td>" .
$row['giatridong'] . "</td>";
echo "<td>" .
$row['giatriap'] . "</td>";
echo "<td>" .
$row['giatricongsuat'] . "</td>";
echo "<td>" .
$row['giatritieuthu'] . "</td>";
echo "</tr>";
$chart_data .= "{
year:'".$row["thoigian"]."', dong:".$row["giatridong"].", ap:".$row["giatriap"].",
congsuat:".$row["giatricongsuat"].", tieuthu:".$row["giatritieuthu"]."}, ";
}
$chart_data =
substr($chart_data, 0, -2);

93
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

echo ' <div


style="display: inline-block; width: 350px; height: 200px"><h2>Dòng điện (A)</h2>
<div id="charti"></div>
</div>';
echo ' <div
style="display: inline-block; width: 350px; height: 200px"><h2>Điện áp (VAC)</h2>
<div id="chartv"></div>
</div>';
echo ' <div
style="display: inline-block; width: 350px; height: 200px"><h2>Công suất (W)</h2>
<div id="chartp"></div>
</div>';
echo ' <div
style="display: inline-block; width: 350px; height: 200px"><h2>Tiêu thụ (W/h)</h2>
<div id="charte"></div>
</div>';
break;

case "giatridong":
echo "<tr>
<th>Thời gian cập nhật</th>
<th>Dòng (A)</th>
</tr>";
$sql = "SELECT DISTINCT
thoigian,giatridong FROM cambien where (address = '$macongto') and thoigian
between '$tungay' and '$denngay' ORDER BY thoigian asc";

$result=mysqli_query($con,$sql);
$chart_data = '';
while ($row =
mysqli_fetch_array($result))

94
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

{
$my_datetime =
$row['thoigian'];
$my_datetime2 =
strtotime("$my_datetime UTC") -7200;
$my_datetime3 =
date('d-m-Y H:i:s', $my_datetime2);
echo "<tr>";
echo "<td>" .
$my_datetime3 . "</td>";
echo "<td>" .
$row['giatridong'] . "</td>";
echo "</tr>";
$chart_data .= "{
year:'".$row["thoigian"]."', dong:".$row["giatridong"]."}, ";
}
$chart_data =
substr($chart_data, 0, -2);
echo ' <div
style="display: inline-block; width: 350px; height: 200px"><h2>Dòng điện (A)</h2>
<div id="charti"></div>
</div>';
break;

case "giatriap":
echo "<tr>
<th>Thời gian cập nhật</th>
<th>Điện áp (VAC)</th>
</tr>";

95
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

$sql = "SELECT DISTINCT


thoigian,giatriap FROM cambien where (address = '$macongto') and thoigian between
'$tungay' and '$denngay' ORDER BY thoigian asc";
$result=mysqli_query($con,$sql);
$chart_data = '';
while ($row =
mysqli_fetch_array($result))
{
$my_datetime = $row['thoigian'];
$my_datetime2 =
strtotime("$my_datetime UTC") -7200;
$my_datetime3 = date('d-m-Y H:i:s',
$my_datetime2);
echo "<tr>";
echo "<td>" . $my_datetime3 . "</td>";
echo "<td>" . $row['giatriap'] . "</td>";
echo "</tr>";
$chart_data .= "{
year:'".$row["thoigian"]."', ap:".$row["giatriap"]."}, ";
}
$chart_data = substr($chart_data, 0, -2);
echo ' <div style="display: inline-
block; width: 350px; height: 200px"><h2>Điện áp (VAC)</h2>
<div id="chartv"></div>
</div>';
break;

case "giatricongsuat":
echo "<tr>
<th>Thời gian cập nhật</th>
<th>Công suất (W)</th>

96
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

</tr>";
$sql = "SELECT DISTINCT
thoigian,giatricongsuat FROM cambien where (address = '$macongto') and thoigian
between '$tungay' and '$denngay' ORDER BY thoigian asc";
$result=mysqli_query($con,$sql);
$chart_data = '';
while ($row =
mysqli_fetch_array($result))
{
$my_datetime = $row['thoigian'];
$my_datetime2 =
strtotime("$my_datetime UTC") -7200;
$my_datetime3 = date('d-m-Y H:i:s',
$my_datetime2);
echo "<tr>";
echo "<td>" . $my_datetime3 . "</td>";
echo "<td>" . $row['giatricongsuat'] .
"</td>";
echo "</tr>";
$chart_data .= "{
year:'".$row["thoigian"]."', congsuat:".$row["giatricongsuat"]."}, ";
}
$chart_data = substr($chart_data, 0, -2);

echo ' <div style="display: inline-


block; width: 350px; height: 200px"><h2>Công suất (W)</h2>
<div id="chartp"></div>
</div>';
break;

case "giatritieuthu":

97
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

echo "<tr>
<th>Thời gian cập nhật</th>
<th>Tiêu thụ (W/h)</th>
</tr>";
$sql = "SELECT DISTINCT
thoigian,giatritieuthu FROM cambien where (address = '$macongto') and thoigian
between '$tungay' and '$denngay' ORDER BY thoigian asc";
$result=mysqli_query($con,$sql);
$chart_data = '';
while ($row =
mysqli_fetch_array($result))
{
$my_datetime = $row['thoigian'];
$my_datetime2 =
strtotime("$my_datetime UTC") -7200;
$my_datetime3 = date('d-m-Y H:i:s',
$my_datetime2);
echo "<tr>";
echo "<td>" . $my_datetime3 . "</td>";
echo "<td>" . $row['giatritieuthu'] .
"</td>";
echo "</tr>";
$chart_data .= "{
year:'".$row["thoigian"]."', tieuthu:".$row["giatritieuthu"]."}, ";
}
$chart_data = substr($chart_data, 0, -2);
echo ' <div style="display: inline-
block; width: 350px; height: 200px"><h2>Tiêu thụ (W/h)</h2>
<div id="charte"></div>
</div>';
break;

98
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa

}
mysqli_close($con);
echo '</table>';
}
echo '</div>';
?>
</body>
</html>
<script>
function catdien() {
confirm("Bạn có chắc muốn cắt điện công
tơ <?php echo $macongto ?> ");
}

function dongdien() {
confirm("Bạn có chắc muốn đóng điện
công tơ <?php echo $macongto ?> ");
}
</script>
<script>
function myFunction1() {
var x =
document.getElementById("myDIV1");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
</script>

99
S K L 0 0 2 1 5 4

You might also like