Professional Documents
Culture Documents
MÃ SỐ:SV2018-69
SKC 0 0 6 7 2 6
SV2018-69
( Mã Số : SV2018-69 )
i
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
ii
NHẬN XÉT CỦA 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.
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
xi
DANH MỤC CÁC TỪ VIẾT TẮT
xii
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
Chương 1
GIỚI THIỆU ĐỀ TÀI
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.
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ộ.
Đề 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
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”.
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.
- 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
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ố,..).
Để hoàn thành đề tài nhóm quyết định thực hiện theo 4 giai đoạn:
5
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
- 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;
6
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
Chương 2
THIẾT KẾ HỆ THỐNG
7
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
8
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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
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]
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.
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.
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.
14
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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.
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
18
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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]
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.
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.
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
2.2.8 Hệ thống đóng ngắt và báo trạng thái lưới điện Contactor [8]
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].
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
26
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
Nhưng khi giao tiếp với server, địa chỉ trên sẽ được hiểu là:
Đây là phản hồi từ Web Server khi đã gửi resquest trước đó:
27
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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.
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.
30
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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
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,…
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
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.
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.
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ố);
39
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
40
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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
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.
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
46
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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.
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
48
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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.
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
50
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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.
51
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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
54
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
55
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
56
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
57
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
58
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
59
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
60
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
61
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
62
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
Code thực hiện lệnh đóng cắt CB viết bằng ngôn ngữ javascript
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
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/
65
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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.
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
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
68
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
69
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
70
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
71
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
72
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
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
74
Nghiên cứu khoa học GVHD: ThS. Lê Trọng Nghĩa
- 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.
Đề 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.
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.
Đề 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
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
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.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();
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
$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'];
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
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>
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
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
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);
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