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

Thiết kế chế tạo hệ đo nhiệt độ độ ẩm hiển thị lên web server

92 139 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

TRƯỜNG ĐẠI HỌC VINH KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP Đề tài: THIẾT KẾ CHẾ TẠO HỆ ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM HIỂ THỊ LÊN WEB SERVER Sinh viên thực hiện: HỒ XUÂN TÙNG Lớp: 52K- ĐTVT Giảng viên hướng dẫn: ThS NGUYỄN PHÚC NGỌC NGHỆ AN, 05/2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Hồ Xuân Tùng Mã số sinh viên: 1151080448 Ngành: Kỹ sư kỹ thuật điện tử truyền thơng Khố: 52K108 Giảng viên hướng dẫn : Th.S Nguyễn Phúc Ngọc Cán phản biện : Th.S Phạm Mạnh Toàn Nội dung thiết kế tốt nghiệp: “Thiết kế chế tạo hệ đo nhiệt độ - độ ẩm hiển thị lên web server“ Nhận xét cán phản biện: Nghệ An.Ngày tháng năm 2016 Cán phản biện ( Ký, ghi rõ họ tên ) LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, em nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Em xin gửi lời cảm ơn chân thành đến Th.S Nguyễn Phúc Ngọc, giảng viên Bộ môn kỹ thuật điện tử, khoa điện tử viễn thông trường Đại học Vinh người tận tình hướng dẫn, bảo em suốt trình làm hoàn thiện đề tài Em xin chân thành cảm ơn thầy cô giáo trường Đại học Vinh nói chung, thầy Khoa điện tử viễn thơng nói riêng dạy dỗ cho em kiến thức môn đại cương môn chuyên ngành, giúp em có sở lý thuyết vững vàng tạo điều kiện giúp đỡ em suốt trình học tập Cuối cùng, em xin chân thành cảm ơn gia đình bạn bè, ln tạo điều kiện, quan tâm, giúp đỡ, động viên em suốt q trình học tập hồn thành đồ án tốt nghiệp TP Vinh, ngày tháng năm 2016 Sinh viên thực Hồ Xuân Tùng i TÓM TẮT ĐỀ TÀI Trong đồ án tiến hành thiết kế chế tạo hệ đo nhiệt độ độ ẩm hiển thị lên LCD web server, thông qua web server điều khiển thiết bị ngoại vi thiết kế mạch Trên khối thiết bị ngoại vi thiết kế chng có tác dụng báo động nhiệt độ vượt mức thiết lập khối đo nhiệt độ va khối thiết bị ngoại vi giao tiếp với module wifi đặt khối Đề tài thiết kế sử dụng vi điều khiển PIC làm vi xử lý trung tâm dùng module wifi ESP 8266 để thiết lập đường truyền ABSTRACT In this thesis , I design a temperature and humidity measurement system which will be displayed on LCD screen and the web server, through web server we will control peripheral devices on the circuit On the peripheral blocks, an alarm system will be created to arlert everytime temperature exceeds the setup level Temperature measuremen block and peripheral block communicate with each other through wifi modules placed on blocks The designed circuit uses PIC micro controllers as the Central Processing Unit and two ESP 8266 wifi modules to setup wifi connection ii DANH MỤC CÁC TỪ VIẾT VIẾT TẮT A Access Point Điểm truy cập AES Advanced Encryption Standard Tiêu chuẩn mã hóa tiên tiến ALU Arithmetic Logic Unit Khối số học logic A/D Analog /Digital Bộ chuyển đổi tương tự - số Bipolar Junction Transistors Transistors lưỡng cực CCK Complimentary code keying Mã hóa bổ sung CCS PIC C Compiler Trình biên soạn PIC AP B BJT C CCMP Counter Cipher Mode with Block Giao thức an ninh AES sử dụng Chaining Message Authentication Code Protocol) E EEPROM EPROM Electrically Erasable Programmable Một chip nhớ không bay Read-Only Memory Electrically Programmable Only Memory Read- Bộ nhớ đọc ROM G General Purpose Input Output Chân đầu vào đầu chức IOT Internet of thing Mạng lưới thiết bị kết nối Internet wifi IEEE Institute of Electrical and Electronics Viện kỹ nghệ Điện Điện tử Engineers ISM Industrial, Scientific and Medical Công nghiệp, khoa học y tế Medium Access Control Điều khiển truy nhập môi trường Negative temperature coefficient Hệ số nhiệt âm GPIOs I M MAC N NTC iii NIC Card giao tiếp mạng Network Interface Card O OFDM Orthogonal multiplexing frequency-division Kỹ thuật ghép kênh phân chia theo tần số trực gia P PLLs Phase Locked Loop Hệ thống kiểm sốt khép kín PWM Pulse Width Modulation Điều chỉnh điện áp tải Program Counter Bộ đếm chương trình PC U USART USB Universal Asynchronous Receiver – Kiểu truyền thông tin nối tiếp không Transmitter đồng Universal Serial Bus Chuẩn kết nối có dây máy tính RAM Random Access Memory Bộ nhớ khả biến(Ghi đọc) RTD Resitance temperature detector Nhiệt điện trở kim loại ROM Read only memory rom Bộ nhớ đọc RISC Reduced Instructions Set Computer Máy tính với tập lệnh đơn giản hóa SPI Serial Peripheral Interface Giao diện ngoại vi nối tiếp SFR Special Function Register Thanh ghi đặc biệt TCP Transmission Control Protocol Giao thức điều khiển truyền vận TKIP Temporal Key Integrity Protocol Giao thức tồn vẹn khố thời gian WPA WiFi Protected Access Mã bảo vệ wifi WEP Wired Equivalent Privacy Mã bảo vệ hệ wifi Wifi Wireless Fidelity Mạng không dâywifi WPAN Wireless Personal Area Network Mạng không dây cá nhân WLAN Wireless Local Area Network Mạng không dây địa phương WWAN Wireless Wide Area Network Mạng không dây điện rộng R S T W iv MỤC LỤC LỜI CẢM ƠN i TÓM TẮT ĐỀ TÀI ii DANH MỤC CÁC TỪ VIẾT VIẾT TẮT iii MỤC LỤC v PHỤ LỤC HÌNH vii PHỤ LỤC BẢNG ix LỜI NÓI ĐẦU x Chương I TỔNG QUAN VỀ KHÔNG DÂY VÀ CẢM BIẾN 1.1 Mạng không dây 1.1.1 Lịch sử phát triển 1.1.2 Các loại mạng không dây 1.1.3 Mạng WLAN 1.1.4 Wifi (Wireless Fidelity) 1.2 Bộ cảm biến 1.2.1 Khái niệm 1.2.2 Đặc trưng cảm biến 1.2.3 Phân loại cảm biến 1.1.4 Cảm biến đo nhiệt độ 1.2.5 Cảm biến đo độ ẩm 12 1.2.6 Cảm biến thông minh 12 Chương II PHẦN CỨNG VÀ PHẦN MỀM 15 2.1.1 Tổng quan PIC 15 2.1.2 Các dòng PIC cách lựa chọn 15 2.1.3 Vi điều khiển PIC 16 2.2 Module wifi ESP8266 28 2.3 Màn hình LCD(Text LCD) 31 2.4 Cảm biến đo nhiệt độ LM35 33 2.5 Cảm biến đo độ ẩm HS1101 34 2.6 Transistor C1815 36 2.7 IC ổn áp 36 v 2.8 Trình dịch CCS (PIC C Compiler) 37 Chương THIẾT KẾ HỆ ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM HIỂN THỊ LÊN WEB SERVER 45 3.1 Thiết kế đề tài 45 3.2 Thiết kế khối B (Khối chuông led điều khiển) 45 3.3 Thiết kế khối A (Khối đo nhiệt độ độ ẩm) 48 3.4 Thi công chế tạo mạch 51 3.5 Mạch hoạt động 52 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 PHỤ LỤC Error! Bookmark not defined vi PHỤ LỤC HÌNH Hình 1.1: Card mạng không dây Hình 1.2: Access Point Hình 1.3: Wbridge Hình 1.4 Access Role Hình 1.5 Mở rộng mạng Hình 1.6 SOHO Wireless LAN Hình 1.7 Văn phịng di động Hình 1.8: Sơ đồ khối cảm biến Hình 1.9 Cấu tạo themocouple [5] Hình 1.10 Cấu tạo nhiệt điện trở [5] 10 Hình 1.11 Nhiệt điện trở kim loại [5] 11 Hình 1.12 Cảm biến nhiệt bán dẫn [5] 11 Hình 1.13 Cấu tạo hỏa kế quang điện 12 Hình 1.14 Cảm biến đo độ ẩm (HS1101 DHT22) 12 Hình 1.15 Cấu trúc cảm biến thơng minh 13 Hình 2.1: PIC 18F4550 Sơ đồ chân[9] 16 Hình 2.2 Sơ đồ khối vi điều khiển PIC 18f4550[9] 17 Hình 2.3 Kiến trúc Von Neumann Harvard 24 Hình 2.4 Sơ đồ khối vi điều khiển PIC 16f877A[9] 25 Hình 2.5 Module ESP8266 sơ đồ chân nó[8] 28 Hình 2.6 Text LCD 16x2[13] 31 Hình 2.7 kết nối Text LCD với Vi điều khiển[13] 32 Hình 2.8 Cảm biến đo nhiệt độ LM35 34 Hình 2.9 HS1101 cách mắc vào mạch tạo tần số 34 Hình 2.10 Transistor Cl815 36 Hình 2.11 LM7805 cách mắc 37 Hình 2.12 AMS1117 cách mắc 37 Hình 2.13 Giao diện chương trình CCS 38 Hình 2.14 Tạo file PCW compiler 38 Hình 2.15 Bảng hỗ trợ chức cho PIC 39 Hình 2.16 Tab General 39 Hình 2.17 Tab Communications 40 Hình 2.18 Tab SPI 41 Hình 2.19 Tab LCD 41 vii Hình 2.20 Tab Timer 42 Hình 2.21 Tab Analog 42 Hình 2.22 Tab Driver Tab Interrupt 43 Hình 2.23 Tab Other 44 Hình Sơ đồ khối đề tài 45 Hình 3.2 Sơ đồ khối khối chng led điều khiển 45 Hình 3.3 Mạch nguyên lý khối báo động điều khiển 46 Hình 3.4 Khối vi xử lý trung tâm (PIC 18f4550) 47 Hình 3.5 Khối nguồn 47 Hình 3.6 Khối hiển thị 47 Hình 3.7 Khối ESP8266 48 Hình 3.8 Khối chuông báo nhiệt ngưỡng 48 Hình 3.9 Khối thiết bị ngoại vi 48 Hình 3.10 Sơ đồ khối khối đo nhiệt độ độ ẩm 48 Hình 3.11 Mạch nguyên lý khối công báo led điều khiển 49 Hình 3.12 Khối nguồn 49 Hình 3.13 Khối vi xử lý trung tâm mạch PIC16f877A 50 Hình 3.14 Khối ESP8266 50 Hình 3.15 : Khối đèn cảnh báo 50 Hình 3.16 Khối đo nhiệt độ độ ẩm 51 Hình 3.17 Mạch in khối đo nhiệt độ độ ẩm 51 Hình 3.18 Mạch chế tạo khối đo nhiệt độ độ ẩm 51 Hình 3.19 Mạch in khối chng báo thiết bị ngoại vi 52 Hình 3.20 Mạch in khối B 52 Hình 3.21 Hoạt động khối đo nhiệt độ độ ẩm 52 Hình 3.22 Hoạt động khối chng khối thiết bị ngoại vi 53 Hình 3.23 Hoạt động web server 53 viii #byte RCREG = 0xFAE //THANH GHI LUU DU LIEU DOC VE //PIC18F4550 #bit RCIF = 0xF9E.5 //CO BAO NGAT NHAN DU LIEU //PIC18F4550 #define LCD_RS_PIN PIN_E0 #define LCD_RW_PIN PIN_E1 #define LCD_ENABLE_PIN PIN_E2 #define LCD_DATA4 PIN_D7 #define LCD_DATA5 PIN_D6 #define LCD_DATA6 PIN_D5 #define LCD_DATA7 PIN_D4 #include "LCD.c" #define ON_BELL output_bit( PIN_D2, 1); #define OFF_BELL output_bit( PIN_D2, 0); #define ON_LED_DIEU_HOA output_bit( PIN_D0, 0); #define OFF_LED_DIEU_HOA output_bit( PIN_D0, 1); #define ON_LED_QUAT output_bit( PIN_D3, 0); #define OFF_LED_QUAT output_bit( PIN_D3, 1); unsigned char CLIENT_CONFIRM = 0; //BIEN NHIET DO, DO AM TAM THOI unsigned char one_display=0,TB_1=0,TB_2=0; unsigned char temp = 25,hum=80; unsigned char hum_receive_buffer[2]={'-','-'}, temp_receive_buffer[4]={'-','-','-',''},bell_receive_buffer[1]; unsigned char flag_OK[] = "OK\r\n"; //unsigned char flag_RST[] = "WIFI CONNECTED\r\n"; unsigned char flag_RST[] = "ready\r\n"; unsigned char flag_CONNECT[] = "CONNECT\r\n"; unsigned char flag_CLIENT[] = "CLIENT"; unsigned char flag_AT_CIPSEND[] = "OK\r\n>"; unsigned char flag_BELL[] = "=COI"; unsigned char flag_TEMP[] = "=TEMP"; unsigned char flag_HUM[] = "=HUM"; unsigned char flag_CLOSED[] = ",CLOSED\r\n"; unsigned char flag_HTTP[] = "HTTP"; unsigned char flag_PIN1_ON[] = "ON1 HTTP"; unsigned char flag_PIN2_ON[] = "ON2 HTTP"; unsigned char flag_PIN1_OFF[] = "OFF1 HTTP"; unsigned char flag_PIN2_OFF[] = "OFF2 HTTP"; unsigned char check_id=0; unsigned char CLIENT_id=0; unsigned int DATA_ESP_string[1000]; unsigned int16 ESP_index_rx = 0; unsigned char status_ok=0,status_rst=0,status_CIPSEND=0,status_CONNECT=0,status_CLIENT=0 ,status_BELL=0,status_HTTP=0,status_CLOSED=0,check_HTTP=0,status_TEMP=0, status_HUM=0,startur_PIN1=0,startur_PIN2=0; 66 unsigned char check_ok = 0,check_rst=0,check_CONNECT=0,check_CLIENT=0,check_CIPSEND=0,check_BE LL=0,check_CLOSED=0,check_TEMP=0,check_HUM=0,check_PIN1_ON=0,check _PIN2_ON=0,check_PIN1_OFF=0,check_PIN2_OFF=0; //MA HTML const char buf1[]={"Dieu khien qua Web Server

TRUONG DAI HOC VINH - KHOA DIEN TU VIEN THONG

DIEU KHIEN THIET BI QUA WEB SERVER"}; const char buf_temp[]={"Nhiet Do: "}; const char buf_hum[]={"^CDo Am: "}; const char buf2a[]={"%

QUAT ON OFF Dang Bat

DIEU HOA ON OFF Dang Bat

"}; const char buf2b[]={"%

QUAT ON OFF Dang Bat

DIEU HOA ON OFF Dang Tat

"}; const char buf2c[]={"%

QUAT ON OFF Dang Tat

DIEU HOA ON OFF Dang Bat

"}; const char buf2d[]={"%

QUAT ON OFF Dang Tat

DIEU HOA ON OFF Dang Tat

"}; const char buf3[]={"

GVHD: Th.s NGUYEN PHUC NGOC

SVTH: HO XUAN TUNG"}; void Fn_GetData_ESP_USART(unsigned int *pGetESP, unsigned char Data_Usart) { unsigned char DataESP = 0; DataESP = Data_Usart; if(ESP_index_rx < 1000) { pGetESP[ESP_index_rx++] = DataESP; } else { ESP_index_rx = 0; } ////////////////////////////////////////////////////// if(DataESP == flag_OK[check_ok]) { check_ok++; if(check_ok == 4) { status_ok = 1; check_ok = 0; } else status_ok = 0; } else { check_ok = 0; 68 } ///////////////////////////////////////////////////////////// if(DataESP == flag_RST[check_rst]) { check_rst++; if(check_rst == 7) { status_rst = 1; check_rst = 0; } else status_rst=0; } else { check_rst = 0; } ///////////////////////////////////////////////////////////// if(DataESP == flag_AT_CIPSEND[check_CIPSEND]) { check_CIPSEND++; if(check_CIPSEND == 5) { status_CIPSEND = 1; check_CIPSEND = 0; } else status_CIPSEND=0; } else { check_CIPSEND = 0; } ///////////////////////////////////////////////////////////// if(DataESP == flag_CLOSED[check_CLOSED]) { check_CLOSED++; if(check_CLOSED == 9) { status_CLOSED = 1; check_CLOSED = 0; } else status_CLOSED=0; } else { check_CLOSED = 0; } 69 ///////////////////////////////////////////////////////////// if(DataESP == flag_CONNECT[check_CONNECT]) { check_CONNECT++; if(check_CONNECT == 8) { status_CONNECT = 1; check_id = pGetESP[ESP_index_rx-10]; check_id = check_id - 48; // DO NHAN DUOC LA KI TU ASCII, SO check_CONNECT = 0; } } else { check_CONNECT = 0; } ///////////////////////////////////////////////////////////// if(DataESP == flag_TEMP[check_TEMP]) { check_TEMP++; if(check_TEMP == 5) { status_TEMP = 1; temp_receive_buffer[0] = pGetESP[ESP_index_rx-9]; temp_receive_buffer[1] = pGetESP[ESP_index_rx-8]; temp_receive_buffer[2] = pGetESP[ESP_index_rx-7]; temp_receive_buffer[3] = pGetESP[ESP_index_rx-6]; check_TEMP = 0; } } else { check_TEMP = 0; } ///////////////////////////////////////////////////////////// if(DataESP == flag_HUM[check_HUM]) { check_HUM++; if(check_HUM == 4) { status_HUM = 1; hum_receive_buffer[0] = pGetESP[ESP_index_rx-6]; hum_receive_buffer[1] = pGetESP[ESP_index_rx-5]; check_HUM = 0; } } 70 else { check_HUM = 0; } ////////////////////////////////////////////////////////////// if(DataESP == flag_BELL[check_BELL]) { check_BELL++; if(check_BELL == 4) { bell_receive_buffer[0] = pGetESP[ESP_index_rx-5]; check_BELL = 0; } } else { check_BELL = 0; } ///////////////////////////////////////////////////////////// if(DataESP == flag_HTTP[check_HTTP]) { check_HTTP++; if(check_HTTP ==4) { statuS_HTTP = 1; check_HTTP = 0; } } else { check_HTTP = 0; } ///////////////////////////////////////////////////////////// if(DataESP == flag_CLIENT[check_CLIENT]) { check_CLIENT++; if(check_CLIENT == 6) { status_CLIENT = 1; CLIENT_id = pGetESP[ESP_index_rx-10]; CLIENT_id = CLIENT_id - 48; // DO NHAN DUOC LA KI TU ASCII, SO check_CLIENT = 0; } } else { 71 check_CLIENT = 0; } //////////////////////////////////////////////////////////////////////////////////////////////// if(DataESP == flag_PIN1_ON[check_PIN1_ON]) { check_PIN1_ON++; if(check_PIN1_ON ==8) { startur_PIN1 = 1; check_PIN1_ON = 0; TB_1=1; ON_LED_DIEU_HOA; } } else { check_PIN1_ON = 0; } ///////////////////////////////////////////////////////////////////////////////////////////////// if(DataESP == flag_PIN2_ON[check_PIN2_ON]) { check_PIN2_ON++; if(check_PIN2_ON ==8) { startur_PIN2 = 1; check_PIN2_ON = 0; TB_2=1; ON_LED_QUAT; } } else { check_PIN2_ON = 0; } ////////////////////////////////////////////////////////////////////////////////////////////////// if(DataESP == flag_PIN1_OFF[check_PIN1_OFF]) { check_PIN1_OFF++; if(check_PIN1_OFF ==9) { startur_PIN1 = 0; check_PIN1_OFF = 0; TB_1=0; OFF_LED_DIEU_HOA; } } 72 else { check_PIN1_OFF = 0; } ///////////////////////////////////////////////////////////////////////////////////////////////////// if(DataESP == flag_PIN2_OFF[check_PIN2_OFF]) { check_PIN2_OFF++; if(check_PIN2_OFF == 9) { startur_PIN2 = 0; check_PIN2_OFF = 0; TB_2=0; OFF_LED_QUAT; } } else { check_PIN2_OFF = 0; } } // XU LI NGAT UART // #int_rda void ngat_UART() { unsigned char data ; while(!RCIF); //KHI CO KI TU MOI CHUYEN DEN THI SE BAT CO NGAT data=RCREG; //DOC TUNG KI TU RA MOT Fn_GetData_ESP_USART(DATA_ESP_string,data); } void Fn_Clear_Data_Buffer_ESP() { int16 in; ESP_index_rx = 0; for(in=0; in

Ngày đăng: 01/08/2021, 10:38

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w