Hệ thống điều khiển quạt tự động là một trong những ứng dụng của công nghệ thông minh được thiết kế để tạo ra luồng không khí thông qua quá trình quạt quay tự động mà không cần sự can thiệp thủ công. Cho phép người dùng quản lí và điều khiển quạt từ xa thông qua giao diện web. Cách thức hoạt động: Hệ thống quạt tự động thường được tích hợp với các cảm biến như nhiệt độ, độ ẩm để tự động điều chỉnh hoạt động của quạt dựa trên điều kiện môi trường. Webserver cho phép người dùng truy cập vào giao diện điều khiển. Người dùng có thể truy cập xa từ bất kì đâu chỉ cần kết nối internet. Giao diện web cung cấp các chức năng như bật/ tắt quạt, điều chỉnh tốc độ, chọn chế độ hoạt động, và hiển thị các thông tin về nhiệt độ, độ ẩm môi trường. Với chức năng tự động điều khiển theo nhiệt độ môi trường, từ đó tối ưu hóa hiệu suất của quạt để tiết kiếm điện năng. Hệ thống quạt tự động điều khiển trên webserver không chỉ mang lại sự thuận tiện mà con cung cấp khả năng quản lí và kiểm soát thông minh, giúp người dùng tiết kiệm năng lượng và tối ưu hóa môi trường sống.
BÁO CÁO BÀI TẬP LỚN HỌC PHẦN “ CÔNG NGHỆ INTERNET OF THINGS ” Đề tài: HỆ THỐNG ĐIỀU KHIỂN QUẠT TỰ ĐỘNG MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN 1.1 Giới thiệu hệ thống .5 1.2 Các giải pháp xây dựng 1.3 Mơ hình kiến trúc hệ thống .6 1.4 Kịch hoạt động CHƯƠNG XÂY DỰNG HỆ THỐNG 2.1 Hệ thống phần cứng 2.2 Phần mềm điều khiển 12 CHƯƠNG 3: KẾT NỐI HỆ THỐNG .14 3.1 Kết nối cứng 14 3.2 Kết nối mềm 14 3.3 Phát triển ứng dụng .14 DANH MỤC BẢNG BIỂU Hình Hình Hình Hình Hình Hình Hình 1: Mơ hình kiến trúc hệ thống 2: Sơ đồ thuật toán 3: Thiết bị ESP8266 4: Thiết bị DHT11 5:Module L298N 10 6: Thiết bị DC Motor 11 7: Dây cap Micro USB 12 LỜI NÓI ĐẦU IoT khái niệm kết nối thiết bị với với Internet IoT mạng lưới khổng lồ gồm vật (things) người kết nối - tất thu thập chia sẻ liệu với Việc kết nối thực qua Wifi, ZigBee, Bluetooth… Theo wikipedia, IoT kịch giới, mà đồ vật, người cung cấp định danh riêng mình, tất có khả truyền tải, trao đổi thông tin, liệu qua mạng mà không cần đến tương tác trực tiếp người với người, hay người với máy tính IoT phát triển từ hội tụ công nghệ không dây, công nghệ vi điện tử Internet Nói đơn giản tập hợp thiết bị có khả kết nối với nhau, với Internet với giới bên để thực cơng việc IoT có nhiều ứng dụng lĩnh vực đời sống khác Có thể kể bao gồm từ lị vi sóng thơng minh, tự động nấu thức ăn khoảng thời gian thích hợp, xe tự lái, có cảm biến phức tạp phát vật thể đường đi, đến thiết bị thể dục đo nhịp tim người số bước thực ngày hơm đó, sau sử dụng thơng tin để đề xuất kế hoạch tập thể dục phù hợp Để hiểu rõ cách thức hoạt động IoT, chúng em định xây dựng đề tài “Hệ thống điều khiển quạt tự động” Trong trình làm bài, kiến thức chun mơn cịn hạn chế nên cịn xảy nhiều sai sót Chúng em mong thầy bạn góp ý bổ sung để chúng em có hội tiếp thu bổ sung kiến thức phục vụ cho trình học tập thực hành Chúng em xin chân thành cảm ơn! CHƯƠNG TỔNG QUAN 1.1 Giới thiệu hệ thống Hệ thống điều khiển quạt tự động ứng dụng công nghệ thông minh thiết kế để tạo luồng khơng khí thơng qua q trình quạt quay tự động mà không cần can thiệp thủ công Cho phép người dùng quản lí điều khiển quạt từ xa thông qua giao diện web Cách thức hoạt động: Hệ thống quạt tự động thường tích hợp với cảm biến nhiệt độ, độ ẩm để tự động điều chỉnh hoạt động quạt dựa điều kiện môi trường Webserver cho phép người dùng truy cập vào giao diện điều khiển Người dùng truy cập xa từ đâu cần kết nối internet Giao diện web cung cấp chức bật/ tắt quạt, điều chỉnh tốc độ, chọn chế độ hoạt động, hiển thị thông tin nhiệt độ, độ ẩm môi trường Với chức tự động điều khiển theo nhiệt độ mơi trường, từ tối ưu hóa hiệu suất quạt để tiết kiếm điện Hệ thống quạt tự động điều khiển webserver không mang lại thuận tiện mà cung cấp khả quản lí kiểm sốt thơng minh, giúp người dùng tiết kiệm lượng tối ưu hóa mơi trường sống 1.2 Các giải pháp xây dựng Để xây dựng hệ thống quạt tự động có chế độ để ta xây dựng sau: Chế độ station( STA): - ESP8266 kết nối với mạng WiFi có gọi Station( STA) - Ở chế độ STA, ESP8266 nhận IP từ router mà kết nối Với địa IP này, thiết lập Webserver cung cấp trang web đến tất thiết bị kết nối mạng wifi có - Ưu điểm: khả truyền nhận liệu với thiết bị khác mạng, giúp thực ứng dụng kết nối mạng Cho phép tích hợp thiết bị vào hệ thống mạng tại, giúp quản lí thiết bị từ xa - Nhược điểm: phụ thuộc vào tồn ổn định mạng WiFi Nếu mạng WiFi gặp cố, thiết bị bị ảnh hưởng Việc trì ứng dụng di động pin dựa vào nguồn lượng Chế độ điểm truy cập( Access Point): - ESP8266 tạo mạng WiFi riêng hoạt động trung tâm cho nhiều trạm gọi điểm truy cập Không giống Router WiFi, khơng có giao diện với mạng có dây - Vì vậy, phương thức hoạt động gọi Điểm truy cập( soft- AP) Ngoài ra, số lượng Station tối đa kết nối với giới hạn - Ưu điểm: khả liên kết máy tính nơi làm việc, từ giúp việc kiểm sốt truyền tải liệu trở nên đơn giản - Nhược điểm: Hạn chế bảo mật, môi trường kết nối không dây khơng khí nên khả bị cơng người dùng cao Từ đó, hệ thống chúng em lựa chọn chế độ station( STA) để xây dựng hồn thành 1.3 Mơ hình kiến trúc hệ thống Hình 1: Mơ hình kiến trúc hệ thống Mơ tả chức năng: - Khối nguồn: Nguồn cấp cho hệ thống qua cáp Micro USB Ngoài DC motor cịn cấp thêm nguồn điện ngồi 9v - Khối cảm biến: Sử dụng cảm biến DHT11 gửi liệu nhiệt độ, độ ẩm tới khối xử lí trung tâm - DC Motor: DC motor có nhiệm vụ nhận yêu cầu từ khối xử lí trung tâm để điều khiển tốc độ quạt quay - Khối xử lí trung tâm: Nhận liệu từ khối cảm biến gửi thông tin nhiệt độ- độ ẩm lên Webserver Tiếp nhận thông tin nhiệt độ- độ ẩm kiểm tra chế độ quay phù hợp, chuyển yêu cầu tự động quay tới DC Motor Nhận yêu cầu từ Webserver gửi liệu tới DC Motor để điều khiển tốc độ quạt Chuyển thông tin chế độ quay DC Motor gửi tới Webserver - Webserver: Tiếp nhận thông tin nhiệt độ- độ ẩm chế độ quạt tự động, hiển thị lên giao diện web Cập nhật nhiệt độ- độ ẩm 10s/ lần Nhận yêu cầu từ người dùng gửi liệu điều khiển xuống khối xử lí trung tâm 1.4 Kịch hoạt động Sơ đồ thuật toán hệ thống: Hình 2: Sơ đồ thuật tốn Kịch hoạt động: Chương trình bắt đầu chạy, hệ thống khởi tạo giá trị mặc định Kiểm tra liệu kết nối với server in địa Ip Webserver hiển thị nhiệt độ, độ ẩm kiểm tra chế độ điều khiển Kịch 1: Nếu Auto== true, hệ thống kiểm tra ngưỡng nhiệt độ, độ ẩm Nếu nhiệt độ , độ ẩm ngưỡng quạt chạy theo chế độ tương ứng Nếu kiểm tra ngồi ngưỡng quạt tắt Hệ thống cập nhật nhiệt độ, độ ẩm để quạt chạy theo chế độ tương ứng Kịch 2: Nếu Auto== false, hệ thống kiểm tra chế độ mode quạt chạy theo chế độ tương ứng Nút Refresh Data cập nhật giá trị nhiệt độ, độ ẩm hiển thị lên Webserver CHƯƠNG XÂY DỰNG HỆ THỐNG 2.1 Hệ thống phần cứng 2.1.1 ESP8266 WIFI NodeMCU Hình 3: Thiết bị ESP8266 Kit RF thu phát Wifi ESP8266 NodeMCU Lua V3 CH340 phiên NodeMCU sử dụng IC nạp CH340 từ Lolin với xử lý trung tâm module Wifi SoC ESP8266, kit có thiết kế dễ sử dụng đặc biệt sử dụng trực tiếp trình biên dịch Arduino để lập trình nạp code, điều khiến việc sử dụng lập trình ứng dụng ESP8266 trở nên đơn giản Kit RF thu phát Wifi ESP8266 NodeMCU Lua V3 CH340 dùng cho ứng dụng cần kết nối, thu thập liệu điều khiển qua sóng Wifi, đặc biệt ứng dụng liên quan đến IoT Thơng số chân GPIO: Chân ADC: ESP8266 NodeMCU có chân ADC (Analog-to-Digital Converter) nhất, ký hiệu A0 Chân ADC cho phép đọc giá trị Analog từ cảm biến linh kiện có đầu Analog Chân ADC (A0) ESP8266 NodeMCU đọc giá trị từ 0V đến 3.3V, giá trị Analog đọc từ chân ADC chuyển đổi thành giá trị từ đến 1023 tương ứng với dải điện áp từ 0V đến 3.3V Chân SPI: ESP8266 có hai giao tiếp SPI, SPI (SPI) SPI phụ (HSPI) Giao tiếp SPI cho phép chọn từ chế độ thời gian truyền liệu khác nhau, cung cấp linh hoạt việc truyền nhận liệu qua SPI Chân I2C: Theo mặc định, GPIO4 (SDA) GPIO5 (SCL) sử dụng làm chân giao tiếp I2C để dễ dàng sử dụng thư viện code ví dụ Arduino Chân UART: ESP8266 có hai giao tiếp UART, UART0 UART1, hỗ trợ giao tiếp không đồng (RS232 RS485) với tốc độ lên tới 4,5 Mbps Giao tiếp UART0 sử dụng để truyền nhận liệu thông qua chân TXD0 (Transmit Data 0), RXD0 (Receive Data 0), RST0 (Reset 0) CTS0 (Clear To Send 0) Giao thức thường sử dụng để giao tiếp với thiết bị ngoại vi kết nối với máy tính Chân PWM: Tất chân GPIO từ GPIO0 đến GPIO15 ESP8266 có khả lập trình sử dụng để điều chế độ rộng xung (PWM) Chân SDIO: ESP8266 có SDIO phụ để kết nối thẻ nhớ SD Chân nguồn: Chân VIN sử dụng để cấp nguồn trực tiếp cho ESP8266 thiết bị ngoại vi Chân 3V3 đầu điều chỉnh từ IC ổn áp mạch Chân ngắt( interrupt): Tất chân GPIO NodeMCU ESP8266 cấu ngắt, trừ GPIO16 Chân điều khiển: Chân EN (còn gọi CH_PD Chip Power Down) chân kích hoạt cho ESP8266, mặc định kéo lên mức cao Chân RST chân reset cho ESP8266, mặc định kéo lên mức cao Chân FLASH sử dụng để xác định khởi động vào chế độ nạp chương trình Chân WAKE sử dụng để đánh thức ESP8266 từ chế độ ngủ sâu (deep sleep) 2.1.2 Cảm biến nhiệt độ DHT11 Hình 4: Thiết bị DHT11 DHT11 cảm biến kỹ thuật số chi phí thấp để cảm nhận nhiệt độ độ ẩm Cảm biến dễ dàng giao tiếp với điều khiển vi mô Arduino, Raspberry Pi, v.v để đo độ ẩm nhiệt độ Cấu tạo cảm biến nhiệt độ- độ ẩm DHT11: Cảm biến DHT11 bao gồm phần tử cảm biến độ ẩm điện dung điện trở nhiệt để cảm nhận nhiệt độ Tụ điện cảm biến độ ẩm có hai điện cực với chất giữ ẩm làm chất điện môi chúng Thay đổi giá trị điện dung xảy với thay đổi mức độ ẩm IC đo, xử lý giá trị điện trở thay đổi chuyển chúng thành dạng kỹ thuật số 10 Để đo nhiệt độ, cảm biến sử dụng nhiệt điện trở có hệ số nhiệt độ âm, làm giảm giá trị điện trở nhiệt độ tăng Để có giá trị điện trở lớn thay đổi nhỏ nhiệt độ, cảm biến thường làm gốm bán dẫn polymer Định dạng sơ đồ chân dht11: Số chân Tên chân Mô tả Vcc Nguồn điện 3.5V đến 5.5V Data Đầu Nhiệt độ Độ ẩm thông qua Dữ liệu nối tiếp Ground Kết nối với mặt đất mạch Thông số kĩ thuật: - Điện áp hoạt động: 3.5V đến 5.5V Dòng hoạt động: 0,3mA (đo) 60uA (chế độ chờ) Đầu ra: Dữ liệu nối tiếp Phạm vi nhiệt độ: ° C đến 50 ° C Phạm vi độ ẩm: 20% đến 90% Độ phân giải: Nhiệt độ Độ ẩm 16-bit Độ xác: ± ° C ± 1% 2.1.3 Module l298n Hình 5:Module L298N Mạch điều khiển tốc độ l298 có khả điều khiển động DC lúc Sử dụng IC L298 có cấu tạo gồm hai mạch cầu H transitor 11 Thông số kỹ thuật: - Driver: L298N tích hợp hai mạch cầu H Điện áp điều khiển: +5 V ~ +12 V Dòng tối đa cho cầu H là: 2A (=>2A cho motor) Điện áp tín hiệu điều khiển: +5 V ~ +7 V Dịng tín hiệu điều khiển: ~ 36mA Cơng suất hao phí: 20W (khi nhiệt độ T = 75 ℃).) Nhiệt độ bảo quản: -25 ℃) ~ +130 ℃) Sơ đồ chân module L298N: - Chân 12V Power cấp nguồn cho mạch L298 nguồn động lực cho động - Chân 5V Power dùng cấp nguồn cho Arduino, có Jumper 5V Enable - Chân GND chân cấp MASS cho mạch, sử dụng vi điều khiển cần nối GND mạch với GND vi điều khiển - Chân Enable chân cho phép ngỏ động hoạt động dừng Mặc định mạch có Jumper A Enable va B Enable hình cho phép chạy Chân IN1, IN2 điều khiển chiều tốc độ động thông qua ngỏ output A - Chân IN3, IN4 điều khiển chiều tốc độ động thông qua ngỏ output B - Chân output A, output B chân ngỏ động 1, 2.1.4 DC motor Hình 6: Thiết bị DC Motor 12 Thông số kĩ thuật: - Điện áp hoạt động: 12V - Tốc độ: 18000 rpm/12V - Công suất: 150W - Dùng nguồn từ thường dùng 12V-10A - Dòng điện khơng tải 1.05 A - Đường kính động cơ: 42mm - Đường kính trục quay: 5mm - Chiều dài động cơ: 86mm - Cân nặng: 350g 2.1.5 Dây cáp Micro USB Hình 7: Dây cap Micro USB Sử dụng để nạp mã cho vi điều khiển ESP8266 để cấp nguồn cho vi điều khiển thiết bị khác 2.2 Phần mềm điều khiển 2.2.1 Phần mềm Arduino IDE Arduino IDE phần mềm mã nguồn mở chủ yếu sử dụng để viết biên dịch mã vào module Arduino Đây phần mềm Arduino thức, giúp cho việc biên dịch mã trở nên dễ dàng mà người bình thường khơng có kiến thức kỹ thuật làm Nó có phiên cho hệ điều hành MAC, Windows, Linux chạy tảng Java kèm với chức lệnh có sẵn đóng vai trị quan trọng để gỡ lỗi, chỉnh sửa biên dịch mã môi trường Có nhiều module Arduino Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Micro nhiều module khác Mỗi module chứa vi điều khiển bo mạch lập trình chấp nhận thơng tin dạng mã 13 Mã chính, cịn gọi sketch, tạo tảng IDE tạo file Hex, sau chuyển tải lên điều khiển bo Môi trường IDE chủ yếu chứa hai phần bản: Trình chỉnh sửa Trình biên dịch, phần đầu sử dụng để viết mã yêu cầu phần sau sử dụng để biên dịch tải mã lên module Arduino Môi trường hỗ trợ ngôn ngữ C C ++ 2.2.2 Arduino IDE hoạt động Khi người dùng viết mã biên dịch, IDE tạo file Hex cho mã File Hex file thập phân Hexa Arduino hiểu sau gửi đến bo mạch cáp USB Mỗi bo Arduino tích hợp vi điều khiển, vi điều khiển nhận file hex chạy theo mã viết Môi Trường Phát Triển (Arduino IDE): · Sử dụng ngơn ngữ lập trình C/C++ · Người dùng viết mã sử dụng thư viện có sẵn để điều khiển chức bo mạch Viết Mã Biên Dịch: · Người dùng viết mã Arduino IDE · Bấm nút "Compile" để biên dịch mã nguồn thành mã máy Hexa Tạo File Hex: · Quá trình biên dịch tạo file Hex chứa thị máy dạng thập phân Hexa Kết Nối Với Bo Mạch Arduino: · Sử dụng cáp USB để kết nối bo mạch với máy tính · Chọn cổng USB nơi bo mạch kết nối Upload File Hex Lên Bo Mạch: · Nhấn nút "Upload" Arduino IDE · Bootloader bo mạch nhận file Hex lưu vào nhớ Flash Chạy Chương Trình Bo Mạch: · Bo mạch có vi điều khiển (microcontroller), thường AVR ARM 14 · Bộ vi điều khiển thực thi chương trình từ nhớ Flash, điều khiển chức lập trình 15 CHƯƠNG 3: KẾT NỐI HỆ THỐNG 3.1 Kết nối cứng ESP8266 cấp nguồn từ 7- 12V qua cổng Micro USB: - Sử dụng chân D5 kết nối với cảm biến DHT11 - Sử dụng chân D6, D7, D8 tương ứng với chân ENB, IN4, IN3 modeule L298N Module L298N sử dụng chân OUTPUT B kết nối tới chân GND VCC động DC motor DC motor cấp thêm nguồn 9V kết nối với chân GND chân 12V Chân Power 5V kết nối với chân VCC esp8266 3.2 Kết nối mềm ESP8266 kết nối tới Internet thông qua wifi( thư viện ESP8266), tạo server cổng 80 in địa Ip ESP8266 Sử dụng thư viện ESP8266WiFi ESP8266WebServer để xây dựng webserver cung cấp giao diện điều khiển quạt từ xa Các nút điều khiển trang web tạo HTML JavaScript để gửi yêu cầu điều khiển đến ESP8266 thông qua AJAX Ta sử dụng hàm handleRoot() để tạo HTML reponse để hiển thị trang web với thông tin nhiệt độ độ ẩm Hiển thị nút điều khiển quạt gửi yêu cầu điều khiển đến server thông qua JavaScript XMLHttpRequest Đồng thời đọc liệu từ cảm biến nhiệt độ độ ẩm Tạo hàm motorControl() để xử lí yêu cầu điều khiển quạt từ client thông qua webserver Từ lệnh command nhận từ client, ta gửi yêu cầu đến ESP8266 Webserver để thực hiện, thay đổi tốc độ quạt cập nhật trạng thái currentMotorMode Điều tạo kết nối mềm trình duyệt ESP8266 thơng qua XMLHttpRequest để tương tác với webserver điều khiển hệ thống 16 3.3 Phát triển ứng dụng Đây hệ thống điều khiển quạt tự động, mang lại thuận tiện tiết kiệm lượng Với tính điều khiển từ xa chế độ tự động, hệ thống cung cấp giải pháp hiệu cho việc quản lí mơi trường sống Đối với hệ thống này, ta cần tích hợp thêm cảm biến chức để mở rộng tính thơng minh hệ thống Tối ưu hóa mã nguồn để tăng hiệu suất độ ổn định Thêm chức đăng nhập để bảo mật ngăn chặn truy cập trái phép 17