Thiết kế hệ điều khiển thống điều khiển thiết bị điện trong nhà thông qua mạng Internet bằng Module WiFi ESP8266

44 14 0
Thiết kế hệ điều khiển thống điều khiển thiết bị điện trong nhà thông qua mạng Internet bằng Module WiFi ESP8266

Đ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

Thiết kế hệ điều khiển thống điều khiển thiết bị điện trong nhà thông qua mạng Internet bằng Module WiFi ESP8266, Xây dựng sơ đồ khối và lựa chọn thiết bị, Thiết kế sơ đồ nguyên lý, sơ đồ lắp đặt, Xây dựng thuật toán điều khiển, viết chương trình

Bộ mơn: Đo lường điều khiển BỘ CƠNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI Khoa Điện CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập -Tự - Hạnh phúc PHIẾU GIAO ĐỒ ÁN MÔN HỌC Mơn học: Đồ án học phần (DSP, BAS) Nhóm : ………… ……………… Lớp : … … Khoá : …… Khoa : …… .Điện…… I NỘI DUNG ĐỀ TÀI: “Thiết kế hệ điều khiển thống điều khiển thiết bị điện nhà thông qua mạng Internet Module WiFi ESP8266” II YÊU CẦU + Về bố cục nội dung: 1- Tổng quan dạng toán điều khiển thường gặp hệ thống tự động hóa tịa nhà 1.1 Khảo sát số dạng toán điều khiển thường gặp thực tiễn 1.2 Tìm hiểu số cấu trúc điều khiển 1.3 Lựa chọn cấu trúc điều khiển toán điều khiển giám sát gắn với thực tiễn 2- Phân tích, thiết kế hệ thống 2.1 Xây dựng sơ đồ khối lựa chọn thiết bị 2.2 Thiết kế sơ đồ nguyên lý, sơ đồ lắp đặt 2.3 Xây dựng thuật toán điều khiển, viết chương trình 3- Kết mơ phỏng/thực nghiệm +Về thời gian thực hiện: Ngày giao đề : 25/8/2017 Ngày hoàn thành : 24/10/2017 Chó ý: Việc chia nhóm theo danh sách đính kèm Ngồi nội dung hướng dẫn lớp sinh viên có câu hỏi, thắc mắc tr×nh làm tập lớn gửi địa chỉ: huybv.ac@gmail.com Trước bảo vệ tập lớn sinh viên phải nộp: File mềm gồm file trình bày tập lớn file mô Quyển in khổ giấy A4, in hai mặt Trưởng môn Phạm Văn Hùng Hà nội ngày 25 /08/2017 Giáo viên hướng dẫn TS Bùi Văn Huy Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI -_-KHOA ĐIỆN-_- ĐỒ ÁN HỌC PHẦN ĐỀ TÀI: THIẾT KẾ HỆ ĐIỀU KHIỂN THỐNG ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG NHÀ THÔNG QUA MẠNG INTERNET BẰNG MODULE WIFI ESP8266 Giáo viên hướng dẫn: Bùi Văn Huy Sinh viên thực hiện: Nguyễn Văn Nhật Nguyễn Thị Nga Nguyễn Sỹ Tuấn Lương Văn Cử Nguyễn Đình Tùng Hà Nội – 2017 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện Mục lục Contents CHƯƠNG 1:TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN 1.1 Khảo sát hệ thống thực tiễn 1.2 Tìm hiểu số cấu trúc điều khiển 1.2.1 Điều khiển thiết bị thông qua mạng Internet 1.2.2 Điều khiển thiết bị thông qua module sim 1.2.3 Điều khiển thiết bị Bluetooth thông qua Smatphone 1.3 Lựa chọn cấu trúc điều khiển CHƯƠNG 2:PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Xây dựng sơ đồ khối lựa chọn thiết bị 2.1.1 Xây dựng sơ đồ khối 2.1.2 Lựa chọn thiết bị 10 2.1.2.1.Arduino………………………………………………………………9 2.1.2.1 ESP8266………………………………………………………… 12 2.1.2.2 Cảm biến nhiêt đô, độ ẩm………………………………………….16 2.1.2.3 Cảm biến cường độ sáng………………………………………… 22 2.2 Giao tiếp Arduino Module ESP8266 Node MCU 28 2.2.1 Tìm hiểu UART 28 2.2.2 Giao tiếp UART Arduino ESP8266 31 2.3 Xây dựng giao diện web điều khiển Esp8266 32 2.3.1 Tìm hiểu HTML/CSS 32 2.4 Xây dựng mạch phần cứng 34 2.4.1 Sơ đồ nguyên lý 34 2.4.2 Sơ đồ lắp đặt 35 CHƯƠNG 3:XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN VÀ VIẾT CHƯƠNG TRÌNH ……………………………………………………………………… 36 3.1 Thuật tốn điều khiển 36 3.2 Chương trình 36 3.3 Code Arduino 36 3.4 Code ESP8266 38 CHƯƠNG 4:KẾT QUẢ MÔ PHỎNG VÀ THỰC NGHIỆM 43 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện 4.1 Kết 43 4.2 Thực nghiệm 43 4.3 Giao diện điều khiển Smartphone 44 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN 1.1 Khảo sát hệ thống thực tiễn - Công nghệ kĩ thuật ngày phát triển kéo theo việc ứng dụng chúng vào thực tiễn sống Nhiệt độ, ánh sáng nhân tố quan trọng môi trường hoạt động, làm việc cịn người Do đó, việc ứng dụng để xây dựng hệ thống điều khiển, giám sát nhiệt độ, ánh sáng ( hay cụ thể cường độ ánh sáng ) điều cần thiết - Đối với sản xuất vậy, nhân tố có vai trị đặc biệt quan trọng chí khơng thể thiếu nhiều ngành cơng nghiệp: khí xác, điện tử,…Các ngành công nghiệp nhẹ: dệt may, thuốc lá, giấy,…để đảm bảo chất lượng cao cho sản phẩm đảm bảo máy móc, thiết bị làm việc bình thường - Tính cấp thiết phải tạo hệ thống điều khiển điều hòa: Trên giới, hệ thống quản lý lượng tiêu thụ nhà sở công nghiệp nghiên cứu phát triển phục vụ cho việc vận hành phù hợp, tiết kiệm lượng Dữ liệu vận hành, nhu cầu sử dụng theo thời gian thu thập phân tích để từ đưa định tắt bật thiết bị sử dụng lượng cách hợp lý Đối với q trình xây dựng phụ tải thơng minh nói riêng quản lý nhu cầu điện nói chung, hệ thống quản lý lượng tương tác với thị trường điện để đảm bảo vận hành tối ưu, mà đề xuất thời điểm, thời gian sử dụng để mua điện với giá thành rẻ Đối với quan hành nghiệp giới nói chung, đặc biệt quốc gia phát triển việc sử dụng điện tiết kiệm, hiệu bền vững coi trọng tâm cho phát triển Và đương nhiên hệ thống điều hòa nằm yêu cầu mục tiêu quản lý tiết kiệm lượng Như ta thấy việc xây dựng hệ thống nhiệt độ, ánh sáng tòa nhà lớn có cơng suất lớn, mà u cầu tiêu thụ lượng với lớn Thực tế cho thấy chi phí đầu tư cho thực tiết kiệm điện rẻ so với phương án đầu tư vào hệ thống cung cấp điện mới, mà hệ thống điều hòa Các thiết bị sử dụng công nghệ tiết kiệm điện ngày có xu hướng rẻ giá thành điện lại có chiều hướng ngược lại Điều mang lại ưu lớn cho thiết bị tiết kiệm lượng thời điểm tương lai Do xây dựng hệ thống điều khiển nhiệt độ, cường độ sáng có ý nghĩa lớn Nó giúp giảm nhu cầu tài lên quan quản lý tòa nhà, quan lớn trường Đại học, khu chung cư cao tầng,…ngoài áp dụng phạm vi rộng, phổ biến cịn mang ý nghĩ lớn vấn đề lượng khu vực quốc gia Hơn nữa, thiết bị sử dụng đồng hiệu giúp nâng cao tuổi thọ hệ thống Đó hệ thống khơng cần phải luôn trạng thái làm việc tối đa công suất mà tùy theo yêu cầu sử dụng, động nghĩa với việc hệ Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện thống khả xảy tải, có thời gian nghỉ ngơi, chạy công suất cho phép Đồng thời dễ dàng vận hành, sửa chữa, bảo dưỡng so với thiết bị riêng lẻ nhiều Tuy nhiên, vấn đề thiết kế hệ thống quản lý lượng cần phải tính đến tương tác thiết bị sử dụng lượng điện (điều hồ trung tâm, thơng gió học…) vấn đề tiện nghi người dùng (nhiệt, độ ẩm, tốc độ gió…), có xét đến ảnh hưởng điều kiện thời tiết bên Hiện nay, hệ thống quản lý lượng đời chủ yếu phục vụ mục tiêu giám sát quản lý hệ thống thiết bị cung cấp hãng sản xuất thiết bị đó, thiếu tính kết nối đồng với số thiết bị sử dụng lượng hãng khác sản xuất dẫn đến khó khăn việc vận hành tiết kiệm tối ưu toàn hệ thống lượng Chính vậy, xu hướng nghiên cứu thiết kế hệ thống với chuẩn giao tiếp mở hướng tới kết nối ổn định, không giới hạn thiết bị sử dụng lượng 1.2 Tìm hiểu số cấu trúc điều khiển Từ ý nghĩa to lớn mà hệ thống mang lại, cần tiến hành xây dựng, thiết kế hệ thống 1.2.1 Điều khiển thiết bị thông qua mạng Internet Như biết gần thiết bị đời sống gia đình ngày hoạt động độc lập với nhau, thiết bị cố quy trình sử dụng khác tùy thuộc vào thiết lập, cài đặt người sử dụng Chúng chưa có liên kết mặt liệu Do đó, cần có phương thức để kết nối chúng lại với nhau, phương thức qua mạng Internet phương thức phổ biết Hình Module Internet ESP8266 Điển hình hệ thống điều khiển thiết bị nhà từ xa thông qua mạng Internet gồm có thiết bị đơn giản bóng đèn, quạt máy, lị sưởi đến thiết bị tinh vi, phức tạp tivi, máy giặt, hệ thống báo động … Nó hoạt động ngơi nhà thông minh Nghĩa tất thiết bị giao tiếp với mặt liệu thông qua đầu não trung tâm Đầu não trung tâm máy vi tính hồn chỉnh xử lí lập trình sẵn tất chương trình điều khiển Bình thường, thiết bị ngồi nhà điều khiển từ xa thơng qua mạng Internet chủ nhà Chẳng hạn Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện việc tắt quạt, đèn điện … người chủ nhà quên chưa tắt trước khỏi nhà Hay với thao tác kích, người chủ nhà bật máy điều hòa để làm mát phòng trước nhà khoảng thời gian định Bên cạnh gửi thơng báo cho người điều khiển biết nhiệt độ phòng bao nhiêu, đồng thời phát tín hiệu cảnh báo nhiệt độ phịng vượt giới hạn cho phép 1.2.2 Điều khiển thiết bị thông qua module sim Những dự án xây dựng hệ thống điều khiển từ xa, gửi nhận liệu thu thập từ cảm biến nơi khơng có internet sử dụng sóng điện thoại giải pháp chi phí rẻ, bất chấp khoảng cách độ ổn định cao Với Modul sim 900A ( hay 800A ) kết hợp với mạch xử lý arduino uno mega bạn làm nhiều hệ thống tương đối tốt ứng dụng vào thực tế định vị, hệ thống điều khiển thiết bị từ xa qua điện thoại, sms makerting, Hình Module sim 900A 1.2.3 Điều khiển thiết bị Bluetooth thông qua Smatphone Hiện điện thoại thông minh ngày phổ biến, hệ điều hành Android xây dựng phát triển liên tục với chia sẻ mã nguồn mở, việc sử dụng Smatphone để điều khiển thông minh qua thiết bị xu hướng Bluetooth công nghệ phát triển từ lâu cải tiến để nâng cao tốc độ khả bảo mật Việc ứng dụng công nghệ Bluetooth phổ biến nhiều thiết bị, điều khiển qua hệ điều hành Android giúp tận dụng thiết bị sử dụng hệ điều hành Android có sẵn người dùng giúp tiện lợi giảm giá thành sản phẩm Hình Sơ đồ khối việc điều khiển thiết bị qua Bluetooth Android Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện Phương thức dễ dàng sử dụng với vi điều khiển Arduino module bluetooth HC05 Hình Module bluetooth HC05 Module bluetooth HC05 master / slave dùng để thiết lập kết nối Serial thiết bị sóng bluetooth Điểm đặc biệt module bluetooth HC-05 module hoạt động chế độ: MASTER SLAVE Trong đó, bluetooth module HC-06 hoạt động chế độ SLAVE + Ở chê độ SLAVE: bạn cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để dị tìm module sau pair với mã PIN 1234 Sau pair thành công, bạn có cổng serial từ xa hoạt động baud rate 9600 + Ở chế độ MASTER: module tự động dị tìm thiết bị bluetooth khác (1 module bluetooth HC-06, usb bluetooth, bluetooth laptop ) tiến hành pair chủ động mà khơng cần thiết lập từ máy tính smartphone 1.3 Lựa chọn cấu trúc điều khiển Từ cấu trúc điều khiển nhóm chúng em địn lụa chọn phương án điều khiển thiết bị thông qua Wifi sử dụng module ESP8266 Đối với phương án thiết bị kết nối với Internet điều khiển chúng thơng qua thiết bị truy cập Internet sử dụng smartphone, laptop, ipad… Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 2.1 Xây dựng sơ đồ khối lựa chọn thiết bị 2.1.1 Xây dựng sơ đồ khối Hình 5: Sơ đồ khối thành phần hệ thống • Các thành phần hệ thống: - Socket Server nằm tầng cao gọi tầng Server - ESP8266 Trình duyệt Web nằm tầng thứ gọi Client - Arduino tầng thứ gọi Application - Các thiết bị điện cảm biến tầng cuối • Nhiệm vụ khối hệ thống: - Xây dựng Socket Server cà cài đặt ESP8266 trở thành Socket Client địa điểm nhà từ đó, xây dựng nên hệ thống IOT - Các tín hiệu từ cảm biến nhiệt độ, cường độ sáng đo Arduino gửi liệu tới module ESP8266 - Khối ESP8266 làm nhiệm vụ đọc liệu từ Arduino gửi lên Socket Server, Web Web truy cập trình duyệt máy tính điện thoại, người dùng cập nhật thơng số nhiệt độ, cường độ sáng phòng Web từ đưa định điều khiển thiết bị điện phịng bóng đèn, quạt để phù hợp với nhu cầu sử dụng Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện - Nếu có tín hiệu điều khiển người sử dụng điều chỉnh Web, tín hiệu ESP8266 cập nhật gửi tới Arduino để điều khiển - Cuối cùng, Arduino có nhiệm vụ đóng, cắt thiết bị tùy theo yêu cầu người sử dụng 2.1.2 Lựa chọn thiết bị 2.1.2.1 Arduino - Arduino IDE tich hợp sẵn editor, compiler, programmer va kèm với firmware có bootloader, cac thư viện xay dựng sẵn va dễ dàng tích hợp - Ngôn ngữ sử dụng la C/C++ Tất opensource va đóng góp, phát triển hàng ngày cộng đồng Triết lý thiết kế sử dụng Arduino giúp cho người mới, không chuyên dễ tiếp cận, cơng ty, hardware dễ dàng tích hợp Tuy nhiên, với trình biên dịch C/C++ thư viện chất lượng xây dựng bên mức độ phổ biến ngày tăng hiệu thi khơng thua kem cac trình biên dịch chun nghiệp cho chip khác - Đại diện cho Arduino ban đầu la chip AVR, sau co nhiều nha sản xuất sử dụng chip khác ARM, PIC, STM32 gần ESP8266, ESP32, RISCV với lực phần cứng phần mềm kèm mạnh mẽ nhiều - Arduino che dấu phức tạp điện tử khái niệm đơn giản, che phức tạp phần mềm thủ tục ngắn gọn Việc setup output cho MCU cách setup ghi rõ ràng phức tạp đến độ người chuyên phải lật datasheet xem, với Arduino cần gọi hàm - Bởi tinh phổ biến dễ dùng, với thư viện tích hợp sẵn Bạn cần quan tam đến tính sản phẩm mà bỏ qua cac tiểu tiết (protocol, datasheet …) Nên giúp newbie không chuyên dễ dàng tiếp cận làm sản phẩm tuyệt vời mà không cần phải biết nhiều điện tử - Chinh khơng quan tâm nhiều đến cách thức hoạt động Module kèm, nên đa phần người dùng khó xử lý có vấn đề phat sinh ngồi tầm thư viện - Các module prototype làm sẵn cho Arduino có độ bền khơng cao, mục tiêu đơn giản hóa q trình làm sản phẩm - Thiết kế IDE tốt, dễ dàng tích hợp nhiều loại compiler, nhiều loại hardware mà không giảm hiệu Vi dụ: Arduino gốc cho AVR, có nhiều phiên cho STM32, PIC32, ESP8266, ESP32… tận dụng tối đa thư viện sẵn có - Các thư viện viết dựa lớp API cùng, nên đa số cac thư viện cho Arduino co thể dùng cho tất chip Điển hình Arduino cho ESP8266 tận dụng 90% cac thư viện cho Arduino khác 10 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ mơn: Đo lường điều khiển Khoa Điện Hình 19: Truyền bit theo phương pháp song song nối tiếp Một han chế dễ nhận thấy truyền nối tiếp so với song song tốc độ truyền độ xác liệu truyền nhận Vì liệu cần chia nhỏ thành bit truyền nhận nên tốc độ giảm Mặt khác để đảm bảo độ xác liệu cần có “thỏa hiệp” hay tiêu chuẩn định Khái niệm “đồng bộ” để “báo trước” q trình truyền Lấy ví dụ thiết bị truyền kết nối với thiết bị nhận Cứ lần thiết bị truyền muốn gửi bit liệu, thiết bị truyền điều khiển xung nhịp từ mức thấp lên mức cao báo cho thiết bị nhận sẵn sàng nhận bit Bằng cách báo trước tránh rủi ro qáu trình truyền Tuy nhiên cách truyền đòi hỏi hai hai đường truyền cho q trình Khác với truyền thơng đồng truyền thông không đồng cần đường truyền cho q trình Khung liệu chuẩn hóa thiết bị nên không cần đường xung nhịp báo liệu đến Vì truyề thơng nối tiếp khơng đồng boojj hiệu qur so với truyền đồng bộ, nhiên cần phải tuân thủ tiêu chuẩn truyền ❖ Baudrate: Để truywwnf thành cơng thiết bị tham gia phải thống với khoang thời gian cho bit truyền hay nối cách khác tốc độ phải thống với Theo định nghĩa tốc độ baud số bit truyền giây Ví dụ tốc độ truyền 9600 có nghĩa 1s truyền 9600 bit ❖ Frame (khung truyền): truyền thông nối tiếp mà nối tiếp không đồng dễ sai lệch liệu, q trình truyền thơng theo kiểu phải tn theo số quy cách định Bên cạnh tốc độ baud, khung truyền yếu tốc quan trọng tạo nên thành công truyền nhận Khung truyền bao gồm quy định số bit lần truyền, bit “báo” bit Start bit Stop, bit kiểm tra Parity, số lượng bit data quy định khung truyền Hình ví dụ khung truyền theo UART, khung truyền bắt đầu start bit, bit data, sau bit parity dùng kiểm tra liệu cuối bits stop ❖ Start bit: start bit truyền frame truyền, bit có chức báo cho thiết bị nhận biết có gói liệu truyền tới Ở module USART AVR, đường truyền trạng thái cao 30 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện nghỉ (Idle), chip AVR muốn thực việc truyền liệu gởi bit start cách “kéo” đường truyền xuống mức Như vậy, với AVR bit start mang giá trị có giá trị điện áp 0V (với chuẩn RS232 giá trị điện áp bit start ngược lại) start bit bắt buộc phải có khung truyền ❖ Data: data hay liệu cần truyền thơng tin mà cần gởi nhận Data không thiết phải gói bit, với AVR bạn quy định số lượng bit data 5, 6, 7, (tương tự cho hầu hết thiết bị hỗ trợ UART khác) Trong truyền thông nối tiếp UART, bit có ảnh hưởng nhỏ (LSB – Least Significant Bit, bit bên phải) data truyền trước cuối bit có ảnh hưởng lớn (MSB – Most Significant Bit, bit bên trái) ❖ Parity bit: parity bit dùng kiểm tra liệu truyền khơng (một cách tương đối) Có loại parity parity chẵn (even parity) parity lẻ (odd parity) Parity chẵn nghĩa số lượng số liệu bao gồm bit parity số chẵn Ngược lại tổng số lượng số parity lẻ ln số lẻ Ví dụ, liệu bạn 10111011 nhị phân, có tất số liệu này, parity chẵn dùng, bit parity mang giá trị để đảm bảo tổng số số chẵn (6 số 1) Nếu parity lẻ yêu cầu giá trị parity bit Hình mơ tả ví dụ với parity chẵn sử dụng Parity bit khơng phải bit bắt buộc loại bit khỏi khung truyền (các ví dụ tơi khơng dùng bit parity) ❖ Stop bits: stop bits bit báo cho thiết bị nhận gói liệu gởi xong Sau nhận stop bits, thiết bị nhận tiến hành kiểm tra khung truyền để đảm bảo tính xác liệu Stop bits bits bắt buộc xuất khung truyền 2.2.1.2 Giao tiếp UART Arduino Có thể nói Serial phương thức giao tiếp đơn giản mơi trường Serial Vì bạn cần dây cách thức truyền liệu lại giống hệt stream ngơn ngữ lập trình Nhưng thật đáng tiết, Arduino Uno có cổng Serial phần cứng hỗ trợ sẵn (Mega 3) Vì vậy, bạn muốn giao tiếp với nhiều module Serial chuyện khơng thể Và lý thư viện Software Serial đời Chúng ta cần khai báo hai chân để đóng vai trị chân TX RX 2.2.2 Giao tiếp UART Arduino ESP8266 Ta coi ESP8266 Arduino thứ sử dụng Software Serial Arduino để giao tiếp Ta tạo cổng mySerial sử dụng cổng giao tiếp Muốn gửi số ta cần sử dụng câu lệnh mySerial.print đọc sử dụng câu lệnh mySerial.readString() 31 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện 2.3 Xây dựng giao diện web điều khiển Esp8266 2.3.1 Tìm hiểu HTML/CSS 2.3.1.1 Khái niệm HTML/CSS nói khởi đầu tất vấn đề liên quan tới web, dù bạn người làm nghành nào, miễn có đụng tới quản trị web phải biết qua hai Nếu bạn có ý định học lập trình web lại nên thành thạo hai này, bạn blogger chuyên viết nên nắm HTML từ viết tắt HyperText Markup Language, nghĩa ngôn ngữ đánh dấu siêu văn Hypertext (siêu văn bản): đoạn text có chứa link đến nguồn thông tin khác (như đoạn văn khác, địa website, hình ảnh, âm thanh…) Ngôn ngữ đánh dấu cầu nối giao tiếp người dùng trình duyệt, giúp trình duyệt hiểu cách thức hiển thị trang web Khi trình duyệt đọc thấy kí tự A, đơn hiển thị A, khơng thể biết bạn muốn tô đậm, in nghiêng, hay màu mè hoa Chính lúc đấy, bạn cần HTML, thông qua việc sử dụng thẻ HTML Thẻ HTML định nghĩa cặp từ khóa nằm dấu < dấu >, báo cho trình duyệt biết cách thức hiển thị đoạn kí tự bên thẻ HTML 2.3.1.2 Cấu trúc html Cấu trúc HTML đơn giản logic, với bố cục từ xuống dưới, từ trái qua phải, với phần HEAD BODY Các website viết HTML tuân theo cấu trúc sau: Mọi trang HTML phải khai báo DOCTYPE (định nghĩa chuẩn văn bản) từ dịng Thẻ cho trình duyệt biết mở đầu kết thúc trang HTML Thẻ chứa tiêu đề thông tin khai báo, thông tin ẩn khác Thẻ hiển thị nội dung trang web Đây phần thông tin mà người dùng nhìn thấy trình duyệt đọc mã HTML Mọi kí tự nằm dấu xem thẻ comment bị trình duyệt bỏ qua, không xử lý không hiển thị Đây thẻ đánh dấu tiêu đề trang web Đây dòng chữ in đậm Đây dòng chữ in nghiêng 32 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện 2.3.1.3 Các tag HTML Đề mục: Có loại đề mục tất với mức độ nhấn mạnh giảm dần từ đến Tiêu đề viết Phần 1 Chương 1.1 Tiểu mục 1.1.1 Đề mục 1.1.1.1 Đề mục 1.1.1.1.1 Định dạng Text: Tô đậm In nghiêng Tô đậm theo chuẩn web ngữ nghĩa In nghiêm theo chuẩn web ngữ nghĩa Phân đoạn:

Đoạn văn bản

Xuống dịng với Danh sách: có loại danh sách có đánh số thứ tự
    danh sách không đánh số thứ tự
      Bên thẻ danh sách này, phần tử đánh dấu với thẻ
      1. Phần tử 1
      2. Phần tử 2
      33 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện
      • Phần tử 1
      • Phần tử 2
      Liên kết: Đây liên kết Liên kết mở cửa sổ mới Ảnh: 2.3.1.4 CSS CSS từ viết tắt Cascade Style Sheet, ngôn ngữ giúp trình duyệt hiểu thiết lập định dạng bố cục cho trang web CSS cho phép bạn điều khiển thiết kế nhiều thành phần HTML với vùng chọn CSS Điều giúp giảm thiểu thời gian thiết kế chỉnh sửa, bạn tách biệt cấu trúc (HTML) định dạng (CSS) CSS cho phép bạn đưa thông tin định nghĩa thẻ thông qua nhiều đường khác Style quy định thẻ HTML, quy định trang web file CSS bên 2.3.1.5 Cú pháp CSS Cú pháp CSS bao gồm phần: vùng chọn (selector), thuộc tính (property) giá trị (value) VÙNG-CHỌN { Thuộc-tính-1: giá-trị-1; Thuộc-tính-2: giá-trị-2; } Vùng chọn: cách xác định thẻ HTML dựa cấu trúc phân cấp HTML Vùng chọn tạo nên dựa nhiều yếu tố định danh (id), tên lớp (class), quan hệ cha – – hậu duệ… Thuộc tính: yếu tố bạn muốn thay đổi thẻ HTML thuộc vùng chọn Giá trị: thuộc tính yêu cầu giá trị khác Đó từ khóa định sẵn (none, block), tên màu hay mã màu (black, white, #000, #FFFFFF), hay giá trị kích thước tính px, em, rem, % 2.4 Xây dựng mạch phần cứng 2.4.1 Sơ đồ nguyên lý 34 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ mơn: Đo lường điều khiển Khoa Điện Hình 20: Sơ đồ nguyên lý 2.4.2 Sơ đồ lắp đặt Hình 21: Hình ảnh thực tế 35 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển CHƯƠNG 3: Khoa Điện XÂY DỰNG THUẬT TỐN ĐIỀU KHIỂN VÀ VIẾT CHƯƠNG TRÌNH 3.1 Thuật tốn điều khiển Hình 22: Thuật tốn *Ngun lý : Dữ liệu từ cảm biến nhiệt độ, độ ẩm DHT11 cảm biến cường độ ánh sáng BH1750, sau gửi thông tin liệu nhiệt độ, độ ẩm, cường độ ánh sáng tới ESP8266 Module wifi ESP8266 có nhiệm vụ đưa tồn thơng tin lên Webserver để hiển thị, thông báo cho người sử dụng Từ giao điện Web, người sử dụng tác động để điều khiển thiết bị bóng đèn, quạt để phù hợp yêu cầu sử dụng Yêu cầu Module ESP8266 nhận gửi Arduino Arduino đọc yêu cầu điều khiển thiết bị điện thông qua relay trung gian 3.2 Chương trình 3.3 Code Arduino /* * Bài tập lớn môn ĐỒ ÁN HỌC PHẦN * GVHD: TS.Bùi Văn Huy * Đề tài: Thiết kế hệ thống giám sát nhiệt độ độ ẩm cường độ sáng điều khiển dền, quạt thông qua Wifi * SV thực hiện: Nguyễn Văn Nhật 36 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện * Nguyễn Sỹ Tuấn * Nguyễn Đình Tùng * Nguyễn Thị Nga * Lương Văn Cử */ //include libraries #include #include "DHT.h" #include //Thư viện hỗ trợ giao tiếp Software Serial #define DHTPIN 11 //chân data DHT11 #define DHTTYPE DHT11 // Loại cảm biến const int TX = 5; //chân TX giao tiếp Serial const int RX = 6; //chân RX giao tiếp Serial const int LED1 = 2; //Khai báo đèn tích cực mức thấp const int LED2 = 3; //Khai báo đèn tích cực mức thấp const int Quat = 4; //Khai báo quạt tích cực mức thấp String InputString = ""; unsigned long h,t,light_; //Biến lưu giá trị nhiệt độ, độ ẩm SoftwareSerial mySerial(RX,TX); //mở cổng giao tiếp Serial DHT dht(DHTPIN, DHTTYPE); BH1750 mySensor; void setup() { // put your setup code here, to run once: mySensor begin(); pinMode(LED1,OUTPUT); //Khai báo chân LED1 OUTPUT digitalWrite(LED1, HIGH); pinMode(LED2,OUTPUT); //Khai báo chân LED2 OUTPUT digitalWrite(LED2, HIGH); pinMode(Quat,OUTPUT); //Khai báo chân Quat OUTPUT digitalWrite(Quat, HIGH); pinMode(12, OUTPUT); digitalWrite(12, HIGH); //Cấp nguồn cho DHT11 pinMode(10, OUTPUT); digitalWrite(10, LOW); //Cấp GND cho DHT11 mySerial.begin(9600); //Khởi động mySerial Serial.begin(9600); //Khởi động Serial dht.begin(); //Khởi động cảm biến } void loop() { // put your main code here, to run repeatedly: ReadDHT11(); //Đọc liệu từ DHT11; ReadfromESP8266(); //Đọc liệu từ ESP8266 37 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển light_ = mySensor.read_data(); unsigned long a = t*1000000+h*10000+light_; mySerial.println(a); } void ReadDHT11(){ h = dht.readHumidity(); t = dht.readTemperature(); delay(1000); } Khoa Điện //Giá trị gửi sang ESP8266 //Đọc độ ẩm //Đọc nhiệt độ void ReadfromESP8266(){ if(mySerial.available()){ while (mySerial.available()){ InputString = mySerial.readString(); Serial.println( InputString); } int input = InputString.toInt(); int den1 = input/100; int den2 = (input%100)/10; int fan = input%10; if(den1==1){ digitalWrite(LED1,HIGH); } else{ digitalWrite(LED1,LOW); } if(den2==1){ digitalWrite(LED2,HIGH); } else{ digitalWrite(LED2,LOW); } if(fan==1){ digitalWrite(Quat,HIGH); } else{ digitalWrite(Quat,LOW); } } } 3.4 Code ESP8266 #include < ESP8266WiFi.h> 38 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển #include < SoftwareSerial.h> const int RX = D5; const int TX = D6; const char* ssid = "Tenda"; const char* password = ""; WiFiServer server(80); SoftwareSerial mySerial(RX,TX); //RX,TX //variables String InputString = ""; unsigned long temp,humi,light_; int den1,den2,quat; int status_; void setup() { Serial.begin(9600); mySerial.begin(9600); delay(10); // Connect to WiFi network Serial.print("Connecting to "); Serial.println(ssid); Khoa Điện WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } server.begin(); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop() { //Đọc trạng thái từ arduino gửi lên ReadArduino(); // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } while(!client.available()){ 39 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển delay(1); } String request = client.readStringUntil('\r'); client.flush(); Khoa Điện // // Match the request if (request.indexOf("/ON") != -1) { den1 = den2 = quat = 1; status_ = den1*100+den2*10+quat; SendtoArduino(status_); } if (request.indexOf("/OFF") != -1) { den1 = den2 = quat = 0; status_ = den1*100+den2*10+quat; SendtoArduino(status_); } if (request.indexOf("/batden1") != -1) { den1 = 1; status_ = den1*100+den2*10+quat; SendtoArduino(status_); } if (request.indexOf("/tatden1") != -1) { den1 = 0; status_ = den1*100+den2*10+quat; SendtoArduino(status_); } if (request.indexOf("/batden2") != -1) { den2 = 1; status_ = den1*100+den2*10+quat; SendtoArduino(status_); } if (request.indexOf("/tatden2") != -1) { den2 = 0; status_ = den1*100+den2*10+quat; SendtoArduino(status_); } if (request.indexOf("/batquat") != -1) { quat = 1; status_ = den1*100+den2*10+quat; SendtoArduino(status_); } if (request.indexOf("/tatquat") != -1) { 40 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện quat = 0; status_ = den1*100+den2*10+quat; SendtoArduino(status_); } client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // not forget this one client.println(""); client.println(""); client.println(""); client.println(""); client.println("ESP8266"); client.println(""); client.println(""); client.println(" h1{color: red; font-size: 40px;}"); client.println(" h2{color: blue; font-size: 30px;}"); client.println(" h3{color: green; font-size: 30px;}"); client.println(" h4{color: orange; font-size: 30px;}"); client.println(" h5{color: yellow; font-size: 30px;}"); client.println(""); client.println(""); client.println("CONTROL DEVICE BY WIFI"); client.println(""); client.println(""); client.println(""); client.println("body{font-size: 24px;} voffset {margin-top: 30px;}"); client.println(""); client.println(""); client.println("CURRENT STATE OF ENVIROMENT"); client.println(""); client.println(""); client.println(""); client.println("Temperature: " + String(temp) + ""); client.println("Humidity: " + String(humi) + ""); client.println("Light intensity: " + String(light_) + ""); client.println(""); client.println(""); client.println(""); 41 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện client.println("State of turn on"); client.println(""); client.println(""); client.println("DEN 1"); client.println("DEN 3"); client.println("ALL"); client.println("DEN 2"); client.println("QUAT"); client.println(""); client.println(""); delay(1); Serial.println("Client disonnected"); Serial.println(""); } void Send_Status(){ mySerial.print(status_); } void ReadArduino(){ if(mySerial.available()){ while (mySerial.available()){ InputString = mySerial.readString(); Serial.println( InputString); } 42 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển unsigned long input = InputString.toInt(); temp = input/1000000; humi = (input-temp*1000000)/10000; light_ = input-temp*1000000-humi*10000; } } Khoa Điện void SendtoArduino(int trangthai){ Serial.println(trangthai); mySerial.print(trangthai); } CHƯƠNG 4: KẾT QUẢ MÔ PHỎNG VÀ THỰC NGHIỆM 4.1 Kết - Arduino đọc thành công liệu nhiệt độ, độ ẩm cường độ ánh sáng từ cảm biến - Hai module Arduino ESP8266 giao tiếp truyền liệu cho - Tạo giao diện điều khiển cho người sử dụng, đơn giản, dễ sử dụng - Người dùng điều khiển thiết bị trực tiếp qua giao diện Web 4.2 Thực nghiệm • Hình ảnh thực tế: 43 Đồ án học phần GVHD: Ts Bùi Văn Huy Bộ môn: Đo lường điều khiển Khoa Điện Hình 22: Hình ảnh thực tế 4.3 Giao diện điều khiển Smartphone Hình 23: Giao diện điều khiển Smartphone 44 Đồ án học phần GVHD: Ts Bùi Văn Huy ... lường điều khiển Khoa Điện TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI -_-KHOA ĐIỆN-_- ĐỒ ÁN HỌC PHẦN ĐỀ TÀI: THIẾT KẾ HỆ ĐIỀU KHIỂN THỐNG ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG NHÀ THÔNG QUA MẠNG INTERNET BẰNG MODULE. .. trúc điều khiển nhóm chúng em địn lụa chọn phương án điều khiển thiết bị thông qua Wifi sử dụng module ESP8266 Đối với phương án thiết bị kết nối với Internet điều khiển chúng thông qua thiết bị. .. khiển thiết bị thông qua mạng Internet 1.2.2 Điều khiển thiết bị thông qua module sim 1.2.3 Điều khiển thiết bị Bluetooth thông qua Smatphone 1.3 Lựa chọn cấu trúc điều khiển

Ngày đăng: 05/01/2023, 21:57

Tài liệu cùng người dùng

Tài liệu liên quan