Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh khoa học kỹ thuật và công nghệ thông tin phát triển, kỹ thuật điều khiển tự động ngày càng giữ vai trò thiết yếu trong đời sống, quản lý và sản xuất. Các thiết bị cá nhân như máy tính, máy tính bảng và điện thoại thông minh kết nối mạng (WiFi, 3G/4G) đã trở thành công cụ phổ biến, tạo điều kiện thuận lợi cho việc theo dõi và điều khiển thiết bị điện từ xa thay vì thao tác đóng/ngắt cơ học trực tiếp tại công tắc.

Mô hình nhà thông minh (Smart Home) ứng dụng Internet vạn vật (Internet of Things - IoT) tập trung vào các dịch vụ gia đình kết nối (Connected Home) và tích hợp công nghệ thông tin với công nghệ vận hành (IT/OT Integration) nhằm tối ưu hóa năng lượng, an toàn và nâng cao năng suất quản lý. Tuy nhiên, các hệ thống điều khiển thông thường chủ yếu tích hợp cảm biến số để đo đạc thông số môi trường. Phương thức này còn bộc lộ hạn chế khi người dùng không thể kiểm chứng trực quan trạng thái vận hành cơ học thực tế của thiết bị tại hiện trường. Do đó, việc kết hợp camera truyền dữ liệu hình ảnh và video thời gian thực về điện thoại thông minh là yêu cầu cấp thiết để xác nhận chính xác trạng thái hoạt động của đối tượng điều khiển.

Đồ án tốt nghiệp "Ứng dụng IoT trong giám sát và điều khiển qua hình ảnh" được thực hiện bởi sinh viên Nguyễn Thanh Tâm (MSSV: 15141060) và Trần Quang Minh (MSSV: 15141347), dưới sự hướng dẫn của ThS. Nguyễn Duy Thảo tại Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (khóa 2015, chuyên ngành Công nghệ Kỹ thuật Điện tử, Truyền thông / Máy tính).

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể như sau:

  1. Thiết kế và hoàn thiện bo mạch phần cứng điều khiển thiết bị ngoại vi và xử lý tín hiệu.
  2. Điều khiển thiết bị qua sóng WiFi bằng vi xử lý kết hợp thu thập dữ liệu từ cảm biến nhiệt độ và độ ẩm.
  3. Thực hiện đóng/ngắt thiết bị qua ứng dụng di động, tích hợp nút nhấn điều khiển thủ công và nút thiết lập lại (reset) mạch khi xảy ra sự cố.
  4. Kiểm tra việc đóng/ngắt và giám sát quá trình hoạt động của thiết bị thông qua hình ảnh và video thực tế từ camera.
  5. Hiển thị thông số môi trường và trạng thái hoạt động của hệ thống tại chỗ thông qua màn hình hiển thị.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các vi mạch tích hợp, linh kiện điện tử, vi điều khiển (ATMEGA328P, ESP8266), máy tính nhúng (Raspberry Pi 3 Model B+), cảm biến môi trường (DHT11), module camera và các giải pháp đám mây IoT.
  • Phạm vi nghiên cứu: Giới hạn trong việc điều khiển 2 thiết bị điện dân dụng thông qua mạng WiFi/3G bằng ứng dụng di động kết nối với nền tảng máy chủ trung gian (Google Firebase), giám sát hình ảnh thông qua module camera nối kit Raspberry Pi 3; thời gian thực hiện nghiên cứu và hoàn thiện sản phẩm diễn ra trong 3 tháng (nghiệm thu vào tháng 04/2019).

Cơ sở lý thuyết và phương pháp

Khung lý thuyết của đề tài tập trung vào ba mảng kiến thức kỹ thuật: các chuẩn giao tiếp truyền dữ liệu nối tiếp, giao thức mạng Internet và nền tảng cơ sở dữ liệu thời gian thực.

  • Chuẩn truyền dữ liệu: Đề tài phân tích và ứng dụng ba chuẩn giao tiếp nối tiếp phổ biến:
    • SPI (Serial Peripheral Interface): Chuẩn truyền đồng bộ nối tiếp song công toàn phần (full-duplex) 4 dây do Motorola phát triển, bao gồm MOSI, MISO, SCLK và CS/SS.
    • I2C (Inter-Integrated Circuit): Chuẩn truyền thông nối tiếp 2 dây do Philips phát triển, gồm đường xung nhịp SCL (Master phát) và đường dữ liệu hai chiều SDA, hỗ trợ các dải tần số 100 kHz, 400 kHz, 1 MHz và 3,4 MHz.
    • UART (Universal Asynchronous Receiver - Transmitter): Mạch truyền dẫn dữ liệu nối tiếp dị bộ giữa các vi điều khiển và máy tính qua 2 đường tín hiệu thu nhận độc lập (TX, RX) theo tốc độ baud định sẵn.
  • Giao thức mạng và định dạng dữ liệu: Giao thức truyền dẫn siêu văn bản HTTP (Hypertext Transfer Protocol) trên nền tảng TCP/IP hoạt động theo cơ chế yêu cầu/phản hồi (Request/Response) không lưu trạng thái (stateless) giữa Client và Server. Định dạng trao đổi dữ liệu JSON (JavaScript Object Notation) dạng văn bản độc lập được dùng để đóng gói cấu trúc dữ liệu truyền tải giữa thiết bị phần cứng và máy chủ.
  • Cơ sở dữ liệu đám mây: Nền tảng Google Firebase cung cấp dịch vụ cơ sở dữ liệu thời gian thực (Firebase Realtime Database) lưu trữ dưới dạng cây JSON, hỗ trợ đồng bộ dữ liệu đa nền tảng qua kết nối bảo mật SSL mã hóa 2048-bit và duy trì khả năng lưu trữ đệm cục bộ khi mất mạng (làm việc offline). Dịch vụ lưu trữ Firebase Storage trên nền Google Cloud Platform chịu trách nhiệm quản lý, tải lên và tải xuống các tệp tin đa phương tiện dung lượng lớn như hình ảnh và video từ camera.

Phương pháp nghiên cứu thực tế bao gồm:

  • Phân tích và tổng hợp thông số kỹ thuật (datasheet) của từng linh kiện điện tử để tính toán phối hợp trở kháng, dòng định mức và điện áp làm việc.
  • Thiết kế mạch nguyên lý (schematic) và thiết kế mạch in (PCB layout) trên phần mềm Altium Designer.
  • Xây dựng phần mềm nhúng bằng ngôn ngữ C/C++ trên môi trường phát triển tích hợp Arduino IDE cho vi điều khiển ATMEGA328P và ESP8266-12F; lập trình kịch bản xử lý camera bằng ngôn ngữ Python trên hệ điều hành Raspbian của Raspberry Pi 3.
  • Phương pháp thực nghiệm đo kiểm: Chế tạo mạch in thực tế, hàn gắn linh kiện, đo điện áp, kiểm tra luồng truyền nhận UART giữa 2 vi điều khiển, kiểm tra kết nối WiFi nội bộ qua Web Server tự tạo và đo độ trễ đồng bộ hình ảnh qua dịch vụ đám mây Firebase.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc khối phân tầng, phân định rõ ràng giữa tầng thu thập tín hiệu/điều khiển công suất, tầng truyền thông mạng và tầng giám sát đa phương tiện.

Khối chức năng Linh kiện chính Thông số kỹ thuật danh định Giao tiếp / Chức năng
Khối xử lý 1 ESP8266-12F Lõi Tensilica L106 32-bit (80-160 MHz), Flash 16 MB, RAM 32K-80K, WiFi 802.11 b/g/n Giao tiếp UART với MCU; kết nối WiFi và đồng bộ dữ liệu thời gian thực với Google Firebase.
Khối xử lý 2 ATMEGA328P-AU Lõi AVR 8-bit, 20 MHz (dùng thạch anh ngoài 16 MHz), Flash 32 KB, RAM 2 KB, 23 chân I/O Điều khiển relay, quét nút nhấn, đọc cảm biến, xuất hiển thị OLED, giao tiếp UART với ESP8266.
Khối công suất Relay 5VDC, Opto PC817, Trans C1815, Diode 1N4007 Relay chịu tải 10A (AC 220V/50Hz); Opto cách ly PC817; Transistor NPN C1815 ($I_{Cmax}=150\text{ mA}$); Diode bảo vệ 1N4007 Đóng/ngắt dòng điện 2 kênh tải ngoại vi; cách ly hoàn toàn điện áp cao với khối xử lý điều khiển.
Khối camera Kit Raspberry Pi 3 Model B+, Module Camera CSI Broadcom BCM2837B0 quad-core A53 1,4 GHz, RAM 1 GB, cổng MIPI CSI, chuẩn nén H.264 (1080p30) Ghi nhận hình ảnh tĩnh và quay video ngắn theo yêu cầu, nén và tải tệp lên Firebase Storage.
Khối cảm biến DHT11 Dải đo nhiệt độ 0°C - 50°C ($\pm2^\circ\text{C}$), độ ẩm 20% - 90% RH ($\pm5%\text{ RH}$), tần số lấy mẫu 1 Hz Giao tiếp 1-Wire qua chân analog A0 của ATMEGA328P; cấp nguồn 3,3V.
Khối hiển thị OLED SSD1306 Kích thước 1,3 inch, độ phân giải $128 \times 64$ pixel, điện áp 3V - 5V, công suất tiêu thụ 0,08W Chuẩn giao tiếp I2C qua chân SDA và SCL; hiển thị nhiệt độ, độ ẩm và trạng thái 2 thiết bị.
Khối mạch nạp IC CH340, cổng Mini-USB Thạch anh 12 MHz, tích hợp 2 transistor C1815 chuyển mạch tự động Chuyển đổi USB sang UART; tự động kéo chân Reset và GPIO0 xuống mức 0 để nạp mã nguồn cho ESP8266.
Khối nút nhấn Nút 4-pin (USER), nút 2-pin (RESET, FLASH) Điện trở treo 10 kΩ, tích cực mức thấp (Active-Low), tích hợp tụ lọc dội phím 2 nút USER chuyển đổi trạng thái tải bằng tay; các nút Reset MCU, Reset ESP và nút Flash nạp code.
Khối nguồn Mô-đun Hi-Link Điện áp vào AC 85 - 265V, điện áp ra DC 5V; tích hợp bảo vệ ngắn mạch và quá dòng Cung cấp nguồn 5VDC cho toàn bộ bo mạch điều khiển; Raspberry Pi 3 dùng adapter ngoài riêng (5,1V/2,5A).

Trong khối công suất, mạch được tính toán để đảm bảo an toàn tuyệt đối cho vi xử lý:

  • Tín hiệu kích mức cao từ chân số 5 và 6 của ATMEGA328P đi qua điện trở hạn dòng $R_{11} = 160,\Omega$ vào LED phát quang của opto PC817 (dòng qua LED đạt $I_{led} \approx 10 - 20\text{ mA}$).
  • Tầng đóng ngắt sử dụng transistor C1815 (NPN) làm việc ở chế độ bão hòa. Với dòng kích cuộn dây rơ-le định mức là $90\text{ mA}$, dòng tải cực góp chọn $I_{C} = I_{Cmax} = 150\text{ mA}$, hệ số khuếch đại bão hòa chọn $\beta_{sat} = 30$, dòng cực gốc cần thiết được tính toán là: $$I_B = \frac{I_{Cmax}}{\beta_{sat}} = \frac{150\text{ mA}}{30} = 5\text{ mA}$$
  • Điện trở xả $R_{12} = 10\text{ k}\Omega$ được mắc từ chân B xuống mass nhằm triệt tiêu điện áp trôi, đảm bảo transistor khóa hoàn toàn khi chân vi điều khiển xuất mức 0. Diode 1N4007 mắc phân cực ngược song song với cuộn cảm relay để dập sức điện động cảm ứng ngược khi ngắt điện.

Bảng tính toán dòng tiêu thụ danh định của toàn bo mạch điều khiển (Bảng 3.3 trong văn bản):

STT Tên linh kiện Điện áp hoạt động (V) Dòng tiêu thụ đơn vị (mA) Số lượng Tổng dòng tiêu thụ (mA)
1 ATMEGA328P 5,0 63,3 1 63,3
2 ESP8266-12F 3,3 170,0 1 170,0
3 Rơ-le (Relay) 5,0 80,0 2 160,0
4 Transistor C1815 5,0 50,0 2 100,0
5 Opto PC817 5,0 30,0 2 60,0
6 LED đơn báo hiệu 5,0 20,0 4 80,0
7 Cảm biến DHT11 3,3 2,5 1 2,5
8 Màn hình OLED SSD1306 5,0 8,0 1 8,0

Quy trình vận hành phần mềm nhúng diễn ra đồng bộ qua các bước:

  1. Khởi tạo và cấu hình WiFi: Khi khởi động, ESP8266 kiểm tra cấu hình mạng. Nếu chưa có thông tin WiFi hoặc không kết nối được máy chủ, chip tự động phát Access Point và khởi tạo một Web Server nội bộ tại địa chỉ IP 192.168.4.1. Người dùng dùng điện thoại kết nối vào IP này để nhập tên mạng (SSID) và mật khẩu. Sau khi nhận được thông tin hợp lệ, ESP8266 tắt Web Server, tắt chế độ AP, chuyển sang chế độ Client kết nối vào mạng WiFi gia đình và đồng bộ với cơ sở dữ liệu Firebase.
  2. Xử lý tín hiệu điều khiển: Điện thoại gửi lệnh cập nhật biến trạng thái trên Firebase Realtime Database. ESP8266 nhận sự kiện thay đổi dữ liệu, chuyển lệnh qua giao tiếp UART tới ATMEGA328P. ATMEGA328P kiểm tra lệnh, xuất mức logic điều khiển tầng rơ-le tương ứng, đồng thời cập nhật trạng thái mới lên màn hình OLED và gửi chuỗi UART phản hồi lại ESP8266 để cập nhật lên máy chủ.
  3. Đo thông số môi trường: ATMEGA328P sử dụng bộ định thời Timer nội, chu kỳ định kỳ 2 giây (Timer == 2s) một lần kích hoạt đọc dữ liệu từ cảm biến DHT11 qua chân A0, cập nhật giá trị nhiệt độ và độ ẩm lên màn hình OLED, đồng thời truyền dữ liệu sang ESP8266 để tải lên Firebase.
  4. Xử lý nút bấm thủ công: Hai nút nhấn USER tích cực mức thấp được quét liên tục. Khi phát hiện thao tác nhấn, chương trình đảo trạng thái logic (TT1 hoặc TT2), thay đổi trạng thái ngõ ra relay ngay lập tức, hiển thị lên màn hình OLED và gửi thông tin qua ESP8266 để đồng bộ ngược về ứng dụng di động.
  5. Truyền dẫn hình ảnh và video: Kit Raspberry Pi 3 chạy ngầm chương trình Python theo dõi các biến lệnh trên Firebase. Khi người dùng gửi yêu cầu chụp ảnh, script kích hoạt module camera chụp ảnh và truyền tệp lên Firebase Storage. Khi nhận lệnh quay video, hệ thống ghi video định dạng H.264, gọi lệnh chuyển đổi định dạng sang MP4 rồi tải lên Firebase Storage để hiển thị trực tiếp trên giao diện ứng dụng điện thoại.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương này giới thiệu bối cảnh ứng dụng công nghệ điều khiển tự động và IoT trong mô hình Connected Home nhằm nâng cao năng suất quản lý và sự tiện nghi. Tác giả chỉ rõ hạn chế của các giải pháp chỉ dùng cảm biến đơn thuần và khẳng định tính cấp thiết của việc giám sát bằng hình ảnh/video thực tế. Văn bản công bố mục tiêu chế tạo hệ thống điều khiển kết hợp camera, nhiệm vụ thiết kế phần cứng, phạm vi thực hiện đề tài gồm 2 kênh điều khiển qua WiFi/3G, cùng cấu trúc bố cục đồ án gồm 6 chương.

Chương 2: Cơ sở lý thuyết

Nội dung chương trình bày chi tiết nền tảng lý thuyết truyền thông và cơ sở dữ liệu. Phần truyền dữ liệu nối tiếp phân tích cơ chế, sơ đồ chân và dạng sóng xung nhịp của các chuẩn SPI (Master/Slave, 4 dây), I2C (SDA/SCL, địa chỉ thiết bị) và UART (TX/RX, tốc độ baud). Phần giao thức mạng làm rõ nguyên lý yêu cầu/phản hồi không trạng thái của HTTP trên nền TCP/IP và cấu trúc cú pháp của định dạng JSON. Phần cơ sở dữ liệu phân tích hệ thống Google Firebase, bao gồm Firebase Realtime Database (đồng bộ hóa dữ liệu thời gian thực theo định dạng JSON, bảo mật chứng nhận SSL 2048-bit), Firebase Storage (quản lý tệp nhị phân ảnh, video), Firebase Hosting và dịch vụ chứng thực người dùng.

Chương 3: Thiết kế hệ thống và các khối

Chương 3 thiết lập các yêu cầu kỹ thuật và xây dựng sơ đồ khối tổng thể gồm 8 khối chức năng. Tác giả trình bày chi tiết căn cứ lựa chọn linh kiện, thông số kỹ thuật và sơ đồ nguyên lý của từng khối:

  • Khối xử lý sử dụng kết hợp ESP8266-12F (kết nối mạng) và ATMEGA328P-AU (điều khiển ngoại vi) qua UART.
  • Khối công suất dùng relay 5V/10A, cách ly quang PC817 ($R_{11}=160,\Omega$) và transistor C1815 ($I_B=5\text{ mA}$, $\beta_{sat}=30$, $R_{12}=10\text{ k}\Omega$).
  • Khối mạch nạp tích hợp chip chuyển đổi USB-UART CH340, thạch anh 12 MHz và mạch chuyển mạch tự động 2 transistor vào chân GPIO0 và Reset của ESP8266.
  • Khối hiển thị dùng màn hình OLED SSD1306 1,3 inch ($128 \times 64$ pixel) qua bus I2C.
  • Khối cảm biến tích hợp DHT11 đo nhiệt độ, độ ẩm nối chân A0 của ATMEGA328P.
  • Khối camera sử dụng kit Raspberry Pi 3 Model B+ (chip BCM2837B0 lõi tứ 1,4 GHz, RAM 1 GB) kết nối module camera chuyên dụng qua cổng MIPI CSI.
  • Khối nguồn tích hợp mô-đun chuyển đổi AC-DC Hi-Link kèm bảng tính toán cân bằng dòng tiêu thụ tổng thể $553,8\text{ mA}$.

Chương 4: Chương trình điều khiển

Chương này mô tả công cụ lập trình và xây dựng các lưu đồ thuật toán chi tiết:

  • Môi trường Arduino IDE dùng để biên dịch mã nguồn C/C++ cho ATMEGA328P và ESP8266; hệ điều hành Raspbian và ngôn ngữ Python được dùng trên Raspberry Pi 3.
  • Lưu đồ chính ESP8266: Quản lý đăng nhập mạng, thiết lập biến giá trị trên Firebase, điều phối dữ liệu hai chiều giữa ứng dụng điện thoại và vi điều khiển ATMEGA328P.
  • Lưu đồ cấu hình WiFi cho ESP8266: Tạo Access Point và Web Server cục bộ tại địa chỉ 192.168.4.1, nhận thông số SSID/mật khẩu, tắt chế độ AP và chuyển sang chế độ Client.
  • Lưu đồ chính ATMEGA328P: Xử lý dữ liệu nhận từ UART, quét trạng thái nút nhấn cơ học, điều khiển relay và hiển thị thông tin lên OLED.
  • Lưu đồ đo nhiệt độ: Sử dụng ngắt Timer chu kỳ 2 giây để cập nhật giá trị nhiệt độ và độ ẩm từ DHT11.
  • Lưu đồ hàm con nút nhấn: Quét nút bấm USER, đảo trạng thái logic (TT1, TT2), xuất mức điều khiển và gửi trạng thái lên ESP8266.
  • Lưu đồ camera trên Raspberry Pi 3: Kết nối Firebase, lắng nghe biến điều khiển để thực hiện lệnh chụp ảnh hoặc quay video H.264 (sau đó chuyển đổi sang định dạng MP4) rồi tải tệp lên Firebase Storage.

Chương 5: Kết quả và thực nghiệm

Sau 3 tháng nghiên cứu, đề tài đã thi công hoàn chỉnh sản phẩm phần cứng và xây dựng ứng dụng di động:

  • Thiết kế layout và hoàn thiện mạch in PCB của bo mạch điều khiển chính bằng phần mềm Altium Designer.
  • Kiểm tra thực nghiệm các tính năng trên giao diện điện thoại: Giao diện kết nối WiFi, tìm kiếm mạng WiFi xung quanh, kết nối với thiết bị điều khiển; giao diện điều khiển bật/tắt 2 thiết bị điện ngoại vi; giao diện giám sát thông số nhiệt độ và độ ẩm từ cảm biến DHT11; giao diện nhận ảnh tĩnh chụp từ camera và giao diện phát video phản hồi từ camera để xác nhận trạng thái thiết bị.
  • Kết quả vận hành thực tế cho thấy mạch điều khiển kết nối ổn định, hiển thị đầy đủ thông số trên màn hình OLED và đồng bộ dữ liệu chính xác với điện thoại.

Chương 6: Kết luận và hướng phát triển

Tác giả tổng kết các kết quả đạt được sau quá trình nghiên cứu: Hoàn thành thiết kế phần cứng, làm chủ kết nối WiFi trên ESP8266, thiết lập giao tiếp UART giữa hai vi điều khiển, đồng bộ dữ liệu qua máy chủ Firebase và tích hợp thành công camera trên Raspberry Pi 3. Đồng thời, chương này chỉ ra các hạn chế tồn tại và đề xuất định hướng phát triển hệ thống trong tương lai.

Kết quả và đóng góp

Các kết quả thực nghiệm và số liệu kỹ thuật chính xác thu được từ đồ án:

  • Nghiên cứu và chế tạo thành công hệ thống phần cứng hoàn chỉnh trong thời gian 3 tháng, phối hợp hoạt động đồng bộ giữa hai vi điều khiển ATMEGA328P và ESP8266-12F qua giao tiếp nối tiếp UART.
  • Đóng/ngắt độc lập và an toàn 2 kênh tải ngoại vi sử dụng nguồn điện lưới xoay chiều 220V/50Hz thông qua 2 rơ-le 5VDC định mức dòng tối đa 10A, có bảo vệ cách ly quang bằng opto PC817 và diode triệt xung ngược 1N4007.
  • Thu thập chính xác tham số môi trường qua cảm biến DHT11 với chu kỳ lấy mẫu cố định 2 giây (Timer 2s), hiển thị dải nhiệt độ $0^\circ\text{C} - 50^\circ\text{C}$ ($\pm2^\circ\text{C}$) và độ ẩm $20% - 90%\text{ RH}$ ($\pm5%\text{ RH}$) lên màn hình OLED SSD1306 1,3 inch ($128 \times 64$ pixel, tiêu thụ $0,08\text{W}$).
  • Xây dựng giải pháp kết nối mạng linh hoạt: ESP8266 tự động thiết lập điểm truy cập AP và Web Server tại địa chỉ 192.168.4.1 để người dùng cài đặt SSID/mật khẩu WiFi gia đình mà không cần nạp lại firmware.
  • Tích hợp thành công module camera trên máy tính nhúng Raspberry Pi 3 Model B+, hỗ trợ chụp ảnh tĩnh và quay video ngắn chuẩn nén H.264 (chuyển đổi sang MP4) tải lên Firebase Storage để phản hồi trạng thái thực tế về ứng dụng di động.

Về giải pháp và đóng góp của đề tài:

  • Cấu trúc phần cứng phân tầng: Tác giả giải quyết triệt để vấn đề thiếu hụt chân I/O và hạn chế tài nguyên xử lý của ESP8266 bằng cách kết hợp với ATMEGA328P: ESP8266 chuyên trách kết nối mạng và giao tiếp đám mây, trong khi ATMEGA328P đảm nhiệm việc quét nút nhấn, đọc cảm biến, xuất hiển thị và kích đóng/ngắt công suất.
  • Cơ chế xác thực giám sát đa tầng: Thay vì chỉ hiển thị phản hồi trạng thái logic thuần túy trên giao diện ứng dụng như các hệ thống Smart Home thông thường, đồ án đưa ra giải pháp xác thực bằng hình ảnh và video thực tế từ camera tại hiện trường. Điều này giúp loại trừ các trường hợp báo trạng thái ảo khi rơ-le đã đóng nhưng thiết bị điện hoặc cơ cấu chấp hành gặp sự cố không hoạt động.
  • Tích hợp phần mềm trên cùng một nền tảng đám mây: Toàn bộ dữ liệu logic điều khiển (Firebase Realtime Database) và dữ liệu hình ảnh, video (Firebase Storage) được quản lý tập trung trên Google Firebase, giúp hệ thống không bị phụ thuộc vào các ứng dụng camera an ninh thương mại đóng kín của bên thứ ba.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế kỹ thuật được xác định dựa trên phạm vi nghiên cứu thực tế:

  • Bo mạch điều khiển chính và kit máy tính nhúng Raspberry Pi 3 vẫn hoạt động như hai khối tách rời, sử dụng hai nguồn cấp điện độc lập (nguồn Hi-Link trên bo mạch và adapter micro-USB 5,1V/2,5A cho Raspberry Pi 3), chưa được tích hợp nguyên khối vào một vỏ hộp công nghiệp hoàn chỉnh.
  • Hệ thống camera chưa hỗ trợ phát luồng video trực tiếp liên tục (Live Streaming) theo thời gian thực với độ trễ thấp; dữ liệu giám sát mới dừng lại ở việc chụp ảnh tĩnh hoặc ghi đoạn video ngắn dạng tệp tin, nén và tải lên đám mây Firebase Storage rồi mới tải xuống ứng dụng điện thoại.
  • Quy mô mạch thực nghiệm mới dừng lại ở 2 kênh điều khiển thiết bị điện và 1 điểm cảm biến môi trường.

Hướng nghiên cứu và phát triển tiếp theo được tác giả đề xuất:

  • Tối ưu hóa thiết kế phần cứng, tích hợp đồng bộ nguồn cấp và thu gọn toàn bộ hệ thống vào vỏ hộp bảo vệ đạt chuẩn công nghiệp.
  • Mở rộng số lượng cổng điều khiển công suất để quản lý nhiều thiết bị hơn trong gia đình.
  • Phát triển tính năng xử lý ảnh trên máy tính nhúng Raspberry Pi 3, tích hợp các thuật toán nhận diện khuôn mặt, phát hiện chuyển động hoặc cảnh báo các bất thường tại khu vực giám sát để tự động gửi thông báo về điện thoại người dùng.
  • Tối ưu hóa băng thông mạng và thuật toán nén để nâng cao chất lượng hình ảnh, giảm độ trễ truyền dữ liệu video hướng tới truyền luồng trực tuyến liên tục.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo kỹ thuật hữu ích đối với sinh viên, kỹ sư và người nghiên cứu trong các chuyên ngành Kỹ thuật Điện tử - Truyền thông, Kỹ thuật Máy tính, Công nghệ Thông tin và Hệ thống Nhúng:

  • Tham khảo thiết kế mạch phần cứng: Chương 3 cung cấp đầy đủ các bước tính toán tầng kích công suất relay dùng transistor bão hòa (C1815) và opto cách ly quang (PC817), mạch nạp tự động cho ESP8266 dùng IC CH340, cũng như bảng tính toán phân bổ công suất tiêu thụ dòng điện cho các khối tải ngoại vi.
  • Tham khảo thuật toán và phần mềm nhúng: Chương 4 là tài liệu tham khảo trực quan về cấu trúc lưu đồ thuật toán cấu hình WiFi thông minh qua Web Server nội bộ (Smart Config qua IP 192.168.4.1), cơ chế phân chia tác vụ truyền thông UART giữa vi điều khiển 8-bit và vi xử lý 32-bit kết nối WiFi, cùng quy trình xử lý chuyển đổi định dạng video (H.264 sang MP4) và đồng bộ tệp lên Google Firebase bằng Python trên Raspberry Pi.

Câu hỏi thường gặp

1. Tại sao nhóm tác giả phải sử dụng kết hợp cả hai vi điều khiển ATMEGA328P và ESP8266-12F thay vì chỉ dùng một vi điều khiển duy nhất?
Do vi điều khiển ESP8266-12F bị hạn chế về số lượng chân I/O đa dụng (chỉ có 17 chân GPIO nhưng nhiều chân bị ràng buộc cấu hình khởi động, 1 chân ADC) và thiếu hụt các cổng kết nối ngoại vi đồng thời, nhóm tác giả đã bổ sung ATMEGA328P-AU (23 chân I/O) để chuyên trách các nhiệm vụ điều khiển rơ-le, quét nút nhấn, đọc cảm biến DHT11 và điều khiển màn hình OLED. Hai vi điều khiển liên kết trao đổi dữ liệu với nhau thông qua giao tiếp nối tiếp UART, tạo điều kiện thuận lợi cho việc mở rộng thiết bị ngoại vi về sau.

2. Cơ chế cấu hình WiFi của mạch ESP8266 khi chuyển sang môi trường mạng mới được thực hiện như thế nào mà không cần nạp lại mã nguồn?
Sau khi cấp nguồn, ESP8266 kiểm tra nếu chưa kết nối được mạng đã lưu thì sẽ tự động chuyển sang chế độ tự phát WiFi (Access Point) và tạo một Web Server nội bộ có địa chỉ IP mặc định là 192.168.4.1. Người dùng dùng điện thoại kết nối vào mạng WiFi này, truy cập địa chỉ IP trên qua trình duyệt để nhập tên mạng và mật khẩu WiFi cần kết nối. Sau khi tiếp nhận thông tin, ESP8266 sẽ tắt chế độ Access Point, tắt Web Server và chuyển sang chế độ kết nối bình thường với mạng WiFi được chỉ định.

3. Tầng công suất điều khiển rơ-le được bảo vệ như thế nào để tránh gây hư hỏng cho vi điều khiển?
Tầng công suất sử dụng giải pháp bảo vệ kép: Thứ nhất, tín hiệu từ chân vi điều khiển ATMEGA328P được cách ly hoàn toàn với tầng công suất thông qua opto quang PC817 (với điện trở hạn dòng $R_{11} = 160,\Omega$ cho LED phát quang), ngăn chặn tình trạng xung điện áp ngược thâm nhập vào vi điều khiển. Thứ hai, một diode chỉnh lưu 1N4007 được mắc phân cực ngược song song với cuộn dây rơ-le nhằm triệt tiêu điện áp cảm ứng ngược sinh ra khi ngắt dòng qua cuộn cảm, bảo vệ an toàn cho transistor đóng ngắt C1815.

4. Khối camera trên Raspberry Pi 3 xử lý video như thế nào trước khi gửi về điện thoại người dùng?
Khi nhận được lệnh quay video từ ứng dụng gửi qua Firebase, chương trình Python trên Raspberry Pi 3 kích hoạt module camera ghi lại đoạn video ở định dạng mã hóa H.264. Sau khi hoàn tất quá trình ghi hình, hệ thống tiến hành chuyển đổi tệp video từ định dạng thô H.264 sang định dạng MP4 tiêu chuẩn, sau đó tải tệp MP4 này lên dịch vụ lưu trữ đám mây Firebase Storage để ứng dụng di động có thể tải và phát lại cho người dùng.

5. Cảm biến DHT11 thu thập dữ liệu nhiệt độ, độ ẩm theo chu kỳ thời gian bao lâu và kết nối vào chân nào của mạch?
Cảm biến DHT11 được kết nối với vi điều khiển ATMEGA328P thông qua chuẩn giao tiếp 1-Wire tại chân analog A0. Chương trình điều khiển sử dụng ngắt Timer nội của ATMEGA328P để thiết lập chu kỳ lấy mẫu cố định là 2 giây một lần (Timer == 2s). Sau mỗi 2 giây, dữ liệu nhiệt độ và độ ẩm sẽ được cập nhật lên màn hình OLED SSD1306 và truyền qua ESP8266 để gửi lên máy chủ Firebase.

Kết luận

Đồ án tốt nghiệp "Ứng dụng IoT trong giám sát và điều khiển qua hình ảnh" của sinh viên Nguyễn Thanh Tâm và Trần Quang Minh đã thiết kế và chế tạo thành công một mô hình hoàn chỉnh, tích hợp giữa vi điều khiển ATMEGA328P, vi xử lý WiFi ESP8266 và máy tính nhúng Raspberry Pi 3. Điểm nổi bật của đề tài là việc kết hợp giám sát trực quan bằng hình ảnh và video thực tế từ camera bên cạnh phương thức điều khiển thiết bị điện và đo thông số môi trường qua ứng dụng di động. Kết quả thực nghiệm sau 3 tháng nghiên cứu đã minh chứng tính ổn định của mạch phần cứng, cơ chế cấu hình mạng linh hoạt và khả năng ứng dụng thực tiễn trong các hệ thống nhà thông minh.