(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT(Đồ án tốt nghiệp) Thiết kế và thi công mô hình hệ thống quản lý nhà yến sử dụng công nghệ IOT
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN CNKT ĐIỆN TỬ – CÔNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH HỆ THỐNG QUẢN LÝ NHÀ YẾN SỬ DỤNG CÔNG NGHỆ IOT Giảng viên hướng dẫn : Ts Trần Vũ Hoàng Sinh viên thực : Trần Đức Trọng MSSV : 16141313 Sinh viên thực : Phạm Văn Thuận MSSV : 15141293 TP HỒ CHÍ MINH – 20/07/2020 LỜI CAM ĐOAN Chúng tơi cam đoan đề tài đồ án tốt nghiệp thực hướng dẫn TS Trần Vũ Hồng, có tham khảo số tài liệu liên quan không chép từ tài liệu hay cơng trình trước đó, nội dung kết đề tài đồ án tốt nghiệp hoàn toàn trung thực Nếu có gian lận nào, chúng tơi xin chịu trách nhiệm hồn tồn nội dung đề tài Người thực đề tài Trần Đức Trọng v Phạm Văn Thuận LỜI CẢM ƠN Lời đầu tiên, chúng em xin gửi lời cảm ơn chân thành tới Thầy/Cô trường Đại học Sư phạm Kỹ thuật TPHCM nói chung Thầy/Cơ khoa Điện – Điện tử nói riêng dạy dỗ, truyền đạt cho chúng em kiến thức vô giá môn đại cương lẫn kiến thức chuyên ngành Những năm tháng đại học qua thật nhanh chúng em, buổi thực hành hướng dẫn tận tình Thầy/Cơ giúp chúng em có kiến thức vững vàng để hoàn thành đề tài nghiệp sau Lời tiếp theo, chúng em xin phép gửi đến Thầy Trần Vũ Hoàng lòng biết ơn lời cảm ơn chân thành sâu sắc Thầy giúp nhóm vạch hướng hướng dẫn cụ thể yêu cầu đề tài, tận tình giúp đỡ, hướng dẫn tạo điều kiện tốt suốt thời gian hoàn thành Đồ Án Tốt Nghiệp Cuối cùng, nhóm em xin cảm ơn đến gia đình bạn bè lời cảm ơn, biết ơn chân thành Trong suốt trình học trường, gia đình bạn bè người ln quan tâm, giúp đỡ động viên để chúng em hồn thành tốt chương trình học nói chung Đồ Án Tốt Nghiệp nói riêng Mặc dù cố gắng hoàn thành mục tiêu đặt kiến thức cịn hạn chế nên q trình thực đồ án tránh sai sót, mong đóng góp chỉnh sửa từ Thầy/Cơ để nhóm hồn thiện đồ án tốt Nhóm em xin chân thành cảm ơn! Người thực đề tài Trần Đức Trọng vi Phạm Văn Thuận MỤC LỤC LỜI CAM ĐOAN v LỜI CẢM ƠN vi MỤC LỤC vii LIỆT KÊ HÌNH VẼ xi LIỆT KÊ BẢNG xiii TÓM TẮT xiv Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC Chương CƠ SỞ LÝ THUYẾT 2.1 KỸ THUẬT NUÔI CHIM YẾN 2.1.1 Đặc điểm, tập tính sinh sống chim yến 2.1.2 Các điều kiện đáp ứng để nuôi yến 2.2 GIỚI THIỆU VỀ PHẦN CỨNG 2.2.1 Cảm biến cường độ sáng BH1750 2.2.1.1 Tổng quan 2.2.2 Cảm biến nhiệt độ, độ ẩm DHT11 2.2.3 Cảm biến thời gian thực DS1307 2.2.3.1 Tổng quan 2.2.4 Arduino Mega 2560 vii MỤC LỤC 2.2.5 Module ESP8266 11 2.2.5.1 Tổng quan 11 2.2.6 Màn hình LCD 20x4 12 2.2.7 Mạch chuyển đổi I2C cho LCD 14 2.2.8 Động servo MG995 15 2.2.9 Các thiết bị ngoại vi 15 2.2.9.4 Máy sưởi 17 2.2.10 Relay SRD12VDC 17 2.3 GIỚI THIỆU ỨNG DỤNG TRÊN ĐIỆN THOẠI 18 3.1 ĐIỀU KHIỂN, GIÁM SÁT MƠ HÌNH NHÀ YẾN BẰNG ĐIỆN THOẠI 18 2.3.2 BẬT TẮT THIẾT BỊ NGOẠI VI THÔNG QUA TRỢ LÝ ẢO GOOGLE 2.3.2.1 Tổng quan Google Asisstant 19 2.4 GIỚI THIỆU VỀ WEBSITE 20 Chương TÍNH TỐN VÀ THIẾT KẾ 21 3.1 YÊU CẦU THIẾT KẾ 21 3.2 SƠ ĐỒ KHỐI VÀ CHỨC NĂNG 22 3.2.1 Sơ đồ khối 22 3.2.2 Nguyên lý hoạt động chức khối 23 3.3 TÍNH TỐN VÀ THIẾT KẾ MẠCH 23 3.3.1 Khối cảm biến 23 3.3.2 Khối thời gian thực 27 3.3.3 Khối xử lí trung tâm kết nối internet, kết nối điện thoại 29 3.3.4 Khối hiển thị 32 3.3.5 Khối điều khiển thiết bị ngoại vi 33 3.3.6 Khối nguồn 34 3.4 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH vii 36 i MỤC LỤC Chương 4: THI CÔNG HỆ THỐNG 38 4.1 THI CÔNG MẠCH 38 4.1.1 Mạch in PCB 38 4.1.2 Thi công bo mạch 39 4.1.3 Lắp ráp linh kiện kiểm tra 39 4.2 THI CƠNG MƠ HÌNH NHÀ YẾN 40 4.3 LƯU ĐỒ GIẢI THUẬT 41 4.4 PHẦN MỀM THỰC HIỆN 47 4.4.1 Phần mềm thiết kế mạch 47 4.4.2 Phần mềm lập trình Arduino 47 4.4.3 Phần mềm lập trình website 47 Chương 5: KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ 49 5.1 KẾT QUẢ THỰC HIỆN 49 5.2 KẾT QUẢ ĐỐI VỚI HỆ THỐNG CHẠY CHẾ ĐỘ TỰ ĐỘNG 49 5.3 KẾT QUẢ ĐỐI VỚI HỆ THỐNG CHẠY CHẾ ĐỘ BẰNG TAY 52 5.3.1 Hệ thống sưởi ấm 52 5.3.2 Hệ thống quạt thơng gió 52 5.3.3 Hệ thống phun sương 53 5.3.4 Hệ thống ánh sáng 54 5.3.5 Hệ thống loa 54 5.3.6 Hệ thống nút nhấn 55 5.4 MÔ HÌNH HỆ THỐNG 55 5.4.1 Giao diện mơ hình hệ thống ứng dụng điện thoại 55 5.4.2 Hiển thị hình LCD board mạch 57 5.4.3 Giao diện mơ hình hệ thống thơng qua Website 57 5.4.4 Cơ sỡ liệu 58 ix MỤC LỤC 5.5 ƯU ĐIỂM, NHƯỢC ĐIỂM 61 5.5.1 Ưu điểm 61 5.5.2 Nhược điểm 61 Chương 6: KẾT LUẬN, HƯỚNG PHÁT TRIỂN 62 6.1 KẾT LUẬN 62 6.2 HƯỚNG PHÁT TRIỂN 62 TÀI LIỆU THAM KHẢO 63 PHỤ LỤC 64 x LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1 Cảm biến ánh sáng BH1750 Hình 2.2 Sơ đồ chân cảm biến BH1750 Hình 2.3 Cảm biến nhiệt độ, độ ẩm DHT11 Hình 2.4 Sơ đồ chân cảm biến DHT11 Hình 2.5 Module thời gian thực DS1307 Hình 2.6 Sơ đồ chân module DS1307 Hình 2.7 Các loại board mạch Arduino 10 Hình 2.8 Arduino Mega 2560 10 Hình 2.9 Module thu phát wifi Esp8266 11 Hình 2.10 Sơ đồ chân module Esp8266 12 Hình 2.11 LCD 2004 12 Hình 2.12 Sơ đồ chân LCD 20x4 13 Hình 2.13 Mạch chuyển đổi I2C 14 Hình 2.14 Sơ đồ chân mạch chuyển đổi I2C 14 Hình 2.15 Động servo MG995 15 Hình 2.16 Quạt tản nhiệt 12V 15 Hình 2.17 Mạch loa 16 Hình 2.18 Mạch phun sương 16 Hình 2.19 Máy sưởi 17 Hình 2.20 Relay SRD 12VDC 17 Hình 2.21 Hình ảnh giao diện app blynk 18 Hình 2.22 Liên kết điều khiển thiết bị google assistant 19 Hình 3.1 Sơ đồ khối toàn mạch 22 Hình 3.2 Sơ đồ nguyên lí khối nhiệt độ 25 Hình3 Sơ đồ nguyên lí khối cảm biến ánh sáng 27 Hình 3.4 Sơ đồ nguyên lí khối thời gian thực 28 Hình 3.5 Sơ đồ nguyên lí khối xử lí trung tâm kết nối internet 31 Hình 3.6 Khối hiển thị 33 Hình Khối điều khiển thiết bị ngoại vi 34 Hình 3.8 Khối nguồn 36 xi Hình 3.9 Sơ đồ nguyên lí hệ thống thiết kế phần mềm proteus 36 Hình 3.10 Sơ đồ nguyên lí thiết kế phần mềm fritzing [8] 37 Hình 4.1 Sơ đồ mạch in 38 Hình 4.2 Bo mạch rửa mạch phủ nhựa thông 39 Hình 4.3 Mạch thực tế sau hàn lắp ráp linh kiện 40 Hình 4.4 Tổng quan mơ hình 40 Hình 4.5 Mơ hình bên 41 Hình 4.6 Lưu đồ giải thuật hệ thống 42 Hình 4.7 Lưu đồ giải thuật chế độ điều khiển tay 43 Hình 4.8 Lưu đồ giải thuật chế độ điều khiển tự động 44 Hình 4.9 Lưu đồ giải thuật chương trình truyền nhận UART Website 45 Hình 4.10 Lưu đồ giải thuật chương trình truyền nhận UART server Blynk 46 Hình 5.1 Biểu đồ nhiệt độ, độ ẩm chạy chế độ tự động lần 50 Hình 5.2 Biểu đồ nhiệt độ, độ ẩm chạy chế độ tự động lần 51 Hình 5.3 Biểu đồ nhiệt độ, độ ẩm hệ thống sưởi làm việc 52 Hình 5.4 Biểu đồ nhiệt độ, độ ẩm hệ thống quạt tản nhiệt làm việc 53 Hình 5.5 Biểu đồ nhiệt độ, độ ẩm hệ thống phun sương làm việc 54 Hình 5.6 Giao diện Blynk hệ thống 55 Hình 5.7 Giao diện điều khiển giọng nói với Google Assistant 56 Hình 5.8 Hiển thị LCD 57 Hình 5.9 Giao diện trang chủ 57 Hình 5.10 Giao diện trang điều khiển 58 Hình 5.11 Mơ hình hoàn thiện mặt 60 Hình 5.12 Mơ hình hồn thiện mặt 60 xii LIỆT KÊ BẢNG Bảng Trang Bảng 1.1 Các thông số kĩ thuật nhiệt độ độ ẩm nhà nuôi yến Bảng 3.1 Thông số kĩ thuật ưu nhược điểm cảm biến nhiệt độ, độ ẩm 24 Bảng 3.2 Thông số kĩ thuật ưu nhược điểm cảm biến ánh sáng 26 Bảng 3.3 Thông số kĩ thuật ưu nhược điểm module thời gian thực 28 Bảng 3.4 Thông số kĩ thuật ưu nhược điểm ESP 29 Bảng 3.5 Thông số kĩ thuật ưu nhược điểm board Arduino 30 Bảng 3.6 Thông số kĩ thuật ưu nhược điểm loại LCD 32 Bảng 3.7 Bảng tiêu thụ dòng linh kiện, module mạch 35 Bảng 5.1 Bảng điều khiển thông số bật tắt tự động 49 Bảng 5.2 Thông số nhiệt độ, độ ẩm chạy chế độ tự động lần 50 Bảng 5.3 Thông số nhiệt độ, độ ẩm chạy chế độ tự động lần 51 Bảng 5.4 Thông số nhiệt độ, độ ẩm hệ thống sưởi hoạt động 52 Bảng 5.5 Thông số nhiệt độ, độ ẩm quạt thơng gió hoạt động 53 Bảng 5.6 Thông số nhiệt độ, độ ẩm hệ thống phun sương hoạt động 53 Bảng 5.7 Các mức điều chỉnh ánh sáng chế độ tay 54 Bảng 5.8 Thời gian đáp ứng nút nhấn 55 Bảng 5.9 Cấu trúc liệu 58 Bảng 5.10 Dữ liệu database 59 xiii Chương KẾT LUẬN, HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN, HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau thời gian thực đề tài “Thiết kế thi công hệ thống quản lý nhà yến sử dụng cơng nghệ IoT”, nhóm thực học hỏi nhiều kiến thức trau dồi nhiều kinh nghiệm Bên cạnh cịn thực hành, nghiên cứu thiết kế mạch điều khiển, thiết kế website để áp dụng vào thực tế giúp ích nhiều cho người ni chim yến Kết đạt nhóm với mục tiêu đề ban đầu Nhóm thiết kế thành cơng hệ thống quản lý nhà yến có chức đo nhiệt độ, độ ẩm, cường độ ánh sang Thiết bị có chế độ điều khiển bao gồm chế độ điều khiển tự động chế độ điều khiển tay Với chế độ tự động thiết bị tự điều chỉnh thơng số đáp ứng điều kiện sống lí tưởng chim Bên cạnh người dùng tự điều khiển tùy chỉnh thông số tay Dữ liệu thông số nhiệt độ, độ ẩm gửi lên website qua ứng dụng điện thoại để người dùng dễ dàng nắm bắt Đánh giá hệ thống hoạt động ổn định, khơng bị treo Bên cạnh có hình hiển thị trực quan giúp cho việc sử dụng theo dõi trình hoạt động thuận tiện Website giao diện thân thiện đơn giản dễ sử dụng Các thông số thời gian, nhiệt độ, độ ẩm, ánh sáng ln cập nhật nhanh xác Có thể điều khiển thiết bị đâu điện thoại laptop cần thiết bị có kết nối internet Qua q trình thực nhóm tìm hiểu sâu mảng thiết kế website viết trang điều khiển, giao diện website sở liệu Tìm hiểu ngôn ngữ thiết kế website HTML, PHP, SQL, CSS 6.2 HƯỚNG PHÁT TRIỂN Từ đề tài hoàn thành, phát triển mở rộng khả hoạt động mơ sau: - Thêm cảm biến nhận diện số lượng chim bay vào khoảng thời gian gọi đàn Qua xác định xác tổng số chim nhà yến - Sử dụng kết hợp với camera giám sát gửi liệu lên website giúp người dùng xem từ xa - Kết hợp thêm cảm biến hồng ngoại để nhận diện cảnh báo yếu tố tác động đến mô hình nhà yến BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 62 TÀI LIỆU THAM KHẢO Tài liệu online [1] Lê Cúc, “Thực trạng tiềm nghề nuôi yến”, tên Web Báo Quân đội Nhân Dân online, 2019 [2] “Kĩ thuật nuôi chim yến sử dụng công nghệ Malaysia”, tên Web vuayen.vn, 2016 [3] “Nuôi yến nhà: yếu tố giúp bạn thành công”, tên Web Farmvina.com, 2015 [4] Thạc sỹ Lê Hữu Hoàng, “Một số đặc điểm sinh học chim yến nhà Khánh Hòa”, tên Web Nongnghiep.vn, 2013 [5] “Arduino Mega 2560”, tên Web Arduinokit.vn [6] Trung Ngo, “Đồng điều khiển tay từ xa sử dụng ứng dụng Blynk”, tên Web Tapit.vn, 2018 [7] “Điều khiển thiết bị giọng nói thơng qua Google Assistant Tiếng Viết sử dụng ESP8266, Blynk IFTTT”, tên Web Arduinokit.vn, 2019 [8] “Phần mềm vẽ mạch trực quan Fritzing”, tên Web Chosangtao.com, 2020 [9] Phạm Như Sang, Huỳnh Lê Công Tú, “Thiết kế thi cơng mơ hình nhà ni chim yến điều khiển giám sát từ xa, tên Web slideshare.net Sách tham khảo [10] Nguyễn Đình Phú, “Giáo trình vi xử lý II”, NXB ĐH Quốc Gia Tp.HCM, 2007 [11] Nguyễn Đình Phú, Nguyễn Trường Duy, “Giáo Trình: Kỹ Thuật Số, Xuất ĐH Quốc Gia”, Tp.HCM, 2013 [12] TS Phan Văn Ca – Ths Trương Quang Phúc, “Giáo trình Cơ sở ứng dụng Internet Of Things”, Đại Học Quốc Gia TP Hồ Chí Minh, Tp.HCM, 2017 BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 PHỤ LỤC Chương trình cho nút nhấn tay if (digitalRead(btn_quat) == LOW) { lastMsg = millis(); while (1) { lastMsg = millis(); if (digitalRead(btn_quat) == HIGH) { bien_quat++; if (bien_quat % == 1) { Serial.println(">>Btn ON quat"); digitalWrite(rl_quat, LOW); trangthai_quat = 1; lastMsg = millis(); break; } else { Serial.println(">>Btn OFF quat"); digitalWrite(rl_quat, HIGH); trangthai_quat = 0; lastMsg = millis(); break; } } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 Chương trình cho nút nhấn blynk BLYNK_WRITE(V2) { int btn2 = param.asInt(); if (chedo == 1) { if (btn2 == 1) { mySerial.println("V2A1B"); Serial.println("V2A1B"); } if (btn2 == 0) { mySerial.println("V2A0B"); Serial.println("V2A0B"); } } } Chương trình so sánh bật tắt thiết bị void Sosanh() { if (nhietdo >= 31 && nhietdo = 70 && doam = && gio = 17 && gio = 70 && doam 85 ) { //ON quạt ,ON suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, LOW); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 1; trangthai_phunsuong = 0; } if (nhietdo >= 31 && nhietdo = 31 && nhietdo 85 ) { //ON quạt ,ON suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, LOW); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 1; trangthai_phunsuong = 0; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 if (nhietdo > 34 && doam < 70 ) { //ON quạt ,OFF suoi ,ON phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, HIGH); digitalWrite(rl_phunsuong, LOW); trangthai_quat = 1; trangthai_suoi = 0; trangthai_phunsuong = 1; } if (nhietdo > 34 && doam >= 70 && doam 34 && doam > 85) { //ON quạt , OFF suoi ,OFF phunsuong digitalWrite(rl_quat, LOW); digitalWrite(rl_suoi, HIGH); digitalWrite(rl_phunsuong, HIGH); trangthai_quat = 1; trangthai_suoi = 0; trangthai_phunsuong = 0; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 Chương trình truyền liệu ESP8266 void SendEsp() { bien++; biensend = 1; DataSendEsp = ""; DataSendEsp = A + chedo + B + nhietdo + C + doam + D + dolux + E + trangthai_loa + F + trangthai_quat + G + trangthai_suoi + H + trangthai_phunsuong + J + trangthai_servo + K + mucservo + L; // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] //G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L Serial.print(bien); Serial.print(".DataSendEsp = "); Serial.println(DataSendEsp); Serial1.println(DataSendEsp); Serial1.flush(); delay(100); Serial2.println(DataSendEsp); Serial2.flush(); delay(100); biensend = 0; } Chương trình truyền nhận UART ESP8266 với blynk void Read_Uart() { while (mySerial.available()) { char inChar = (char)mySerial.read(); inputString += inChar; if (inChar == '\n') { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 stringComplete = true; } if (stringComplete) { bien++; Serial.print(bien); Serial.print(".Data Mega = "); Serial.println(inputString); // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] //G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L int TimA, TimB, TimC, TimD, TimE , TimF , TimG , TimH , TimJ , TimK , TimL = -1; TimA = inputString.indexOf("A"); TimB = inputString.indexOf("B"); TimC = inputString.indexOf("C"); TimD = inputString.indexOf("D"); TimE = inputString.indexOf("E"); TimF = inputString.indexOf("F"); TimG = inputString.indexOf("G"); TimH = inputString.indexOf("H"); TimJ = inputString.indexOf("J"); TimK = inputString.indexOf("K"); TimL = inputString.indexOf("L"); if (TimA >= && TimD >= && TimH >= && TimL >= ) { String ChuoiA, ChuoiB, ChuoiC, ChuoiD, ChuoiE , ChuoiF , ChuoiG , ChuoiH , ChuoiJ , ChuoiK = ""; ChuoiA = inputString.substring(TimA + , TimB ); ChuoiB = inputString.substring(TimB + , TimC ); ChuoiC = inputString.substring(TimC + , TimD ); ChuoiD = inputString.substring(TimD + , TimE ); ChuoiE = inputString.substring(TimE + , TimF ); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 ChuoiF = inputString.substring(TimF + , TimG ); ChuoiG = inputString.substring(TimG + , TimH ); ChuoiH = inputString.substring(TimH + , TimJ ); ChuoiJ = inputString.substring(TimJ + , TimK ); ChuoiK = inputString.substring(TimK + , TimL ); // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] // G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L chedo = ChuoiA.toInt(); // tin hieu V0 auto / man Blynk.virtualWrite(V0, ChuoiA); // tin hieu V1 Loa Blynk.virtualWrite(V1, ChuoiE); // tin hieu V2 Quat Blynk.virtualWrite(V2, ChuoiF); // tin hieu V3 Sưởi Blynk.virtualWrite(V3, ChuoiG); // tin hieu V4 Phun sương Blynk.virtualWrite(V4, ChuoiH); // tin hieu V5 Servo Blynk.virtualWrite(V5, ChuoiJ); // tin hieu V6 ánh sáng Blynk.virtualWrite(V6, ChuoiD); // tin hieu V7 nhiệt độ Blynk.virtualWrite(V7, ChuoiB); // tin hieu V8 độ ẩm Blynk.virtualWrite(V8, ChuoiC); // tin hieu servo Blynk.virtualWrite(V10, ChuoiK);// trang thai servo } inputString = ""; stringComplete = false; } } } Chương trình truyền nhận UART với web void Read_Uart() { while (mySerial.available()) { char inChar = (char)mySerial.read(); inputString += inChar; if (inChar == '\n') BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71 { stringComplete = true; } if (stringComplete) { dem++; Serial.print(dem); Serial.print(".Data Mega = "); Serial.println(inputString); int TimA , TimB , TimC , TimD , TimE , TimF, TimG , TimH , TimJ , TimK , TimL = -1; TimA = inputString.indexOf("A"); TimB = inputString.indexOf("B"); TimC = inputString.indexOf("C"); TimD = inputString.indexOf("D"); TimE = inputString.indexOf("E"); TimF = inputString.indexOf("F"); TimG = inputString.indexOf("G"); TimH = inputString.indexOf("H"); TimJ = inputString.indexOf("J"); TimK = inputString.indexOf("K"); TimL = inputString.indexOf("L"); if (TimA >= && TimF >= && TimL >= ) { // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] // G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L String ChuoiA, ChuoiB, ChuoiC , ChuoiD, ChuoiE, ChuoiF, ChuoiG , ChuoiH , ChuoiJ , ChuoiK = ""; ChuoiA = inputString.substring(TimA + , TimB); ChuoiB = inputString.substring(TimB + , TimC); ChuoiC = inputString.substring(TimC + , TimD); ChuoiD = inputString.substring(TimD + , TimE); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72 ChuoiE = inputString.substring(TimE + , TimF); ChuoiF = inputString.substring(TimF + , TimG); ChuoiG = inputString.substring(TimG + , TimH); ChuoiH = inputString.substring(TimH + , TimJ); ChuoiJ = inputString.substring(TimJ + , TimK); ChuoiK = inputString.substring(TimK + , TimL); // A[chedo]B[nhiệt độ]C[độ ẩm]D[độ lux]E[trạng thái loa]F[trạng thái quạt] // G[trạng thái sưởi]H[trạng thái phun sương]J[trạng thái servo]K[mức servo]L chedo = ChuoiA.toInt(); nhietdo = ChuoiB.toInt(); doam = ChuoiC.toInt(); dolux = ChuoiD.toInt(); trangthai_loa = ChuoiE.toInt(); trangthai_quat = ChuoiF.toInt(); trangthai_suoi = ChuoiG.toInt(); trangthai_phunsuong = ChuoiH.toInt(); trangthai_servo = ChuoiJ.toInt(); mucservo = ChuoiK.toInt(); ChuoiGhep = A + chedo + B + nhietdo + C + doam + D + dolux + E + trangthai_loa + F + trangthai_quat + G + trangthai_suoi + H + trangthai_phunsuong + J + trangthai_servo + K + mucservo + L; for (byte len = 1; len