1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp: Thiết kế và thi công mô hình điều khiển thiết bị điện

108 222 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 108
Dung lượng 3,85 MB

Nội dung

Đồ án tốt nghiệp lần lượt thực hiện các nội dung: Sử dụng board ESP32-DevKitC làm mạch điều khiển trung tâm, điều khiển thiết bị trên ứng dụng Android và giao diện Web thông qua Internet, giám sát trạng thái hoạt động của thiết bị qua Web Server và lưu trữ trạng thái điều khiển của thiết bị... Mời các bạn cùng tham khảo.

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN THIẾT BỊ ĐIỆN GVHD: ThS Nguyễn Đình Phú SVTH: Nguyễn Tri Phương Võ Duy Tâm Tp Hồ Chí Minh – 7/2019 14141238 14141276 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ĐIỀU KHIỂN THIẾT BỊ ĐIỆN GVHD: ThS Nguyễn Đình Phú SVTH: Nguyễn Tri Phương 14141238 Võ Duy Tâm 14141276 Tp Hồ Chí Minh – 7/2019 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 28 tháng năm 2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Tri Phương MSSV: 14141238 Võ Duy Tâm MSSV: 14141276 Chuyên ngành: Công nghệ kỹ thuật điện tử truyền thông Mã ngành: 141 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2014 Lớp: 14141DT I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG MƠ HÌNH ĐIỀU KHIỂN THIẾT BỊ ĐIỆN II NHIỆM VỤ: Các số liệu ban đầu - Nguyễn Đình Phú, Giáo trình Vi điều khiển, Trường ĐH Sư Phạm Kỹ Thuật Tp Hồ Chí Minh - Trần Thu Hà – Trương Thị Bích Ngà – Nguyễn Thị Lưỡng – Bùi Thị Tuyết Đan – Phù Thị Ngọc Hiếu – Dương Thị Cẩm Tú, Giáo trình Điện tử bản, Nhà xuất ĐH Quốc gia Tp Hồ Chí Minh - Nguyễn Đình Phú – Nguyễn Trường Duy, Giáo trình Kỹ thuật số, Nhà xuất ĐH Quốc gia Tp Hồ Chí Minh Nội dung thực - Điều khiển giám sát thiết bị thông qua Internet - Thiết kế giao diện ứng dụng, Web Server - Thi công mạch mơ hình - Cân chỉnh hệ thống - Đánh giá kết thực i - Viết báo cáo - Báo cáo đề tài III NGÀY GIAO NHIỆM VỤ: 18/02/2019 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 30/06/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Đình Phú CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp.HCM, ngày 28 tháng năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Nguyễn Tri Phương Lớp: 14141DT1B MSSV: 14141238 Họ tên sinh viên 2: Võ Duy Tâm Lớp: 14141DT2C MSSV: 14141276 Tên đề tài: Thiết kế thi công mô hình điều khiển thiết bị điện Tuần/ngày Nội dung Tuần Gặp GVHD để trao đổi đề tài đồ án, tiến hành chọn đề tài (18/2 – 24/2) Tuần (25/2 – 3/3) Tuần (4/3 – 10/3) Tuần (11/3 – 17/3) Tuần (18/3 – 24/3) Tuần (25/3 – 31/3) Tuần (1/4 – 7/4) Xác nhận GVHD Tìm hiểu đề tài có liên quan Báo cáo hướng thực đề tài với GVHD Viết đề cương chi tiết, lịch trình thực Thiết kế sơ đồ khối, sơ đồ nguyên lý Lựa chọn linh kiện Tìm hiểu module Wifi ESP32 Báo cáo tiến độ cho GVHD Lập trình cho ESP32 điều khiển Led đơn Tìm hiểu hệ điều hành Android, Web Server iii Tuần (8/4 – 14/4) Tuần (15/4 – 21/4) Thiết kế ứng dụng, giao diện Web Lập trình ESP32 điều khiển thiết bị điện Báo cáo tiến độ cho GVHD Tuần 10, 11 (22/4 – 5/5) Tuần 12 (6/5 – 12/5) Tuần 13 (13/5 – 19/5) Tuần 14 (20/5 – 26/5) Tuần 15 (27/5 – 2/6) Tuần 16, 17 (3/6 – 16/6) Tổng hợp chương trình, giao tiếp module điều khiển, truyền nhận liệu qua Internet Tiến hành vẽ thi công mạch phần cứng Tiến hành vẽ thi công mạch phần cứng Thi công mơ hình Viết báo cáo Hồn thành mạch, mơ hình Kiểm tra hoạt động hệ thống Viết báo cáo Hoàn thiện báo cáo mơ hình GV HƯỚNG DẪN (Ký ghi rõ họ tên) iv LỜI CAM ĐOAN Chúng tơi xin cam kết khóa luận tốt nghiệp đề tài chúng tơi nghiên cứu thực Chúng dựa mà không chép từ tài liệu hay cơng trình thực trước Nếu có vi phạm nào, chúng tơi xin hồn tồn chịu trách nhiệm Người thực Nguyễn Tri Phương Võ Duy Tâm v LỜI CẢM ƠN Chúng em xin chân thành gửi lời cảm ơn sâu sắc đến Thầy Nguyễn Đình Phú Trong suốt trình thực đề tài này, Thầy người đồng hành chúng em với dẫn tận tình, lời góp ý nhận xét kinh nghiệm quý báu Thầy truyền đạt lại tạo điều kiện thuận lợi để chúng em hoàn thành tốt đề tài Chúng em xin cảm ơn đến Thầy, Cô khoa Điện – Điện tử giảng dạy cho chúng em kiến thức tảng để chúng em có tiền đề thực thiện đề tài Cảm ơn cha mẹ tạo điều kiện tốt nhất, động lực mạnh mẽ để hoàn thành khóa luận Xin chân thành cảm ơn Người thực Nguyễn Tri Phương Võ Duy Tâm vi MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii LỜI CAM ĐOAN .v LỜI CẢM ƠN vi MỤC LỤC vii LIỆT KÊ HÌNH xii LIỆT KÊ BẢNG .xv TÓM TẮT xvi Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ .1 1.2 MỤC TIÊU ĐỀ TÀI 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN .2 1.5 BỐ CỤC Chương 2: CƠ SỞ LÝ THUYẾT 2.1 SỬ DỤNG THIẾT BỊ ĐIỆN DÂN DỤNG 2.2 TỔNG QUAN VỀ INTERNET OF THINGS .4 2.2.1 Giới thiệu .4 2.2.2 Lịch sử hình thành .6 2.2.3 Ứng dụng IoT 2.3 CÔNG NGHỆ WIFI 10 2.3.1 Giới thiệu 10 2.3.2 Công nghệ truyền nhận liệu 10 2.3.3 Thành phần mạng Wifi .11 2.3.4 Cấu trúc liên kết 11 2.3.5 Hotspot 12 vii 2.3.6 Cách thức hoạt động 12 2.3.7 Giao tiếp Wifi 13 2.3.8 Ưu nhược điểm 14 2.3.9 Bảo mật 14 2.4 HỆ ĐIỀU HÀNH ANDROID .14 2.4.1 Giới thiệu 14 2.4.2 Lịch sử .15 2.4.3 Tính 15 2.4.4 Kiến trúc 16 2.4.5 Thành phần ứng dụng Android 17 2.4.6 Ưu nhược điểm 18 2.5 GIAO THỨC MQTT 19 2.5.1 Giới thiệu 19 2.5.2 Lịch sử .19 2.5.3 Thành phần MQTT .20 2.5.4 MQTT QoS 21 2.5.5 Broker IoT 21 2.5.6 Ưu điểm .22 2.5.7 Bảo mật 22 2.6 GIỚI THIỆU NODE – RED 22 2.6.1 Giới thiệu 22 2.6.2 Node – RED IoT 23 2.6.3 Tính 24 2.7 GIỚI THIỆU PHẦN CỨNG .25 2.7.1 Giới thiệu chip Wifi ESP32 .25 2.7.1.1 Tổng quan ESP32 25 2.7.1.2 Đặc điểm 27 viii CHƯƠNG KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ Chương KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ 5.1 GIỚI THIỆU Sau thời gian 17 tuần thực đề tài, qua trình nghiên cứu tìm hiểu nhóm học hỏi nhiều kiến thức mới, công nghệ Đồng thời áp dụng nhiều lý thuyết vào dự án thực tế 5.2 KẾT QUẢ ĐẠT ĐƯỢC Board ESP32-DevKitC mạch điều khiển hệ thống Nhóm biết cách ứng dụng chức tích hợp Wifi board để phát triển hệ thống điều khiển thiết bị từ xa Từ nắm chất điều khiển, để mở rộng cho ứng dụng IoT sau này, điều khiển hệ thống lớn Thơng qua đề tài nhóm biết cách điều khiển giám sát thiết bị qua Internet (Wifi) Đồng thời thiết kế giao diện Web, ứng dụng Android cho hệ thống điều khiển Tất lưu trữ dịch vụ lưu trữ Cloud MQTT Đề tài có sử dụng cảm biến đo nhiệt độ, độ ẩm, qua nhóm biết cấu tạo, nguyên lý hoạt động cách sử dụng cảm biến Cảm biến phổ biến, thích hợp cho việc giám sát nhiệt độ, độ ẩm hệ thống nhỏ 5.3 KẾT QUẢ THỰC NGHIỆM 5.3.1 Mơ hình Hình 5.1 Mơ hình hệ thống cấp nguồn 220VAC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 76 CHƯƠNG KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ 5.3.2 Điều khiển giám sát thiết bị, cảm biến qua Web Server • Điều khiển Giao diện hình điều khiển tất thiết bị tắt: Hình 5.2 Các thiết bị chưa bật hình điều khiển Giao diện hình điều khiển tất thiết bị bật: Hình 5.3 Các thiết bị bật hình điều khiển BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 77 CHƯƠNG KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ • Giám sát Hình 5.4 Nhiệt độ độ ẩm điều khiển hiển thị giao diện Web Hình 5.5 Trạng thái thiết bị giám sát Cloud MQTT BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 78 CHƯƠNG KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ 5.3.3 Điều khiển giám sát thiết bị, cảm biến qua ứng dụng Android Giao diện hình điều khiển thiết bị tắt, bật giá trị nhiệt độ, độ ẩm Hình 5.6 Giao diện ứng dụng Android thiết bị tắt, bật giá trị cảm biến Hình 5.7 Mơ hình bật thiết bị BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 79 CHƯƠNG KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ 5.4 NHẬN XÉT VÀ ĐÁNH GIÁ 5.4.1 Nhận xét Sau 17 tuần thực hiện, nhóm hoàn thành hệ thống đáp ứng yêu cầu ban đầu đặt ra, số nhận xét • Ưu điểm - Hệ thống hoạt động ổn định qua nhiều lần thử nghiệm - Đồng trạng thái điều khiển từ mơ hình hệ thống, ứng dụng Android, giao diện Web Server - Giám sát lịch sử điều khiển thiết bị - Giám sát nhiệt độ độ ẩm điều khiển - Tốc độ điều khiển tương đối nhanh - Giao diện điều khiển trực quan, đẹp mắt - Dễ dàng sử dụng, lắp đặt bảo dưỡng • Nhược điểm - Hệ thống phụ thuộc vào tốc độ mạng Wifi, ổn định Server Cloud MQTT - Chưa tích hợp nhiều tính thành hệ thống IoT hồn chỉnh 5.4.2 Đánh giá Trong q trình vận hành hệ thống, nhóm ghi nhận lại kết tổng hợp Bảng 5.1: Số liệu thực nghiệm Công việc Điều khiển thiết bị Số lần thao Số lần thành Thời gian đáp Đánh giá tác công ứng 50 48 – giây Đạt 50 48 – giây Đạt 50 48 – giây Đạt Ổn định Ổn định 10 giây Đạt qua ứng dụng Điều khiển thiết bị qua giao diện Web Cập nhật trạng thái thiết bị Giám sát cảm biến Đánh giá chung BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Đạt 80 CHƯƠNG KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ Qua số liệu thống kê bảng trên, nhóm đánh giá hệ thống đáp ứng mục tiêu đặt Hệ thống hoạt động ổn định sau nhiều lần chạy, kiểm tra thử nhiều trường hợp Mơ hình nhỏ gọn, thẩm mỹ, đảm bảo tính an tồn cao, dễ dàng lắp đặt sử dụng Nhưng để đưa hệ thống áp dụng vào thực tế nhóm cần phải hoàn thiện số phần sau: tăng tốc độ điều khiển phản hồi, tối ưu hóa mơ hình, thêm số chức như: giám sát nơi điều khiển, cảnh báo chống trộm, báo cháy, … BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 81 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Qua trình thực nhóm hồn thành đề tài đáp ứng yêu cầu ban đầu đặt 6.1.1 Ưu điểm - Mạch điều khiển nhỏ gọn, hoạt động ổn định, thời gian đáp ứng nhanh - Giao diện điều khiển giám sát dễ sử dụng, thân thiện người dùng - Có Server quản lý lưu trữ liệu - Mơ hình hệ thống có tính thẩm mỹ cao, độ xác, tính an tồn dễ dàng thao tác với người dùng - Phù hợp cho hệ thống điện phòng học, hộ gia đình 6.1.2 Khuyết điểm - Hộp mơ hình mang tính tượng trưng - Hệ thống phụ thuộc vào nguồn điện 220VAC, tốc độ truy cập mạng Internet - Sử dụng dịch vụ Server, nên hạn chế ổn định - Giới hạn thời gian, kiến thức nên hệ thống chưa tối ưu Nhìn chung hệ thống điều khiển hoạt động tốt 6.2 HƯỚNG PHÁT TRIỂN Hệ thống đáp ứng việc điều khiển thiết bị Trong q trình thực hiện, nhóm thấy đề tài phổ biến, có tính ứng dụng cao nhiều dự án thực tế Vì nhóm đưa số đề xuất nhằm cải tiến nâng cấp hệ thống: - Mở rộng số lượng công suất thiết bị điều khiển - Giám sát nơi điều khiển camera, cảnh báo chống trộm, báo cháy - Điều chỉnh độ sáng đèn, tốc độ quạt, nhiệt độ điều hòa, … - Thiết lập hệ thống điều khiển thiết bị tự động nhằm tối ưu hóa việc sử dụng tiết kiệm điện - Ứng dụng đề tài vào hệ thống thực tế BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 82 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO ❖ Sách tham khảo [1] Nguyễn Đình Phú, Giáo trình Vi điều khiển PIC, Nhà xuất ĐH Quốc gia Tp Hồ Chí Minh, 8/2016 [2] Nguyễn Đình Phú – Nguyễn Trường Duy, Giáo trình Kỹ thuật số, Nhà xuất ĐH Quốc gia Tp Hồ Chí Minh [3] Trần Thu Hà – Trương Thị Bích Ngà – Nguyễn Thị Lưỡng – Bùi Thị Tuyết Đan – Phù Thị Ngọc Hiếu – Dương Thị Cẩm Tú, Giáo trình Điện tử bản, Nhà xuất ĐH Quốc gia Tp Hồ Chí Minh ❖ Website tham khảo [1] stackoverflow.com [2] “Học IoT bản”, hocarm.org [3] Hệ thống giao tiếp với IoT, “Real Time Data Transfer for IoT with MQTT, Android and NodeMCU”, Medium.com, 11/2018 [4] Giao thức MQTT, “MQTT Protocol”, 1sheeld.com, 7/2018 [5] Giới thiệu Android, “Learn Android”, tutorialspoint.com/android [6] ESP32, “ESP32: Connecting to a WiFi network”, techtutorialsx.com, 4/2017 [7] Datasheet: ESP32: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pd f ESP32-WOOM-32: https://www.espressif.com/sites/default/files/documentation/esp32-wroom32_datasheet_en.pdf BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 83 PHỤ LỤC PHỤ LỤC SOURCE CODE Chương trình điều khiển Hàm main #include #include #include #include #include "InfoWifiMQTT.h" "configDHT.h" "configHardware.h" "configMQTT.h" unsigned long lastMillis = 0; void setup() { SetupHardware(); SetupMQTT(); SetupDHT(); } void loop() { ClientLoop(); // publish a message roughly every second if (millis() - lastMillis > 10000) { lastMillis = millis(); float temp = ReadTemp(); float humi = ReadHumi(); MQTTPublish(TOPIC_PUB_TEMP,String(temp)); MQTTPublish(TOPIC_PUB_HUMI,String(humi)); } } File Header //Cấu hình thơng tin thiết lập Server: #include #define NAME_WIFI_1 "NgocDiem" #define PASS_WIFI_1 "0979677439" BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 84 PHỤ LỤC #define NAME_WIFI_2 "Phuong's phuong" #define PASS_WIFI_2 "pianoviolin" #define NAME_WIFI_3 "Tam" #define PASS_WIFI_3 "123456" #define HOST_NAME "m12.cloudmqtt.com" #define PORT 19950 #define CLIENT_ID "calib" #define USER_NAME "njiexcgi" #define PASS_MQTT "t42k_aJXkDGY" #define #define #define #define TOPIC_SUB_LIGHT_1 TOPIC_SUB_LIGHT_2 TOPIC_SUB_LIGHT_3 TOPIC_SUB_LIGHT_4 "cmd1" "cmd2" "cmd3" "cmd4" #define #define #define #define TOPIC_PUB_LIGHT_1 TOPIC_PUB_LIGHT_2 TOPIC_PUB_LIGHT_3 TOPIC_PUB_LIGHT_4 "status1" "status2" "status3" "status4" #define TOPIC_PUB_STATUS_ON "on" #define TOPIC_PUB_STATUS_OFF "off" #define TOPIC_PUB_TEMP "temp" #define TOPIC_PUB_HUMI "humi" //Cấu hình MQTT: #include #include "InfoWifiMQTT.h" #include "configHardware.h" #include #include void void void void void void void void void void void CheckWifi(const char * NameWifi, const char * PassWifi); Connect(); PublishTopic(); SubscribeTopic(); OnAndOff(String payload,uint8_t light, String status); MakeAction(String topic, String payload); MakeAction(String topic, String payload); messageReceived(String &topic, String &payload); SetupMQTT(); ClientLoop(); MQTTPublish(String topic, String data); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 85 PHỤ LỤC //Cấu hình thiết bị: #include #define #define #define #define DEN1 DEN2 DEN3 DEN4 16 #define ON HIGH #define OFF LOW void SetupHardware(); void TurnOn(uint8_t light); void TurnOff(uint8_t light); //Cấu hình nhiệt độ, độ ẩm: #include #include "DHT.h" #define DHTPIN 15 #define DHTTYPE DHT11 void SetupDHT(); float ReadHumi(); float ReadTemp(); Chương trình //Cấu hình thiết lập thông tin Server: #include WiFiClient net; MQTTClient client; void CheckWifi(const char * NameWifi, const char * PassWifi) { int time = 0; while(WiFi.status() != WL_CONNECTED) { WiFi.begin(NameWifi, PassWifi); Serial.print("."); delay(1000); time++; if(WiFi.status() == WL_CONNECTED){ Serial.println(String("Connected ") + String(NameWifi)); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 86 PHỤ LỤC } if(time >=10){ return; } } } void Connect() { Serial.print("checking wifi "); while (WiFi.status() != WL_CONNECTED) { CheckWifi(NAME_WIFI_1,PASS_WIFI_1); CheckWifi(NAME_WIFI_2,PASS_WIFI_2); CheckWifi(NAME_WIFI_3,PASS_WIFI_3); } Serial.print("\nconnecting "); while (!client.connect(CLIENT_ID, USER_NAME, PASS_MQTT)) { Serial.print("."); delay(1000); } Serial.println("\nconnected!"); } void PublishTopic() { client.publish(TOPIC_PUB_LIGHT_1,TOPIC_PUB_STATUS_OFF); client.publish(TOPIC_PUB_LIGHT_2,TOPIC_PUB_STATUS_OFF); client.publish(TOPIC_PUB_LIGHT_3,TOPIC_PUB_STATUS_OFF); client.publish(TOPIC_PUB_LIGHT_4,TOPIC_PUB_STATUS_OFF); } void SubscribeTopic() { client.subscribe(TOPIC_SUB_LIGHT_1); client.subscribe(TOPIC_SUB_LIGHT_2); client.subscribe(TOPIC_SUB_LIGHT_3); client.subscribe(TOPIC_SUB_LIGHT_4); } void OnAndOff(String payload,uint8_t light, String status) { if(payload.compareTo(TOPIC_PUB_STATUS_ON) == 0) { TurnOn(light); client.publish(status,TOPIC_PUB_STATUS_ON); } else if(payload.compareTo(TOPIC_PUB_STATUS_OFF) == 0) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 87 PHỤ LỤC TurnOff(light); client.publish(status,TOPIC_PUB_STATUS_OFF); } } void MakeAction(String topic, String payload) { if(topic.compareTo(TOPIC_SUB_LIGHT_1) == 0) { OnAndOff(payload,DEN1,TOPIC_PUB_LIGHT_1); } else if(topic.compareTo(TOPIC_SUB_LIGHT_2) == 0) { OnAndOff(payload,DEN2,TOPIC_PUB_LIGHT_2); } else if(topic.compareTo(TOPIC_SUB_LIGHT_3) == 0) { OnAndOff(payload,DEN3,TOPIC_PUB_LIGHT_3); } else if (topic.compareTo(TOPIC_SUB_LIGHT_4) == 0) { OnAndOff(payload,DEN4,TOPIC_PUB_LIGHT_4); } } void messageReceived(String &topic, String &payload) { Serial.println("incoming: " + topic + " - " + payload); MakeAction(topic,payload); } void SetupMQTT() { WiFi.begin(NAME_WIFI_1, PASS_WIFI_1); client.begin(HOST_NAME,PORT, net); client.onMessage(messageReceived); Connect(); PublishTopic(); SubscribeTopic(); } void ClientLoop() { client.loop(); delay(10); //

Ngày đăng: 08/01/2020, 16:14

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w