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

Trong bối cảnh phát triển của cuộc Cách mạng Công nghiệp lần thứ tư và công nghệ Internet of Things (IoT - Mạng lưới vạn vật kết nối Internet), nhu cầu thu thập dữ liệu tự động từ môi trường và truyền tải thông tin về các trung tâm xử lý mà không cần sự can thiệp trực tiếp của con người ngày càng trở nên thiết yếu. Các hệ thống đo đạc truyền thống thường gặp hạn chế về tính linh hoạt, chi phí lắp đặt dây dẫn cố định, và phụ thuộc vào khoảng cách địa lý. Đồ án tốt nghiệp "Thiết kế thiết bị giám sát cảm biến từ xa qua Smartphone (3G, WIFI)" của nhóm tác giả Nguyễn Gia Bảo và Hà Thanh Đạt (ngành Công nghệ Kỹ thuật Điện tử - Truyền thông, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh) được xây dựng nhằm giải quyết bài toán tự động hóa quá trình thu thập thông số môi trường, lưu trữ cơ sở dữ liệu trên đám mây và tương tác hai chiều qua thiết bị di động.

Mục tiêu nghiên cứu

  1. Thiết kế và thi công phần cứng thiết bị nhúng có khả năng đọc dữ liệu từ cảm biến tương tự, xử lý và tải dữ liệu lên bảng tính đám mây Google Spreadsheets.
  2. Xây dựng cơ chế điều khiển tải tại chỗ thông qua mạng truyền thông không dây với cơ chế phản hồi trạng thái hai chiều.
  3. Thiết kế hai phiên bản phần cứng độc lập hoạt động trên hai môi trường truyền thông khác nhau: mạng không dây nội bộ (WiFi) và mạng viễn thông di động (3G) nhằm bảo đảm tính thích ứng với các điều kiện hạ tầng thực tế.
  4. Lập trình ứng dụng di động trên hệ điều hành Android (IoTSensor) để hiển thị bảng dữ liệu, biểu diễn thông số bằng biểu đồ trực quan, xuất tệp tin bảng tính định dạng Excel và cung cấp giao diện điều khiển, thiết lập cấu hình thiết bị.

Nhiệm vụ nghiên cứu

Văn bản xác định 5 nội dung nghiên cứu theo tiến độ giao nhiệm vụ:

  • Nội dung 1: Khảo sát thực trạng, xác định vấn đề cần giải quyết và đề xuất ý tưởng hệ thống.
  • Nội dung 2: Phân tích cơ sở lý thuyết, các chuẩn giao tiếp truyền thông và lựa chọn giải pháp phần cứng, phần mềm.
  • Nội dung 3: Tính toán thiết kế mạch nguyên lý, thi công mạch in phần cứng và xây dựng ứng dụng di động.
  • Nội dung 4: Thử nghiệm vận hành thực tế, thu thập và thống kê kết quả giám sát, điều khiển.
  • Nội dung 5: Nhận xét, đánh giá hiệu năng hệ thống và đề xuất hướng hoàn thiện.

Đố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 môi trường không dây gồm bo mạch vi điều khiển ATmega328P, module truyền thông ESP8266 v7 (WiFi), module SIM800L (3G), cảm biến nhiệt độ - độ ẩm DHT11, mạch đóng ngắt cách ly quang PC817 - Relay, nền tảng trung gian ThingSpeak, cơ sở dữ liệu Google Spreadsheets và ứng dụng Android.
  • Phạm vi không gian và giới hạn kỹ thuật:
    • Thiết bị hỗ trợ 2 ngõ kết nối cảm biến tương tự (sử dụng mức nguồn chuẩn 5VDC).
    • Thiết bị cung cấp 2 ngõ ra điều khiển tải qua tiếp điểm Relay.
    • Thiết bị sử dụng nguồn điện DC từ Adaptor (không sử dụng nguồn pin độc lập).
    • Kích thước phần cứng bo mạch giới hạn trong diện tích 6 cm x 10 cm, đóng gói bảo vệ trong hộp nhôm.
  • Thời gian thực hiện: Từ ngày 01/03/2016 đến ngày 07/07/2016.

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

Nghiên cứu ứng dụng các khối kiến thức chuyên ngành về kỹ thuật vi điều khiển, mạng truyền thông không dây, giao thức truyền thông nối tiếp và kỹ thuật lập trình ứng dụng di động:

Khung lý thuyết và công nghệ ứng dụng

  • Nền tảng IoT trung gian ThingSpeak và ThingHTTP: ThingSpeak là dịch vụ web cung cấp nền tảng dữ liệu mở và giao diện lập trình ứng dụng (API) phục vụ các hệ thống IoT. Hệ thống sử dụng cơ chế kênh (Channel) với các trường dữ liệu (Field, hỗ trợ tối đa 8 trường) cùng cặp khóa xác thực Write API Key và Read API Key (chuỗi mã 16 ký tự). Để liên kết dữ liệu từ vi điều khiển lên Google Spreadsheets mà không cần vi điều khiển xử lý trực tiếp giao thức HTTPS phức tạp của Google, công cụ ThingHTTP request được ứng dụng như một cầu nối biên dịch HTTP GET Request từ mạch nhúng thành biểu mẫu Google Form tương ứng với các trường định danh entry.id.
  • Cơ sở dữ liệu đám mây Google Spreadsheets: Ứng dụng dịch vụ Google Docs nhằm lưu trữ dữ liệu đo lường dài hạn, bảo mật thông qua tài khoản Google, cho phép trích xuất dữ liệu trực tuyến.
  • Nền tảng hệ điều hành di động Android: Môi trường mã nguồn mở dựa trên nhân Linux, sử dụng bộ công cụ phát triển Android Studio với ngôn ngữ lập trình Java để xây dựng giao diện tương tác người dùng.
  • Mạng truyền thông không dây:
    • Chuẩn WiFi IEEE 802.11 (hoạt động ở băng tần 2.4 GHz và 5 GHz với các phân chuẩn 802.11a/b/g/n/ac, mã hóa OFDM, CCK).
    • Mạng di động thế hệ thứ ba (3G/GPRS) phục vụ truyền dữ liệu ngoài thoại qua các băng tần 850/900/1800/1900 MHz.
  • Các chuẩn giao tiếp phần cứng:
    • UART (Universal Asynchronous Receiver-Transmitter): Chuẩn truyền thông nối tiếp không đồng bộ sử dụng mức logic TTL (0V - 5V), khung truyền gồm Start bit, 8 bit Data, Parity bit và Stop bit; sử dụng tập lệnh chuẩn AT để điều khiển module mạng.
    • I2C (Inter-Integrated Circuit): Chuẩn giao tiếp nối tiếp đồng bộ 2 dây (SDA, SCL) cực góp mở với điện trở kéo lên, hỗ trợ định dạng gói địa chỉ 7 bit (tối đa 128 thiết bị) cùng các điều kiện START, STOP, REPEAT START và bit phản hồi ACK/NACK.
    • One-Wire: Chuẩn giao tiếp 1 dây của Dallas Semiconductor với điện trở kéo lên, truyền dữ liệu theo các khe thời gian vi giây, định danh thiết bị bằng chuỗi 56 bit (48 bit địa chỉ và 8 bit kiểm tra CRC).

Phương pháp nghiên cứu

  • Phương pháp phân tích - tổng hợp: Khảo sát tài liệu kỹ thuật (datasheet) của các linh kiện bán dẫn, sơ đồ chân vi điều khiển, tập lệnh AT của ESP8266 và SIM800L, tài liệu hướng dẫn Android SDK.
  • Phương pháp thiết kế - thực nghiệm kỹ thuật:
    • Tính toán và thiết kế sơ đồ nguyên lý mạch điện tử trên phần mềm chuyên dụng.
    • Thi công bảng mạch in (PCB) 2 lớp, hàn lắp linh kiện và đóng gói phần cứng cơ khí.
    • Nạp bootloader và lập trình vi điều khiển ATmega328P trên môi trường Arduino IDE; flash firmware ESP8266_AT_V00180902_04 cho module WiFi qua mạch chuyển đổi USB-to-UART CH340.
    • Lập trình ứng dụng Android trên phần mềm Android Studio.
  • Phương pháp kiểm thử và thống kê thực nghiệm: Đo đạc các thông số dòng tiêu thụ, kiểm tra độ chính xác của cảm biến, đo thời gian trễ đáp ứng điều khiển tải qua mạng 3G và WiFi.

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

Hệ thống được thiết kế theo cấu trúc module phân tầng, kết hợp chặt chẽ giữa phần cứng thu thập tại biên, dịch vụ trung gian đám mây và ứng dụng điều khiển di động.

+-------------------------------------------------------------------+
|                        KIẾN TRÚC TỔNG THỂ                         |
+-------------------------------------------------------------------+
[Cảm biến DHT11] -> [Arduino Pro Mini] -> [ESP8266 v7 / SIM800L]
                            |                      |
                            v                      v (HTTP GET)
                    [Relay + PC817]         [ThingSpeak API]
                            |                      |
                            |                      v (ThingHTTP POST)
                            |               [Google Form]
                            |                      |
                            |                      v
                            |            [Google Spreadsheets]
                            |                      |
                            +<---------------------+ (Đọc/Ghi dữ liệu)
                                                   |
                                         [Smartphone Android]

Thiết kế phần cứng thiết bị

Phần cứng được chia thành 5 khối chức năng chính:

Khối chức năng Linh kiện / Thiết bị sử dụng Thông số kỹ thuật & Đặc tính vận hành
Khối cảm biến DHT11 Dải đo nhiệt độ 0 - 50°C (sai số ±2°C), dải đo độ ẩm 20 - 90% RH (sai số ±5% RH), dòng tiêu thụ cực đại 2.5 mA, giao tiếp 1-wire, cự ly truyền tín hiệu tối đa 20 m.
Khối xử lý trung tâm Arduino Pro Mini (ATmega328P-AU) Điện áp hoạt động 5V/3.3V, tần số dao động 16 MHz, bộ nhớ Flash 32 KB (0.5 KB dành cho bootloader), 2 KB SRAM, 1 KB EEPROM, 14 chân Digital I/O (6 chân PWM), 8 kênh Analog 10-bit.
Khối chấp hành Opto PC817 + Relay Cách ly quang bảo vệ vi điều khiển, điều khiển đóng ngắt 2 tiếp điểm tải điện xoay chiều/một chiều độc lập.
Khối truyền thông WiFi ESP8266 v7 SoC 32-bit (tần số 80 MHz, 64 KB RAM, 512 KB Flash), chuẩn WiFi 802.11 b/g/n, giao tiếp UART ở tốc độ Baud 115200 bps, điều khiển bằng tập lệnh AT.
Khối truyền thông 3G SIM800L Kích thước 25 mm x 22 mm, khe cắm MicroSIM, 4 băng tần 850/900/1800/1900 MHz, dòng điện ở chế độ chờ 10 mA, dòng đỉnh hoạt động 100 mA - 1 A, giao tiếp UART qua tập lệnh AT.
Khối nguồn LM2596 + LM1117-ADJ Hạ áp từ nguồn Adaptor DC; module LM2596 tạo điện áp 5V - dòng cực đại 3A; IC ổn áp LM1117-ADJ tạo điện áp 3.3V cấp riêng cho module truyền thông.

Cơ chế truyền thông và điều khiển hai chiều

  1. Quy trình giám sát và đẩy dữ liệu lên đám mây:

    • Vi điều khiển đọc dữ liệu nhiệt độ và độ ẩm từ DHT11 theo định kỳ.
    • Arduino cấu hình chuỗi lệnh AT gửi yêu cầu HTTP GET đến máy chủ ThingSpeak theo cú pháp: GET https://api.thingspeak.com/apps/thinghttp/send_request?api_key=API_KEY&field1=value1&field2=value2
    • Dịch vụ ThingHTTP tự động bắt chuỗi và thực hiện phương thức HTTP POST lên Google Form chứa các trường dữ liệu &entry.1999123839=%%cb2%%. Google Form tự động cập nhật một hàng mới vào tệp Google Spreadsheets.
    • Để tránh nghẽn luồng và lỗi dịch vụ, tần suất cập nhật dữ liệu lên ThingSpeak được thiết lập tuân thủ giới hạn tối thiểu 15 giây/lần.
  2. Quy trình điều khiển tải có phản hồi:

    • Quá trình điều khiển sử dụng 2 trường trên ThingSpeak Channel để đảm bảo độ tin cậy:
      • Field 1 (Trường điều khiển): Ứng dụng Android ghi giá trị lệnh điều khiển (bật/tắt tải). Arduino định kỳ tải giá trị Field 1 về qua giao thức HTTP GET để xuất lệnh tương ứng ra chân điều khiển Opto PC817.
      • Field 2 (Trường trạng thái hiện tại): Sau khi thực thi đóng/ngắt Relay thành công, Arduino cập nhật trạng thái thực tế lên Field 2. Ứng dụng Android đọc dữ liệu Field 2 để hiển thị xác nhận trạng thái tải trên giao diện điện thoại.

Thiết kế ứng dụng di động Android (IoTSensor)

Ứng dụng được lập trình trong môi trường Android Studio, bao gồm các phân hệ chức năng:

  • Giao diện bảng dữ liệu: Tải và hiển thị trực tiếp dữ liệu dạng bảng từ Google Spreadsheets.
  • Giao diện đồ thị: Trực quan hóa chuỗi dữ liệu đo đạc dưới 2 dạng biểu đồ: biểu đồ đường biến thiên theo thời gian và biểu đồ tròn phân bố mức giá trị cảm biến theo ngưỡng cài đặt.
  • Phân hệ trích xuất: Chuyển đổi dữ liệu giám sát thành tệp tin bảng tính Excel và lưu trữ vào bộ nhớ cục bộ của smartphone.
  • Giao diện điều khiển và cấu hình: Gửi lệnh bật/tắt 2 kênh tải độc lập và thiết lập các thông số kết nối mạng WiFi (SSID, mật khẩu) hoặc cấu hình thông số module 3G.

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

Chương 1: Tổng quan

Chương 1 trình bày bối cảnh phát triển của công nghệ IoT và tính cấp thiết của việc xây dựng thiết bị giám sát môi trường tự động. Tác giả xác định rõ mục tiêu chế tạo 2 mô hình phần cứng độc lập (bản WiFi sử dụng ESP8266 v7 và bản 3G sử dụng SIM800L), xây dựng ứng dụng Android điều khiển và giám sát qua Google Spreadsheets. Chương này cũng nêu chi tiết các giới hạn kỹ thuật: bo mạch kích thước 6 x 10 cm, sử dụng nguồn Adaptor DC, hỗ trợ 2 ngõ vào cảm biến tương tự 5VDC và 2 ngõ ra điều khiển tải.

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

Chương 2 phân tích chuyên sâu các nền tảng lý thuyết và công nghệ được lựa chọn:

  • Trình bày giải pháp luồng dữ liệu trung gian qua ThingSpeak và ThingHTTP để ghi dữ liệu vào Google Form và Google Spreadsheets.
  • Phân tích kiến trúc hệ điều hành Android, giấy phép mã nguồn mở Apache và quy trình phát triển ứng dụng di động bằng ngôn ngữ Java trên Android Studio.
  • Giới thiệu các đặc tính kỹ thuật của sóng vô tuyến và mạng không dây WiFi IEEE 802.11 (a/b/g/n/ac), mạng di động 3G.
  • Khảo sát chi tiết nguyên lý hoạt động, cấu trúc khung truyền và giản đồ xung của ba chuẩn giao tiếp phần cứng: UART (khung truyền dữ liệu, tốc độ Baud), I2C (cấu trúc bus SDA/SCL, gói địa chỉ 7-bit, bit ACK/NACK, Master/Slave), và One-Wire (giao thức 1 dây, mã nhận dạng ROM 56-bit).
  • Giới thiệu các thuộc tính kênh ThingSpeak (Channel ID, Write/Read API Key, các trường Field 1 - Field 8, giới hạn cập nhật 15 giây).

Chương 3: Tính toán và thiết kế

Chương 3 chi tiết hóa bài toán thiết kế phần cứng và phần mềm:

  • Xây dựng sơ đồ khối chức năng toàn hệ thống và giải thích nhiệm vụ từng khối.
  • Lựa chọn linh kiện: cảm biến nhiệt ẩm DHT11, vi điều khiển ATmega328P trên kit Arduino Pro Mini (phân tích bảng thông số kỹ thuật, cấu hình bộ nhớ Flash 32 KB, SRAM 2 KB, EEPROM 1 KB, các chân chức năng PWM, Analog, ngắt ngoài, UART, I2C), mạch cách ly quang PC817 kết hợp Relay.
  • Tính toán và thiết kế khối truyền thông mạng: phân tích cấu trúc phần cứng module WiFi ESP8266 v7; trình bày quy trình flash firmware ESP8266_AT_V00180902_04 bằng công cụ ESP8266 Flasher và mạch chuyển đổi USBtoCOM CH340; khảo sát thông số module SIM800L (băng tần, dải điện áp 3.7V - 4.2V, yêu cầu dòng cấp 1A).
  • Phân loại tập lệnh AT thành 4 nhóm cú pháp chuẩn:
Loại lệnh AT Cú pháp Ý nghĩa chức năng
Kiểm tra (Test) AT+<x>=? Truy vấn danh sách các thông số bên trong lệnh và phạm vi giá trị hợp lệ.
Truy vấn (Query) AT+<x>? Đọc và trả về giá trị hiện tại của các tham số cấu hình.
Thiết lập (Set) AT+<x>=<...> Thực thi cài đặt tham số do người dùng định nghĩa vào module.
Thực thi (Execute) AT+<x> Thực thi lệnh mà không cần cung cấp tham số đi kèm.
  • Thiết kế mạch nguồn hạ áp kép sử dụng module LM2596 (5V - 3A) và IC ổn áp LM1117-ADJ (3.3V) nhằm cung cấp dòng ổn định cho khối xử lý và khối truyền thông.
  • Thiết kế giao diện ứng dụng di động: giao diện cấu hình mạng WiFi/3G, giao diện giám sát bảng tính Google Spreadsheets, giao diện đồ thị và bảng điều khiển tải.

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

Chương 4 mô tả toàn bộ quy trình chế tạo phần cứng, lập trình điều khiển và vận hành:

  • Thiết kế mạch in 2 lớp (mặt TOP và mặt BOTTOM) trên phần mềm chuyên dụng, sắp xếp bố trí linh kiện gọn gàng trong diện tích 6 cm x 10 cm và lắp đặt trong vỏ hộp nhôm bảo vệ.
  • Xây dựng lưu đồ thuật toán chương trình điều khiển cho Arduino: hàm khởi tạo, hàm con thiết lập kết nối mạng WiFi/3G, hàm con kiểm tra trạng thái kết nối mạng (CHECK), thuật toán đọc cảm biến và thuật toán gửi/nhận dữ liệu qua ThingSpeak.
  • Triển khai mã nguồn ứng dụng di động trên Android Studio: khởi tạo project, thiết lập quyền truy cập mạng và bộ nhớ trong tệp AndroidManifest.xml, thiết kế giao diện Activity (Main, Data View, Chart View, Device Control, Network Setting).
  • Biên soạn tài liệu hướng dẫn sử dụng và quy trình vận hành thiết bị từng bước cho người dùng cuối.

Chương 5: Kết quả - Nhận xét - Đánh giá

Chương 5 tổng kết các số liệu đo lường thực nghiệm:

  • Thống kê dung lượng mã nguồn chương trình nạp vào bộ nhớ vi điều khiển Arduino.
  • Đánh giá thời gian đáp ứng điều khiển tải thực tế qua 2 môi trường mạng WiFi và 3G.
  • Thống kê tài nguyên tiêu hao của ứng dụng di động Android trên smartphone (dung lượng bộ nhớ cài đặt, lượng RAM chiếm dụng khi chạy tác vụ nền và vẽ đồ thị).
  • Đánh giá mức độ hoàn thành so với các yêu cầu kỹ thuật đề ra ban đầu.

Chương 6: Kết luận - Hướng phát triển

Chương 6 tổng kết các kết quả đạt được về mặt học thuật và kỹ thuật:

  • Đã chế tạo thành công thiết bị nhúng thu nhỏ gọn gàng, hoạt động ổn định trên cả 2 phương thức kết nối WiFi và 3G.
  • Hệ thống thực hiện đầy đủ chu trình: thu thập dữ liệu cảm biến, lưu trữ đám mây Google Spreadsheets, vẽ biểu đồ và xuất tệp Excel trên điện thoại Android, đóng ngắt 2 tải có phản hồi trạng thái.
  • Đề xuất các giải pháp nâng cấp trong tương lai: tối ưu hóa thời gian trễ đáp ứng truyền nhận và mở rộng nền tảng ứng dụng điều khiển sang thiết bị đồng hồ thông minh (Smartwatch).

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

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

  1. Thi công hoàn chỉnh 2 mẫu phần cứng độc lập:
    • Mô hình 1: Bo mạch điều khiển tích hợp module WiFi ESP8266 v7 giao tiếp UART tốc độ 115200 bps.
    • Mô hình 2: Bo mạch điều khiển tích hợp module SIM800L hoạt động trên mạng 3G/GPRS.
    • Toàn bộ linh kiện được tích hợp trên bảng mạch in 6 x 10 cm, đóng gói hoàn chỉnh trong vỏ nhôm bảo vệ cơ học.
  2. Cơ chế truyền tải và lưu trữ đám mây tự động: Hệ thống đã kết nối thành công chuỗi truyền nhận: Cảm biến DHT11 -> Arduino Pro Mini -> ESP8266/SIM800L -> ThingSpeak/ThingHTTP -> Google Form -> Google Spreadsheets, bảo đảm dữ liệu đo lường được lưu trữ liên tục, an toàn và truy cập mọi lúc.
  3. Ứng dụng di động IoTSensor trên Android: Hoàn thiện các tính năng hiển thị bảng dữ liệu thời gian thực, vẽ 2 dạng biểu đồ trực quan (biểu đồ đường và biểu đồ tròn phân ngưỡng), xuất tệp Excel vào bộ nhớ máy và điều khiển 2 rơ-le độc lập có cơ chế phản hồi trạng thái từ thiết bị về điện thoại qua 2 trường dữ liệu trên ThingSpeak.

Đóng góp thực tiễn của đề tài

  • Đề xuất một giải pháp liên kết dịch vụ đám mây sáng tạo: giải quyết triệt để rào cản tài nguyên hạn chế của vi điều khiển 8-bit (không đủ bộ nhớ xử lý các chứng chỉ SSL/TLS phức tạp của giao thức HTTPS trên Google Docs) bằng cách sử dụng nền tảng trung gian ThingHTTP.
  • Cung cấp giải pháp phần cứng giám sát linh hoạt, cho phép triển khai cả ở khu vực thành thị có sẵn hạ tầng WiFi lẫn các khu vực vùng sâu, vùng xa chỉ có sóng mạng viễn thông 3G.

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

Hạn chế của hệ thống

  • Nguồn cấp điện: Thiết bị phụ thuộc hoàn toàn vào nguồn điện lưới thông qua Adapter DC, chưa tích hợp hệ thống pin sạc dự phòng hoặc nguồn năng lượng tái tạo độc lập.
  • Tốc độ đáp ứng điều khiển: Quá trình điều khiển tải và cập nhật cảm biến chịu độ trễ nhất định do cơ chế truyền thông nhiều tầng trung gian (vi điều khiển -> ThingSpeak -> Google -> Android) và giới hạn tần suất tối thiểu 15 giây/lần của ThingSpeak API miễn phí.
  • Khả năng mở rộng cảm biến: Phần cứng thử nghiệm hiện mới chỉ tích hợp cảm biến nhiệt độ - độ ẩm DHT11 và hỗ trợ chuẩn kết nối mức tín hiệu 5VDC, chưa mở rộng các cảm biến đo lường công nghiệp đặc thù.

Hướng nghiên cứu tiếp

  • Tối ưu hóa thuật toán truyền thông và nâng cấp giao thức truyền dữ liệu trực tiếp nhằm rút ngắn thời gian trễ đáp ứng của hệ thống.
  • Phát triển và mở rộng ứng dụng điều khiển, giám sát sang các thiết bị đeo thông minh (Smartwatch).
  • Tích hợp thêm các khối quản lý năng lượng thông minh, cho phép thiết bị sử dụng nguồn pin tích hợp phục vụ các trạm đo di động.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo có giá trị kỹ thuật cao cho:

  • Sinh viên chuyên ngành Điện tử, Viễn thông, Tự động hóa và Công nghệ thông tin: Cung cấp tài liệu mẫu về thiết kế hệ thống nhúng IoT hoàn chỉnh từ khâu thiết kế sơ đồ mạch nguyên lý, vẽ PCB, lập trình vi điều khiển AVR (ATmega328P), nạp firmware cho chip ESP8266, đến xây dựng ứng dụng Android Studio.
  • Các kỹ sư và người nghiên cứu dự án IoT: Tham khảo giải pháp bắc cầu giao thức giữa vi điều khiển tài nguyên thấp với các dịch vụ đám mây của Google thông qua ThingSpeak/ThingHTTP API; phương pháp điều khiển tải có phản hồi trạng thái hai chiều qua cơ chế đa trường dữ liệu.

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

1. Tại sao hệ thống không gửi dữ liệu trực tiếp từ Arduino lên Google Spreadsheets mà phải thông qua ThingSpeak?

Do vi điều khiển 8-bit ATmega328P trên board Arduino Pro Mini có tài nguyên bộ nhớ rất hạn chế (32 KB Flash, 2 KB SRAM), không đủ khả năng xử lý các giao thức bảo mật mã hóa HTTPS và chứng chỉ SSL phức tạp mà dịch vụ Google Docs/Google Forms yêu cầu. Do đó, hệ thống sử dụng công cụ ThingHTTP của nền tảng ThingSpeak làm trung gian: vi điều khiển chỉ cần gửi một lệnh HTTP GET đơn giản đến ThingSpeak, sau đó máy chủ ThingHTTP sẽ thực hiện yêu cầu HTTP POST để ghi dữ liệu vào Google Form tương ứng.

2. Hai module truyền thông ESP8266 v7 và SIM800L được sử dụng trong đề tài có đặc điểm kỹ thuật gì nổi bật?

Module WiFi ESP8266 v7 sử dụng chip SoC 32-bit (80 MHz, 64 KB RAM, 512 KB Flash), hỗ trợ chuẩn 802.11 b/g/n, giao tiếp qua UART ở tốc độ Baud 115200 bps và được nạp firmware ESP8266_AT_V00180902_04. Module 3G SIM800L có kích thước nhỏ gọn (25 x 22 mm), sử dụng khe MicroSIM, hỗ trợ 4 băng tần 850/900/1800/1900 MHz, hoạt động ở dải điện áp 3.7V - 4.2V và yêu cầu nguồn cấp cung cấp dòng đỉnh lên tới 1A khi phát sóng.

3. Cơ chế điều khiển tải từ xa trên ứng dụng Android bảo đảm tính xác thực hai chiều như thế nào?

Cơ chế điều khiển được chia thành 2 trường dữ liệu trên kênh ThingSpeak:

  • Field 1: Ứng dụng Android gửi giá trị điều khiển mong muốn lên ThingSpeak; Arduino định kỳ tải giá trị này về để thực hiện đóng/ngắt tải qua Opto PC817 và Relay.
  • Field 2: Sau khi vi điều khiển thực thi đóng/ngắt thành công ở phần cứng, nó sẽ gửi trạng thái thực tế cập nhật lên Field 2; ứng dụng Android đọc dữ liệu từ Field 2 để hiển thị xác nhận trạng thái phản hồi chính xác của thiết bị trên màn hình điện thoại.

4. Phạm vi đo lường và sai số của cảm biến DHT11 sử dụng trong đồ án là bao nhiêu?

Cảm biến DHT11 sử dụng chuẩn giao tiếp 1-wire, có dòng tiêu thụ tối đa 2.5 mA khi truyền dữ liệu. Dải đo nhiệt độ của cảm biến từ 0°C đến 50°C với sai số ±2°C; dải đo độ ẩm từ 20% đến 90% RH với sai số ±5% RH. Khoảng cách truyền tín hiệu tối đa theo thông số thiết kế đạt 20 mét.

5. Giới hạn tần suất cập nhật dữ liệu của nền tảng ThingSpeak trong đề tài được quy định như thế nào?

Theo quy định kỹ thuật của ThingSpeak API, khoảng cách giữa hai lần gửi yêu cầu cập nhật liên tiếp lên cùng một kênh phải cách nhau tối thiểu 15 giây. Nếu gửi dữ liệu với tần suất dày hơn 15 giây, máy chủ API sẽ từ chối xử lý và phát sinh lỗi truyền nhận.


Kết luận

Đồ án tốt nghiệp "Thiết kế thiết bị giám sát cảm biến từ xa qua Smartphone (3G, WIFI)" của nhóm tác giả Nguyễn Gia Bảo và Hà Thanh Đạt đã hoàn thành trọn vẹn mục tiêu thiết kế và thi công hệ sinh thái giám sát môi trường không dây hoàn chỉnh. Nghiên cứu giải quyết xuất sắc bài toán tối ưu tài nguyên phần cứng bằng giải pháp cầu nối đám mây ThingHTTP - Google Spreadsheets, đồng thời mang lại khả năng vận hành linh hoạt trên cả hai nền tảng mạng WiFi và 3G. Toàn bộ phần cứng được thi công nhỏ gọn trên bo mạch 6 x 10 cm, kết hợp cùng ứng dụng di động Android IoTSensor hoàn thiện về mặt tính năng hiển thị, vẽ biểu đồ, xuất tệp tin bảng tính Excel và điều khiển tải phản hồi hai chiều tin cậy.