Bối cảnh và vấn đề nghiên cứu
Trong xu thế phát triển của cuộc Cách mạng Công nghiệp 4.0, công nghệ Internet of Things (IoT) đang được ứng dụng rộng rãi từ các mô hình Nhà thông minh (Smart Home) đến Đô thị thông minh (Smart City). Tại các quốc gia phát triển như Hoa Kỳ, Trung Quốc, Singapore và các nước Châu Âu, hệ thống cho thuê xe đạp công cộng đã được triển khai phổ biến, đóng vai trò quan trọng trong việc thúc đẩy giao thông xanh, phục vụ du lịch và bảo vệ môi trường. Tại Việt Nam, mô hình này bước đầu được quan tâm khi vào tháng 12 năm 2020, Sở Giao thông Vận tải Thành phố Hồ Chí Minh đã chấp thuận chủ trương thí điểm dịch vụ xe đạp công cộng do Công ty Cổ phần Tập đoàn Trí Nam đầu tư và vận hành trong thời gian 12 tháng.
Mặc dù có nhiều tiềm năng, việc triển khai hệ thống quản lý xe đạp công cộng tự động đòi hỏi giải pháp công nghệ phù hợp với điều kiện cơ sở hạ tầng trong nước, tối ưu hóa chi phí và giảm thiểu sự can thiệp thủ công của con người. Để giải quyết bài toán này, khóa luận tập trung nghiên cứu ứng dụng mô hình Điện toán cận biên (Edge Computing) kết hợp Điện toán đám mây (Cloud Computing) nhằm nâng cao hiệu năng xử lý, giảm độ trễ tại các trạm và tăng cường khả năng mở rộng, tự phục hồi của hệ thống.
Mục tiêu và nhiệm vụ nghiên cứu:
- Nghiên cứu và áp dụng công nghệ ảo hóa container để xây dựng hệ thống tính toán cạnh biên (Edge Computing).
- Ứng dụng Kubernetes – công cụ điều phối container – để xây dựng hệ thống máy chủ có tính đáp ứng cao, khả năng mở rộng để xử lý các yêu cầu, quản lý các thiết bị biên và tương tác với các thiết bị đầu cuối phía người dùng.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Hệ thống quản lý cho thuê xe đạp công cộng tự động; kiến trúc tính toán cận biên và điều phối container trên nền tảng đám mây.
- Phạm vi nghiên cứu:
- Triển khai hệ thống Backend IoT quản lý xe đạp và người dùng dựa trên Docker và Kubernetes.
- Xây dựng trạm xe đạp cận biên ứng dụng máy tính nhúng Raspberry Pi để quản lý khóa xe và đồng bộ dữ liệu.
- Xây dựng ứng dụng di động cho người dùng thuê và trả xe.
- Triển khai hệ thống giám sát hoạt động của các trạm xe đạp.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên các nền tảng lý thuyết và công nghệ chuyên ngành Mạng máy tính và Truyền thông:
- Điện toán đám mây (Cloud Computing): Khảo sát các mô hình triển khai (Public Cloud, Private Cloud, Hybrid Cloud) và các mô hình dịch vụ (IaaS, PaaS, SaaS) nhằm tận dụng khả năng cấp phát tài nguyên linh hoạt, mở rộng quy mô và tối ưu chi phí vận hành.
- Điện toán cận biên (Edge Computing): Nghiên cứu cấu trúc phân tầng gồm Cloud Server, Thiết bị biên (Edge Device), Nút biên (Edge Node), Máy chủ biên (Edge Server) và Cổng biên (Edge Gateway). Mô hình này cho phép xử lý dữ liệu ngay tại vùng biên gần nguồn phát sinh dữ liệu, giảm thiểu băng thông truyền tải về máy chủ trung tâm và đáp ứng yêu cầu xử lý thời gian thực.
- Công nghệ ảo hóa và điều phối: Nền tảng Docker đóng gói ứng dụng thành các container độc lập; nền tảng Kubernetes (K8s) quản lý vòng đời container, cung cấp các tính năng khám phá dịch vụ (Service Discovery), cân bằng tải, tự phục hồi (Self-healing), điều phối bộ nhớ và cập nhật tự động (Rollouts/Rollbacks).
- Ngăn xếp công nghệ phát triển:
- Backend API: Node.js và Express framework xây dựng các giao diện lập trình ứng dụng RESTful API, xác thực người dùng bằng JsonWebToken (JWT), kết nối cơ sở dữ liệu qua thư viện Mongoose.
- Cơ sở dữ liệu: Cơ sở dữ liệu phi quan hệ MongoDB (kèm giao diện quản trị Mongo Express).
- Thiết bị biên: Máy tính nhúng Raspberry Pi (bộ xử lý Broadcom BCM 2835, 512MB RAM) sử dụng module
onoff trong môi trường Node.js để tương tác với chân tín hiệu GPIO điều khiển khóa trạm.
- Ứng dụng di động: Framework React Native phát triển ứng dụng đa nền tảng (Android/iOS).
- Hệ thống giám sát: Prometheus thu thập dữ liệu chuỗi thời gian (Time-series data) kết hợp Grafana trực quan hóa số liệu qua dashboard và Node Exporter thu thập chỉ số phần cứng trạm.
Phương pháp nghiên cứu: Tác giả áp dụng phương pháp nghiên cứu thực nghiệm và thiết kế kỹ thuật hệ thống: phân tích yêu cầu, phân rã chức năng, thiết kế kiến trúc phân tầng, đặc tả luồng xử lý API, thiết kế lược đồ cơ sở dữ liệu và triển khai hiện thực hệ thống mẫu trên môi trường giả lập mạng nội bộ.
Thiết kế và kiến trúc hệ thống
Hệ thống được thiết kế theo kiến trúc 3 thành phần chính: Trung tâm dữ liệu đám mây (Cloud Server), Trạm cận biên (Edge Station) và Thiết bị đầu cuối (Mobile App).
| Thành phần |
Công nghệ sử dụng |
Chức năng chính |
| Cloud Backend |
Kubernetes, Docker, Node.js, Express, MongoDB |
Tiếp nhận và xử lý request từ client/trạm; lưu trữ dữ liệu tập trung; điều phối tự động tải và kháng lỗi. |
| Edge Station |
Raspberry Pi, Node.js, module onoff, Node Exporter |
Quản lý khóa vật lý qua chân GPIO; xử lý logic thuê/trả xe tại chỗ; gửi thông số giám sát định kỳ. |
| Mobile Client |
React Native (Android/iOS) |
Cung cấp giao diện cho người dùng: đăng ký/đăng nhập, xem bản đồ trạm, quét mã thuê xe, thanh toán và xem lịch sử. |
| Monitoring |
Prometheus, Grafana, Node Exporter |
Thu thập chỉ số tài nguyên (CPU, RAM) từ trạm biên và hiển thị biểu đồ trạng thái thời gian thực. |
Thiết kế cơ sở dữ liệu (MongoDB)
Hệ thống thiết kế 4 mô hình dữ liệu (Model) chính:
- User: Lưu trữ thông tin người dùng gồm
id, Name, Phone Number, Email Address, Password (dạng hashString), Create At, Update At.
- Station: Quản lý trạm gồm
id, Name, Status, Description, Latitude, Longitude, Ip, Create At, Update At.
- Bike: Quản lý xe đạp gồm
id, Name, Status, Description, Latitude, Longitude, Ip, Create At, Update At.
- Payment: Quản lý giao dịch gồm
id, User, BikeId, TakeAt, PaidAt, IsComplete, Create At, Update At.
Thiết kế giao diện lập trình ứng dụng (RESTful API)
Các endpoint API được phân nhóm theo 4 tuyến đường (route) chính:
| Tuyến đường (Route) |
Phương thức (HTTP Verb) |
Endpoint |
Quyền hạn (Permission) |
Hành động (Action) |
| /api/users |
GET |
/ |
Admin |
Lấy thông tin tất cả user |
|
POST |
/ |
- |
Tạo user mới |
|
GET |
/info |
User |
Lấy thông tin người dùng |
|
PUT |
/update |
User |
Cập nhật thông tin người dùng |
|
DELETE |
/:userId |
Admin |
Xóa người dùng |
|
POST |
/login |
- |
Đăng nhập hệ thống |
|
GET |
/logout |
User |
Đăng xuất hệ thống |
|
POST |
/stationLogin |
Station |
Đăng nhập dành cho trạm xe |
| /api/stations |
GET |
/user |
User |
Lấy danh sách tất cả các trạm |
|
GET |
/user/:stationId |
User |
Lấy thông tin chi tiết của trạm |
|
POST |
/user/:stationId/:bikeId |
Station |
Xử lý trả xe tại trạm |
|
POST |
/ |
Admin |
Tạo trạm mới |
|
PUT |
/:stationId |
Station |
Cập nhật trạng thái trạm |
|
PUT |
/admin/:stationId |
Admin |
Cập nhật thông tin trạm |
|
DELETE |
/:stationId |
Admin |
Xóa trạm |
| /api/payments |
GET |
/create/:stationId/:bikeId |
User |
Tạo hóa đơn thuê xe |
|
GET |
/update |
User |
Cập nhật hóa đơn thuê xe |
|
GET |
/cash |
User |
Thanh toán hóa đơn thuê xe |
|
GET |
/info |
User |
Lấy lịch sử thuê xe |
|
GET |
/payment/:paymentId |
User |
Xem chi tiết lịch sử thuê xe |
|
GET |
/ |
Admin |
Xem tất cả thông tin thuê xe |
| /api/bikes |
GET |
/user/:bikeId |
User |
Thực hiện thuê xe |
|
GET |
/ |
Admin |
Lấy thông tin tất cả các xe |
|
POST |
/ |
Admin |
Tạo xe mới trong hệ thống |
|
DELETE |
/:bikeId |
Admin |
Xóa xe khỏi hệ thống |
Nội dung chính theo từng chương
Chương I: Mở đầu
Chương I trình bày lý do chọn đề tài xuất phát từ sự bùng nổ của IoT, Công nghiệp 4.0 và xu hướng công nghệ xanh trong giao thông đô thị. Tác giả nêu rõ mục đích nghiên cứu là ứng dụng ảo hóa container và công cụ điều phối Kubernetes để xây dựng hệ thống tính toán cạnh biên, kết nối backend quản lý đám mây với thiết bị nhúng tại các trạm xe đạp và ứng dụng di động cho người dùng. Phạm vi nghiên cứu bao quát từ việc xây dựng API backend, thiết lập trạm biên trên Raspberry Pi, lập trình ứng dụng React Native đến tích hợp hệ thống giám sát.
Chương II: Các nghiên cứu và công nghệ liên quan
Chương II tổng quan tình hình nghiên cứu trong và ngoài nước về Điện toán đám mây và Điện toán cận biên, dẫn chứng các báo cáo thị trường như "Edge Computing Market Size, Industry Growth Report, 2020-2027" và "Edge Computing Market – Growth, Trend, Forecast (2021 – 2026)", cũng như các ứng dụng như Nest Cam IQ của Google, nền tảng Cloud IoT Edge và hoạt động của Hiệp hội Điện toán Biên Ô tô (AECC). Tác giả làm rõ các khái niệm lý thuyết cốt lõi về Cloud Computing, Edge Computing, nguyên lý hoạt động của Docker Container, cơ chế điều phối của Kubernetes, framework Express trên nền Node.js, cấu trúc phần cứng của Raspberry Pi, nền tảng di động React Native và bộ công cụ giám sát Prometheus - Grafana.
Chương III: Phương pháp luận nghiên cứu
Chương III đi sâu vào việc phân tích và thiết kế chi tiết hệ thống qua các mô hình phân rã cấu trúc (Cloud, Edge, Thiết bị cuối). Tác giả mô tả chi tiết cách thiết lập Kubernetes Cluster gồm máy Master và các máy Worker; quy trình lưu trữ ảnh container trên Docker Hub; thiết kế lược đồ cơ sở dữ liệu MongoDB; đặc tả luồng xử lý RESTful API; xây dựng sơ đồ phân rã chức năng, sơ đồ Use Case và sơ đồ hoạt động (Activity Diagram) của quá trình thuê/trả xe và thanh toán.
Chương IV: Hiện thực, các kết quả đánh giá
Chương IV mô tả toàn bộ quá trình hiện thực hóa mô hình đã thiết kế trong điều kiện thực nghiệm phòng lab:
- Xây dựng hệ thống máy ảo Master và Worker chạy hệ điều hành CentOS 7 bằng Vagrant và VirtualBox, liên kết mạng qua Calico.
- Đóng gói ứng dụng thành các Docker image và lưu trữ trên Docker Hub (
dongsinhho/bikerentalapi, dongsinhho/bikeedgeservice_postlocation, dongsinhho/bikeedgeservice_listenwebsocket).
- Triển khai các file cấu hình
deployment.yaml và service.yaml lên cụm Kubernetes; thiết lập Nginx trên máy chủ đóng vai trò Reverse Proxy để chuyển tiếp dữ liệu mạng từ thiết bị di động và trạm Raspberry Pi vào cluster nội bộ.
- Xây dựng các route, controller xử lý nghiệp vụ trên Node.js/Express, kết nối cơ sở dữ liệu MongoDB qua Mongo Express.
- Triển khai các màn hình giao diện ứng dụng React Native: Đăng nhập, Đăng ký, Trang chủ, Bản đồ trạm xe, Danh sách xe, Hướng dẫn thuê xe, Thanh toán và Kết quả trả xe.
- Cấu hình Node Exporter trên Raspberry Pi, kết nối thành công với Prometheus và xây dựng dashboard hiển thị chỉ số trạm trên Grafana.
Chương V: Kết luận và hướng phát triển
Chương V tổng kết các mục tiêu đã hoàn thành, chỉ ra những hạn chế do điều kiện cơ sở vật chất thử nghiệm và đề xuất các định hướng nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả đạt được
- Hiện thực hoàn chỉnh hệ thống quản trị backend: Xây dựng thành công cụm máy chủ Kubernetes gồm các node Master và Worker trên môi trường ảo hóa CentOS 7, triển khai các dịch vụ microservice gồm API Server và MongoDB đảm bảo khả năng cân bằng tải và tự phục hồi khi có sự cố pod.
- Triển khai thành công trạm biên: Thiết lập trạm xe đạp dựa trên bo mạch Raspberry Pi, cấu hình thành công module
onoff để điều khiển xuất tín hiệu chân GPIO mô phỏng cơ chế đóng/mở khóa xe tự động và tương tác hai chiều với hệ thống máy chủ.
- Xây dựng ứng dụng di động hoàn chỉnh: Phát triển ứng dụng React Native hỗ trợ đầy đủ các chức năng xác thực người dùng (JWT), hiển thị vị trí trạm xe trên bản đồ số, tạo và thanh toán hóa đơn thuê xe, kiểm tra trạng thái xe khả dụng theo thời gian thực.
- Tích hợp giải pháp giám sát thời gian thực: Kết nối thành công Prometheus với Node Exporter trên trạm xe đạp, trực quan hóa các biểu đồ tải phần cứng và trạng thái trạm qua giao diện Grafana.
- Công bố mã nguồn: Toàn bộ mã nguồn thiết lập hệ thống và mã nguồn ứng dụng được đóng gói và chia sẻ công khai trên GitHub:
- Repository thiết lập hệ thống:
https://github.com/dongsinhho/System-Setup.git
- Repository mã nguồn ứng dụng:
https://github.com/dongsinhho/Bike-Rental-System
Giải pháp và đóng góp của đề tài
Đề tài cung cấp giải pháp tích hợp công nghệ Edge Computing kết hợp Cloud Computing phù hợp với bài toán quản lý xe đạp công cộng tại đô thị. Việc phân bổ xử lý logic điều khiển khóa tại nút biên Raspberry Pi giúp giảm tải lưu lượng đường truyền và đảm bảo phản hồi tức thì tại trạm, trong khi cụm Kubernetes ở tầng trung tâm đảm bảo tính ổn định, dễ dàng nâng cấp, mở rộng số lượng trạm mà không làm gián đoạn toàn bộ dịch vụ.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Quá trình thử nghiệm thực tế chưa có đầy đủ thiết bị phần cứng chuyên dụng trên diện rộng; hệ thống máy chủ mới chỉ được triển khai trên máy tính cá nhân thông qua các máy ảo (Vagrant/VirtualBox) và mạng nội bộ có sử dụng Reverse Proxy (Nginx) thay vì cụm máy chủ đám mây công cộng thực thụ.
- Cơ chế điều khiển khóa tại trạm biên mới dừng lại ở mức mô phỏng tín hiệu logic qua chân GPIO trên Raspberry Pi trong điều kiện phòng thực hành.
Hướng phát triển tiếp theo
- Tích hợp xác thực người dùng tại các trạm: Bổ sung các phương thức xác thực trực tiếp tại bảng điều khiển trạm xe (như thẻ từ, sinh trắc học hoặc quét mã trực tiếp trên phần cứng trạm).
- Kết nối các trạm xe thành một cụm máy chủ (Edge Cluster): Liên kết nhiều trạm Raspberry Pi thành một mạng lưới tính toán biên phân tán, hỗ trợ chia sẻ dữ liệu và tự vận hành cục bộ khi mất kết nối tạm thời với đám mây trung tâm.
- Nâng cao trải nghiệm người dùng với ứng dụng di động: Tối ưu hóa hiệu năng ứng dụng React Native, bổ sung các tính năng tiện ích mở rộng và cải thiện giao diện tương tác người dùng.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo hữu ích cho sinh viên, học viên và kỹ sư thuộc các chuyên ngành Mạng máy tính và Truyền thông, Công nghệ thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin.
Các nội dung có giá trị tham khảo cụ thể:
- Hướng dẫn thực hành xây dựng cụm Kubernetes Cluster cục bộ phục vụ thử nghiệm microservice sử dụng Vagrant, VirtualBox và cấu hình mạng Calico.
- Cấu hình Nginx Reverse Proxy để định tuyến lưu lượng từ mạng bên ngoài vào các Service NodePort bên trong cụm Kubernetes.
- Mô hình thiết kế RESTful API bằng Express/Node.js theo chuẩn kiến trúc phân tầng kết hợp cơ sở dữ liệu MongoDB và xác thực JWT.
- Kỹ thuật lập trình điều khiển phần cứng nhúng (GPIO) trên nền tảng Raspberry Pi bằng môi trường Node.js.
- Quy trình tích hợp hệ thống giám sát hạ tầng phân tán bằng bộ đôi công cụ mã nguồn mở Prometheus và Grafana.
Câu hỏi thường gặp
1. Hệ thống thực hiện việc điều khiển cơ chế khóa/mở xe đạp tại trạm biên bằng cách nào?
Tại trạm biên, hệ thống sử dụng máy tính nhúng Raspberry Pi chạy môi trường Node.js kết hợp với module thư viện onoff (từ npm). Thông qua module này, trạm biên tiếp nhận lệnh điều khiển và xuất tín hiệu logic qua các chân GPIO để đóng hoặc mở bộ khóa xe tương ứng.
2. Mô hình máy chủ trung tâm được thiết lập và quản trị như thế nào trong môi trường thử nghiệm?
Hệ thống backend được triển khai trên môi trường ảo hóa bằng Vagrant và VirtualBox chạy hệ điều hành CentOS 7, phân chia thành các máy ảo Master node và Worker node. Kubernetes quản lý các Pod chứa API Server và MongoDB, đồng thời sử dụng giải pháp mạng Calico và Nginx Reverse Proxy trên máy chủ vật lý để tiếp nhận yêu cầu từ mạng nội bộ vào cụm cluster.
3. Cơ sở dữ liệu MongoDB trong đồ án quản lý những thực thể dữ liệu nào?
Cơ sở dữ liệu MongoDB được thiết kế gồm 4 collection chính thông qua các Model: User (thông tin tài khoản, mật khẩu băm, thông tin liên hệ), Station (thông tin vị trí tọa độ, IP, trạng thái trạm), Bike (thông tin xe đạp, trạng thái, vị trí) và Payment (lịch sử giao dịch, thời gian mượn/trả, trạng thái thanh toán).
4. Hệ thống giám sát (Monitoring) các trạm xe đạp biên hoạt động ra sao?
Trên mỗi thiết bị Raspberry Pi tại trạm, tác giả cài đặt Node Exporter để trích xuất các chỉ số vận hành phần cứng (CPU, bộ nhớ, mạng). Dữ liệu này được máy chủ Prometheus định kỳ thu thập và lưu trữ dưới dạng cơ sở dữ liệu chuỗi thời gian (time-series database), sau đó hiển thị trực quan thông qua các bảng điều khiển (dashboard) trên nền tảng Grafana.
5. Ứng dụng di động của hệ thống được xây dựng bằng công nghệ gì và cung cấp những tính năng nào cho người dùng?
Ứng dụng di động được xây dựng bằng framework React Native (chạy trên Android và iOS), cung cấp các tính năng: đăng ký/đăng nhập tài khoản, xem danh sách và vị trí các trạm xe trên bản đồ, kiểm tra thông tin số lượng xe tại trạm, xem hướng dẫn thuê xe, quét mã hoặc chọn xe để thuê, thanh toán hóa đơn và tra cứu lịch sử các chuyến đi.
Kết luận
Khóa luận tốt nghiệp của tác giả Hồ Ngọc Đông Sinh đã nghiên cứu và hiện thực thành công mô hình hệ thống cho thuê xe đạp công cộng kết hợp giữa Điện toán đám mây (Kubernetes) và Điện toán cận biên (Raspberry Pi). Đề tài đã hoàn thành việc xây dựng toàn diện từ tầng backend microservice, cơ sở dữ liệu MongoDB, trạm điều khiển biên phần cứng qua GPIO, ứng dụng di động React Native cho đến hệ thống giám sát Prometheus và Grafana. Kết quả nghiên cứu cung cấp một giải pháp kỹ thuật có tính ứng dụng thực tiễn cao, đáp ứng yêu cầu tự động hóa và tối ưu hóa hạ tầng trong phát triển giao thông đô thị thông minh.