Giới thiệu dự án

Trong bối cảnh đô thị hóa nhanh và lưu lượng giao thông tăng trưởng với tốc độ trên 12%/năm tại các đô thị lớn ở Việt Nam, việc giám sát, theo dõi và quản lý phương tiện giao thông (xe máy, ô tô, xe buýt, xe khách) trở thành một yêu cầu cấp thiết. Các hệ thống giám sát hành trình truyền thống (hộp đen ô tô) thường hoạt động độc lập, chi phí phần cứng cao, phụ thuộc vào hạ tầng máy chủ cục bộ đắt đỏ và thiếu khả năng đồng bộ dữ liệu thời gian thực cho người dùng cuối trên nền tảng di động.

Vấn đề cốt lõi đặt ra là sự thiếu hụt một hệ sinh thái đồng bộ từ thiết bị nhúng thu thập tọa độ đến nền tảng đám mây có khả năng mở rộng tự động, đảm bảo độ trễ thấp, tiêu hao ít băng thông di động và dễ dàng theo dõi trực tiếp qua ứng dụng smartphone. Đề tài "Quản lý và định vị thiết bị IoT trên nền tảng điện toán đám mây" do sinh viên Trần Quang Huy và Nguyễn Minh Sơn (Khoa Công Nghệ Thông Tin, Trường Đại học Công nghiệp TP.HCM - IUH) thực hiện dưới sự hướng dẫn của TS. Trần Thị Minh Khoa nhằm giải quyết trọn vẹn bài toán này.

flowchart LR
    A[Neo-M8N GPS Module] -->|UART NMEA| B[Raspberry Pi 3 Model B]
    B -->|MQTT over TLS 1.2| C[Google Cloud IoT Core]
    C -->|Telemetry Topic| D[Cloud Pub/Sub]
    D -->|Event Trigger| E[Google Cloud Functions]
    E -->|Write Payload| F[(Firebase Realtime DB)]
    F -->|WebSocket Sync| G[React Native Mobile App]
    G -->|Directions & Places API| H[Google Maps Platform]

Mục tiêu của dự án

  1. Nghiên cứu và tích hợp phần cứng IoT: Kết nối máy tính nhúng Raspberry Pi 3 Model B với module định vị vi sai U-Blox NEO-M8N qua giao tiếp UART để thu thập và xử lý các bản tin chuẩn NMEA-0183 ($GPRMC, $GPGGA) với tần số cập nhật 1Hz - 5Hz.
  2. Xây dựng đường ống dữ liệu (Data Pipeline) trên Cloud: Triển khai hạ tầng không máy chủ (Serverless) trên Google Cloud Platform (GCP) bao gồm Cloud IoT Core, Cloud Pub/Sub và Google Cloud Functions để tiếp nhận và định tuyến dữ liệu bảo mật.
  3. Đồng bộ hóa dữ liệu thời gian thực: Lưu trữ và phân phối tọa độ qua Firebase Realtime Database với độ trễ truyền dữ liệu dưới 1000ms.
  4. Phát triển ứng dụng di động đa nền tảng: Xây dựng ứng dụng Android bằng framework React Native, tích hợp Google Maps SDK, Google Directions API và Google Places API để hiển thị lộ trình, tính toán khoảng cách và điều hướng.

Phạm vi và giới hạn nghiên cứu

  • Phạm vi: Hệ thống tập trung vào giám sát vị trí phương tiện giao thông đường bộ trong môi trường có kết nối mạng di động (3G/4G/Wi-Fi) trên địa bàn TP. Hồ Chí Minh.
  • Giới hạn: Tín hiệu GPS phụ thuộc vào điều kiện thời tiết và độ che khuất không gian (đường hầm, nhà cao tầng). Thiết bị nhúng sử dụng nguồn điện 5V/2.5A chuyển đổi từ bình ắc-quy phương tiện.

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

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

Các giải pháp giám sát hành trình trên thị trường hiện nay bộc lộ nhiều điểm hạn chế về chi phí, khả năng tương thích và kiến trúc truyền nhận:

Tiêu chí Hộp đen GPS GSM/GPRS truyền thống Thiết bị OBD-II thương mại Giải pháp đề xuất (IoT Cloud Platform)
Giao thức truyền thông TCP/HTTP thô (Raw Sockets) Proprietary Cellular Protocol MQTT v3.1.1 qua TLS 1.2 (Cổng 8883)
Hạ tầng máy chủ Dedicated Server / VPS tự quản trị Cloud riêng của nhà cung cấp (Khóa vendor) Google Cloud Platform Serverless (Tự động co giãn)
Độ trễ cập nhật 10 - 30 giây 5 - 15 giây 1 - 2 giây (Thời gian thực)
Tối ưu băng thông Kém (Header HTTP 500+ bytes) Trung bình Tối ưu cao (Header gói MQTT chỉ 2 bytes)
Khả năng tích hợp App Web portal cũ, ít hỗ trợ di động App đóng gói sẵn, không tùy biến App React Native tùy biến linh hoạt, tích hợp Maps API
Chi phí hạ tầng Cố định hàng tháng cao Phí thuê bao hàng tháng cao Pay-as-you-go, miễn phí hạn mức cơ bản

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc phải có): Định vị tọa độ (Kinh độ, Vĩ độ) từ GPS Neo-M8N; truyền dữ liệu qua MQTT bảo mật với khóa RSA-256; trigger Cloud Function cập nhật Firebase; hiển thị Marker vị trí xe trên Google Maps di động.
  • Should Have (Nên có): Tính toán lộ trình đường đi ngắn nhất bằng Google Directions API; chuyển đổi tọa độ thành địa chỉ thực bằng Google Places/Geocoding API; đo khoảng cách giữa người dùng và phương tiện.
  • Could Have (Có thể có): Quản trị danh sách nhiều thiết bị (Multi-device management); lưu trữ lịch sử lộ trình 7 ngày qua Pub/Sub Message Storage.
  • Won't Have (Chưa thực hiện ở giai đoạn này): Cảm biến đo mức tiêu hao nhiên liệu, nhận diện hành vi tài xế qua camera AI.

Thiết kế hệ thống

Hệ thống được tổ chức theo kiến trúc 4 lớp tiêu chuẩn của IoT:

  1. Lớp thiết bị (Device Layer): Máy tính nhúng Raspberry Pi 3 Model B (CPU Quad-Core ARM Cortex-A53 1.2GHz, 1GB RAM) đóng vai trò Gateway thu thập tín hiệu vệ tinh từ module U-Blox NEO-M8N (UART Baudrate 9600, độ nhạy -167dBm, 72 kênh định vị).
  2. Lớp mạng và trung chuyển (Network & Ingestion Layer): Kết nối mạng di động 3G/4G; giao thức MQTT v3.1.1 truyền dữ liệu an toàn đến Google Cloud IoT Core Bridge.
  3. Lớp xử lý đám mây (Cloud Processing Layer): Google Cloud Pub/Sub nhận message từ Device Topic, kích hoạt Cloud Functions (Node.js runtime) để trích xuất payload và ghi vào Firebase Realtime Database.
  4. Lớp ứng dụng (Application Layer): Ứng dụng Android viết bằng React Native lắng nghe sự kiện on('value') từ Firebase SDK để cập nhật Marker trên bản đồ trong thời gian thực.
+-------------------------------------------------------------------------+
|                        KIẾN TRÚC TỔNG THỂ HỆ THỐNG                     |
+-------------------------------------------------------------------------+
[ U-Blox NEO-M8N ] --(UART: TXD/RXD)--> [ Raspberry Pi 3 (Python Client) ]
                                                        |
                                          (MQTT / TLS 1.2 / Port 8883)
                                                        v
                                          [ Google Cloud IoT Core ]
                                                        |
                                                 (Device Telemetry)
                                                        v
                                          [ Google Cloud Pub/Sub ]
                                                        |
                                                  (Event Trigger)
                                                        v
                                          [ Google Cloud Functions ]
                                                        |
                                            (REST Admin SDK / Write)
                                                        v
                                          [ Firebase Realtime DB ]
                                                        |
                                                (WebSocket Stream)
                                                        v
                                          [ Mobile App (React Native) ]
+-------------------------------------------------------------------------+

Ngăn xếp công nghệ (Technology Stack)

  • Phần cứng nhúng: Raspberry Pi 3 Model B (Raspbian OS Buster), U-Blox NEO-M8N-0-10 GPS.
  • Ngôn ngữ lập trình: Python 3.7 (Phía thiết bị IoT), JavaScript/Node.js 12.x (Cloud Functions), JavaScript ES6 (React Native).
  • Nền tảng Cloud: Google Cloud IoT Core, Google Cloud Pub/Sub, Google Cloud Functions, Firebase Realtime Database.
  • Mobile & Framework: React Native 0.62, Android Studio 4.0, Visual Studio Code 1.46.
  • Dịch vụ bản đồ: Google Maps SDK for Android, Google Directions API, Google Places API.

Cấu trúc dữ liệu Firebase Realtime Database (Schema JSON)

{
  "devices": {
    "device_raspberry_01": {
      "info": {
        "device_name": "Xe khach Tuyen 01",
        "license_plate": "51B-123.45",
        "driver": "Nguyen Van A",
        "status": "online"
      },
      "location": {
        "latitude": 10.822159,
        "longitude": 106.686842,
        "speed_kmh": 42.5,
        "satellites": 8,
        "timestamp": 1594809600000,
        "address": "12 Nguyen Van Bao, Phuong 4, Go Vap, TP.HCM"
      }
    }
  }
}

Phương pháp nghiên cứu và phát triển

Dự án áp dụng mô hình phát triển phần mềm linh hoạt (Agile Scrum rút gọn) trong 8 tuần với 4 Sprint chính:

  • Quản trị rủi ro:
    • Rủi ro mất kết nối mạng di động: Thiết bị nhúng lưu tạm bản ghi vào hàng đợi bộ nhớ đệm (Local Queue) và tự động Publish lại khi kết nối phục hồi với cờ MQTT CleanSession=False.
    • Rủi ro sai số GPS: Sử dụng giải thuật lọc dữ liệu, loại bỏ các bản tin NMEA có chỉ số HDOP (Horizontal Dilution of Precision) > 2.5 hoặc số vệ tinh kết nối < 4.

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

Quy trình phát triển và các khối mã nguồn cốt lõi

1. Đọc dữ liệu GPS và gửi tin nhắn MQTT từ Raspberry Pi (Python)

Thiết bị nhúng đọc dòng dữ liệu NMEA chuẩn $GPRMC từ cổng nối tiếp /dev/ttyAMA0, trích xuất tọa độ thực và xuất bản lên GCP IoT Core qua giao thức MQTT bảo mật bằng mã xác thực JSON Web Token (JWT).

import time
import serial
import pynmea2
import paho.mqtt.client as mqtt
import jwt

# Cau hinh GCP IoT Core
project_id = "iot-location-tracking-2020"
cloud_region = "asia-east1"
registry_id = "gps-vehicle-registry"
device_id = "device_raspberry_01"
private_key_file = "rsa_private.pem"

def create_jwt(project_id, private_key_file, algorithm="RS256"):
    token = {
        "iat": int(time.time()),
        "exp": int(time.time()) + 3600,
        "aud": project_id
    }
    with open(private_key_file, "r") as f:
        private_key = f.read()
    return jwt.encode(token, private_key, algorithm=algorithm)

def publish_telemetry():
    client = mqtt.Client(client_id=f"projects/{project_id}/locations/{cloud_region}/registries/{registry_id}/devices/{device_id}")
    client.username_pw_set(username="unused", password=create_jwt(project_id, private_key_file))
    client.tls_set(ca_certs="roots.pem")
    client.connect("mqtt.googleapis.com", 8883, keepalive=60)
    client.loop_start()

    ser = serial.Serial('/dev/ttyAMA0', baudrate=9600, timeout=1)
    topic = f"/devices/{device_id}/events"

    while True:
        line = ser.readline().decode('ascii', errors='replace')
        if line.startswith('$GPRMC'):
            msg = pynmea2.parse(line)
            if msg.status == 'A': # Tín hiệu GPS hợp lệ
                payload = {
                    "deviceId": device_id,
                    "latitude": float(msg.latitude),
                    "longitude": float(msg.longitude),
                    "speed": float(msg.spd_over_grnd or 0) * 1.852, # Knot sang km/h
                    "timestamp": int(time.time() * 1000)
                }
                client.publish(topic, str(payload), qos=1)
                time.sleep(1)

if __name__ == '__main__':
    publish_telemetry()

2. Xử lý sự kiện tại Google Cloud Functions (Node.js)

Khi tin nhắn đến Pub/Sub Topic, Cloud Function tự động giải mã Base64 payload và cập nhật trực tiếp vào Firebase Realtime Database.

const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.database();

exports.processGpsPubSub = async (pubSubEvent, context) => {
  try {
    const rawData = Buffer.from(pubSubEvent.data, 'base64').toString('utf8');
    const parsedData = JSON.parse(rawData.replace(/'/g, '"'));
    
    const deviceId = parsedData.deviceId;
    const locationRef = db.ref(`/devices/${deviceId}/location`);

    await locationRef.set({
      latitude: parsedData.latitude,
      longitude: parsedData.longitude,
      speed_kmh: parsedData.speed,
      timestamp: parsedData.timestamp,
      last_updated: admin.database.ServerValue.TIMESTAMP
    });

    console.log(`Updated location for device ${deviceId} successfully.`);
  } catch (error) {
    console.error('Error processing GPS payload:', error);
  }
};

3. Đồng bộ và hiển thị Marker thời gian thực trên React Native

Ứng dụng di động đăng ký lắng nghe sự thay đổi của Node Firebase để cập nhật vị trí xe và vẽ lộ trình:

import React, { useEffect, useState } from 'react';
import { StyleSheet, View, Text } from 'react-native';
import MapView, { Marker, Polyline } from 'react-native-maps';
import database from '@react-native-firebase/database';

const MapScreen = ({ deviceId }) => {
  const [coordinate, setCoordinate] = useState({ latitude: 10.822159, longitude: 106.686842 });
  const [routeHistory, setRouteHistory] = useState([]);

  useEffect(() => {
    const onValueChange = database()
      .ref(`/devices/${deviceId}/location`)
      .on('value', snapshot => {
        const data = snapshot.val();
        if (data && data.latitude && data.longitude) {
          const newCoord = { latitude: data.latitude, longitude: data.longitude };
          setCoordinate(newCoord);
          setRouteHistory(prev => [...prev, newCoord]);
        }
      });

    return () => database().ref(`/devices/${deviceId}/location`).off('value', onValueChange);
  }, [deviceId]);

  return (
    <View style={styles.container}>
      <MapView
        style={styles.map}
        initialRegion={{
          latitude: 10.822159,
          longitude: 106.686842,
          latitudeDelta: 0.01,
          longitudeDelta: 0.01,
        }}
      >
        <Marker coordinate={coordinate} title="Vị trí phương tiện" description="Đang di chuyển" />
        <Polyline coordinates={routeHistory} strokeWidth={4} strokeColor="blue" />
      </MapView>
    </View>
  );
};

const styles = StyleSheet.create({
  container: { ...StyleSheet.absoluteFillObject, justifyContent: 'flex-end', alignItems: 'center' },
  map: { ...StyleSheet.absoluteFillObject },
});

export default MapScreen;

Đánh giá và kiểm thử hiệu năng

Quá trình thực nghiệm được tiến hành trên 3 cung đường thực tế tại TP.HCM (Gò Vấp, Bình Thạnh, Quận 1) với hơn 1.200 lượt truyền gói tin vị trí.

Tham số kiểm thử Giá trị đo lường thực tế Chuẩn mục tiêu đồ án Trạng thái
Độ trễ truyền nhận (Pi -> Cloud IoT Core) 350 - 580 ms < 1000 ms Đạt
Độ trễ kích hoạt Cloud Function 120 - 250 ms < 500 ms Đạt
Độ trễ cập nhật Firebase -> App Di động 200 - 450 ms < 800 ms Đạt
Tổng độ trễ toàn hệ thống (End-to-End Latency) 1.12 - 1.85 giây < 2.5 giây Đạt xuất sắc
Sai số định vị GPS (U-Blox NEO-M8N) 1.8 - 3.2 mét (ngoài trời) < 5 mét Đạt
Tỷ lệ truyền gói tin thành công qua 3G 99.18% (1.190/1.200 gói) > 95% Đạt
Tiêu thụ dữ liệu di động (Băng thông) ~18 KB / 1 giờ hoạt động < 100 KB / giờ Tối ưu vượt trội

Đổi mới và đóng góp khoa học

  1. Ứng dụng kiến trúc Serverless Event-Driven toàn diện: Loại bỏ hoàn toàn sự phụ thuộc vào máy chủ backend truyền thống (Node.js/Express VPS). Hệ thống chuyển đổi sang mô hình kích hoạt theo sự kiện (Event-Driven) với GCP Pub/Sub và Cloud Functions, giúp chi phí vận hành tiến về $0 khi không có dữ liệu phát sinh và tự động scale khi có hàng nghìn thiết bị gửi tin cùng lúc.
  2. Tối ưu hóa băng thông mạng 3G/4G vượt trội bằng MQTT: Thực nghiệm chứng minh việc sử dụng giao thức MQTT kết hợp gói tin nhị phân/JSON rút gọn giúp giảm đến 93% lượng dữ liệu truyền qua mạng so với giao thức HTTP RESTful truyền thống, kéo dài thời lượng sử dụng gói cước di động trên SIM IoT.
  3. Mô hình định vị kép kết hợp API điều hướng thông minh: Không chỉ dừng lại ở việc hiển thị Marker tọa độ tĩnh, đồ án tích hợp Google Directions API và Google Places API để tự động dịch ngược tọa độ thành số nhà, tên đường thực tế và tính toán khoảng cách di chuyển chính xác theo thời gian thực.

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

Tình huống ứng dụng thực tiễn

  • Giám sát xe khách tuyến cố định: Lắp đặt hộp đen Raspberry Pi trên xe khách; hành khách và ban quản lý bến xe có thể mở ứng dụng Android để theo dõi chính xác xe đang ở cung đường nào, ước lượng thời gian đến bến (ETA).
  • Quản lý đội xe giao hàng (Logistics & Last-Mile Delivery): Giám sát hàng chục phương tiện vận chuyển hàng hóa nội đô, tối ưu hóa tuyến đường di chuyển thông qua cảnh báo khoảng cách và địa chỉ trả hàng.
  • Chống trộm và định vị phương tiện cá nhân: Chủ xe theo dõi xe máy/ô tô từ xa 24/7 với cảnh báo tọa độ liên tục khi có di chuyển trái phép.

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

  • Chi phí phần cứng thử nghiệm (1 thiết bị):
    • Raspberry Pi 3 Model B: ~950.000 VNĐ.
    • Module GPS U-Blox NEO-M8N + Anten: ~250.000 VNĐ.
    • Thẻ nhớ MicroSD + Phụ kiện nguồn: ~150.000 VNĐ.
    • Tổng chi phí phần cứng: ~1.350.000 VNĐ (Thấp hơn 40% so với thiết bị định vị chuyên dụng cùng tính năng trên thị trường).
  • Chi phí Cloud: Nhờ kiến trúc Serverless của Google Cloud và gói Spark miễn phí của Firebase, chi phí vận hành cho quy mô dưới 100 thiết bị chỉ dao động từ $0 - $5/tháng, mang lại tỷ suất hoàn vốn (ROI) đạt trên 180% ngay trong năm đầu tiên triển khai.

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

Hạn chế kỹ thuật

  • Mức độ tiêu thụ năng lượng: Máy tính nhúng Raspberry Pi 3 tiêu thụ công suất từ 2.5W - 3.5W, đòi hỏi nguồn cấp ổn định từ ắc-quy phương tiện và chưa tối ưu cho chế độ ngủ sâu (Deep Sleep) trên các thiết bị chạy bằng pin nhỏ.
  • GPS Drift trong không gian hẹp: Tọa độ bị trôi dạt (Drift) nhẹ từ 5-10 mét khi phương tiện di chuyển dưới gầm cầu vượt hoặc hẻm sâu có nhiều nhà cao tầng che khuất vệ tinh.

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

  • Nâng cấp phần cứng vi điều khiển chuyên dụng: Thay thế Raspberry Pi bằng module vi điều khiển tiết kiệm năng lượng như ESP32 kết hợp module SIM 4G LTE (như SIM7600) để giảm giá thành sản xuất xuống dưới 600.000 VNĐ và giảm điện năng tiêu thụ về mức dưới 0.5W.
  • Tích hợp cảm biến quán tính (IMU): Sử dụng thuật toán lọc Kalman (Kalman Filter) kết hợp cảm biến gia tốc/con quay hồi chuyển (MPU6050) để bù góc chết định vị khi mất tín hiệu vệ tinh (Dead Reckoning).
  • Ứng dụng Trí tuệ nhân tạo (AI): Xây dựng mô hình Machine Learning phân tích hành vi lái xe (thắng gấp, cua gắt) và dự đoán tắc nghẽn giao thông theo thời gian thực.

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

  • Sinh viên ngành CNTT/Kỹ thuật Điện tử: Tài liệu tham khảo toàn diện về cách kết nối phần cứng nhúng (Raspberry Pi, UART, GPS NMEA) với nền tảng điện toán đám mây GCP và Firebase.
  • Kỹ sư phát triển phần mềm (Developers): Nắm vững kiến trúc Serverless hướng sự kiện (Pub/Sub, Cloud Functions) và kỹ thuật đồng bộ dữ liệu thời gian thực trên React Native.
  • Doanh nghiệp vận tải và Logistics: Giải pháp nền tảng mở giúp tiết kiệm từ 50-65% chi phí đầu tư ban đầu cho hệ thống quản lý đội xe so với các phần mềm độc quyền.
  • Cộng đồng nghiên cứu IoT: Cung cấp dữ liệu thực nghiệm chuẩn xác về hiệu quả truyền tải của giao thức MQTT so với HTTP trong môi trường mạng di động tại Việt Nam.

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 này là gì?

Phía thiết bị yêu cầu máy tính nhúng hỗ trợ Linux (Raspberry Pi, Orange Pi) có cổng UART, module GPS chuẩn NMEA (NEO-6M, NEO-M8N) và SIM kết nối Internet. Phía máy chủ cần tài khoản Google Cloud Platform kích hoạt Cloud IoT Core và Firebase Realtime Database.

2. Hệ thống có khả năng mở rộng (Scalability) lên hàng ngàn thiết bị không?

Có. Nhờ kiến trúc không máy chủ (Serverless), Google Cloud IoT Core và Cloud Pub/Sub có khả năng tự động cân bằng tải và xử lý hàng triệu tin nhắn mỗi giây mà không cần cấu hình cụm máy chủ hay can thiệp thủ công.

3. Tại sao đồ án chọn giao thức MQTT thay vì HTTP truyền thống?

Giao thức MQTT hoạt động theo mô hình Publish/Subscribe với tiêu đề gói tin (Header) chỉ từ 2 bytes (so với hơn 500 bytes của HTTP), giúp giảm 93% băng thông mạng 3G, giảm độ trễ xuống dưới 1 giây và duy trì kết nối ổn định ngay cả trong điều kiện mạng chập chờn.

4. Dữ liệu tọa độ phương tiện được bảo mật như thế nào trên đường truyền?

Dữ liệu gửi từ Raspberry Pi lên GCP IoT Core được mã hóa đầu cuối thông qua giao thức TLS 1.2 (cổng 8883) và bắt buộc phải xác thực bằng cặp khóa bất đối xứng RSA-256 (JSON Web Token), ngăn chặn hoàn toàn nguy cơ nghe lén (Man-in-the-middle) và giả mạo thiết bị.

5. Chi phí duy trì hạ tầng đám mây cho hệ thống này có đắt không?

Rất tiết kiệm. Với định mức miễn phí (Free Tier) của GCP (250MB dữ liệu IoT Core, 2 triệu lượt gọi Cloud Function, 10GB lưu trữ Pub/Sub/tháng) và Firebase Spark Plan, hệ thống có thể vận hành hoàn toàn miễn phí cho quy mô thử nghiệm từ 10 - 20 phương tiện.


Kết luận

Đề tài "Quản lý và định vị thiết bị IoT trên nền tảng điện toán đám mây" của tác giả Trần Quang Huy và Nguyễn Minh Sơn đã hoàn thành xuất sắc các mục tiêu đề ra: từ việc nghiên cứu phần cứng nhúng Raspberry Pi 3, giải mã tín hiệu GPS U-Blox NEO-M8N, đến thiết kế luồng xử lý dữ liệu Serverless trên Google Cloud Platform và hiển thị trực quan trên ứng dụng di động React Native.

Với độ trễ toàn hệ thống chỉ từ 1.12 - 1.85 giây, sai số định vị dưới 3.2 mét và mức tiết kiệm băng thông di động lên đến 93%, đề tài chứng minh tính khả thi cao và tiềm năng thương mại hóa rộng lớn trong lĩnh vực quản lý phương tiện giao thông thông minh (Smart Transportation) tại Việt Nam.