Giới thiệu dự án

Sự ra đời của chuẩn kết nối Matter vào năm 2022 bởi các tập đoàn công nghệ lớn như Amazon, Google, Apple và Liên minh Zigbee đã tạo nên bước ngoặt lớn cho hệ sinh thái Internet of Things (IoT). Tuy nhiên, trên thị trường hiện nay, hàng triệu thiết bị điều hòa không khí (HVAC) gia dụng và văn phòng vẫn đang sử dụng phương thức điều khiển truyền thống thông qua sóng hồng ngoại (Infrared - IR). Các thiết bị này hoạt động độc lập, không có kết nối mạng, sử dụng các giao thức quang học đóng kín và phân mảnh giữa các nhà sản xuất, dẫn đến việc quản lý tiêu thụ năng lượng kém hiệu quả và không thể tích hợp vào các hệ sinh thái nhà thông minh hiện đại.

Đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính tại Trường Đại học Sư phạm Kỹ thuật TP.HCM giải quyết bài toán: Nghiên cứu, thiết kế và chế tạo hệ thống điều khiển máy lạnh thông minh từ xa, chuyển đổi các thiết bị điều hòa thuần hồng ngoại thành thiết bị IoT có khả năng giám sát môi trường thực thời thông qua nền tảng điện toán đám mây Amazon Web Services (AWS) và ứng dụng di động đa nền tảng Flutter.

[Máy lạnh IR truyền thống] <--(Tín hiệu IR 38kHz)-- [Phần cứng ESP32-C3 + SHT30]
                                                            | (MQTT over TLS)
[Ứng dụng Flutter (Bloc/Cubit)] <--(REST API / HTTPS)--> [AWS Cloud Backend]

Mục tiêu đề tài

  1. Thiết kế phần cứng IoT: Chế tạo board mạch nhúng tích hợp vi điều khiển ESP32-C3 (kiến trúc RISC-V), cảm biến nhiệt độ - độ ẩm SHT30 và khối thu/phát hồng ngoại tần số sóng mang 38 kHz.
  2. Xây dựng Serverless Backend trên AWS: Triển khai hệ thống backend tự động co giãn sử dụng AWS Cognito, AWS Lambda, Amazon DynamoDB, AWS API Gateway và AWS IoT Core nhằm đảm bảo bảo mật và tối ưu chi phí vận hành.
  3. Phát triển ứng dụng di động: Xây dựng ứng dụng Flutter đa nền tảng theo kiến trúc Bloc/Cubit, hỗ trợ nạp cấu hình mạng WiFi qua giao thức Bluetooth Low Energy (BLE) và điều khiển thiết bị thời gian thực.
  4. Thực nghiệm và giải mã tín hiệu: Thu thập, phân tích và giải mã tín hiệu thô (raw microsecond timing) từ remote máy lạnh LG AKB75075801 để điều khiển chính xác máy lạnh LG Inverter 1.5 HP V13WIN1.

Phạm vi và giới hạn đề tài

  • Phần cứng: Sử dụng module ESP32-C3 DevKit M-1, hoạt động trong dải điện áp 3.3V - 5V, đo nhiệt độ phòng trong dải -40°C đến 125°C (sai số ±0.2°C) và độ ẩm 0% đến 100% RH (sai số ±2% RH).
  • Phần mềm: Hệ thống hỗ trợ điều khiển các tính năng cốt lõi: Bật/Tắt, chuyển chế độ (Cool, Dry, Fan), chỉnh nhiệt độ (18°C - 30°C) và điều hướng cánh đảo gió.
  • Giới hạn: Hệ thống truyền nhận IR một chiều (open-loop control), chưa tích hợp cảm biến dòng điện CT để phản hồi trạng thái nguồn thực tế của máy lạnh.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Broadlink RM4 Mini Tuya Smart IR Hub S06 Giải pháp Đồ án (ESP32-C3 + AWS)
Kiến trúc Server Cloud độc quyền (PaaS) Tuya Cloud (Phụ thuộc nền tảng) Serverless AWS độc lập (Toàn quyền sở hữu)
Bảo mật thiết bị Khóa cứng theo firmware Token đám mây của bên thứ ba Chứng chỉ X.509 riêng biệt + Policy IoT Core
Độ trễ truyền lệnh 800ms - 1500ms 600ms - 1200ms 180ms - 350ms (MQTT QoS 0/1)
Giám sát môi trường Mua thêm cáp cảm biến HTS2 Tích hợp sẵn (độ trễ cao) Cảm biến I2C SHT30 độ chính xác cao (±0.2°C)
Cấu hình thiết bị WiFi SoftAP truyền thống WiFi EZ Mode / BLE BLE Provisioning bảo mật cao

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have: Thu/phát xung IR 38kHz chính xác; đọc dữ liệu SHT30 qua I2C; xác thực tài khoản qua JWT Cognito; truyền nhận dữ liệu qua MQTT broker AWS IoT Core; nạp WiFi qua BLE.
  • Should have: Giao diện điều khiển máy lạnh trực quan với cơ chế cập nhật trạng thái Optimistic UI trên Flutter; quản lý phân quyền Admin/Guest cho từng thiết bị.
  • Could have: Tự động làm mới Token (Refresh Token Interceptor) qua Dio; lưu trữ lịch sử nhiệt độ.
  • Won't have: Tự động học lệnh IR AI trên biên (Edge AI); tích hợp điều khiển giọng nói qua Alexa/Google Assistant trong phiên bản hiện tại.

Thiết kế hệ thống

Hệ thống được thiết kế theo mô hình 3 tầng phân tán: Edge Hardware Layer, Cloud Serverless Backend LayerClient Application Layer.

+-----------------------------------------------------------------------------------+
|                            CLIENT: FLUTTER MOBILE APP                             |
|              (UI Layer <---> Bloc / Cubit State <---> Dio HTTP Client)            |
+------------------------+----------------------------------+-----------------------+
                         | HTTPS (JWT Token)                | BLE (Provisioning)
                         v                                  v
+---------------------------------------------------+  +----------------------------+
|             AWS CLOUD SERVERLESS BACKEND          |  |       EDGE HARDWARE        |
|  +---------------------------------------------+  |  |  +----------------------+  |
|  | AWS API Gateway (REST API Endpoints)        |  |  |  | ESP32-C3 (RISC-V)    |  |
|  +----------------------+----------------------+  |  |  +----------+-----------+  |
|                         | Trigger                 |  |             |              |
|  +----------------------v----------------------+  |  |  +----------v-----------+  |
|  | AWS Lambda Functions (Node.js 18.x)         |  |  |  | SHT30 Sensor (I2C)   |  |
|  +----------+-------------------+--------------+  |  |  | TSOP38438 (IR Recv)  |  |
|             |                   |                 |  |  | Dual IR LEDs (Trans) |  |
|  +----------v---------+  +------v--------------+  |  |  +----------------------+  |
|  | DynamoDB (NoSQL)   |  | AWS IoT Core (MQTT) |<-+--+--------+ (MQTT over TLS)   |
|  | - Devices          |  | - Broker Topics     |  |                               |
|  | - Remotes          |  | - X.509 Policy      |  |                               |
|  | - UserDeviceRoles  |  +---------------------+  |                               |
|  +--------------------+                           |                               |
+---------------------------------------------------+-------------------------------+

Technology Stack và Thông số phiên bản

  • Phần cứng: ESP32-C3 DevKit M-1 (Single-core RISC-V 160MHz, 400KB SRAM, 4MB Flash), ESP-IDF / Arduino Core v2.0.14.
  • Cảm biến & Ngoại vi: Sensirion SHT30 (I2C address 0x44), Vishay TSOP38438 (Carrier 38kHz), SGM2212-3.3 LDO Regulator.
  • Cloud Backend: AWS Lambda (Node.js v18.x LTS runtime), AWS SDK v3, AWS DynamoDB (On-Demand Capacity), AWS Cognito User Pools, AWS IoT Core (MQTT v3.1.1 over TLS 1.2).
  • Mobile Client: Flutter v3.19.x, Dart SDK v3.3.x, flutter_bloc v8.1.x, dio v5.4.x, flutter_blue_plus v1.31.x.

Thiết kế Cơ sở dữ liệu (Amazon DynamoDB)

Hệ thống sử dụng cơ sở dữ liệu NoSQL DynamoDB với 3 bảng chính:

  1. Bảng Devices:

    • id (Partition Key - String): UUID định danh thiết bị.
    • serial_number (String): Số seri phần cứng ESP32.
    • name (String): Tên định danh phòng/thiết bị.
    • remote_model (String): Mã remote đang gán (VD: LG_AKB75075801).
    • sensor_data (Map): Chứa { "temp": 26.5, "humidity": 65.2, "updated_at": 1716984200 }.
    • current_control (Map): Chứa { "power": "ON", "mode": "COOL", "temp": 24, "fan": "AUTO" }.
    • mqtt_topics (Map): Chứa { "pub": "device/esp32_01/data", "sub": "device/esp32_01/control" }.
  2. Bảng Remotes:

    • remote_id (Partition Key - String): Mã dòng remote máy lạnh.
    • signals (List of Maps): Danh sách các mã lệnh { "control": "POWER_OFF", "signal": "8980\n4420\n580\n1620\n..." }.
  3. Bảng UserDeviceRoles:

    • row_id (Partition Key - String): Khóa chính tổng hợp UUID.
    • user_id (String): Cognito User Sub ID.
    • device_id (String): Khóa ngoại tham chiếu đến bảng Devices.
    • role (String): Phân quyền tài khoản (ADMIN hoặc GUEST).

Thiết kế API Gateway REST Endpoints

POST   /v1/devices          -> Tạo mới phần cứng sau khi nạp WiFi thành công
GET    /v1/devices?id={id}  -> Truy xuất trạng thái và thông số môi trường của thiết bị
POST   /v1/controls         -> Gửi lệnh điều khiển (Bật/Tắt, Chế độ, Nhiệt độ)
GET    /v1/remote           -> Lấy danh sách mẫu mã remote và tập mã lệnh IR
POST   /v1/role             -> Cấp quyền quản trị/chia sẻ thiết bị cho người dùng khác

Phương pháp triển khai (Methodology)

Dự án áp dụng mô hình phát triển phần mềm linh hoạt (Agile Scrum) kết hợp kiểm thử phần cứng liên tục (Hardware-in-the-loop).

+--------------------------------------------------------------------------+
| Tuần 1 - 3: Nghiên cứu tín hiệu IR 38kHz, vẽ mạch nguyên lý (KiCad)      |
+------------------------------------+-------------------------------------+
                                     |
+------------------------------------v-------------------------------------+
| Tuần 4 - 7: Chế tạo PCB phần cứng, lập trình firmware ESP32-C3 & SHT30    |
+------------------------------------+-------------------------------------+
                                     |
+------------------------------------v-------------------------------------+
| Tuần 8 - 11: Xây dựng AWS Serverless (Cognito, Lambda, DynamoDB, IoT Core)|
+------------------------------------+-------------------------------------+
                                     |
+------------------------------------v-------------------------------------+
| Tuần 12 - 14: Lập trình App Flutter (Bloc/Cubit), tích hợp BLE & API     |
+------------------------------------+-------------------------------------+
                                     |
+------------------------------------v-------------------------------------+
| Tuần 15 - 16: Kiểm thử toàn diện (UAT, Benchmark) và tối ưu độ trễ       |
+--------------------------------------------------------------------------+

Triển khai và kết quả thực nghiệm

Quy trình phát triển và thuật toán cốt lõi

1. Thuật toán giải mã và tái tạo tín hiệu IR (Mark/Space Timing)

Tín hiệu hồng ngoại từ remote máy lạnh được điều chế ở tần số sóng mang 38 kHz. Mỗi bit dữ liệu được cấu thành từ một khoảng có xung hồng ngoại (Mark) và một khoảng ngắt xung (Space).

Đối với giao thức NEC và các biến thể máy lạnh:

  • Header: $Mark \approx 9000,\mu s$, $Space \approx 4500,\mu s$.
  • Bit 1: $Mark \approx 560,\mu s$, $Space \approx 1690,\mu s$ (Tổng chu kỳ $\approx 2250,\mu s$).
  • Bit 0: $Mark \approx 560,\mu s$, $Space \approx 560,\mu s$ (Tổng chu kỳ $\approx 1120,\mu s$).

Khi nhận dữ liệu từ cảm biến TSOP38438, chân GPIO7 của ESP32-C3 bắt ngắt sườn xuống/lên và ghi lại mảng độ rộng xung theo micro giây ($\mu s$). Dữ liệu thô sau đó được chuẩn hóa thành chuỗi string ngăn cách bởi ký tự \n để lưu trữ trên DynamoDB.

{
  "device_id": "c3-98a4-4f2b",
  "method": "SEND_IR_COMMAND",
  "remote_model": "LG_AKB75075801",
  "command": "TEMP_24_COOL",
  "carrier_freq_khz": 38,
  "raw_signal": "8950\n4430\n580\n1640\n580\n540\n580\n1640\n580\n540\n580\n540\n40000"
}

2. Xử lý Logic Backend trên AWS Lambda (Node.js)

Hàm Lambda phân tích request từ API Gateway hoặc trigger từ IoT Core để xử lý lệnh điều khiển:

// Lambda Handler: sendCommand.js
const { IoTDataPlaneClient, PublishCommand } = require("@aws-sdk/client-iot-data-plane");
const { DynamoDBClient, GetItemCommand } = require("@aws-sdk/client-dynamodb");

const iotClient = new IoTDataPlaneClient({ region: "ap-southeast-1" });
const dbClient = new DynamoDBClient({ region: "ap-southeast-1" });

exports.handler = async (event) => {
    try {
        const { device_id, action, temp, mode } = JSON.parse(event.body);
        
        // 1. Truy xuất chuỗi raw IR từ DynamoDB theo profile remote
        const signalKey = `${mode}_${temp}`;
        const dbParams = {
            TableName: "Remotes",
            Key: { remote_id: { S: "LG_AKB75075801" } }
        };
        const dbResult = await dbClient.send(new GetItemCommand(dbParams));
        const rawSignal = dbResult.Item.signals.M[signalKey].S;

        // 2. Đóng gói payload MQTT gửi xuống ESP32-C3
        const payload = JSON.stringify({
            method: "EXECUTE_IR",
            sn: device_id,
            signal: rawSignal
        });

        const mqttParams = {
            topic: `device/${device_id}/control`,
            payload: Buffer.from(payload),
            qos: 1
        };

        await iotClient.send(new PublishCommand(mqttParams));
        
        return {
            statusCode: 200,
            headers: { "Access-Control-Allow-Origin": "*" },
            body: JSON.stringify({ message: "Lệnh điều khiển đã được gửi thành công" })
        };
    } catch (err) {
        return { statusCode: 500, body: JSON.stringify({ error: err.message }) };
    }
};

3. Quản lý trạng thái trên ứng dụng Flutter với Bloc/Cubit

Ứng dụng sử dụng kiến trúc State Management Bloc-Cubit để tách biệt giữa UI và Data Layer. Khi người dùng tăng nhiệt độ, Cubit sẽ kích hoạt trạng thái DeviceControlLoading, gửi request qua Dio HTTP Client và tự động phục hồi trạng thái cũ nếu server trả về mã lỗi (Optimistic UI Pattern).

// device_control_cubit.dart
class DeviceControlCubit extends Cubit<DeviceControlState> {
  final ApiRepository apiRepository;
  DeviceControlCubit(this.apiRepository) : super(DeviceControlInitial());

  Future<void> sendAcCommand(String deviceId, int temp, String mode) async {
    emit(DeviceControlLoading(currentTemp: temp, mode: mode));
    try {
      final response = await apiRepository.sendControl(
        deviceId: deviceId,
        temp: temp,
        mode: mode,
      );
      if (response.statusCode == 200) {
        emit(DeviceControlSuccess(currentTemp: temp, mode: mode));
      } else {
        emit(DeviceControlFailure(error: "Lỗi kết nối Server Gateway"));
      }
    } catch (e) {
      emit(DeviceControlFailure(error: e.toString()));
    }
  }
}

Kiểm thử và đánh giá hiệu năng

Hệ thống được đưa vào kiểm thử thực nghiệm trong không gian phòng 25m² với máy lạnh LG Inverter 1.5 HP V13WIN1 trong 30 ngày liên tục.

Tham số kiểm thử Mục tiêu thiết kế Kết quả thực nghiệm đạt được Trạng thái
Độ trễ API Gateway (Round-trip) $< 500,\text{ms}$ $215,\text{ms} - 340,\text{ms}$ Đạt
Độ trễ truyền nhận MQTT (IoT Core) $< 100,\text{ms}$ $42,\text{ms} - 68,\text{ms}$ Đạt
Khoảng cách phát IR hiệu dụng $\ge 5,\text{m}$ $6.5,\text{m}$ (Góc mở $45^\circ$) Đạt
Sai số cảm biến nhiệt độ SHT30 $\pm 0.5^\circ\text{C}$ $\pm 0.2^\circ\text{C}$ Đạt
Sai số cảm biến độ ẩm SHT30 $\pm 3%,\text{RH}$ $\pm 2%,\text{RH}$ Đạt
Tỷ lệ truyền lệnh IR thành công $> 98%$ $99.2%$ (992/1000 lượt bấm) Đạt
Thời gian kết nối WiFi qua BLE $< 15,\text{s}$ $6.8,\text{s}$ Đạt

Đổi mới và đóng góp

  1. Kiến trúc Serverless hướng sự kiện (Event-driven Serverless Architecture): Loại bỏ hoàn toàn chi phí duy trì máy chủ ảo (EC2/VPS). Hệ thống chỉ kích hoạt tính toán khi có request hoặc payload MQTT, giúp chi phí vận hành ở quy mô hộ gia đình tiệm cận 0 USD nhờ tận dụng gói AWS Free Tier (1 triệu request Lambda/tháng, 25GB DynamoDB).
  2. Cơ chế lưu trữ tín hiệu IR dạng vi giây thô (Universal Raw IR Timing): Thay vì phụ thuộc vào thư viện giải mã cứng từng hãng trên firmware (gây tốn bộ nhớ flash của vi điều khiển), hệ thống trừu tượng hóa tín hiệu hồng ngoại thành mảng xung thời gian thực lưu trên NoSQL DynamoDB. Điều này cho phép mở rộng hỗ trợ bất kỳ remote máy lạnh nào (Daikin, Panasonic, Toshiba, Mitsubishi) chỉ bằng cách cập nhật bản ghi dữ liệu trên Cloud mà không cần biên dịch lại firmware.
  3. Cấu hình mạng BLE Provisioning an toàn: Thay thế phương thức kết nối SoftAP truyền thống (kém bảo mật, dễ đứt kết nối) bằng giao thức BLE có mã hóa dữ liệu, giúp người dùng dễ dàng cài đặt WiFi cho phần cứng chỉ trong 1 chạm qua mã QR.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế

  • Căn hộ thông minh & Nhà ở cá nhân: Người dùng bật máy lạnh trước khi về nhà 15 phút, theo dõi nhiệt độ phòng trẻ em từ xa và tự động điều chỉnh mức làm lạnh phù hợp với sức khỏe.
  • Tòa nhà văn phòng & Khách sạn: Tự động hóa giám sát tập trung hàng trăm máy lạnh cục bộ, tắt máy lạnh tự động ngoài giờ làm việc, giúp tiết kiệm từ 20% đến 35% chi phí tiền điện hàng tháng.
[Người dùng / Nhà quản lý]
       |
       v (Bật trước 15 phút qua 4G/WiFi)
[AWS Cloud Platform] ---> [Bộ điều khiển ESP32-C3] ---> [Máy lạnh khởi động ở 25°C]
                               |
                               +---> [SHT30 giám sát nhiệt độ ổn định]

Phân tích chi phí và hiệu quả đầu tư (ROI)

  • Chi phí phần cứng cho 1 phòng:
    • ESP32-C3 DevKit: ~75.000 VNĐ.
    • Cảm biến Sensirion SHT30: ~45.000 VNĐ.
    • Mạch phát IR kép, TSOP38438, nguồn LDO, vỏ hộp in 3D: ~50.000 VNĐ.
    • Tổng chi phí phần cứng: ~170.000 VNĐ / phòng (thấp hơn 60% so với việc mua thiết bị thương mại).
  • Điện năng tiết kiệm: Một máy lạnh 1.5 HP tiêu thụ khoảng 1.1 kWh. Việc kiểm soát bật tắt tự động và tối ưu nhiệt độ theo môi trường giúp giảm trung bình 2 giờ chạy lãng phí/ngày $\rightarrow$ Tiết kiệm $\approx 66,\text{kWh}/\text{tháng} \approx 165.000,\text{VNĐ}/\text{tháng}$.
  • Thời gian hoàn vốn (ROI): Khoảng 1.2 đến 1.5 tháng sử dụng.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Giao tiếp một chiều (Open-loop): Nếu người dùng bật/tắt máy lạnh bằng remote vật lý cầm tay, hệ thống sẽ không đồng bộ được trạng thái thực tế lên ứng dụng di động.
  • Vùng phủ quang học IR: Tín hiệu hồng ngoại không thể xuyên tường, mỗi phòng cần lắp đặt một module phần cứng riêng biệt.

Hướng phát triển trong tương lai

  • Tích hợp biến dòng cảm ứng không tiếp xúc (Non-invasive Current Clamp Sensor) để đo dòng tải tiêu thụ, xác nhận chính xác 100% trạng thái bật/tắt của máy nén (compressor).
  • Nghiên cứu tích hợp chuẩn kết nối Matter-over-Wi-Fi trực tiếp trên firmware ESP32-C3 nhằm hỗ trợ native Apple HomeKit, Google Home và Samsung SmartThings.
  • Ứng dụng mô hình học máy (Machine Learning) trên AWS SageMaker để dự đoán thói quen sử dụng và tự động tối ưu hóa nhiệt độ theo chu kỳ giấc ngủ.

Đối tượng hưởng lợi

  • Sinh viên & Nghiên cứu sinh: Nguồn tài liệu tham khảo hoàn chỉnh từ thiết kế phần cứng nhúng (Schematic/PCB), thu/phát xung vi giây đến kiến trúc Serverless trên AWS và lập trình Flutter Bloc.
  • Kỹ sư phát triển IoT: Nắm vững quy trình tích hợp các dịch vụ đám mây AWS (Cognito, API Gateway, DynamoDB, IoT Core) theo chuẩn bảo mật doanh nghiệp thông qua X.509 Certificate và JWT.
  • Doanh nghiệp & Đơn vị quản lý vận hành: Giải pháp retrofit chi phí thấp giúp thông minh hóa hệ thống điều hòa sẵn có mà không cần thay thế máy lạnh mới, tối ưu hóa chi phí năng lượng.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống phần cứng là gì?

Hệ thống yêu cầu nguồn cấp 5V DC/1A thông qua cổng Micro-USB hoặc Type-C. Vị trí lắp đặt thiết bị cần nằm trong vùng nhìn thẳng (Line-of-Sight) với mắt nhận IR của máy lạnh trong bán kính tối đa 6.5 mét và nằm trong vùng phủ sóng WiFi băng tần 2.4 GHz (802.11 b/g/n).

2. AWS Serverless có đáp ứng được khi số lượng thiết bị mở rộng lên hàng nghìn module không?

Hoàn toàn đáp ứng được. Kiến trúc sử dụng AWS IoT Core có khả năng duy trì hàng triệu kết nối MQTT đồng thời, AWS Lambda tự động scale-out song song lên đến hàng nghìn execution context, và Amazon DynamoDB đáp ứng hàng trăm nghìn read/write request mỗi giây với độ trễ dưới 10ms.

3. Làm thế nào để thêm một mẫu remote máy lạnh mới vào hệ thống?

Chỉ cần đưa remote mới hướng vào mắt thu TSOP38438 của mạch phần cứng ở chế độ "Learn Mode", bấm lần lượt các nút chức năng. Phần cứng sẽ bắt chuỗi xung vi giây và gửi lên topic MQTT device/learn_ir. Backend Lambda sẽ tự động ghi chuỗi dữ liệu này vào bảng Remotes trên DynamoDB mà không cần nạp lại firmware cho thiết bị.

4. Hệ thống đảm bảo tính bảo mật như thế nào khi truyền dữ liệu qua Internet?

Hệ thống triển khai mô hình bảo mật đa tầng:

  • Giao tiếp giữa Mobile App và Backend được mã hóa qua HTTPS/TLS và xác thực bởi JWT Token sinh ra từ AWS Cognito.
  • Giao tiếp giữa ESP32-C3 và AWS IoT Core được mã hóa qua MQTT over TLS 1.2, xác thực hai chiều (Mutual Authentication) bằng bộ chứng chỉ số X.509 riêng biệt được nạp an toàn trong bộ nhớ Flash của từng vi điều khiển.

5. Chi phí duy trì hệ thống trên nền tảng AWS ước tính là bao nhiêu?

Với quy mô từ 1 đến 5 thiết bị cho một hộ gia đình, toàn bộ lưu lượng dữ liệu (API request, Lambda compute, DynamoDB storage, IoT Core messaging) nằm trọn trong gói miễn phí trọn đời (Always Free) hoặc miễn phí 12 tháng đầu của AWS, do đó chi phí dịch vụ Cloud xấp xỉ 0 USD/tháng.


Kết luận

Đề tài "Thiết kế hệ thống điều khiển máy lạnh sử dụng các dịch vụ từ AWS" đã giải quyết trọn vẹn bài toán chuyển đổi các thiết bị điện lạnh gia dụng truyền thống thành các node mạng IoT thông minh. Với sự kết hợp giữa vi điều khiển thế hệ mới ESP32-C3, cảm biến môi trường SHT30 có độ chính xác cao, kiến trúc đám mây Serverless AWS mạnh mẽ và ứng dụng di động Flutter trực quan, dự án không chỉ khẳng định tính khả thi cao về mặt kỹ thuật mà còn mang lại giá trị thực tiễn to lớn trong việc tiết kiệm năng lượng và nâng cao chất lượng cuộc sống.