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

Trong bối cảnh công nghệ 4.0 phát triển, việc ứng dụng mạng lưới vạn vật kết nối (Internet of Things - IoT) vào công tác quản lý và giám sát phương tiện giao thông đang trở thành một xu hướng tất yếu. Tại Việt Nam, xe máy là phương tiện di chuyển phổ biến nhất của người dân. Tuy nhiên, theo các báo cáo từ Tổng cục Đường bộ Việt Nam, công tác quản lý, định vị và đảm bảo an ninh cho phương tiện cá nhân vẫn còn nhiều bất cập, đặc biệt là tình trạng trộm cắp xe máy, xe đạp và các tài sản có giá trị diễn ra phức tạp nhưng các biện pháp thu hồi truyền thống lại thiếu tin cậy và kém hiệu quả.

Các hệ thống giám sát và định vị phương tiện truyền thống trên thị trường hiện nay bộc lộ một số hạn chế cụ thể như sau:

  • Khả năng theo dõi và quản lý chưa đáp ứng trọn vẹn nhu cầu thực tế của người dùng về tính liên tục và độ chính xác.
  • Hiệu suất định vị của thiết bị sụt giảm rõ rệt khi phương tiện di chuyển qua các khu vực có cường độ sóng di động yếu hoặc mất tín hiệu.
  • Thiết bị tiêu hao năng lượng lớn, đòi hỏi phải thay pin thường xuyên, gây bất tiện trong quá trình vận hành lâu dài.
  • Chi phí đầu tư phần cứng, lắp đặt và duy trì dịch vụ còn ở mức cao, chưa phù hợp với khả năng tiếp cận của số đông người tiêu dùng.

Trước thực trạng đó, đồ án "Hệ thống IoT giám sát phương tiện giao thông" được thực hiện nhằm xây dựng một giải pháp hoàn chỉnh cho phép chủ phương tiện theo dõi vị trí, tốc độ, gia tốc và trạng thái di chuyển của tài sản theo thời gian thực (real-time).

Mục tiêu và nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Nghiên cứu, thiết kế và chế tạo phần cứng khối thiết bị nhúng (Edge Device) tích hợp vi xử lý trung tâm, cảm biến gia tốc/nhiệt độ, khối thu định vị vệ tinh GPS và khối truyền thông mạng dữ liệu di động 4G LTE.
  2. Xây dựng chương trình firmware điều khiển vi xử lý thu thập dữ liệu cảm biến, phân tích gói tin định vị và giao tiếp với modem thông qua tập lệnh AT.
  3. Thiết lập hệ thống máy chủ đám mây Backend dựa trên nền tảng AWS IoT Core, cấu hình các chính sách bảo mật, định danh người dùng và cơ chế đồng bộ trạng thái thiết bị Device Shadow.
  4. Xây dựng ứng dụng di động (Mobile App) đa nền tảng để tiếp nhận dữ liệu thời gian thực và trực quan hóa vị trí phương tiện trên bản đồ.
  • Đối tượng nghiên cứu: Hệ thống phần cứng nhúng định vị, các cảm biến đo lường động lực học, giao thức truyền thông không dây và kiến trúc máy chủ IoT đám mây.
  • Phạm vi nghiên cứu: Thiết bị giám sát gắn trên các phương tiện giao thông cá nhân (xe máy, xe đạp) và tài sản; nghiên cứu được triển khai thực nghiệm tại Trường Điện – Điện tử, Trường Đại học Bách khoa Hà Nội vào tháng 3/2023.

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

Cơ sở lý thuyết

Đồ án dựa trên nền tảng lý thuyết về các giao tiếp phần cứng tiêu chuẩn trong hệ thống nhúng, giao thức truyền thông mạng IoT và hệ lệnh điều khiển modem:

  • Giao tiếp UART (Universal Asynchronous Receiver-Transmitter): Chuẩn truyền thông nối tiếp bất đồng bộ 2 dây (Tx, Rx). Dữ liệu được truyền theo từng khung (packet) gồm 1 bit Start (kéo điện áp từ cao xuống thấp), 5 đến 9 bit dữ liệu (Data Frame, truyền bit LSB trước), 1 bit kiểm tra chẵn lẻ tùy chọn (Parity bit) và 1 đến 2 bit Stop (kéo điện áp từ thấp lên cao trong tối thiểu 2 khoảng thời gian bit). Tốc độ truyền (Baud rate) hỗ trợ từ 9600 đến 1500000 bps với sai số cho phép giữa thiết bị gửi và nhận dưới 10%.
  • Giao tiếp I2C (Inter-Integrated Circuit): Chuẩn truyền thông nối tiếp đồng bộ 2 dây gồm SDA (dữ liệu) và SCL (xung nhịp do Master điều khiển). Cả hai đường tín hiệu hoạt động ở chế độ cực máng hở (open-drain) và yêu cầu điện trở kéo lên nguồn (pull-up) từ 1 kΩ đến 4.7 kΩ để tránh ngắn mạch. Giao tiếp hỗ trợ địa chỉ vật lý 7-bit (quản lý tối đa 128 thiết bị Slave), truyền dữ liệu theo từng byte kèm bit ACK/NACK (mức 0 là xác nhận, mức 1 là không xác nhận), hỗ trợ chế độ chuẩn (Standard mode: 100 kbit/s) và chế độ tốc độ thấp (Low-speed mode: 10 kbit/s).
  • Giao tiếp SPI (Serial Peripheral Interface): Chuẩn giao tiếp đồng bộ toàn phần (full-duplex) 4 dây gồm SCK (xung nhịp), MISO (Master Input Slave Output), MOSI (Master Output Slave Input) và SS/CS (chọn Slave bằng mức logic 0). SPI hoạt động theo 4 chế độ phụ thuộc vào cực tính xung nhịp (CPOL) và pha xung nhịp (CPHA):
    • Mode 0: CPOL = 0, CPHA = 0 (lấy mẫu tại cạnh lên).
    • Mode 1: CPOL = 0, CPHA = 1 (lấy mẫu tại cạnh xuống).
    • Mode 2: CPOL = 1, CPHA = 0 (lấy mẫu tại cạnh lên khi xung nghỉ ở mức cao).
    • Mode 3: CPOL = 1, CPHA = 1 (lấy mẫu tại cạnh xuống khi xung nghỉ ở mức cao).
  • Giao thức MQTT (Message Queuing Telemetry Transport): Giao thức truyền tin gọn nhẹ theo mô hình Publish/Subscribe qua Broker trung tâm, tối ưu cho môi trường mạng băng thông thấp và độ trễ cao. Hỗ trợ các cấp độ chất lượng dịch vụ (QoS):
    • QoS 0 (Nhiều nhất một lần / Fire and forget): Gửi một lần, không có cơ chế xác nhận.
    • QoS 1 (Ít nhất một lần): Gửi lặp lại cho đến khi nhận được gói tin xác nhận.
    • Cờ Retain: Broker lưu lại bản tin cuối cùng của topic để gửi ngay cho các Client mới đăng ký (subscribe).
    • Tính năng MQTT Bridge: Cho phép kết nối và chuyển tiếp dữ liệu giữa các Broker với nhau.
  • Tập lệnh AT (Attention Commands): Tập lệnh chuẩn điều khiển modem để quản lý trạng thái mạng, kiểm tra SIM (AT+CPIN?), cường độ sóng (AT+CSQ), đăng ký mạng viễn thông (AT+CREG, AT+COPS), thiết lập kết nối dữ liệu mạng và điều khiển dịch vụ MQTT.
Chuẩn giao tiếp / Giao thức Số dây tín hiệu Kiểu truyền Cơ chế đồng bộ Đặc điểm kiến trúc
UART 2 (Tx, Rx) Nối tiếp Bất đồng bộ Ghép nối điểm - điểm (1 Master - 1 Slave), dùng Start/Stop bit
I2C 2 (SDA, SCL) Nối tiếp Đồng bộ Cực máng hở (Open-drain), định địa chỉ 7-bit, đa Master - đa Slave
SPI 4 (SCK, MISO, MOSI, SS) Nối tiếp (Full-duplex) Đồng bộ Tốc độ cao, dùng chân SS chọn chip, hỗ trợ kết nối độc lập hoặc Daisy-chain
MQTT Mạng TCP/IP Gói tin nhị phân Bất đồng bộ qua Broker Kiến trúc Publish/Subscribe, hỗ trợ QoS 0, QoS 1, Retain flag

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

Nghiên cứu sử dụng phương pháp thiết kế kỹ thuật thực nghiệm kết hợp tích hợp hệ thống nhúng và phần mềm phân tán:

  • Phương pháp thiết kế phần cứng: Lựa chọn linh kiện chuyên dụng, thiết kế sơ đồ nguyên lý ghép nối vi điều khiển với các module chức năng.
  • Phương pháp lập trình nhúng: Sử dụng ngôn ngữ C trên nền tảng STM32 HAL Driver, cấu hình ngắt và các bộ giao tiếp ngoại vi (I2C1, UART), xây dựng hàm xử lý chuỗi ký tự phân tích cú pháp dữ liệu NMEA.
  • Phương pháp xây dựng hạ tầng đám mây: Triển khai các dịch vụ AWS Cloud (AWS IoT Core, AWS Cognito, IAM Policy, Device Shadow) để quản lý thiết bị và phân quyền dữ liệu.
  • Phương pháp phát triển ứng dụng: Lập trình ứng dụng di động bằng React Native kết hợp thư viện AWS Amplify và Google Map API để đồng bộ dữ liệu bản đồ.

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

Kiến trúc phần cứng khối thiết bị (Edge Device)

Khối thiết bị nhúng đặt trên phương tiện được thiết kế từ các thành phần chính:

  • Khối xử lý trung tâm: Vi điều khiển 32-bit STM32F401RCT6 (lõi ARM Cortex-M4), chịu trách nhiệm điều phối toàn bộ hoạt động thu thập tín hiệu, xử lý thuật toán và giao tiếp ngoại vi.
  • Khối cảm biến gia tốc và nhiệt độ SC7A20: Kết nối với vi điều khiển qua bus I2C1 (tốc độ xung nhịp 100 kHz). Địa chỉ I2C của module là 0x18. Cấu hình thanh ghi điều khiển bao gồm:
    • Ghi giá trị 0x47 vào thanh ghi ctrl_reg1 (địa chỉ 0x20) để kích hoạt đồng thời 3 trục tọa độ X, Y, Z.
    • Ghi giá trị 0x80 vào thanh ghi ctrl_reg4 để cấu hình dải đo gia tốc toàn thang (full-scale range) là $\pm 8g$.
    • Ghi giá trị 0x02 vào thanh ghi SC7A20_TEMP_CFG_REG (địa chỉ 0x17) để kích hoạt cảm biến nhiệt độ tích hợp.
    • Dữ liệu thu thập từ các thanh ghi ngõ ra OUT_L và OUT_H (ví dụ nhiệt độ tại OUT_TEMP_L_REG_ADDR địa chỉ 0x0C) được vi điều khiển đọc qua các hàm HAL_I2C_Master_Transmit và HAL_I2C_Master_Receive, sau đó ghép nối thành dữ liệu số nguyên 16-bit có dấu (int16_t) bằng phép toán dịch bit: (OUT_H << 8) | OUT_L.
  • Khối thu định vị GNSS/GPS Quectel L76-LB: Kết nối với vi điều khiển qua cổng UART (chân L76 Rx và L76 Tx). Module sử dụng nguồn nuôi 3.3V (VCC), chân V_BCKP cấp nguồn cho khối RTC (Real Time Clock), chân STANDBY chuyển đổi chế độ chờ, chân RESET (kéo xuống thấp $>10$ ms để khởi động lại) và chân FORCE_ON. Khi chân STANDBY được kéo xuống mức thấp, module liên tục truyền các bản tin NMEA thô (chứa chuỗi chuẩn $GNRMC) về vi điều khiển. Hàm _L76LB_Process_Data được thực thi trên vi điều khiển để bóc tách các trường: thời gian (giờ, phút, giây, ngày, tháng, năm), tọa độ địa lý (kinh độ, vĩ độ), vận tốc di chuyển trên mặt đất và hướng di chuyển thực tế (Course Over Ground - COG).
  • Khối truyền thông di động 4G LTE Quectel EC200: Sử dụng để kết nối mạng Internet và truyền thông điệp MQTT. Nguồn nuôi chính VBAT duy trì ở mức 4.3V, chân VDD_EXT ở mức 4V, chân PWRKEY đóng vai trò công tắc bật/tắt module, chân STATUS báo hiệu trạng thái truyền thông (mức thấp $<0.8$V khi truyền dữ liệu qua UART).

Vi điều khiển cấu hình và điều khiển modem EC200 thông qua chuỗi lệnh AT tuần tự:

ATI                                     // Kiểm tra thông tin thiết bị (EC200TCN)
AT+CPIN?                                // Kiểm tra trạng thái sẵn sàng của thẻ SIM (+CPIN: READY)
AT+COPS?                                // Nhận diện nhà mạng viễn thông
AT+CREG=1                               // Bật và kiểm tra đăng ký mạng di động
AT+QMTOPEN=0,"iot-as-mqtt.com",1883     // Mở kết nối TCP tới AWS MQTT Broker tại cổng 1883
AT+QMTCONN=0,"clientExample"            // Thiết lập kết nối MQTT ClientID với Broker
AT+QMTSUB=0,1,"topic/pub",0             // Đăng ký nhận bản tin từ topic xác định
AT+QMTPUBEX=?                           // Kiểm tra cú pháp xuất bản tin dữ liệu lên topic

Kiến trúc đám mây AWS và cơ chế bảo mật

Hệ thống hạ tầng máy chủ khai thác bộ dịch vụ AWS Cloud (khu vực triển khai: ap-northeast-2):

  • AWS IoT Core: Đóng vai trò làm MQTT Message Broker trung tâm, quản lý định tuyến bản tin, xác thực thiết bị và duy trì kho lưu trữ trạng thái liên tục (Device Shadow).
  • Phân quyền và quản lý định danh người dùng: Sử dụng kết hợp AWS Cognito User Pool (xác thực nhóm người dùng, quản lý Pool ID và App Client ID) và Cognito Identity Pool (cấp quyền truy cập tạm thời cho ứng dụng di động thông qua IAM Policy).
  • Tài liệu chính sách bảo mật (IoT Core Policy):
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "arn:aws:iot:ap-northeast-2:[account-id]:topic/*"
    }
  ]
}
  • Cơ chế đồng bộ trạng thái qua Device Shadow:
    • Thiết bị xuất bản trạng thái ban đầu lên topic deviceId/shadow/update và đăng ký các topic deviceId/shadow/update/delta, deviceId/shadow/update/accepted, deviceId/shadow/update/rejected.
    • Ứng dụng di động đăng ký các topic deviceId/shadow/update/documents, deviceId/shadow/update/accepted, deviceId/shadow/update/rejected để nhận trạng thái mới nhất ngay cả khi thiết bị ngắt kết nối tạm thời.

Ứng dụng di động (Mobile App)

Ứng dụng di động được xây dựng bằng framework React Native, tích hợp thư viện AWS Amplify để duy trì kết nối WebSocket/MQTT với AWS IoT Core. Khi nhận được bản tin định dạng JSON chứa các trường lat (vĩ độ) và long (kinh độ), ứng dụng tự động cập nhật trạng thái hiển thị thông qua component <MapView> và <Marker> của Google Map API:

<MapView style={styles.map} region={region} onRegionChange={onRegionChange}>
  {message && (
    <Marker 
      coordinate={{
        latitude: parseFloat(message.lat),
        longitude: parseFloat(message.long)
      }}
      title="Real-time tracking"
      description="The location of your asset in real-time"
    />
  )}
</MapView>

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

Chương 1. Giới thiệu chung

Chương này trình bày bối cảnh thực tế về sự phát triển của công nghệ IoT trong thời đại 4.0 và ứng dụng của nó trong lĩnh vực giao thông vận tải. Tác giả phân tích chi tiết thực trạng quản lý phương tiện xe máy tại Việt Nam theo số liệu của Tổng cục Đường bộ, chỉ rõ những hạn chế của các thiết bị định vị hiện hành (sóng yếu, hao pin, chi phí đắt đỏ). Từ đó, đồ án xác định sự cần thiết của giải pháp thiết kế hệ thống IoT tracking giám sát phương tiện theo thời gian thực và đưa ra tổng quan về phạm vi ứng dụng trong việc giám sát xe máy, container, máy móc và thiết bị y tế.

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

Nội dung chương 2 tập trung phân tích sâu về nguyên lý hoạt động, sơ đồ kết nối và cấu trúc khung truyền của ba chuẩn giao tiếp phần cứng cơ bản: UART (bất đồng bộ, cấu hình baud rate, cơ chế phát hiện lỗi qua parity bit), I2C (đồng bộ 2 dây, chế độ cực máng hở, cơ chế phân xử bus đa Master và định địa chỉ 7-bit), và SPI (đồng bộ 4 dây, các mode 0-3 theo CPOL/CPHA, cấu hình độc lập và nối tiếp Daisy-chain). Đồng thời, chương này trình bày chi tiết về giao thức mạng IoT MQTT (mô hình Publish/Subscribe, các mức dịch vụ QoS 0, QoS 1, cờ Retain, MQTT Bridge) và bảng tập lệnh điều khiển modem AT Commands.

Chương 3. Tổng quan hệ thống

Chương 3 mô tả kiến trúc tổng thể của hệ thống giám sát phương tiện gồm 3 khối chức năng chính: Khối thiết bị giám sát (đóng vai trò Client thu thập dữ liệu và xuất bản tin), Khối Backend (sử dụng nền tảng AWS IoT Core và các dịch vụ đám mây liên kết để làm Broker trung tâm xử lý dữ liệu) và Khối ứng dụng người dùng (Web/App nhận dữ liệu qua API để trực quan hóa thông tin). Mô hình phân luồng dữ liệu từ cảm biến qua vi điều khiển lên hạ tầng đám mây và truyền về giao diện ứng dụng được mô tả cụ thể.

Chương 4. Triển khai hệ thống

Chương 4 là phần nội dung trọng tâm về triển khai kỹ thuật, bao gồm:

  • Thiết kế mạch và kết nối chân của vi điều khiển STM32F401RCT6 với cảm biến gia tốc SC7A20 qua I2C1 (đọc giá trị thanh ghi, chuyển đổi dữ liệu 16-bit).
  • Thiết kế khối định vị Quectel L76-LB, cấu hình chân nguồn/chế độ chờ và hàm bóc tách chuỗi dữ liệu NMEA.
  • Thiết kế khối truyền thông 4G LTE Quectel EC200, phân tích giản đồ thời gian khởi động, bảng mã lệnh AT điều khiển sim và kết nối MQTT Broker.
  • Triển khai kiến trúc AWS IoT: cấu hình xác thực với Cognito User Pool, Identity Pool, thiết lập tài liệu chính sách bảo mật IAM Policy, cấu hình cơ chế Device Shadow và lập trình ứng dụng di động React Native tích hợp Google Map API.

Chương 5. Kết quả

Chương 5 công bố các kết quả thực nghiệm đạt được của hệ thống:

  • Dữ liệu gia tốc 3 trục (X, Y, Z) và nhiệt độ môi trường đọc thành công từ module SC7A20.
  • Chuỗi dữ liệu thô NMEA $GNRMC từ module GPS L76-LB được vi xử lý bóc tách thành công thành các thông số kinh độ, vĩ độ, vận tốc và hướng di chuyển COG.
  • Quá trình kết nối, xuất bản (publish) và nhận bản tin (subscribe) dữ liệu kiểm thử qua công cụ AWS MQTT Test Client.
  • Giao diện ứng dụng di động nhận bản tin và ghim vị trí phương tiện (Marker) trực tiếp trên nền bản đồ Google Maps theo thời gian thực.

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

Kết quả thực nghiệm

  1. Thu thập dữ liệu cảm biến và định vị:
    • Vi điều khiển STM32F401RCT6 giao tiếp ổn định với cảm biến SC7A20 qua I2C1 ở tần số 100 kHz, đọc chính xác dữ liệu gia tốc 3 trục tọa độ và nhiệt độ môi trường thông qua việc ghép thanh ghi OUT_H và OUT_L.
    • Khối GPS Quectel L76-LB thu nhận tín hiệu vệ tinh, phát chuỗi thô $GNRMC và được hàm _L76LB_Process_Data xử lý chuẩn xác thành các giá trị số học: thời gian thực, kinh độ, vĩ độ, tốc độ trên mặt đất và góc hướng di chuyển COG.
  2. Truyền thông dữ liệu không dây:
    • Module SIM 4G Quectel EC200 khởi động đúng giản đồ thời gian (mức điện áp VBAT 4.3V, STATUS $<0.8$V), thực thi chuỗi lệnh AT để thiết lập kết nối mạng viễn thông và kết nối thành công đến AWS IoT MQTT Broker qua cổng 1883.
    • Thử nghiệm trên công cụ MQTT Test Client của AWS chứng minh các gói tin xuất bản từ thiết bị được chuyển tiếp tức thời tới các Client đăng ký topic tương ứng mà không bị mất mát dữ liệu.
  3. Hiển thị và đồng bộ trên ứng dụng di động:
    • Cấu hình thành công dịch vụ AWS Cognito (User Pool và Identity Pool) kết hợp chính sách IAM Policy, cho phép ứng dụng React Native xác thực và tương tác bảo mật với AWS IoT Core.
    • Ứng dụng di động đăng ký nhận bản tin từ Device Shadow, bóc tách tọa độ lat và long để hiển thị điểm ghim vị trí (Marker) trực quan trên giao diện Google Maps.

Đóng góp của đồ án

  • Đồ án đã hoàn thiện quy trình thiết kế và tích hợp một hệ thống nhúng IoT hoàn chỉnh từ tầng biên (Edge Device), tầng truyền thông (4G LTE/MQTT), tầng đám mây (AWS Cloud/Device Shadow) đến tầng ứng dụng người dùng (React Native).
  • Xây dựng thành công giải pháp định vị và giám sát phương tiện giao thông sử dụng các linh kiện phần cứng công nghiệp nhỏ gọn, tiêu thụ năng lượng thấp, có tính ứng dụng thực tiễn cao cho bài toán phòng chống trộm cắp và quản lý tài sản.
  • Cung cấp tài liệu kỹ thuật chi tiết về cấu hình thanh ghi cảm biến I2C, giải mã bản tin NMEA vi điều khiển STM32 và tích hợp dịch vụ IoT đám mây AWS với ứng dụng di động.

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

Dựa trên các kết quả đã đạt được, nhóm tác giả chỉ ra một số điểm hạn chế và đề xuất hướng hoàn thiện hệ thống trong các giai đoạn phát triển tiếp theo:

  • Tối ưu hóa năng lượng tiêu thụ: Thiết bị phần cứng hiện tại chưa tích hợp thuật toán tự động chuyển sang trạng thái ngủ sâu (Deep Sleep / Low-power mode) khi phương tiện dừng đỗ hoặc không phát hiện chuyển động, cần bổ sung để kéo dài thời lượng sử dụng nguồn.
  • Phân tích dữ liệu chuyên sâu: Hệ thống mới dừng lại ở mức thu thập và trực quan hóa dữ liệu thô (tọa độ, gia tốc), chưa có các thuật toán phân tích dữ liệu chuyên sâu tại máy chủ để đưa ra các thông tin chi tiết (insight) về hành vi lái xe, cảnh báo va chạm hoặc dự đoán bảo dưỡng phương tiện.
  • Cải thiện ứng dụng di động: Giao diện ứng dụng di động cần được tối ưu hóa trực quan hơn, bổ sung đầy đủ các luồng chức năng đăng ký/đăng nhập và xác thực phân quyền trực tiếp cho người dùng, đồng thời hỗ trợ hiển thị lịch sử lộ trình di chuyển chi tiết hơn.

Giá trị tham khảo

Báo cáo đồ án là tài liệu tham khảo có giá trị chuyên môn cao cho:

  • Sinh viên các ngành: Kỹ thuật Điện tử – Viễn thông, Kỹ thuật Máy tính, Tự động hóa, Hệ thống Thông tin và Công nghệ Thông tin đang thực hiện đồ án thiết kế thiết bị nhúng hoặc đề tài nghiên cứu về Internet of Things.
  • Kỹ sư phát triển phần cứng và firmware: Tham khảo sơ đồ giao tiếp ngoại vi (UART, I2C, SPI), quy trình cấu hình thanh ghi cảm biến gia tốc SC7A20 trên dòng vi điều khiển ARM Cortex-M4 (STM32F4) bằng thư viện HAL C, cùng phương pháp giải mã chuỗi bản tin NMEA từ module GPS Quectel L76-LB.
  • Kỹ sư hệ sinh thái đám mây IoT: Tham khảo mô hình kiến trúc tích hợp thiết bị nhúng với AWS IoT Core, cách thức cấu hình chính sách IAM, quản lý danh tính bằng AWS Cognito và sử dụng Device Shadow để đồng bộ trạng thái hai chiều giữa thiết bị phần cứng và ứng dụng di động React Native.

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

1. Khối xử lý trung tâm của thiết bị sử dụng vi điều khiển nào và cảm biến gia tốc SC7A20 được cấu hình qua giao tiếp gì?
Hệ thống sử dụng vi xử lý STM32F401RCT6. Cảm biến gia tốc và nhiệt độ SC7A20 kết nối với vi điều khiển qua giao tiếp I2C1 (tần số 100 kHz, địa chỉ I2C 0x18). Cảm biến được cấu hình thông qua việc ghi giá trị 0x47 vào thanh ghi ctrl_reg1 (địa chỉ 0x20) để bật 3 trục XYZ, ghi 0x80 vào thanh ghi ctrl_reg4 để đặt dải đo $\pm 8g$, và ghi 0x02 vào thanh ghi SC7A20_TEMP_CFG_REG (địa chỉ 0x17) để kích hoạt cảm biến nhiệt độ.

2. Module GPS Quectel L76-LB xuất dữ liệu theo định dạng nào và vi điều khiển xử lý những thông tin gì?
Khi hoạt động, module L76-LB truyền liên tục dữ liệu NMEA thô qua chân L76 Tx (giao tiếp UART) về vi điều khiển, trong đó có dòng thông tin $GNRMC. Vi điều khiển sử dụng hàm _L76LB_Process_Data để giải mã chuỗi này thành các trường thông tin cụ thể: thời gian (giờ, phút, giây, ngày, tháng, năm), tọa độ GPS (kinh độ, vĩ độ), tốc độ di chuyển trên mặt đất và hướng đi trên mặt đất (COG).

3. Thiết bị nhúng sử dụng module nào để kết nối Internet và các lệnh AT cơ bản để kết nối MQTT là gì?
Thiết bị sử dụng module SIM 4G Quectel EC200 (chân VBAT duy trì 4.3V, giao tiếp UART). Để kết nối tới MQTT Broker, vi điều khiển gửi các lệnh AT: AT+QMTOPEN=0,"iot-as-mqtt.com",1883 để mở kết nối TCP tới Broker tại cổng 1883, AT+QMTCONN=0,"clientExample" để kết nối Client với Broker, AT+QMTSUB=0,1,"topic/pub",0 để đăng ký topic, và AT+QMTPUBEX để xuất bản gói tin dữ liệu.

4. Dịch vụ nào trên AWS Cloud được sử dụng để quản lý trạng thái thiết bị và phân quyền người dùng?
Hệ thống sử dụng AWS IoT Core kết hợp tính năng Device Shadow để lưu trữ và đồng bộ liên tục trạng thái thiết bị thông qua các topic MQTT (update, delta, accepted, rejected, documents). Việc xác thực và phân quyền truy cập cho người dùng được thực hiện thông qua AWS Cognito User Pool, Cognito Identity Pool và tài liệu chính sách bảo mật IAM Policy gán quyền thao tác trên tài nguyên topic của AWS IoT Core tại vùng ap-northeast-2.

5. Ứng dụng di động được xây dựng bằng công nghệ gì để hiển thị vị trí phương tiện?
Ứng dụng di động được phát triển bằng framework React Native, sử dụng thư viện AWS Amplify để kết nối và đăng ký nhận dữ liệu từ các topic Device Shadow của AWS IoT Core. Khi nhận được tọa độ (lat, long), ứng dụng sử dụng Google Map API để cập nhật vị trí điểm đánh dấu (Marker) trên bản đồ thời gian thực.


Kết luận

Đồ án "Hệ thống IoT giám sát phương tiện giao thông" do nhóm sinh viên Trường Điện – Điện tử, Trường Đại học Bách khoa Hà Nội thực hiện đã hoàn thành trọn vẹn mục tiêu thiết kế và triển khai một hệ thống nhúng IoT thực tế. Bằng việc kết hợp vi điều khiển STM32F401RCT6, cảm biến gia tốc SC7A20, module định vị GPS L76-LB và truyền thông di động 4G EC200 với nền tảng điện toán đám mây AWS IoT Core và ứng dụng di động React Native, hệ thống đã thu thập và hiển thị chính xác các thông số vị trí, tốc độ, gia tốc và nhiệt độ của phương tiện theo thời gian thực. Báo cáo cung cấp đầy đủ cơ sở lý thuyết, sơ đồ kết nối phần cứng, mã lệnh điều khiển và kiến trúc phần mềm, là tài liệu tham khảo thiết thực cho các nghiên cứu và ứng dụng phát triển thiết bị IoT giám sát tài sản.