TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KỸ THUẬT MÁY TÍNH & ĐIỆN TỬ BÁO CÁO ĐỒ ÁN CUỐI KỲ TÊN ĐỀ TÀI ỨNG DỤNG FREERTOS ĐỂ GIÁM SÁT NHIỆT ĐỘ ĐỘ ẨM VÀ KHÍ GAS SV
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KỸ THUẬT MÁY TÍNH & ĐIỆN TỬ
BÁO CÁO ĐỒ ÁN CUỐI KỲ
TÊN ĐỀ TÀI ỨNG DỤNG FREERTOS ĐỂ GIÁM SÁT NHIỆT ĐỘ ĐỘ ẨM VÀ KHÍ GAS
SVTH: DƯƠNG LÊ TẤN HIỂN SVTH: NGÔ MINH TRÍ LỚP : 21CE2
NIÊN KHÓA: 2021-2026 HỌC PHẦN : HỆ ĐIỀU HÀNH NHÚNG (2) GVHD: TS Vương Công Đạt
Đà Nẵng, tháng 5 năm 2024
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
VÀ TRUYỀN THÔNG VIỆT - HÀN
KHOA KỸ THUẬT MÁY TÍNH & ĐIỆN TỬ
BÁO CÁO ĐỒ ÁN CUỐI KỲ
TÊN ĐỀ TÀI ỨNG DỤNG FREERTOS ĐỂ GIÁM SÁT NHIỆT ĐỘ ĐỘ ẨM VÀ KHÍ GAS
SVTH: DƯƠNG LÊ TẤN HIỂN MSV : 21CE087
SVTH : NGÔ MINH TRÍ MSV : 21CE119 HỌC PHẦN : HỆ ĐIỀU HÀNH NHÚNG (2) GVHD: TS Vương Công Đạt
Đà Nẵng, tháng 05 năm 2024
Trang 3LỜI CẢM ƠN
Trong suốt quá trình học tập tại trường Đại học CNTT và TT Việt-Hàn, ngoài sự
nỗ lực của bản thân, nhóm chúng em đã nhận được nhiều sự chỉ dẫn, giúp đỡ tận tình
từ các thầy cô trong trường Hơn hết, các thầy cô trong Khoa Kỹ thuật máy tính vàđiện tử đã luôn luôn tạo điều kiện tốt nhất để nhóm chúng em được tiếp cận với nhiềukiến thức chuyên ngành và kiến thức liên hệ ngoài thực tế Nhóm em xin chân thànhcảm ơn nhà trường và các thầy cô trong Khoa
Để có thể hoàn thành tốt được báo cáo này, nhóm muốn gửi lời cảm ơn chân thànhđến thầy T.S Vương Công Đạt - người đã trực tiếp hướng dẫn, góp ý, giúp đỡ nhómmột cách tận tình về kiến thức và phương pháp thực hiện đề tài
Điều cuối cùng, nhóm kính chúc thầy cô trường Đại học CNTT và TT Việt-Hàn,đặc biệt là TS Vương Công Đạt dồi dào sức khỏe và thành công trong công việc giảngdạy và nghiên cứu
Đà Nẵng, ngày … tháng … năm 2024
Sinh viên thực hiện
Dương Lê Tấn Hiển Ngô Minh Trí
Trang 4MỤC LỤC
Trang 5MỤC LỤC HÌNH ẢNH
Trang 6MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay trên thế giới với sự phát triển mạnh mẽ của khoa học – công nghệ
đã góp phần giúp chất lượng cuộc sống con người không ngừng được nâng cao.Thêm vào đó sự xâm nhập trực tiếp của internet vào cuộc sống của chúng ta ngàycàng nhiều Nhu cầu của con người ngày càng cao đưa đến những thách thức liênquan đến việc quan sát, nhận biết, xử lí tự động các dữ liệu online một cách hiệuquả Từ những thực tiễn đó, kích thích sự tò mò, tìm hiểu của con người, là nguồncảm hứng cho các ứng dụng thông minh ra đời Là sinh viên khoa Kỹ thuật máytính trường Đại học CNTT & TT Việt Hàn, với những kiến thức đã học cùng vớimong muốn được tìm hiểu và được thử sức thiết kế một đề tài hay và thú vị trong
việc thực thi các nhu cầu của con người thông qua mạng Internet Đề tài “ ỨNG
DỤNG FREERTOS ĐỂ GIÁM SÁT NHIỆT ĐỘ ĐỘ ẨM VÀ KHÍ GAS ” mà
nhóm em chọn cho đồ án môn học là sẽ giúp ích cho con người về việc quan sát,kiểm tra từ đó đưa ra cảnh báo hoặc thực thi một nhu cầu nào đó của chính người
sử dụng cụ thể áp dụng trong nông nghiệp và các doanh nghiệp có tính qui môlớn
2 Mục tiêu nghiên cứu
Đề tài được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng các kiếnthức đã học trên ghế nhà trường để xây dựng, phát triển một hệ thống quản lý khígas , nhiệt độ và độ ẩm Sau khi thực hiện, đề tài đặt ra những chức năng sau:
Tìm hiểu, xây dựng một hệ thống toàn diện có tính ứng dụng thực tiễn
Phần cứng có thể dễ dàng triển khai, giảm thiểu chi phí phát sinh
3 Nội dung nghiên cứu
CHƯƠNG 1 : Cơ sở lý thuyết
CHƯƠNG 2 : Phân tích và thiết kế hệ thống cho đề tài
CHƯƠNG 3 : Kết quả thực hiện và đánh giá kết quả
Trang 7CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT
1.1 FREERTOS là gì ?
FreeRTOS là hạt nhân hệ điều hành thời gian thực mở nguồn mở cho hệ thốngnhúng được phát triển bởi Real Time Engineers Ltd, sáng lập và sở hữu bởi RichardBarry
Hình 1 1 Đồ thị so sách các đặc điểm của phần mềm và phần cứngNhân FreeRTOS ban đầu được phát triển bởi Richard Barry vào khoảng năm2003
Sau đó được phát triển và duy trì bởi công ty của Barry,
Vào năm 2017, công ty đã chuyển quyền quản lý dự án FreeRTOS choAmazon Web Services (AWS)
Barry tiếp tục làm việc trên FreeRTOS như một phần của nhóm AWS
FreeRTOS được ứng dụng cho các hệ thống thời gian thực cứng (hard time) và hệ thống thời gian thực mềm (soft real- time)
real- FreeRTOS có thể nhúng được cho nhiều kiến trúc vi điều khiển: ARM,Atmel, Intel, STM, TI,…
Trang 8Hình 1 2 Kiến trúc Vi điều khiển STMCác chương trình trên FreeRTOS được tổ chức như một tập hợp các luồng thực thiđộc lập.
Trên bộ xử lý chỉ có một lõi, chỉ một luồng duy nhất có thể được thực thi tại mộtthời điểm bất kỳ
Nhân FreeRTOS quyết định luồng nào sẽ được thực thi bằng cách kiểm tra mức
độ ưu tiên do người thiết kế ứng dụng gán cho mỗi luồng
Trong trường hợp đơn giản nhất, nhà thiết kế ứng dụng có thể chỉ định mức độ ưutiên cao hơn cho các luồng thực hiện các yêu cầu thời gian thực cứng và mức độ ưutiên thấp hơn cho các luồng thực hiện các yêu cầu thời gian thực mềm
1.2 Ứng dụng của FREERTOS
RTOS là một hệ thống đơn giản, nhẹ được sử dụng cho các hệ thống hạn chế hoặcđơn giản, chẳng hạn như các thiết bị nhúng Điều này làm cho chúng hoàn hảocho ứng dụng như:
Chuyển mạch điện thoại
Kiểm soát công nghiệp
Điều khiển bay
Mô phỏng trong thời gian thực
Ứng dụng quân sự
Đồ gia dụng
Các thiết bị điện tử tiêu dùng cơ bản
1.3 Ưu điểm và nhược điểm của FREERTOS
Ưu điểm :
FreeRTOS được thiết kế phù hợp cho nhiều hệ nhúng nhỏ vì nó chỉ triển khai rất ítcác chức năng như:
Cơ chế quản lý bộ nhớ và tác vụ cơ bản
Các hàm API quan trọng cho cơ chế đồng bộ
Thông thường, một hình ảnh nhị phân hạt nhân RTOS sẽ nằm trong vùng
từ 4K đến 9K byte
Chỉ chiếm khoảng 4K byte trên adruino khi sử dụng
Trang 9 Miễn phí
Mã nguồn mở
Tiền bản quyền miễn phí
Hỗ trợ diễn đàn trao đổi
Cấp phép thương mại tùy chọn
Độ tin cậy cao
Hỗ trợ hơn 40 kiến trúc hệ thống nhúng
Được sử dụng trong hầu hết các hệ thống nhúng vừa và nhỏ
Tốc độ xử lý cao, đặc biệt với các dòng cortex-M
Trang 10Hình 1 5 Ứng dụng của các hàm trong hệ điều hành FREERTOS
Nhược điểm :
Tính bảo mật
Các file dữ liệu có tính bảo mật không cao Dễ bị kẻ xấu đánh cắp dữ liệu OriKarliner, một nhà nghiên cứu bảo mật tại Zimperium Security Labs (ZLabs), đã pháthiện tổng cộng 13 lỗ hỏng trong ngăn xếp TCP/IP của FreeRTOS
Hình 1 6 Lỗ hỏng của TCP/IP
Xử lý lỗi
Không được báo cáo rõ ràng
Thường xuyên xảy ra lỗi trong các hệ thống phức tạp
Chỉ hỗ trợ báo lỗi tràn bộ nhớ
Trang 11CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHO ĐỀ
TÀI
2.1 Giới thiệu về linh kiện trong mạch
2.1.2 ESP32
ESP32 là một series các vi điều khiển trên một vi mạch giá rẻ, năng lượng thấp có
hỗ trợ WiFi và dual-mode Bluetooth Dòng ESP32 sử dụng bộ vi xử lý TensilicaXtensa LX6 ở cả hai biến thể lõi kép và lõi đơn, và bao gồm các công tắc antenna tíchhợp, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc vàmodule quản lý năng lượng
Hình 2 1 Vi điều khiển ESP32Một điều quan trọng khác cần biết về ESP32 là nó được sản xuất bằng công nghệ
40 nm công suất cực thấp của TSMC Vì vậy, việc thiết kế các ứng dụng hoạt độngbằng pin như thiết bị đeo, thiết bị âm thanh, đồng hồ thông minh, , sử dụng ESP32 sẽrất dễ dàng
Các tính năng của ESP32 bao gồm:
Bộ xử lý:
CPU: Bộ vi xử lý Xtensa lõi kép (hoặc lõi đơn) 32-bit LX6, hoạt động ở tần số
240 MHz (160 MHz cho ESP32-S0WD và ESP32-U4WDH) và hoạt động ở tối
đa 600 MIPS (200 MIPS với ESP32-S0WD/ESP32-U4WDH)
Bộ đồng xử lý (co-processor) công suất cực thấp (Ultra low power, viết tắt:
Trang 12 Hệ thống xung nhịp: CPU Clock, RTC Clock và Audio PLL Clock
Bộ nhớ nội: 448 KB bộ nhớ ROM và 520 KB bộ nhớ SRAM
Kết nối không dây: Wi-Fi: 802.11 b/g/n và Bluetooth: v4.2 BR/EDR vàBLE
1024-bit OTP, lên đến 768-bit cho khách hàng
Tăng tốc mã hóa phần cứng: AES, SHA-2, RSA, elliptic curvecryptography
Quản lý năng lượng:
Bộ ổn áp nội với điện áp rơi thấp (internal low-dropout regulator)
Miền nguồn riêng (individual power domain) cho RTC
Dòng 5 μA cho chế độ deep sleep
Trở lại hoạt động từ ngắt GPIO, timer, đo ADC, ngắt với cảm ứng điệndung
Sơ đồ chân:
Trang 13Hình 2 2 Sơ đồ chân của ESP32Ngoài ra, có những chân với các tính năng cụ thể làm cho chúng phù hợp hoặckhông phù hợp với một dự án Bảng sau đây cho thấy những chân nào sử dụng làminput, output là tốt nhất và những chân nào bạn cần thận trọng.
Các chân được đánh dấu màu xanh lá cây là sử dụng OK Các chân dụng đượcđánh dấu màu vàng là sử dụng OK, nhưng bạn cần chú ý vì chúng có thể có nhữnghành vi không mong muốn lúc khởi động (boot) Các chân được đánh dấu màu đỏkhông được khuyến khích sử dụng làm input hoặc output
Một số môi trường lập trình ESP32 thường dùng:
Hình 2 3 Các loại DHT11 trên thị trường
Trang 141 Vcc Nguồn điện 3.5V đến 5.5V
2 Dữ liệu Đầu ra cả Nhiệt độ và Độ ẩm thông qua Dữ liệu nối tiếp
4 Groun
Thông số kỹ thuật
Điện áp hoạt động: 3.3V - 5V DC
Dòng điện tiêu thụ: 0.26mA (trung bình)
Giao tiếp: 1-Wire
Khoảng đo nhiệt độ: 0°C - 50°C (sai số ±2°C)
Khoảng đo độ ẩm: 20% - 80% RH (sai số ±5% RH)
Tần số lấy mẫu: 1Hz (lấy mẫu 1 lần mỗi giây)
Trang 15 IC điều khiển HD44780 hoặc tương đương
Giao tiếp 4 or 8 bit
Trang 162.1.4 Cảm biến khí Gas
Cảm biến khí Gas MQ2 hoạt động dựa trên nguyên lý phản ứng hóa học khi tiếpxúc các khí trong môi trường Nguyên tắc hoạt động của nó là khi các khí trong môitrường như khí CO, khí LPG, khí methane, khí Hydro, khói… tiếp xúc với phần tử bêntrong cảm biến, làm cho các electron được giải phóng vào Thiếc Dioxide cho phépdòng điện chạy qua cảm biến một cách tự do
Khi được làm nóng, phần tử cảm biến sẽ tạo ra phản ứng hóa học với các khí tiếpxúc và làm thay đổi điện trở của phần tử cảm biến Cảm biến MQ2 đo lường các biếnđổi điện trở này và chuyển đổi chúng thành tín hiệu điện analog hoặc Digital
Hình 2 6 Cảm biến khí gasTHÔNG SỐ KỸ THUẬT
Trang 17được cấu tạo từ một khối bán dẫn loại p ghép với một khối bán dẫn loại n Độ sáng củaLED phụ thuộc vào cường độ năng lượng phát ra từ điốt hoặc từ 2 điện cực bên trong.
I2C hay IIC (Inter – Integrated Circuit) là 1 giao thức giao tiếp nối tiếp đồng bộđược phát triển bởi Philips Semiconductors, sử dụng để truyền nhận dữ liệu giữa các
IC với nhau chỉ sử dụng hai đường truyền tín hiệu
I2C kết hợp các tính năng tốt nhất của SPI và UART I2C có thể kết nối nhiềuslave với một master duy nhất (như SPI) và có thể có nhiều master điều khiển mộthoặc nhiều slave Điều này thực sự cần thiết khi muốn có nhiều hơn một vi điều khiểnghi dữ liệu vào một thẻ nhớ duy nhất hoặc hiển thị văn bản trên một màn hình LCD
Trang 18Hình 2 8 Giao thức hoạt động của I2C
Ưu điểm của giao tiếp I2C
Chỉ sử dụng hai dây
Hỗ trợ nhiều master và nhiều slave
Bit ACK / NACK xác nhận mỗi khung được chuyển thành công
Phần cứng ít phức tạp hơn so với UART
Giao thức nổi tiếng và được sử dụng rộng rãi
Nhược điểm
Tốc độ truyền dữ liệu chậm hơn SPI
Kích thước của khung dữ liệu bị giới hạn ở 8 bit
Cần phần cứng phức tạp hơn để triển khai so với SPI
2.1.7 Còi báo động SFM-27
Còi báo động SFM-27 - Ngắt Quãng Là loại còi chuyên dùng trong các hệ thốngbáo sự cố trong dân dụng và trong công nghiệp
Hình 2 9 Còi SFM-27
Trang 19Thông số kỹ thuật:
Điện áp hoạt động: 3 - 24VDC
Dòng hoạt động: dưới 30mA
Cường độ âm thanh: trên 85dB
Tuy là phần mềm mã nguồn mở nhưng khả năng bảo mật thông tin của ArduinoIDE là vô cùng tuyệt vời, khi phát hiện lỗi nhà phát hành sẽ vá nó và cập nhật rấtnhanh khiến thông tin của người dùng không bị mất hoặc rò rỉ ra bên ngoài
Hình 2 10 Phần mềm Arduino IDE
Trang 20Arduino IDE sử dụng ngôn ngữ lập trình C/C++ rất phổ biến trong giới lập trình.Bất kỳ đoạn code nào của C/C++ thì Arduino IDE đều có thể nhận dạng, giúp các lậptrình viên thuận tiện trong việc thiết kế chương trình lập cho các bo mạch Arduino.Arduino IDE tích hợp với hơn 700 thư viện, được viết và chia sẻ bởi nhà pháthànhArduino Software và thành viên trong cộng đồng Arduino Mọi người có thể tậndụng chúng cho dự án của riêng mình mà không cần phải bỏ ra bất kỳ chi phí nào.
Trang 21CHƯƠNG 3 : KẾT QUẢ THỰC HIỆN VÀ ĐÁNH GIÁ KẾT QUẢ
3.1 Kết quả thực hiện
3.2 Sơ đồ khối của mô hình
Hình 3.1 Sơ đồ khối
Trang 223.3 Phân tích lưu đồ thuật toán
Hình 3.1 Lưu đồ thuật toán
3.4 Vẽ sơ đồ PCB
Hình 3.2 Sơ đồ mạch PCB
Trang 233.5 Hướng phát triển
Đề tài về ứng dụng FreeRTOS trong việc giám sát nhiệt độ, độ ẩm và khí gas làmột giải pháp đáng chú ý trong lĩnh vực nông nghiệp, công nghiệp và quản lý tòa nhà.Điều này đặc biệt quan trọng trong bối cảnh các vấn đề liên quan đến biến đổi khí hậungày càng trở nên nghiêm trọng
Việc áp dụng FreeRTOS - một hệ điều hành nhúng mã nguồn mở linh hoạt và ổnđịnh - cho hệ thống giám sát và điều khiển tự động trong nông nghiệp cung cấp một cơ
sở vững chắc cho sự linh hoạt và đáng tin cậy FreeRTOS cho phép chúng ta xây dựng
hệ thống phân tán với các nhiệm vụ đa luồng chạy song song, đồng thời giữ cho cáctác vụ quan trọng như đọc dữ liệu cảm biến, xử lý và quyết định điều khiển diễn ramột cách hiệu quả và đáng tin cậy
Hệ thống này có thể bao gồm các cảm biến nhiệt độ, độ ẩm và khí gas được đặt ởcác vị trí chiến lược trong nhà xưởng, tòa nhà hoặc khu vực sinh sống Các dữ liệu từcác cảm biến này được gửi về một trung tâm điều khiển được cài đặt trên một thiết bịnhúng sử dụng FreeRTOS Tại đây, các thuật toán thông minh có thể được triển khai
để phân tích dữ liệu và đưa ra các quyết định kịp thời nhằm bảo đảm an toàn và tối ưuhóa điều kiện môi trường Ví dụ, nếu phát hiện nồng độ khí gas vượt ngưỡng an toànhoặc nhiệt độ và độ ẩm không nằm trong phạm vi cho phép, hệ thống có thể tự độngkích hoạt các biện pháp cảnh báo và điều chỉnh như thông gió, điều hòa nhiệt độ hoặccảnh báo cho người dùng
Một ưu điểm nổi bật của việc sử dụng FreeRTOS là khả năng tương thích vớinhiều loại vi điều khiển và phần cứng khác nhau Điều này cho phép dễ dàng mở rộng
và tùy chỉnh hệ thống theo yêu cầu cụ thể của mỗi nhà xưởng hoặc tòa nhà Ngoài ra,FreeRTOS cung cấp các công cụ quản lý tài nguyên mạnh mẽ, giúp tối ưu hóa việc sửdụng bộ nhớ và CPU, từ đó tăng hiệu suất và tuổi thọ của hệ thống
Trong tương lai, việc phát triển đề tài này có thể mở ra nhiều cơ hội hơn trongviệc áp dụng công nghệ thông tin vào quản lý môi trường, giúp nâng cao hiệu quả hoạtđộng và tiết kiệm tài nguyên một cách hiệu quả
Trang 24KẾT LUẬN
Trong quá trình nghiên cứu và phát triển, chúng em đã tập trung vào việc thiết kế
và xây dựng một hệ thống có ứng dụng FREERTOS cho vi điều khiển ESP32 Đây làmột bước quan trọng trong việc áp dụng các công nghệ IoT để tự động hóa và nângcao hiệu quả trong thực tiễn
Chúng em đã bắt đầu bằng việc xác định yêu cầu chức năng của hệ thống này và
đề xuất một kiến trúc tổng thể bao gồm các cảm biến và thiết bị điều khiển Sử dụng viđiều khiển ESP32, chúng tôi đã lập trình để hệ thống có thể giám sát các yếu tố môitrường như nhiệt độ, độ ẩm, khí gas và tự động điều khiển các thiết bị như còi báođộng và đèn LED
Trong quá trình này, chúng ta đã nhận thức được mức độ quan trọng của việc tối
ưu hóa cả phần cứng và phần mềm để đảm bảo hệ thống hoạt động chính xác và hiệuquả Chúng tôi đã thực hiện các kiểm tra chức năng và đánh giá hiệu suất của hệ thống
để đảm bảo rằng các yêu cầu ban đầu đều được đáp ứng và hệ thống hoạt động ổnđịnh
Điều quan trọng nhất, thông qua dự án này, chúng tôi đã có cơ hội thực hành và ápdụng kiến thức lý thuyết về vi điều khiển và IoT vào thực tế Việc nghiên cứu và pháttriển hệ thống có ứng dụng FREERTOS sử dụng ESP32 đã mở ra một cánh cửa đểhiểu rõ hơn về ứng dụng của công nghệ tiên tiến ngày nay
Tuy nhiên, dự án vẫn còn hạn chế và cơ hội để mở rộng Các phương pháp khácnhau trong việc tích hợp thêm các cảm biến mới và sử dụng các thuật toán AI để phântích dữ liệu có thể được nghiên cứu sâu hơn để tìm ra cách tiếp cận tối ưu nhất Đồngthời, việc thử nghiệm và đánh giá hệ thống trên một môi trường thực tế sẽ giúp chúngtôi hiểu rõ hơn về các thách thức và cơ hội trong việc áp dụng nghiên cứu này vào các
hệ thống sản xuất