Thiết kế hệ thống điều khiển thiết bị từ xa qua internet gửi dữ liệu nhiệt độ độ ẩm lên websever

55 415 5
Thiết kế hệ thống điều khiển thiết bị từ xa qua internet gửi dữ liệu nhiệt độ độ ẩm lên websever

Đ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

MỤC LỤC DANH MỤC HÌNH ẢNH LỜI CẢM ƠN Lời đầu tiên, cho em xin gửi lời cảm ơn sâu sắc đến thầy giáo TS Nguyễn Vôn Dim tận tình hướng dẫn, bảo, hướng dẫn em suốt trình tìm hiểu, triển khai nghiên cứu đề tài Em xin gửi lời cảm ơn chân thành tới thầy cô khoa Công nghệ Tự động hóa - Trường Đại học Cơng nghệ thơng tin Truyền Thơng Thái Ngun dạy bảo tận tình, trang bị cho em kiến thức quý báu, bổ ích tạo điều kiện thuận lợi suốt trình em học tập nghiên cứu trường Do có nhiều hạn chế kiến thức nên đề tài khơng tránh khỏi thiếu sót, mong nhận ý kiến đóng góp quý báu quý thầy cô bạn quan tâm Cuối em xin gửi lời chúc sức khỏe thành đạt tới tất thầy cơ, tồn thể gia đình bạn bè Em xin chân thành cảm ơn! Thái Nguyên, tháng 04 năm 2018 Sinh viên thực Nông Văn Thời LỜI CAM ĐOAN Em xin cam đoan nội dung đề tài “ Thiết kế hệ thống điều khiển thiết bị giám sát nhiệt độ nhà qua internet” em tự tìm hiểu, nghiên cứu hướng dẫn thầy Nguyễn Vôn Dim Mọi trích dẫn tài liệu mà em tham khảo ghi rõ nguồn gốc Nếu sai em xin chịu hình thức kỷ luật trường Đại học Công nghệ thông tin Truyền thông Thái Nguyên, tháng 04 năm 2018 Sinh viên thực Nông Văn Thời LỜI NĨI ĐẦU Trong q trình phát triển người, cách mạng cơng nghệ đóng vai trò quan trọng, chúng làm thay đổi ngày sống người, theo hướng đại Đi đơi với q trình phát triển người, thay đổi tác động người tự nhiên, môi trường sống diễn ra, tác động trở lại chúng ta, nhiễm mơi trường, khí hậu thay đổi, v.v Dân số tăng, nhu cầu tăng theo, dịch vụ, tiện ích từ hình thành phát triển theo Đặc biệt áp dụng công nghệ ngành điện tử, công nghệ thông tin truyền thông vào thực tiễn sống người Công nghệ Internet of Things (IoT) ngơi nhà thơng minh tích hợp từ kỹ thuật điện tử, tin học viễn thông tiên tiến vào mục đích nghiên cứu, giải trí, sản xuất, v.v , phạm vi ngày mở rộng, để tạo ứng dụng đáp ứng cho nhu cầu lĩnh vực khác Hiện nay, khái niệm IoT trở nên quen thuộc ứng dụng nhiều lĩnh vực đời sống người, đặc biệt nước phát triển có khoa học cơng nghệ tiên tiến Tuy nhiên, công nghệ chưa áp dụng cách rộng rãi nước ta, điều kiện kỹ thuật, kinh tế, nhu cầu sử dụng Xong hứa hẹn đích đến tiêu biểu cho nhà nghiên cứu, cho mục đích phát triển đầy tiềm Được dẫn Tiến sĩ Nguyễn Vôn Dim, em chọn đề tài “ Thiết kế hệ thống điều khiển thiết bị giám sát nhiệt độ nhà qua internet” Trong trình thực đề tài mình, em cố gắng để hoàn thiện cách tốt Nhưng với kiến thức hiểu biết có hạn nên khơng tránh khỏi thiếu sót mong thầy bạn đóng góp ý kiến đề tài em hồn thiện CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 Tổng quan Arduino 1.1.1 Giới thiệu chung Arduino mã nguồn mở điện tử tạo thành từ phần cứng phần mềm.Về mặt kĩ thuật coi Arduino điều khiển logic lập trình Đơn giản hơn, Arduino thiết bị tương tác với ngoại cảnh thơng qua cảm biến hành vi lập trình sẵn Với thiết bị việc lắp ráp điều khiển thiết bị điện tử dễ dàng hết Hiện có nhiều loại vi điều khiển đa số lập trình ngơn ngữ C/C++ Assembly nên khó khăn cho người có kiến thức sâu điện tử lập trình Nó trở ngại cho người muốn tạo riêng cho đồ mang tính cơng nghệ Song Arduino giải vấn đề này, Arduino phát triển nhằm đơn giản hóa việc thiết kế, lắp ráp linh kiện điện tử lập trình vi điều khiển người tiếp cận dễ dàng với thiết bị điện tử mà không cần nhiều kiến thức điện tử thời gian Những mạnh Arduino so với tảng vi điều khiển khác: - Chạy đa tảng: Việc lập trình Arduino thực hệ điều hành khác Windows, Mac Os, Linux Desktop, Android di động - Ngôn ngữ lập trình đơn giản dễ hiểu - Mã ng̀n mở: Arduino phát triển dựa nguồn mở nên phần mềm chạy Arduino chia sẻ dễ dàng tích hợp vào tảng khác - Mở rộng phần cứng: Arduino thiết kế sử dụng theo dạng modul nên việc mở rộng phần cứng dễ dàng - Đơn giản nhanh: Rất dễ dàng lắp ráp, lập trình sử dụng thiết bị - Dễ dàng chia sẻ: Mọi người dễ dàng chia sẻ mã nguồn với mà không lo lắng ngôn ngữ hay hệ điều hành sử dụng Arduino chọn làm não xử lý nhiều thiết bị từ đơn giản đến phức tạp Trong số có vài ứng dụng thực chứng tỏ khả vượt trội Arduino chúng có khả thực nhiều nhiệm vụ phức tạp Arduino biết đến nhiều phần cứng nó, phải có phần mềm để lập trình phần cứng Cả phần cứng phần mềm gọi chung Arduino ♦ Phần mềm Arduino: Phần mềm Arduino gọi sketches, tạo máy tính có tích hợp môi trường phát triển (IDE) IDE cho phép viết, chỉnh sửa code chuyển đổi cho phần cứng hiểu IDE dùng để biên dịch nạp vào Arduino (quá trinh xử lý gọi UPLOAD) ♦ Phần cứng Arduino: Phần cứng Arduino board Arduino, nơi thực thi chương trình lập trình Các board điều khiển đáp trả tín hiệu điện, thành phần ghép trực tiếp vào nhằm tương tác với giới thực để cảm nhận truyền thơngdụ cảm biến bao gồm thiết bị chuyển mạch, cảm biến siêu âm, gia tốc Các thiết bị truyền động bao gồm đèn, motor, loa thiết bị hiển thị Có nhiều ứng dụng sử dụng Arduino để điều khiển Arduino có nhiều module, module phát triển cho ứng dụng.Về mặt chức năng, bo mạch Arduino chia thành hai loại: loại bo mạch có chip Atmega loại mở rộng thêm chức cho bo mạch Các bo mạch giống chức năng, nhiên mặt cấu số lượng I/O, dung lượng nhớ, hay kích thước có khác Một số bo mạch có trang bị thêm tính kết nối Ethernet Bluetooth Các bo mở rộng chủ yếu mở rộng thêm số tính cho bo mạch ví dụ tính kết nối Ethernet, Wireless, điều khiển động 1.1.2 Cấu trúc phần cứng ♦ Cấu trúc chung Arduino Uno bo mạch vi điều khiển dựa chip ATmega168 ATmega 328 Cấu trúc chung bao gồm: - 14 chân vào tín hiệu số, có chân sử dụng để điều chế độ rộng xung - Có chân đầu vào tín hiệu tương tự cho phép kết nối với cảm biến bên để thu thập số liệu - Sử dụng dao động thạch anh tần số dao động 16MHz - Có cổng kết nối chuẩn USB để nạp chương trình vào bo mạch chân cấp nguồn cho mạch, nút reset - Nó chứa tất thứ cần thiết để hỗ trợ vi điều khiển, nguồn cung cấp cho Arduino từ máy tính thơng qua cổng USB từ nguồn chuyên dụng biến đổi từ xoay chiều sang chiều nguồn lấy từ pin Hình Cấu trúc phần cứng của Arduino Uno  Thông số kỹ thuật của Uno:  Khối xử lý trung tâm vi điều khiển Atmega328  Điện áp hoạt động 5V  Điện áp đầu vào khuyến nghị 5-12V  Điện áp đầu vào giới hạn 6-20V  Dòng điện chiều chân vào 40mA  Dòng điện chiều cho chân 3.3V 50mA  Clock Speed 16 MHz  Flash Memory 16 Kb (ATmega 168) 32 Kb (ATmega 328), SRAM Kb (ATmega 168) Kb (ATmega 328), EEPROM 512 bytes (ATmega 168) Kb (AT mega 328) ♦ Khối xử lý trung tâm Trong bo mạch Arduino IC đóng vai trò xử lý trung tâm Atmega328 cấu trúc sơ đồ chân sau: Hình Sơ đờ chân ATmega 328  Chân VCC (chân số 7): Chân cung cấp điện áp dương nguồn 5V  Chân GND (chân số 8): Chân đất chung  Chân AREF (chân 21): Là chân tham chiếu để chuyển đổi tín hiệu tương tự sang số  Chân AVCC (chân 20): Chân cung cấp điện áp cho trình chuyển đổi ADC  Cổng B (chân 14 - chân 19, chân 9, chân 10): Bao gồm có chân I/O từ (PB0÷PB7)  Cổng C (chân 23 – chân 28, chân 1): Bao gồm có chân I/O từ (PC0÷PC6) chân PC6 (chân số 1) làm chân reset  Cổng D (chân – chân 6, chân 11 – chân 13): Bao gồm có chân I/O từ chân (PD0÷PD7) Hình Sơ đờ khới cấu trúc bên ATmega 328 ● Khối xử lý trung tâm IC ATmega 328 sau: Đây kiến trúc chung lõi AVR nói chung Chức lõi CPU để đảm bảo thực chương trình xác CPU phải có khả truy cập nhanh, thực tính tốn, thiết bị ngoại vi điều khiển xử lý ngắt Để tối đa hóa hiệu suất, AVR sử dụng kiến trúc Harvard đường bus riêng biệt cho chương trình liệu Hướng truyền liệu nhớ chương trình thực với tốc độ định 10 Hình 24 • Sơ đờ ngun lý khới relay sơ đồ ngun lý tồn mạch Hình 25 Sơ đờ ngun lý tồn mạch 41 b) Sơ đồ mạch in của hệ thớng Hình 26 Sơ đờ ngun lý tồn mạch 2.2.4 Hình ảnh thực tế 42 Hình 27 mạch thực tế 43 CHƯƠNG KẾT LUẬN Việc thiết kế hệ thống điều khiển thiết bị giám sát nhiệt độ, độ ẩm từ xa qua internet có ý nghĩa to lớn, ứng dụng nhiều lĩnh vực đời sống hội cơng nghiệp Ngồi ra, module wifi kết hợp với Arduino mở nhiều hướng ứng dụng khác, phục vụ tốt cho việc học tập nghiên cứu sinh viên Việc xây dựng hệ thống giám sát nhiệt độ, độ ẩm từ xa qua internet liên quan đến nhiều tảng kiến thức từ kiến thức lý thuyết kiến thức thực tiễn Những kết quả đạt - Tìm hiểu nguyên lý chung chuẩn truyền thông wifi IEEE 802.11 quy định, tìm hiểu - kiến thức họ giao thức TCP/IP Kết nối thành công mạch với server, demo điêu khiển thiết bị thông qua wifi Thiết kế thành công mạch đo nhiệt độ, độ ẩm sử dụng cảm biến DHT11, truyền lên - server sau phút Lập trình giao diện web để đo lường, hiển thị thống thông số nhiệt độ, độ ẩm điều khiển cấu chấp hành Đánh giá kết quả đạt - Đo hiển thị xác nhiệt độ, độ ẩm mơi trường upload liệu lên server ổn định Kết đo xác với sai số nằm phạm vi cho phép Mạch hoạt - động ổn định Tuy nhiên, số mặt hạn chế trang web chưa tự động cập nhật lên giá trị - phải refresh lại trang để cập nhật liệu Với kết bước đầu kết nối truyền liệu thành công qua mạng wifi thực đo lường điều khiển số thông số môi trường, điều khiển cấu chấp hành để thay đổi quạt, bóng đèn với kết demo khẳng định khả phát triển đề tài Hướng phát triển đề tài Trong thời gian tới, em tiếp tục nghiên cứu phát triển đề tài theo hướng sau - đây: Tăng tính xác ổn định 44 TÀI LIỆU THAM KHẢO [1] Trần Quang Vinh, đề tài “Nghiên cứu thiết kế, chế tạo cấu kiện hệ thống tự động hóa phục vụ giám sát, điều khiển, điều hành cho tòa nhà cao tầng (nhà cơng ích dân dụng)”, mã số: KC.03.12/06-10 [2] Tran Quang Vinh, Pham Manh Thang, Phung Manh Duong, “Controlling Communication Network in the Building Automation System,” Journal of Science,Vietnam National University, pp.129-140, Vol.26, 2010 [3] www.arduino.cc/, truy cập cuối ngày 13/4/2018 [4] www.dientuvietnam.com/, truy cập cuối ngày 13/4/2018 45 PHỤ LỤC // Example testing sketch for various DHT humidity/temperature sensors // Written by ladyada, public domain #include "DHT.h" #include #define SSID "Mixigaming" #define PASS "dongtienmang" //#define IP "locallhost/phpmyadmin" #define IP "192.168.1.104" //char server[] = "192.168.1.1"; #define DEBUG true String GET; SoftwareSerial ESP8266(2, 3); // RX, TX #define DHTPIN //Đọc liệu từ DHT11 chân mạch Arduino #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); void (*resetFunc)(void) = 0; unsigned long previousMillis = 0; unsigned long interval = 100000; (milliseconds) // will store last time Power was updated // interval at which to updatePower() void setup() { 46 pinMode(16,OUTPUT); digitalWrite(16,HIGH); pinMode(10,OUTPUT); digitalWrite(10,HIGH); pinMode(11,OUTPUT); digitalWrite(11,HIGH); pinMode(12,OUTPUT); digitalWrite(12,HIGH); pinMode(13,OUTPUT); digitalWrite(13,HIGH); dht.begin(); Serial.begin(115200); ESP8266.begin(115200); ESP8266.setTimeout(5000); Serial.println("ESP8266 Demo"); ESP8266.println("AT+RST"); delay(1000); if(ESP8266.find("OK")) { Serial.println("Module ss"); } 47 else { Serial.println("Module have no response Reseting "); resetFunc(); } delay(1000); //connect to the wifi boolean connected=false; for(int i=0;i interval) { // save the last time digitalWrite(16,LOW); int h = dht.readHumidity(); int t = dht.readTemperature(); // check if returns are valid, if they are NaN (not a number) then something went wrong! if (isnan(t) || isnan(h)) { Serial.println("Failed to read from DHT"); } else { GET = "GET /control-IoT/add.php?temp="; GET += String(t) + "&humi=" +String(h); Serial.println(GET); previousMillis = currentMillis; updateTemp(); Serial.print("Humidity: "); Serial.print(h); 50 Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(t); Serial.println(" *C"); } } } // chuong trinh updata du lieu void updateTemp(){ ESP8266.println("AT+CIPMUX=0"); //cai dat so luong kenh ket noi String cmd = "AT+CIPSTART=\"TCP\",\""; //TCP cmd += IP; cmd += "\",80"; ESP8266.println(cmd); delay(1000); if(ESP8266.find("Error")){ Serial.print("RECEIVED: Error port"); return; } cmd = GET; cmd += "\r\n"; ESP8266.print("AT+CIPSEND="); Serial.print("AT+CIPSEND="); ESP8266.println(cmd.length()); Serial.println(cmd.length()); Serial.println(cmd); if(ESP8266.find(">")){ 51 Serial.print(">"); Serial.print(cmd); ESP8266.print(cmd); }else{ sendData("AT+CIPCLOSE\r\n",200,DEBUG); } if(ESP8266.find("OK")){ Serial.println("RECEIVED: OK"); digitalWrite(16,HIGH); }else{ Serial.println("RECEIVED: Error"); } ESP8266.println("AT+CIPMUX=1"); } // chuong trinh ket noi wifi boolean connectWiFi() { ESP8266.println("AT+CWMODE=1"); String cmd="AT+CWJAP=\""; cmd+=SSID; cmd+="\",\""; cmd+=PASS; cmd+="\""; Serial.println(cmd); 52 ESP8266.println(cmd); delay(2000); if(ESP8266.find("OK")) { Serial.println("OK, Connected to WiFi."); return true; } else { Serial.println("Can not connect to the WiFi."); return false; } } String sendData(String command, const int timeout, boolean debug) { String response = ""; ESP8266.print(command); // send the read character to the esp8266 long int time = millis(); while( (time+timeout) > millis()) { while(ESP8266.available()) { char c = ESP8266.read(); // read the next character response+=c; 53 } } if(command=="AT+CIFSR\r\n") { int start_index = response.indexOf('1'); int end_index = response.indexOf('O')-1; String temp = response.substring(start_index,end_index); GET = "GET /control-IoT/address.php?ip="+temp; updateTemp(); delay(1000); } if(debug) { Serial.print(response); } return response; } 54 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… 55 ... TÍCH THIẾT KẾ HỆ THỐNG 2.1 Yêu cầu hệ thống 2.1.1 Mô tả hoạt động hệ Hình trình bày sơ đồ hệ thống giám sát nhiệt độ, độ ẩm từ xa qua mạng internet ứng dụng tòa nhà Hình 11 - sơ đồ hoạt động... chức lưu trữ liệu từ mạch đo gửi lên có chức hiển thị giao diện điều khiển thiết bị, liệu nhiệt độ, độ ẩm giao diện người dùng - Khi nhận tín hiệu nhiệt độ báo từ cảm biến vi xử lý hệ thống Arduino... thống hoạt động ổn định 2.2 Thiết kế hệ thống 2.2.1 Thiết kế mạch đo nhiệt độ Mạch có chức đọc nhiệt độ từ cảm biến gửi lên web qua module wifi 30 Hình 12 Sơ đờ khới của mạch thiết bị đo - Khối

Ngày đăng: 11/05/2018, 16:10

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • LỜI CAM ĐOAN

  • LỜI NÓI ĐẦU

  • CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

    • 1.1. Tổng quan về Arduino

      • 1.1.1. Giới thiệu chung

      • 1.1.2. Cấu trúc phần cứng

      • 1.1.3. Cấu trúc phần mềm và lập trình Arduino

      • 1.2. Cơ sở lý thuyết về Module Wifi ESP8266

        • 1.2.1. Giới thiệu về ESP8266

        • 1.2.2. Cấu tạo của ESP8266

        • 1.2.3. Tính năng của ESP8266

        • 1.2.4. Quản lý năng lượng ESP8266

        • 1.3 Cảm biến nhiệt độ và độ ẩm

          • Hình 8. Cảm biến nhiệt độ và độ ẩm DHT11

          • 1.4 Tìm hiểu và xây dựng web server

            • 1.4.1. Lịch sử của World Wide Web

            • 1.4.2. Web Server

            • 1.4.3. Giao thức TCP/IP

            • Các giao thức TCP/IP của Internet

            • 1.4.4. Ngôn ngữ lập trình PHP

              • a. Lịch sử ra đời

              • b. PHP là gì?

              • a. Khai báo mã PHP

              • b. Các kiểu dữ liệu

              • c. Biến - giá trị

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

  • Đang cập nhật ...

Tài liệu liên quan