Giới thiệu dự án

Trong kỷ nguyên đô thị thông minh (Smart City) và cách mạng công nghiệp 4.0, các giải pháp giao thông xanh (Green Mobility) và dịch vụ vi chuyển tải (Micro-mobility) đang trở thành xu hướng tất yếu trên toàn cầu. Theo báo cáo từ Grand View Research, thị trường chia sẻ xe đạp toàn cầu dự kiến đạt quy mô hơn 11,3 tỷ USD với tốc độ tăng trưởng kép (CAGR) hàng năm trên 14,2%. Tại các quốc gia phát triển như Mỹ, Singapore và các nước Châu Âu, mô hình xe đạp công cộng đã vận hành hoàn thiện nhờ việc ứng dụng sâu rộng các công nghệ Internet of Things (IoT) và điện toán đám mây (Cloud Computing). Tại Việt Nam, các mô hình thí điểm (tiêu biểu như đề án xe đạp công cộng tại TP. Hồ Chí Minh do Tập đoàn Trí Nam triển khai năm 2020) đã khẳng định tính thực tiễn nhưng vẫn đối mặt với nhiều bài toán kỹ thuật về chi phí vận hành, tính ổn định hạ tầng và độ trễ phản hồi mạng.

Hệ thống quản lý xe đạp truyền thống phụ thuộc hoàn toàn vào máy chủ trung tâm (Centralized Cloud), dẫn đến một số nút thắt nghiêm trọng:

  • Độ trễ cao và phụ thuộc đường truyền: Mọi thao tác quét mã, mở/khóa chốt cơ khí tại trạm đều phải gửi request về máy chủ đám mây, gây chậm trễ từ 2–5 giây khi mạng chập chờn.
  • Điểm lỗi tập trung (Single Point of Failure): Khi máy chủ trung tâm gián đoạn, toàn bộ mạng lưới trạm và khóa điện tử ngoại vi ngừng hoạt động.
  • Chi phí hạ tầng và băng thông tăng vọt: Việc các thiết bị IoT liên tục gửi trạng thái cảm biến (telemetry data) lên Cloud tiêu tốn băng thông và năng lực tính toán không cần thiết.

Đồ án khóa luận "Xây dựng hệ thống cho thuê xe đạp công cộng ứng dụng công nghệ Edge Computing" được thực hiện bởi sinh viên Khoa Mạng máy tính và Truyền thông – Trường Đại học Công nghệ Thông tin (ĐHQG-HCM), dưới sự hướng dẫn của PGS.TS Lê Trung Quân. Đồ án giải quyết trực tiếp bài toán trên bằng mô hình phân tán kết hợp Điện toán biên (Edge Computing) và Điều phối container Kubernetes.

+-------------------------------------------------------------------------+
|                              CLOUD LAYER                                |
|  [Kubernetes Master Node] <---> [Worker Nodes: API Pods + Mongo Pods]   |
|                               ^                                         |
|                               | (Calico CNI / REST API / Nginx Proxy)   |
|                               v                                         |
+-------------------------------------------------------------------------+
|                               EDGE LAYER                                |
|  [Raspberry Pi Edge Station] <---> [Node Exporter] <---> [GPIO Relay]   |
|                               ^                                         |
|                               | (Bluetooth / Wi-Fi / Local Direct)      |
|                               v                                         |
+-------------------------------------------------------------------------+
|                               USER LAYER                                |
|           [Mobile App: React Native (User Booking & QR Scan)]           |
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Nghiên cứu, thiết kế và hiện thực hệ thống Backend quản trị phân tán trên nền tảng Cloud sử dụng cụm điều phối container Kubernetes.
  2. Xây dựng trạm quản lý xe đạp cục bộ (Bike Station Node) ứng dụng công nghệ Edge Computing trên thiết bị máy tính nhúng Raspberry Pi, tương tác vật lý trực tiếp với chốt khóa xe thông qua chân điều khiển GPIO.
  3. Phát triển ứng dụng di động đa nền tảng (React Native) hỗ trợ người dùng tìm kiếm trạm trên bản đồ, thực hiện giao dịch thuê/trả xe và thanh toán theo thời gian thực.
  4. Triển khai kiến trúc giám sát tài nguyên và đo lường tham số hệ thống toàn diện thời gian thực với PrometheusGrafana.

Phạm vi và Giới hạn

  • Phạm vi nghiên cứu: Hiện thực giải pháp toàn trình từ phần cứng nhúng tại trạm (Edge station), dịch vụ API trung tâm (Backend microservices), cơ sở dữ liệu phân tán (MongoDB), bộ chuyển tiếp reverse proxy (Nginx) đến giao diện người dùng cuối (Mobile App).
  • Giới hạn triển khai: Cụm Kubernetes được mô phỏng qua hệ thống máy ảo Vagrant/CentOS 7 trên hạ tầng mạng cục bộ (LAN/Calico Network), chốt khóa điện tử được kiểm thử qua giao tiếp rơ-le GPIO trên bo mạch Raspberry Pi.

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

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

Tiêu chí Hệ thống tập trung thuần Cloud Hệ thống Dockless GPS truyền thống Giải pháp đề xuất (Edge-K8s Architecture)
Kiến trúc xử lý Centralized Server (Monolith/VM) IoT Module gắn rời trên từng xe Phân cấp Edge Node (Trạm Pi) + Cloud K8s Cluster
Độ trễ mở/trả xe Cao (1.500ms – 4.000ms) Rất cao (phụ thuộc sóng 3G/4G của xe) Rất thấp (dưới 150ms tại Edge Node)
Khả năng kháng lỗi Thấp (Sập Cloud = tê liệt toàn hệ thống) Trung bình (Xe độc lập nhưng dễ mất kết nối) Cao (Edge xử lý độc lập khi gián đoạn tạm thời)
Khả năng mở rộng Thủ công, tốn kém tài nguyên Phụ thuộc vào băng thông SIM IoT Tự động mở rộng (Auto-scaling Pods) trên Kubernetes
Chi phí phần cứng/vận hành Rất cao cho Cloud băng thông lớn Chi phí duy trì SIM 4G định kỳ cho từng xe Tối ưu; chỉ duy trì 1 Edge Gateway quản lý nhiều xe

Hệ thống xác định các yêu cầu chức năng cốt lõi theo phương pháp MoSCoW:

  • Must have: Xác thực phân quyền JWT cho User/Station/Admin; điều khiển đóng/mở chốt khóa trạm qua GPIO; API ghi nhận tiến trình thuê/trả xe; lưu trữ lịch sử hóa đơn.
  • Should have: Tự động điều phối và phục hồi Pod (Self-healing) trên Kubernetes; dashboard hiển thị bản đồ trạm theo tọa độ GPS.
  • Could have: Hệ thống giám sát metrics tải phần cứng (CPU/RAM/Network) thời gian thực của các trạm xe biên qua Prometheus Time-Series Database.
  • Won't have (in this phase): Tích hợp cổng thanh toán trực tiếp qua thẻ tín dụng quốc tế (sử dụng ví điểm giả lập).

Thiết kế hệ thống

Toàn bộ hệ thống được chia thành 3 lớp phân cấp chặt chẽ:

[ Mobile App (React Native) ] 
            |
    (HTTP / REST API via Port 80/443)
            |
            v
[ Nginx Reverse Proxy Server ]
            |
    (LoadBalancing / NodePort 30801)
            |
            v
[ Kubernetes Cluster (CentOS 7) ]
    ├── Master Node (kube-apiserver, etcd, kube-scheduler)
    └── Worker Nodes
            ├── [Pod: rental-api (Node.js/Express)] 
            │         |
            │         +---> [Pod: mongodb-service (Port 27017)]
            └── [Pod: mongo-express (Dashboard)]
            ^
            | (Internal TCP / REST Sync)
            v
[ Edge Station Node (Raspberry Pi) ]
    ├── Station Daemon (Node.js + onoff npm)
    ├── Hardware Lock Array (GPIO Pin Control)
    └── Node Exporter (Metrics Agent -> Prometheus:9090)

Công nghệ và Phiên bản sử dụng

  • Hạ tầng Cloud & Điều phối: Kubernetes v1.22+, Vagrant, Calico CNI, CentOS Linux 7.
  • Backend API: Node.js v16.x LTS, ExpressJS framework v4.18, Mongoose ODM v6.x.
  • Cơ sở dữ liệu: MongoDB Enterprise v5.0, Mongo-Express v0.54.
  • Thiết bị Biên (Edge Hardware): Raspberry Pi Model B (Broadcom BCM2835, 512MB RAM, 40-pin GPIO Header), hệ điều hành Raspberry Pi OS.
  • Giao diện di động: React Native v0.68+, React Navigation, Axios.
  • Giám sát & Đo lường: Prometheus v2.35, Grafana v8.5, Node Exporter v1.3.

Thiết kế Cơ sở dữ liệu (MongoDB Schemas)

Dữ liệu được tổ chức dưới dạng tài liệu NoSQL tối ưu hóa cho tốc độ đọc/ghi cao:

  • Users: { _id, Name, PhoneNumber, EmailAddress, Password (Bcrypt hash), Role, CreatedAt, UpdatedAt }
  • Stations: { _id, Name, Status, Description, Latitude, Longitude, Ip, TotalDocks, AvailableBikes, CreatedAt, UpdatedAt }
  • Bikes: { _id, Status, StationId, BikeCode, CreatedAt, UpdatedAt }
  • Payments: { _id, User (Ref: User), BikeId (Ref: Bike), StationTakeId, StationReturnId, TakeAt, PaidAt, TotalCost, IsComplete, CreatedAt, UpdatedAt }

Thiết kế Endpoints RESTful API chính

  • POST /api/users/login: Xác thực tài khoản người dùng, trả về chuỗi JSON Web Token (JWT).
  • POST /api/users/stationLogin: Xác thực danh tính của trạm xe Edge Node khi gia nhập hệ thống.
  • GET /api/stations/user: Trả về danh sách tất cả các trạm xe kèm tọa độ và trạng thái xe khả dụng.
  • POST /api/stations/user/:stationId/:bikeId: Tiếp nhận sự kiện trả xe tại trạm, tự động khóa chốt và chốt hóa đơn.
  • GET /api/bikes/user/:bikeId: Xử lý lệnh mở khóa xe và khởi tạo tiến trình thuê xe cho người dùng.
  • GET /api/payments/cash: Xác nhận thanh toán hóa đơn thuê xe.

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình Agile Scrum với chu kỳ Sprint 2 tuần:

  • Sprint 1 (Khảo sát & Thiết kế): Phân tích luồng nghiệp vụ, đặc tả Use Case, thiết kế cơ sở dữ liệu MongoDB và cấu trúc API.
  • Sprint 2 (Xây dựng Backend & K8s Cluster): Đóng gói ứng dụng thành Docker Container, cấu hình file Deployment/Service YAML, thiết lập cụm K8s đa máy ảo qua Vagrant.
  • Sprint 3 (Phát triển Edge Computing Node): Lập trình ứng dụng điều khiển chân GPIO trên Raspberry Pi bằng Node.js module onoff, đồng bộ tín hiệu với Cloud.
  • Sprint 4 (Phát triển Mobile App & Giám sát): Xây dựng giao diện React Native, tích hợp bản đồ và hệ thống Prometheus/Grafana.
  • Sprint 5 (Kiểm thử & Đánh giá hiệu năng): Tích hợp toàn trình, đo đạc độ trễ phản hồi, khả năng chịu lỗi và tính ổn định.

Implementation và kết quả

Quá trình phát triển và Mã nguồn

1. Hiện thực điều khiển chốt khóa tại trạm biên (Raspberry Pi GPIO Logic)

Tại thiết bị biên Raspberry Pi, module onoff được sử dụng để can thiệp trực tiếp vào thanh ghi điện áp các chân GPIO điều khiển rơ-le khóa:

// edge-station/controllers/lockController.js
const Gpio = require('onoff').Gpio;
const LOCK_PIN_INDEX = 17; // GPIO17 kết nối rơ-le khóa chốt xe
const bikeLockRelay = new Gpio(LOCK_PIN_INDEX, 'out');

/**
 * Xử lý mở khóa xe tại thiết bị biên (Edge Node)
 * Tín hiệu gửi tức thời mức logic HIGH để nhả chốt cơ khí
 */
exports.unlockBikeDock = async (req, res) => {
    try {
        const { bikeId, stationId } = req.body;
        console.log(`[EDGE NODE] Trigger unlock for Bike: ${bikeId} at Station: ${stationId}`);
        
        // Kích hoạt mở chốt rơ-le (Active High)
        bikeLockRelay.writeSync(1);
        
        // Tự động ngắt điện từ sau 5 giây để bảo vệ cuộn hút solenoid
        setTimeout(() => {
            bikeLockRelay.writeSync(0);
            console.log(`[EDGE NODE] Lock solenoid reverted to SECURED state`);
        }, 5000);

        return res.status(200).json({
            success: true,
            message: "Dock unlocked successfully via Edge GPIO",
            timestamp: new Date().toISOString()
        });
    } catch (error) {
        console.error("[EDGE NODE ERROR] GPIO Execution failed:", error);
        return res.status(500).json({ success: false, error: error.message });
    }
};

2. Cấu hình điều phối Kubernetes Deployment & Service

Dịch vụ API Backend được đóng gói dưới container image dongsinhho/bikerentalapi và điều phối thông qua Kubernetes Manifest:

# k8s-manifests/api-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rental-api-deployment
  labels:
    app: rental-api
spec:
  replicas: 2
  selector:
    matchLabels:
      app: rental-api
  template:
    metadata:
      labels:
        app: rental-api
    spec:
      containers:
      - name: bikerentalapi
        image: dongsinhho/bikerentalapi:latest
        imagePullPolicy: Always
        ports:
        - containerPort: 3000
        env:
        - name: MONGO_URI
          value: "mongodb://mongodb-service:27017/bikeSystem"
        - name: JWT_SECRET
          valueFrom:
            secretKeyRef:
              name: api-secrets
              key: jwt-key
        resources:
          limits:
            cpu: "500m"
            memory: "512Mi"
          requests:
            cpu: "200m"
            memory: "256Mi"
---
apiVersion: v1
kind: Service
metadata:
  name: rental-api-service
spec:
  type: NodePort
  selector:
    app: rental-api
  ports:
    - protocol: TCP
      port: 3000
      targetPort: 3000
      nodePort: 30800

3. Cấu hình Nginx Reverse Proxy định tuyến mạng

Để liên kết dữ liệu giữa mạng máy ảo cục bộ của Kubernetes và các thiết bị vật lý bên ngoài (Mobile App, Raspberry Pi), Nginx đóng vai trò Reverse Proxy:

# /etc/nginx/conf.d/bike_proxy.conf
upstream k8s_api_cluster {
    server 192.168.101.100:30800; # Kubernetes Master NodePort
}

server {
    listen 80;
    server_name bike.uit.local;

    location /api/ {
        proxy_pass http://k8s_api_cluster;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_cache_bypass $http_upgrade;
    }
}

Kết quả kiểm thử và Đánh giá thực nghiệm

Đo lường hiệu năng và Độ trễ (Performance Benchmarks)

  • Độ trễ mở chốt khóa (Lock Trigger Latency): Nhờ xử lý logic xác thực trực tiếp tại Edge Daemon trên Raspberry Pi và gửi lệnh qua bus phần cứng, thời gian phản hồi tín hiệu vật lý chỉ mất 118ms, giảm 92,1% so với độ trễ mở khóa qua đường truyền Cloud truyền thống (1.500ms – 2.200ms).
  • Khả năng tự phục hồi (Kubernetes Self-Healing): Khi thực hiện kịch bản kill -9 đột ngột tiến trình Pod rental-api, Kubernetes Cluster mất trung bình 3,4 giây để khởi tạo Pod thay thế và đưa hệ thống về trạng thái sẵn sàng (Ready) mà không làm gián đoạn các phiên làm việc của người dùng.
  • Tải bộ nhớ tại thiết bị biên (Edge Footprint): Ứng dụng Node.js chạy trên Raspberry Pi Model B chỉ chiếm trung bình 41,2 MB RAM3,8% CPU, đảm bảo hoạt động liên tục 24/7 mà không gặp hiện tượng quá nhiệt hay tràn bộ nhớ.
  • Thu thập dữ liệu giám sát (Metrics Scraping): Prometheus cấu hình scrape_interval: 15s thu thập đầy đủ trạng thái của các trạm xe qua Node Exporter, hiển thị trực quan lên Grafana Dashboard với độ trễ phản ánh đồ thị dưới 1 giây.

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

  1. Kiến trúc phân tán lai Edge-to-Cloud tiên tiến: Khắc phục triệt để nhược điểm tắc nghẽn băng thông của mô hình IoT truyền thống. Bằng cách ủy quyền điều khiển chốt khóa cơ khí và giao tiếp ngoại vi cho Raspberry Pi tại trạm, hệ thống đảm bảo phản hồi tức thì cho người dùng tại chỗ.
  2. Tận dụng sức mạnh điều phối của Kubernetes trong bài toán giao thông đô thị: Ứng dụng mô hình Microservices đóng gói Container giúp việc triển khai các module (API, Database, Dashboard quản trị) trở nên độc lập, cho phép mở rộng quy mô linh hoạt (Horizontal Pod Autoscaling) khi mật độ thuê xe tại các trạm tăng đột biến vào giờ cao điểm.
  3. Tiết kiệm chi phí triển khai phần cứng: Sử dụng máy tính nhúng kích thước nhỏ (kích thước tương đương thẻ ATM) với chi phí thấp thay thế cho các máy tính công nghiệp cồng kềnh, giảm hơn 60% chi phí đầu tư phần cứng tại mỗi trạm xe.
  4. Mô hình giám sát hạ tầng thời gian thực chuẩn công nghiệp: Việc kết hợp Prometheus và Grafana cung cấp cái nhìn trực quan, toàn diện về sức khỏe của từng trạm biên, từ đó đội ngũ kỹ thuật có thể dự báo hỏng hóc phần cứng và bảo trì trước khi xảy ra sự cố.

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

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

  • Khuôn viên Đại học và Khu đô thị ĐHQG-HCM: Triển khai các trạm xe kết nối giữa các tòa nhà học tập, ký túc xá và khu phức hợp thể thao, phục vụ nhu cầu di chuyển hàng ngày của hơn 50.000 sinh viên và giảng viên.
  • Tuyến giao thông kết nối Metro: Đặt trạm xe tại các lối ra của tuyến đường sắt đô thị (Metro Bến Thành – Suối Tiên) nhằm giải quyết bài toán "dặm đầu – dặm cuối" (First-mile/Last-mile connectivity) cho hành khách.
  • Khu du lịch, danh lam thắng cảnh: Triển khai tại các thành phố du lịch sinh thái như Đà Lạt, Hội An, Phú Quốc giúp du khách thuê xe linh hoạt qua ứng dụng di động.
+-------------------------------------------------------------------------------+
|                      LỘ TRÌNH TRIỂN KHAI HỆ THỐNG (ROADMAP)                   |
+-------------------+-----------------------------------------------------------+
| Giai đoạn 1       | Khảo sát thực địa, lắp đặt trạm thử nghiệm (3 trạm Pi,    |
| (Tháng 1 - 3)     | 30 xe đạp) tại khuôn viên Trường ĐH Công nghệ Thông tin.  |
+-------------------+-----------------------------------------------------------+
| Giai đoạn 2       | Mở rộng kết nối cụm Cloud Production trên AWS/GCP,        |
| (Tháng 4 - 6)     | tích hợp cổng thanh toán MoMo/VNPay vào Mobile App.       |
+-------------------+-----------------------------------------------------------+
| Giai đoạn 3       | Triển khai quy mô đô thị (50 trạm, 500 xe), tích hợp      |
| (Tháng 7 - 12)    | thuật toán AI cân bằng xe (Bike Rebalancing Optimization).|
+-------------------+-----------------------------------------------------------+

Phân tích Chi phí và Hiệu quả Đầu tư (Cost-Benefit Analysis)

  • Chi phí phần cứng trạm: Khoảng 1.200.000 – 1.800.000 VNĐ cho mỗi trạm (gồm bo mạch Raspberry Pi, module rơ-le, nguồn 5V/3A và chốt khóa solenoid), thấp hơn rất nhiều so với tủ điều khiển chuyên dụng truyền thống (15.000.000 – 25.000.000 VNĐ).
  • Chi phí vận hành Cloud: Giảm 45% chi phí máy chủ nhờ lọc và tiền xử lý dữ liệu cảm biến rác ngay tại trạm biên trước khi đồng bộ lên cơ sở dữ liệu MongoDB Atlas.
  • Thời gian hoàn vốn (ROI): Ước tính đạt điểm hòa vốn sau 8–10 tháng vận hành thương mại với mức phí thuê xe 5.000 VNĐ / 30 phút.

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

Hạn chế kỹ thuật hiện tại

  • Hệ thống Edge Node trên Raspberry Pi chưa hỗ trợ bộ nhớ đệm ngoại tuyến (Offline Transaction Cache); nếu mất kết nối mạng hoàn toàn về cụm Kubernetes, người dùng mới chưa thể khởi tạo phiên thuê xe.
  • Việc xác thực mở khóa hiện tại dựa hoàn toàn vào API kích hoạt từ ứng dụng di động, chưa tích hợp đầu đọc thẻ từ RFID/NFC vật lý trực tiếp tại trạm cho người cao tuổi hoặc người không dùng smartphone.
  • Mạng Kubernetes Cluster hiện tại mới dừng ở mức cấu hình giả lập đa máy ảo cục bộ qua Vagrant, chưa triển khai Multi-region trên môi trường Cloud công cộng thương mại.

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

  1. Tích hợp xác thực sinh trắc học và AI tại biên: Triển khai module xử lý thị giác máy tính với camera gắn trên trạm nhúng (sử dụng Edge TPUs hoặc OpenCV) để nhận diện khuôn mặt người dùng hoặc tự động nhận diện biển số xe/hư hại của xe khi trả vào dock.
  2. Kết nối mạng lưới trạm phân tán thành cụm Edge Cluster: Ứng dụng K3s (Kubernetes rút gọn cho IoT) để biến các Raspberry Pi tại các trạm lân cận thành một cụm tính toán sương mù (Fog Computing), chia sẻ dữ liệu ngay cả khi đứt cáp kết nối máy chủ trung tâm.
  3. Thuật toán điều phối xe thông minh (Smart Fleet Rebalancing): Ứng dụng Machine Learning phân tích dữ liệu lịch sử mượn/trả để dự báo trạm nào sẽ thiếu/thừa xe theo từng khung giờ, tối ưu hóa lộ trình xe tải điều phối của đơn vị quản lý.

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

  • Sinh viên và Người học: Tiếp cận một tài liệu nghiên cứu ứng dụng toàn diện, từ mô hình lý thuyết mạng máy tính phân tán, cơ chế giao tiếp phần cứng nhúng qua GPIO đến kỹ thuật triển khai Kubernetes thực chiến.
  • Kỹ sư và Lập trình viên (Developers): Tham khảo kiến trúc mã nguồn chuẩn mực kết hợp giữa Node.js, Express REST API, MongoDB ODM và ứng dụng di động React Native, đồng thời nắm vững quy trình cấu hình Reverse Proxy và Container Orchestration.
  • Doanh nghiệp & Đơn vị Quản lý Giao thông: Sở hữu giải pháp công nghệ khả thi với chi phí đầu tư phần cứng cực kỳ tối ưu, dễ dàng bảo trì, mở rộng quy mô từ quy mô nhỏ (trường học, công viên) lên quy mô toàn thành phố.
  • Nhà nghiên cứu (Researchers): Nền tảng thực nghiệm vững chắc để tiếp tục mở rộng các bài toán tối ưu hóa tài nguyên mạng cận biên, an toàn bảo mật trong IoT và các giải pháp Smart Mobility thế hệ mới.

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

1. Yêu cầu phần cứng tối thiểu để triển khai một trạm xe Edge Station là gì?

Mỗi trạm xe đạp chỉ yêu cầu:

  • 01 Bo mạch máy tính nhúng Raspberry Pi Model B (hoặc Pi 3/4/Zero 2W) trang bị thẻ nhớ MicroSD tối thiểu 16GB.
  • Nguồn cấp DC 5V/2.5A–3A ổn định.
  • Mạch rơ-le (Relay Module) 4-channel hoặc 8-channel kết nối qua cổng 40-pin GPIO để đóng ngắt khóa điện từ (12V Solenoid Lock).
  • Kết nối mạng thông qua cổng Ethernet RJ45 hoặc Wi-Fi 2.4GHz.

2. Hệ thống xử lý thế nào khi lượng người dùng quét mã thuê xe đồng thời tăng đột biến?

Backend được triển khai trên nền tảng Kubernetes Cluster với mô hình nhiều bản sao Pod (replicas: 2 hoặc cao hơn). Kết hợp với cơ chế cân bằng tải nội bộ và Nginx Reverse Proxy, các yêu cầu HTTP sẽ được phân phối đều đến các worker pod. Khi lượng tải vượt ngưỡng CPU/RAM quy định, Kubernetes Horizontal Pod Autoscaler (HPA) có thể tự động nâng số lượng Pod phục vụ lên trong vài giây để chống nghẽn hệ thống.

3. Làm thế nào để đảm bảo tính an toàn dữ liệu khi truyền giữa Mobile App, Edge Node và Cloud?

Toàn bộ luồng giao tiếp dữ liệu được kiểm soát qua các lớp bảo mật:

  • Xác thực định danh thông qua chuỗi mã hóa JSON Web Token (JWT) có thời hạn (Expiration Time).
  • Mật khẩu người dùng được băm một chiều bằng thuật toán Bcrypt trước khi lưu vào MongoDB.
  • Phân quyền endpoint nghiêm ngặt (User chỉ có quyền xem/mở xe của mình; Station Node có token định danh riêng để cập nhật trạng thái dock; Admin có quyền quản trị tối cao).

4. Chi phí vận hành và bảo trì trạm xe đạp ứng dụng Edge Computing có đắt không?

Rất thấp. Do bo mạch Raspberry Pi tiêu thụ điện năng cực thấp (chỉ khoảng 3W – 5W), trạm xe có thể vận hành hoàn toàn bằng một tấm pin năng lượng mặt trời nhỏ kèm pin lưu trữ. Ngoài ra, việc giám sát từ xa qua Prometheus và Grafana giúp phát hiện sự cố phần mềm/phần cứng từ sớm, giảm thiểu chi phí cử nhân sự kỹ thuật đến tận nơi kiểm tra.

5. Dự án này có thể tích hợp với các hệ sinh thái vé xe buýt điện tử hoặc thẻ thông minh đô thị không?

Hoàn toàn có thể. Do kiến trúc Backend được xây dựng theo chuẩn RESTful API dạng module hóa, hệ thống dễ dàng mở rộng các endpoint để liên thông cơ sở dữ liệu với hệ thống bán vé xe buýt/Metro liên tuyến hoặc tích hợp đầu đọc thẻ RFID Mifare qua các chân giao tiếp SPI/I2C có sẵn trên bo mạch Raspberry Pi.


Kết luận

Đề tài khóa luận tốt nghiệp "Xây dựng hệ thống cho thuê xe đạp công cộng ứng dụng công nghệ Edge Computing" của tác giả Hồ Ngọc Đông Sinh (Khoa Mạng máy tính và Truyền thông – Trường ĐH Công nghệ Thông tin, ĐHQG-HCM) đã giải quyết trọn vẹn và thuyết phục bài toán số hóa phương tiện công cộng xanh. Bằng sự kết hợp khéo léo giữa công nghệ Điện toán biên (Raspberry Pi + GPIO control)Điều phối đám mây (Kubernetes + Docker + Microservices), đồ án đã chứng minh tính ưu việt vượt trội về tốc độ phản hồi (độ trễ mở khóa < 120ms), tính kháng lỗi tự phục hồi cao và tối ưu hóa chi phí đầu tư.

Đây không chỉ là một công trình học thuật xuất sắc đạt chuẩn kỹ sư mạng mà còn là một giải pháp công nghệ có tính ứng dụng thực tiễn cao, đóng góp thiết thực vào lộ trình chuyển đổi số và phát triển giao thông thông minh cho các đô thị hiện đại tại Việt Nam.