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

Sự phát triển mạnh mẽ của các khu công nghiệp tại Việt Nam dẫn đến nhu cầu xây dựng và vận hành các nhà xưởng có quy mô diện tích lớn, từ 1 hecta đến hàng trăm hecta. Việc giám sát các yếu tố môi trường (nhiệt độ, độ ẩm, nồng độ khí độc hại, cường độ chiếu sáng), quản lý công nhân ra vào và vận hành hệ thống chấp hành (quạt gió, máy hút ẩm, hệ thống chiếu sáng, còi cảnh báo) theo phương thức thủ công bộc lộ nhiều bất cập về chi phí nhân công, tính kịp thời và độ an toàn. Trước bối cảnh làn sóng vạn vật kết nối Internet (Internet of Things - IoT) phát triển mạnh mẽ, việc ứng dụng các máy tính nhúng và hệ thống thu thập dữ liệu - giám sát điều khiển (SCADA) vào môi trường công nghiệp trở thành một yêu cầu thực tiễn nhằm hiện đại hóa quy trình sản xuất và quản lý.

Đề tài "Thiết kế hệ thống nhà xưởng thông minh" được thực hiện với các mục tiêu và nhiệm vụ nghiên cứu cụ thể như sau:

  1. Tìm hiểu nguyên lý hoạt động của máy tính nhúng Raspberry Pi, cấu trúc hệ điều hành nhân Linux và các giao thức truyền thông nhúng.
  2. Thiết kế và thi công hệ thống phần cứng thu thập dữ liệu môi trường (nhiệt độ, độ ẩm qua cảm biến DHT22; nồng độ khí gas gây cháy qua cảm biến MQ2; ánh sáng qua cảm biến quang trở) và quản lý nhận dạng ra vào (thẻ RFID qua module RC522).
  3. Xây dựng khối Web Server và thiết kế cơ sở dữ liệu quan hệ MySQL trên nền tảng Raspberry Pi để lưu trữ và quản lý tập trung toàn bộ dữ liệu hệ thống.
  4. Lập trình giải thuật xử lý trên ngôn ngữ Python nhằm điều khiển phần cứng, đọc dữ liệu cảm biến và đồng bộ trạng thái hai chiều với cơ sở dữ liệu MySQL.
  5. Thiết kế giao diện web (sử dụng HTML, PHP, JavaScript) cho phép người quản lý giám sát thông số thời gian thực và điều khiển các thiết bị trong xưởng theo ba chế độ: tự động theo ngưỡng cảm biến, hẹn giờ theo thời gian thực và điều khiển thủ công bằng tay.

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

  • Đối tượng nghiên cứu: Hệ thống giám sát, điều khiển môi trường và quản lý nhân sự cho nhà xưởng khép kín sử dụng máy tính nhúng Raspberry Pi Model B+, các module cảm biến môi trường, module thẻ từ RFID và giao diện điều khiển qua nền tảng web.
  • Phạm vi không gian: Đồ án được triển khai và thử nghiệm thực tế tại Bộ môn Điện tử Công nghiệp, Khoa Điện - Điện Tử, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.
  • Phạm vi thời gian: Đề tài được thực hiện từ ngày 10/10/2016 đến ngày 06/01/2017.

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

Khung lý thuyết và công nghệ nền tảng

Hệ thống được xây dựng dựa trên sự tích hợp giữa phần cứng nhúng, hệ điều hành mã nguồn mở, các giao thức truyền thông phần cứng và công nghệ máy chủ web:

  • Máy tính nhúng Raspberry Pi Model B+: Đóng vai trò là trung tâm xử lý dữ liệu và máy chủ web cục bộ. Thiết bị sử dụng vi mạch Broadcom BCM2835 SoC (lõi xử lý ARM1176JZFS xung nhịp 700 MHz, bộ nhớ RAM 512 MB SDRAM, bộ xử lý đồ họa VideoCore IV hỗ trợ OpenGL ES 2.0 / OpenVG), trang bị 40 chân GPIO, 4 cổng USB 2.0 và cổng mạng Ethernet 10/100M.
  • Hệ điều hành Linux (Raspbian): Cung cấp môi trường điều hành đa nhiệm với cấu trúc cây thư mục chuẩn (/bin, /boot, /dev, /etc, /home, /lib, /proc, /root, /sbin, /sys, /tmp, /usr, /var) phục vụ quản lý thiết bị phần cứng dưới dạng tập tin, phân quyền và chạy các tiến trình nền.
  • Cảm biến và chuẩn truyền thông:
    • DHT22: Cảm biến đo nhiệt độ và độ ẩm kỹ thuật số, giao tiếp qua chuẩn 1-wire, gửi chuỗi dữ liệu 40 bit (5 byte) gồm phần nguyên và phần thập phân của độ ẩm, phần nguyên và phần thập phân của nhiệt độ cùng 1 byte kiểm tra (checksum).
    • RFID RC522: Module đọc/ghi thẻ từ không tiếp xúc tần số 13.56 MHz (dựa trên IC MFRC522), giao tiếp với Raspberry Pi qua chuẩn giao tiếp nối tiếp đồng bộ 4 dây SPI (Serial Peripheral Interface: SCK, MOSI, MISO, SDA/SS).
    • MQ2: Cảm biến khí gas sử dụng vật liệu bán dẫn SnO2, kết hợp mạch so sánh điện áp sử dụng op-amp LM358 để xuất tín hiệu số (Dout) hoặc tín hiệu tương tự (Aout) cảnh báo khí hóa lỏng LPG, propan, metan, cồn, khói.
    • Cảm biến quang trở (LDR): Kết hợp mạch so sánh điện áp op-amp xuất tín hiệu logic (0/1) nhận biết trạng thái sáng/tối.
    • Module 5 Relay cách ly quang (Optocoupler): Đóng ngắt thiết bị công suất với thông số định mức AC 250V/10A hoặc DC 30V/10A, cho phép lựa chọn mức kích đóng bằng jumper mức thấp (0V) hoặc mức cao (5V).
  • Ngôn ngữ lập trình và cơ sở dữ liệu:
    • Python: Ngôn ngữ lập trình chính chạy trên Raspberry Pi để cấu hình GPIO, giao tiếp SPI, đọc xung 1-wire và thực hiện các câu truy vấn SQL.
    • Web stack (HTML, CSS, PHP, JavaScript): Thiết kế giao diện hiển thị, xử lý script client-side và xây dựng các API truy xuất cơ sở dữ liệu phía server.
    • MySQL: Hệ quản trị cơ sở dữ liệu quan hệ lưu trữ thông tin nhân viên, thông số cài đặt ngưỡng hoạt động và trạng thái hoạt động của thiết bị.

Bảng thông số kỹ thuật các linh kiện phần cứng chính

Linh kiện / Thiết bị Thông số kỹ thuật chính Giao thức / Chuẩn giao tiếp Chức năng trong hệ thống
Raspberry Pi Model B+ SoC BCM2835, ARM11 700MHz, 512MB RAM, 40-pin GPIO Ethernet, USB, GPIO, SPI, 1-wire Bộ xử lý trung tâm, Web Server và Gateway CSDL
Cảm biến DHT22 Đo ẩm: 0–100% (±2% RH); Đo nhiệt: -40–80°C (±0.5°C) Chuẩn 1-wire (40 bit dữ liệu) Thu thập nhiệt độ và độ ẩm môi trường xưởng
Module RFID RC522 Tần số 13.56 MHz, khoảng cách đọc 0–60 mm, nguồn 3.3V SPI (tốc độ tối đa 10 Mbit/s) Đọc mã thẻ ID công nhân để quản lý vào/ra
Cảm biến khí gas MQ2 Dải đo 300–10,000 ppm (SnO2), nguồn sấy 5V, op-amp LM358 Ngõ ra số (Dout) và tương tự (Aout) Phát hiện rò rỉ khí gas, khói và chất dễ cháy
Cảm biến quang trở Tích hợp quang trở LDR và biến trở so sánh với Op-amp Ngõ ra logic số (Do) Nhận biết cường độ chiếu sáng trong xưởng
Module 5 Relay Opto Điện áp nuôi 5VDC, tiếp điểm tải AC 250V/10A hoặc DC 30V/10A Ngõ vào kích mức logic 0V/5V Đóng cắt mạch cấp nguồn cho quạt, máy ẩm, đèn, loa

Phương pháp nghiên cứu và nguồn dữ liệu

Tác giả áp dụng phương pháp nghiên cứu thực nghiệm kết hợp thiết kế hệ thống nhúng:

  • Phương pháp phân tích - tổng hợp lý thuyết: Khảo cứu tài liệu kỹ thuật về kiến trúc SoC ARM, cấu trúc lệnh hệ điều hành Linux, nguyên lý hoạt động thanh ghi SPI trên vi điều khiển/nhúng (SPCR, SPSR, SPDR), cấu trúc khung truyền 1-wire của DHT22 và ngôn ngữ lập trình Python/PHP.
  • Phương pháp thiết kế và thi công thực nghiệm: Thiết kế sơ đồ nguyên lý, lắp ráp các module phần cứng, thiết kế bảng dữ liệu MySQL, lập trình giải thuật nhúng và kiểm thử chức năng vận hành thực tế.
  • Nguồn dữ liệu: Dữ liệu thời gian thực được trích xuất trực tiếp từ các cảm biến vật lý (nhiệt độ, độ ẩm, trạng thái quang trở, mức logic báo gas MQ2), dữ liệu chuỗi UID thẻ RFID từ đầu đọc RC522, và dữ liệu cấu hình lưu trữ trong các bảng của cơ sở dữ liệu MySQL.

Thiết kế và triển khai hệ thống

Kiến trúc tổng thể hệ thống

Hệ thống được chia thành hai khối chức năng chính:

  1. Khối thu thập dữ liệu và điều khiển động cơ: Đặt tại nhà xưởng, sử dụng máy tính nhúng Raspberry Pi kết nối trực tiếp với hệ thống cảm biến (DHT22, MQ2, cảm biến quang trở), đầu đọc thẻ RFID RC522 và mạch điều khiển 5 Relay cách ly quang. Khối này thực thi chương trình Python chính liên tục đọc dữ liệu, kiểm tra các điều kiện an toàn, điều khiển trạng thái các rơ le và đẩy dữ liệu lên cơ sở dữ liệu.
  2. Khối Web Server: Vận hành trên chính máy tính Raspberry Pi thông qua máy chủ web (Apache/PHP) và hệ quản trị MySQL. Cung cấp giao diện web cho người dùng để theo dõi các giá trị đo môi trường, kiểm tra nhật ký nhân viên ra vào, thiết lập các ngưỡng nhiệt độ/độ ẩm, cấu hình thời gian hẹn giờ và gửi lệnh điều khiển trực tiếp tới các thiết bị chấp hành.

Cấu trúc cơ sở dữ liệu MySQL

Hệ thống thiết lập các bảng dữ liệu chuyên biệt trong MySQL để duy trì trạng thái và trao đổi thông tin giữa khối phần cứng và giao diện web:

Tên bảng CSDL Các trường dữ liệu chính Chức năng lưu trữ và đồng bộ
thongtinnv id, ten_id, hoten, chucvu,... Lưu danh sách mã ID thẻ RFID và thông tin chi tiết của công nhân
CAI_DAT gio_on, gio_off, am_do, delay Lưu trữ mốc giờ bật/tắt tự động, ngưỡng nhiệt độ và độ ẩm do người dùng cài đặt
DK_DONGCO ttdc (trạng thái động cơ: 0=tắt, 1=bật, 2=tự động/hẹn giờ) Lưu trữ lệnh điều khiển trạng thái thiết bị từ giao diện web
DOC_TT tt_cua, tt_am, tt_quat, tt_den Lưu trữ và cập nhật trạng thái thực tế của các thiết bị ngõ ra để hiển thị lên web

Thiết kế phần mềm và các giải thuật xử lý chính

Chương trình điều khiển nhúng trên Raspberry Pi được tổ chức thành một vòng lặp chính (main loop) phối hợp với các chương trình con chức năng thực thi tuần tự:

  • Giải thuật chương trình chính: Khởi tạo cấu hình các chân vào/ra (GPIO input/output), cấu hình thư viện chân DHT22, khai báo biến toàn cục; sau đó thực hiện vòng lặp gọi các khối: doc_rc522(), id_vaomang(), doc_caidat(), trangthai_tb(), idnv(), kiểm tra và cân bằng độ dài mảng dữ liệu (ct_taomang1(), ct_taomang2()), trangthai(), doc_sensor_dht22(), dk_den(), dk_loa().
  • Giải thuật quản lý danh sách nhân viên (idnv, id_vaomang, ct_taomang1, ct_taomang2): Truy vấn bảng thongtinnv để lấy tổng số bản ghi so_id[0]. So sánh độ dài mảng hiện tại do_daimang[0] với so_id[0]. Nếu do_daimang[0] < so_id[0], gọi ct_taomang1() dùng phương thức .append() để mở rộng các mảng lưu trữ (giovao, giora, id1); nếu do_daimang[0] > so_id[0], gọi ct_taomang2() dùng phương thức .pop() để xóa các phần tử thừa, đảm bảo bộ nhớ mảng đồng bộ chính xác với số lượng công nhân thực tế.
  • Giải thuật đọc cài đặt và trạng thái (doc_caidat, trangthai, trangthai_tb): Truy vấn bảng CAI_DAT lấy các mảng tham số gio_on[], gio_off[], am_do[], delay[]. Truy vấn bảng DK_DONGCO lấy trạng thái điều khiển mong muốn ttdc[]. Sau khi điều khiển ngõ ra vật lý, chương trình con trangthai_tb() thực hiện lệnh SQL UPDATE cập nhật các biến tt_cua[0], tt_am[0], tt_quat[0], tt_den[0] lên bảng DOC_TT để phản hồi về giao diện web.
  • Giải thuật điều khiển thiết bị (doc_sensor_dht22): Thực thi lệnh kích hoạt dht22.trigger() để lấy giá trị nhiệt độ (temp1) và độ ẩm (humidity1). Quá trình điều khiển thiết bị (quạt, máy hút ẩm) được phân nhánh theo 3 điều kiện:
    1. Chế độ thủ công (ttdc = 1 hoặc ttdc = 0): Xuất mức thấp (GPIO.LOW tương ứng kích hoạt rơ le mở) hoặc mức cao (GPIO.HIGH ngắt rơ le) trực tiếp theo giá trị lệnh.
    2. Chế độ hẹn giờ (ttdc = 2 và có thiết lập gio_on, gio_off): So sánh thời gian thực gioht với gio_on[x] và gio_off[x] để quyết định bật/tắt ngõ ra.
    3. Chế độ tự động theo cảm biến (ttdc = 2 và gio_on == 0, gio_off == 0): So sánh thông số đo thực tế với ngưỡng cài đặt. Nếu temp1 > am_do[3], kích hoạt bật quạt gió (GPIO.LOW, gán tt_quat[0] = 1); nếu humidity1 > am_do[0], kích hoạt bật máy hút ẩm (GPIO.LOW, gán tt_am[0] = 1); khi các giá trị thấp hơn ngưỡng, ngắt tải tương ứng.

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

Chương 1. Đặt vấn đề

Trình bày tổng quan về xu hướng phát triển của công nghệ Internet of Things (IoT) và tiềm năng ứng dụng trong công nghiệp thông minh tại Việt Nam. Nêu rõ bối cảnh các nhà xưởng có diện tích từ 1 ha đến hàng trăm ha cần giải pháp quản lý tự động nhằm giảm chi phí nhân công và tăng tính chủ động trong sản xuất. Xác định mục tiêu xây dựng hệ thống nhà xưởng khép kín tích hợp quản lý công nhân ra/vào, thu thập dữ liệu môi trường và điều khiển thiết bị từ xa; phân tích các giới hạn ban đầu của đề tài về mặt kích thước mô hình, nguồn cấp 5V và khả năng kháng nhiễu công nghiệp.

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

Trình bày chi tiết kiến trúc phần cứng và nền tảng phần mềm sử dụng trong hệ thống:

  • Cấu trúc phần mềm và hệ điều hành: Cấu trúc Image Firmware (Binary Blob) nạp vào GPU VideoCore IV của Raspberry Pi khi khởi động; các thư viện đồ họa OpenMax, OpenGL ES 2.0, OpenVG; tổng quan hệ điều hành Linux/Raspbian và chức năng của 15 thư mục hệ thống chuẩn.
  • Ngôn ngữ lập trình: Đặc điểm cú pháp thụt đầu dòng, cấu trúc rẽ nhánh, vòng lặp và hướng đối tượng trong Python; cấu trúc thẻ HTML, cú pháp xử lý mã PHP trong cặp thẻ <?php ?>, các câu lệnh truy vấn SQL tiêu chuẩn (SELECT, INSERT, UPDATE, CREATE TABLE) và lập trình kịch bản JavaScript.
  • Nguyên lý hoạt động phần cứng: Cấu trúc phần cứng Raspberry Pi Model B+; nguyên lý giao tiếp 1-wire và giản đồ xung đọc 5 byte dữ liệu của cảm biến DHT22; nguyên lý truyền thông SPI song công (Full-duplex) và các thanh ghi điều khiển SPCR, SPSR, SPDR áp dụng cho module RFID RC522; cấu tạo màng bán dẫn SnO2 và mạch so sánh op-amp của cảm biến khí gas MQ2; mạch cảm biến quang trở; sơ đồ nguyên lý module 5 Relay sử dụng bộ cách ly quang opto và transistor đóng ngắt.

Chương 3. Thiết kế hệ thống

Xây dựng sơ đồ khối tổng thể của hệ thống gồm Khối thu thập dữ liệu - điều khiển động cơ và Khối Web Server. Trình bày chi tiết lưu đồ thuật toán của chương trình chính và 13 chương trình con trong Python (trangthai_tb, idnv, ct_taomang1, ct_taomang2, id_vaomang, doc_caidat, trangthai, doc_sensor_dht22, dk_den, dk_loa, doc_rc522, capnhat). Trình bày thiết kế cơ sở dữ liệu MySQL (các bảng thongtinnv, CAI_DAT, DK_DONGCO, DOC_TT) và thiết kế giao diện web hiển thị thông số môi trường, quản lý dữ liệu nhân sự và các nút bấm điều khiển thiết bị chấp hành.

Chương 4. Thi công hệ thống

Trình bày quy trình hiện thực hóa mô hình phần cứng gồm việc kết nối dây dẫn giữa các cổng GPIO của Raspberry Pi với board mạch thu thập dữ liệu (cảm biến DHT22, module RFID RC522, cảm biến MQ2, cảm biến quang trở) và board mạch điều khiển động cơ (kết nối ngõ ra GPIO kích các kênh của module 5 Relay có opto cách ly để cấp nguồn cho các tải chấp hành).

Chương 5. Kết quả, nhận xét và đánh giá

Kiểm nghiệm hoạt động thực tế của toàn bộ hệ thống qua các hạng mục:

  • Hoạt động của khối máy chủ (Server): Khả năng duy trì dịch vụ web, kết nối ổn định với cơ sở dữ liệu MySQL, thời gian đáp ứng khi cập nhật dữ liệu và gửi nhận lệnh điều khiển.
  • Hoạt động của khối cảm biến: Đánh giá độ chính xác khi thu thập nhiệt độ, độ ẩm từ DHT22, khả năng kích hoạt cảnh báo khi thử nghiệm rò rỉ khí gas qua cảm biến MQ2 (thử nghiệm bằng khí bật lửa) và phản hồi mức logic sáng/tối của quang trở.
  • Hoạt động của khối RFID: Khả năng quét và nhận dạng chính xác mã UID thẻ tần số 13.56 MHz để ghi nhận giờ vào/ra của nhân viên.
  • Hoạt động của khối chấp hành: Khả năng đóng/ngắt các relay điều khiển quạt gió, máy hút ẩm, bóng đèn chiếu sáng và còi báo động theo đúng kịch bản tự động, hẹn giờ và thủ công.

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

Đánh giá tổng kết các mục tiêu đã hoàn thành của đồ án; chỉ ra các điểm còn tồn tại về quy mô phần cứng, nguồn điện và độ ổn định kháng nhiễu; đề xuất các giải pháp kỹ thuật nhằm phát triển và hoàn thiện hệ thống trong các giai đoạn tiếp theo.


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

Kết quả kỹ thuật đạt được

  • Thu thập dữ liệu môi trường và nhận dạng: Hệ thống thu thập ổn định các giá trị nhiệt độ (dải đo hỗ trợ -40–80°C, sai số ±0.5°C) và độ ẩm (0–100% RH, sai số ±2%) từ cảm biến DHT22; đọc chính xác mã thẻ từ RFID RC522 ở tần số 13.56 MHz trong phạm vi khoảng cách 0–60 mm; nhận biết được trạng thái khí gas rò rỉ qua cảm biến MQ2 và mức sáng môi trường qua mạch so sánh quang trở.
  • Vận hành hệ thống máy chủ và cơ sở dữ liệu: Cài đặt và cấu hình thành công Web Server (Apache/PHP/MySQL) trên nền tảng hệ điều hành Raspbian của Raspberry Pi Model B+; thiết lập cơ chế đồng bộ dữ liệu hai chiều giữa chương trình điều khiển Python và cơ sở dữ liệu MySQL qua các bảng chuyên biệt (thongtinnv, CAI_DAT, DK_DONGCO, DOC_TT).
  • Thực thi ba chế độ điều khiển thiết bị:
    1. Chế độ tự động: Thiết bị tự động bật/tắt quạt khi temp1 > am_do[3] và bật/tắt máy hút ẩm khi humidity1 > am_do[0].
    2. Chế độ hẹn giờ: Tự động đóng ngắt rơ le theo mốc thời gian thực cài đặt trong gio_on và gio_off.
    3. Chế độ bằng tay: Cho phép người quản lý chuyển đổi trực tiếp trạng thái thiết bị thông qua các nút bấm trên giao diện trang web.
  • Cách ly và bảo vệ phần cứng: Sử dụng mạch module 5 Relay tích hợp Optocoupler cách ly quang học, đảm bảo an toàn cho các chân GPIO của Raspberry Pi khi đóng ngắt các tải công suất lớn (lên tới AC 250V/10A hoặc DC 30V/10A).

Đóng góp của đề tài

Đồ án đã hiện thực hóa mô hình tích hợp hệ thống SCADA/IoT thu nhỏ trên một bo mạch vi máy tính duy nhất (Raspberry Pi Model B+), kết hợp đồng thời chức năng xử lý tín hiệu nhúng cấp thấp (giao tiếp 1-wire, SPI, GPIO) và chức năng của một máy chủ ứng dụng web/CSDL cấp cao. Giải pháp này giúp loại bỏ sự phụ thuộc vào các bộ điều khiển PLC đắt tiền trong các ứng dụng giám sát nhà xưởng quy mô vừa và nhỏ, mang lại một phương án quản lý tập trung từ xa với chi phí linh kiện thấp.


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

Hạn chế kỹ thuật được ghi nhận trong văn bản

  • Kích thước phần cứng của hệ thống mô hình còn lớn, chưa được thiết kế đóng gói thành module chuẩn công nghiệp.
  • Nguồn cấp của toàn hệ thống chủ yếu sử dụng mức điện áp 5VDC (qua cổng Micro USB 5V-2A), chưa tương thích với tiêu chuẩn nguồn công nghiệp phổ biến (thường là 24VDC).
  • Khả năng chống nhiễu điện từ và độ bền môi trường của các mạch cảm biến và dây dẫn trong môi trường công nghiệp thực tế còn thấp.
  • Phương pháp xác định ngưỡng nồng độ cảnh báo khí gas trên cảm biến MQ2 còn mang tính thủ công (căn chỉnh qua biến trở và điện áp so sánh ngõ ra tại chân op-amp LM358), chưa quy đổi trực tiếp ra giá trị nồng độ chuẩn dạng phần triệu (ppm) trên giao diện.

Hướng phát triển đề xuất

  • Tối ưu hóa kích thước hệ thống, thiết kế mạch in (PCB) tích hợp chuyên dụng nhằm tăng độ gọn gàng và thẩm mỹ.
  • Nâng cấp phần cứng nguồn và thiết kế bổ sung các mạch lọc nguồn, mạch bảo vệ chống xung sét và cách ly chống nhiễu công nghiệp đạt tiêu chuẩn môi trường sản xuất.
  • Nghiên cứu giải thuật chuyển đổi chính xác điện áp ngõ ra tương tự (Aout) của cảm biến MQ2 sang giá trị nồng độ ppm có bù nhiệt độ/độ ẩm để hiển thị trực quan trên web.
  • Mở rộng hệ thống thành mạng cảm biến không dây (sử dụng thêm các giao thức truyền thông như ZigBee, Wi-Fi, 3G/4G) phục vụ giám sát nhiều phân xưởng diện tích lớn phân tán.

Giá trị tham khảo

Tài liệu đồ án là nguồn tham khảo hữu ích cho sinh viên, học viên và kỹ sư thuộc các chuyên ngành Kỹ thuật Điện tử - Truyền thông, Điện tử Công nghiệp, Cơ điện tử, Kỹ thuật Máy tính và Hệ thống IoT:

  • Thiết kế giao tiếp nhúng trên Linux: Cung cấp chi tiết nguyên lý định thời và đọc tín hiệu chuỗi 40 bit chuẩn 1-wire (cảm biến DHT22), cùng nguyên lý cấu hình các thanh ghi truyền thông nối tiếp SPI (SPCR, SPSR, SPDR) trên vi điều khiển và máy tính nhúng.
  • Mô hình kiến trúc IoT - Web Server nhúng: Đóng vai trò là tài liệu tham khảo thực tế về cách tổ chức trao đổi dữ liệu gián tiếp qua hệ quản trị CSDL MySQL giữa chương trình điều khiển phần cứng viết bằng Python và giao diện quản trị viết bằng PHP/JavaScript.
  • Phương pháp lập trình điều khiển đa chế độ: Cung cấp cấu trúc lưu đồ giải thuật cho việc phân luồng xử lý giữa các chế độ điều khiển tự động theo cảm biến, điều khiển hẹn giờ thời gian thực và điều khiển thủ công từ xa.

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

1. Cảm biến DHT22 truyền dữ liệu nhiệt độ và độ ẩm về Raspberry Pi theo phương thức và cấu trúc khung truyền như thế nào?

Cảm biến DHT22 sử dụng chuẩn giao tiếp 1-wire (giao tiếp qua 1 chân DATA duy nhất). Vi điều khiển/Raspberry Pi gửi tín hiệu bắt đầu (kéo chân DATA xuống mức 0 trong thời gian >18 ms, sau đó kéo lên 1 và chuyển sang chế độ ngõ vào). Khi kết nối thành công, DHT22 sẽ phản hồi và gửi liên tiếp một chuỗi 40 bit (tương ứng 5 byte) dữ liệu:

  • Byte 1: Giá trị phần nguyên của độ ẩm (% RH).
  • Byte 2: Giá trị phần thập phân của độ ẩm (% RH).
  • Byte 3: Giá trị phần nguyên của nhiệt độ (°C).
  • Byte 4: Giá trị phần thập phân của nhiệt độ (°C).
  • Byte 5: Byte kiểm tra (Checksum), thỏa mãn điều kiện Byte 5 = (Byte 1 + Byte 2 + Byte 3 + Byte 4) & 0xFF.

2. Module đọc thẻ RFID RC522 kết nối và truyền nhận dữ liệu với Raspberry Pi qua giao thức nào?

Module RFID RC522 (sử dụng IC MFRC522 của Philips/NXP) hoạt động ở tần số 13.56 MHz và giao tiếp với Raspberry Pi thông qua giao thức nối tiếp đồng bộ SPI (Serial Peripheral Interface). Quá trình truyền dữ liệu diễn ra theo cơ chế song công (Full-duplex) thông qua 4 đường tín hiệu chính: SCK (xung giữ nhịp đồng bộ), MOSI (dữ liệu từ Master sang Slave), MISO (dữ liệu từ Slave sang Master), và SDA/SS (chân chọn chip). Tốc độ truyền dữ liệu của module hỗ trợ tối đa lên đến 10 Mbit/s.

3. Cơ chế đồng bộ dữ liệu giữa chương trình nhúng Python và giao diện Web PHP hoạt động như thế nào?

Hệ thống sử dụng cơ sở dữ liệu MySQL cài đặt trực tiếp trên Raspberry Pi làm tầng trung gian (Gateway/Buffer):

  • Giao diện web (PHP/JavaScript) khi nhận tương tác từ người dùng (nhập ngưỡng nhiệt/ẩm, giờ hẹn, hoặc bấm nút đóng/ngắt thiết bị) sẽ thực thi lệnh SQL cập nhật vào các bảng CAI_DAT và DK_DONGCO.
  • Chương trình Python chạy ngầm theo vòng lặp tuần hoàn sẽ thực hiện truy vấn (SELECT) các bảng này để lấy tham số cấu hình và lệnh điều khiển, sau đó kích hoạt các ngõ ra GPIO tương ứng.
  • Sau khi điều khiển phần cứng hoặc đọc dữ liệu cảm biến mới, chương trình Python thực thi lệnh UPDATE vào bảng DOC_TT để giao diện web truy xuất và hiển thị trạng thái thực tế lên màn hình người dùng.

4. Hệ thống điều khiển thiết bị chấp hành (quạt gió, máy hút ẩm) theo những chế độ nào và điều kiện kích hoạt ra sao?

Chương trình Python (doc_sensor_dht22) phân chia việc điều khiển thành 3 chế độ dựa trên trường dữ liệu trạng thái động cơ ttdc:

  • Chế độ thủ công: Khi ttdc = 1, hệ thống kích ngõ ra mức thấp (GPIO.LOW) để bật thiết bị; khi ttdc = 0, xuất mức cao (GPIO.HIGH) để tắt thiết bị.
  • Chế độ hẹn giờ: Khi ttdc = 2 và các biến thời gian khác 0, hệ thống so sánh thời gian thực gioht với các mốc gio_on và gio_off để bật/tắt thiết bị.
  • Chế độ tự động: Khi ttdc = 2 đồng thời gio_on = 0 và gio_off = 0, hệ thống so sánh giá trị đo cảm biến với ngưỡng cài đặt trong bảng CAI_DAT: nếu nhiệt độ temp1 > am_do[3], bật quạt gió; nếu độ ẩm humidity1 > am_do[0], bật máy hút ẩm.

5. Cảm biến khí gas MQ2 phát hiện các loại khí nào và phương pháp xác định điểm cảnh báo trong đề tài được tiến hành ra sao?

Cảm biến MQ2 sử dụng lớp vật liệu bán dẫn SnO2 có độ nhạy cao với các loại khí dễ cháy như khí hóa lỏng LPG, propan, metan, cồn, hydro và khói với phạm vi phát hiện từ 300 đến 10,000 ppm. Do việc quy đổi trực tiếp từ điện áp ngõ ra tương tự (Aout) sang đơn vị ppm bị ảnh hưởng phức tạp bởi nhiệt độ và độ ẩm, tác giả đã tiến hành hiệu chuẩn thực nghiệm thủ công: đo điện áp không khí sạch ($V_{out1}$), sau đó cho khí gas từ bật lửa rò rỉ ở khoảng cách nguy hiểm để xác định điện áp ngưỡng ($V_{out2}$), cuối cùng điều chỉnh biến trở trên mạch để điện áp tham chiếu tại chân 3 của bộ so sánh op-amp LM358 bằng $V_{out2}$. Khi nồng độ khí vượt ngưỡng, ngõ ra số (Dout) chuyển mức kích hoạt còi/loa cảnh báo.


Kết luận

Đồ án tốt nghiệp "Thiết kế hệ thống nhà xưởng thông minh" của tác giả Huỳnh Minh Lý đã hoàn thành việc thiết kế, tích hợp và thi công thực nghiệm mô hình giám sát môi trường, quản lý nhân sự và điều khiển thiết bị chấp hành dựa trên nền tảng máy tính nhúng Raspberry Pi Model B+. Hệ thống vận hành ổn định các chức năng thu thập dữ liệu từ cảm biến DHT22, MQ2, quang trở, module thẻ từ RFID RC522 và điều khiển đóng ngắt an toàn qua module 5 Relay có cách ly quang theo ba chế độ linh hoạt. Toàn bộ thông số môi trường và trạng thái thiết bị được quản lý tập trung và trực quan hóa qua giao diện Web Server kết hợp cơ sở dữ liệu MySQL, cung cấp một giải pháp kỹ thuật có tính ứng dụng cao và khả thi cho các mô hình nhà xưởng công nghiệp quy mô vừa và nhỏ.