Thiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internetThiết kế mạch điều khiển thiết bị và giám sát qua internet
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 cô giáo TS Nguyễn Thị Thanh Bình tận tình hướng dẫn, bảo, cung cấp tài liệu cần thiết, giúp đỡ động viên để em hồn thành đồ án Em xin gửi lời cảm ơn chân thành tới thầy khoa Cơng nghệ Tự động hóa nói riêng Trường Đại học Cơng nghệ thơng tin Truyền thơng nói chung tận tình giảng dạy, giúp đỡ truyền đạt kiến thức quý báu cho em suốt thời gian em học tập rèn luyện trường Và cuối cùng, em xin gửi lời cảm ơn chân thành đến gia đình, người thân tất bạn bè, đặc biệt bạn lớp ĐKTĐK9A, người hỗ trợ, chia sẻ, động viên tinh thần cho em suốt trình học tập thực đồ án Em xin chân thành cảm ơn! Thái Nguyên, tháng 05 năm 2015 Sinh viên thực Trần Lai Thành LỜI CAM ĐOAN Em xin cam đoan nội dung đồ án “ Nghiên cứu thiết kế mạch đ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 cô giáo TS Nguyễn Thị Thanh Bình 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 05 năm 2015 Sinh viên thực Trần Lai Thành MỤC LỤC LỜI CẢM ƠN LỜI NÓI ĐẦU MỤC LỤC Chương CƠ SỞ LÝ THUYẾT 1.1 Tổng quan Arduino .5 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 lập trình Arduino 10 1.2 Cơ sở lý thuyết Module Wifi ESP8266 .13 1.2.1 Giới thiệu ESP8266 .13 1.2.2 Cấu tạo ESP8266 14 1.2.3 Tính ESP8266 .15 1.2.4 Quản lý lượng ESP8266 16 Chương 18 TÌM HIỂU VÀ XÂY DỰNG WEB SERVER 18 2.1 Lịch sử World Wide Web 18 2.2 Web Server .18 2.3 Mơ hình tham chiếu OSI 19 2.3.1 Mục đích mơ hình tham chiếu OSI 19 2.3.2 Tên lớp mơ hình tham chiếu OSI 20 2.3.3 Mơ tả lớp mơ hình tham chiếu OSI 20 2.3.4 Sự đóng gói 22 2.3.5 Tên liệu lớp mơ hình OSI .23 2.4 Giao thức TCP/IP .24 2.4.1 giao thức TCP/IP Internet mơ hình OSI 24 2.5 Ngôn ngữ lập trình PHP 25 2.5.1 Giới thiệu 26 2.5.2 Sử dụng PHP .27 2.6 Hệ quản trị sở liệu MySQL 32 2.6.1 MySQL gì? 32 2.6.2 Nơi cung cấp MySQL 32 2.6.3 Các câu lệnh MySQL 32 2.7 Giới thiệu vềApache Webserver .34 Chương 35 PHÂN TÍCH THIẾT KẾ HỆ THỐNG .35 3.1 Yêu cầu hệ thống .35 3.1.1 Mô tả hoạt động hệ 35 3.1.2 Yêu cầu hệ thống 36 3.2 Thiết kế hệ thống .37 3.2.1 Thiết kế mạch đo nhiệt độ 37 3.3.2 Thiết kế phần mềm .41 3.3.3 Thiết kế phần cứng .45 3.4 Hình ảnh thực tế .49 KẾT LUẬN .50 TÀI LIỆU THAM KHẢO 52 LỜI NÓI ĐẦU Trong xu phát triển nay, với bùng nổ ngành công nghệ thông tin, điện tử, tự động hóa,… Đã làm cho đời sống người ngày hoàn thiện Các thiết bị tự động hóa ngày xâm lấn vào sản xuất chí vào sống sinh hoạt hàng ngày người Do ngơi nhà thơng minh giám sát điều khiển từ xa trở thành thực Là sinh viên khoa Cơng nghệ tự động hóa trường Đại học cơng nghệ thông tin truyền thông, kiến thức học mong muốn thiết kế mô hình nhà tự động hóa đáp ứng nhu cầu sinh hoạt hàng ngày Em mạnh dạn chọn “Thiết kế mạch điều khiển thiết bị giám sát qua internet” làm đề tài cho đồ án tốt nghiệp Trong trình thực đồ án 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ơng Ví dụ 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 1.1 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 1.2 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 1.3.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 43 3.3.2 Thiết kế phần mềm a) Lưu đồ thuật toán mạch đo 44 -Chương trình giải mã lệnh Đoạn code kết nối wifi: // chuong trinh ket noi wifi boolean connectWiFi() { dbgSerial.println("AT+CWMODE=1"); String cmd="AT+CWJAP=\""; cmd+=SSID; cmd+="\",\""; cmd+=PASS; cmd+="\""; Serial.println(cmd); dbgSerial.println(cmd); delay(2000); if(dbgSerial.find("OK")) 45 { Serial.println("OK, Connected to WiFi."); return true; } else { Serial.println("Can not connect to the WiFi."); return false; } } Đoạn code upload data lên server: // chuong trinh updata du lieu void updateTemp(){ dbgSerial.println("AT+CIPMUX=0"); String cmd = "AT+CIPSTART=\"TCP\",\""; cmd += IP; cmd += "\",80"; dbgSerial.println(cmd); delay(1000); if(dbgSerial.find("Error")){ Serial.print("RECEIVED: Error port"); return; } cmd = GET; cmd += "\r\n"; dbgSerial.print("AT+CIPSEND="); Serial.print("AT+CIPSEND="); dbgSerial.println(cmd.length()); Serial.println(cmd.length()); Serial.println(cmd); if(dbgSerial.find(">")){ 46 Serial.print(">"); Serial.print(cmd); dbgSerial.print(cmd); }else{ sendData("AT+CIPCLOSE\r\n",200,DEBUG); } if(dbgSerial.find("OK")){ Serial.println("RECEIVED: OK"); digitalWrite(16,HIGH); }else{ Serial.println("RECEIVED: Error"); } dbgSerial.println("AT+CIPMUX=1"); } b) Thiết kế giao diện web Để giám sát nhiệt độ, độ ẩm từ xa qua internet, ta phải xây dựng giao diện website để tương tác với người dùng Web động hay DHTML (Dynamic HTML) định nghĩa phần mềm sử dụng cho việc mô tả kết hợp ngôn ngữ đánh đấu siêu văn HTML, stylesheet ngôn ngữ script làm cho tài liệu trở nên sinh động DHTML cho phép người lập trình dễ dàng thêm hiệu ứng cho trang web Ví dụ làm động hình ảnh text trang web Cấu trúc DHTML: Temperature Monitornội dung website
47 Giao diện website xây dựng: Hình 3.2 Giao diện điều khiển thiết bị Giao diện trang chủ bật lên nhiệt độ độ ẩm thời gian Ngồi hiển thị nhiệt độ cao nhất, nhiệt độ thấp kèm theo thời gian Hình 3.3 Giao diện trang chủ giám sát nhiệt độ Hình 3.3 Toàn giao diện trang chủ Khi người dùng truy cập vào từ điện thoại hay thiết bị khác webserver hiển thị giao diện tương ứng phù hợp với thiết bị người dùng 48 Hình 3.4 Giao diện điều khiển truy nhập điện thoại 49 Hình 3.4 Giao diện giám sát nhiệt độ truy nhập điện thoại 3.3.3 Thiết kế phần cứng a) Sơ đồ mạch nguyên lý của hệ thống sơ đồ nguyên lý khối vi điều khiển trung tâm 50 sơ đồ nguyên lý khối Relay sơ đồ nguyên lý khối nguồn 51 sơ đồ nguyên lý toàn mạch b) Sơ đồ mạch in của hệ thớng 52 53 3.4 Hình ảnh thực tế 54 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 xã 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 kê 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 lên LCD 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, điều hòa 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 55 - Tích hợp nhiều cảm biến phù hợp với nhiều đối tượng người dùng để phục vụ cho sống phục vụ công nghiệp thay chuẩn ethernet, RS485 - Phát triển ứng dụng theo dõi sức khỏe bệnh nhân từ xa 56 TÀI LIỆU THAM KHẢO [1] Phạm Duy Hưng, Luận văn thạc sĩ, Điều khiển thiết bị điện từ xa qua mạng Internet, Trường Đại học Công nghệ, 2012 [2] 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 [3] 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 [4] www.arduino.cc/, truy cập cuối ngày 13/5/2015 [6] www.dientuvietnam.com/, truy cập cuối ngày 13/4/2015 57 ... thông, kiến thức học mong muốn thiết kế mơ hình nhà tự động hóa đáp ứng nhu cầu sinh hoạt hàng ngày Em mạnh dạn chọn Thiết kế mạch điều khiển thiết bị giám sát qua internet làm đề tài cho đồ án...LỜI CAM ĐOAN Em xin cam đoan nội dung đồ án “ Nghiên cứu thiết kế mạch đ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 cô giáo TS Nguyễn... cập internet khơng dây thêm vào thiết kế vi điều khiển dựa kết nối đơn giản qua giao diện UART giao diện cầu CPU AHB Khả lưu trữ xử lý mạnh mẽ cho phép tích hợp với cảm biến, vi điều khiển thiết