Server
Hoàn thành 0 lượt xem Quản lý

IoT & Maritime Emergency Rescue Platform (Hệ Thống Giám Sát Hải Trình & Cứu Nạn Hàng Hải LoRaWAN)

Hệ thống Giám sát Hải trình, Điều phối Cứu nạn Hàng hải & Quản trị Nền tảng IoT LoRaWAN thời gian thực (SSE 0ms) chuẩn OpenAPI v1.2.0.

Công nghệ & Nền tảng (Tech Stack)
Python 3.14 Django 6.1 Django REST Framework PostgreSQL 16 Leaflet GIS / MapVina Server-Sent Events (SSE) LoRaWAN ChirpStack v4 Docker Compose OpenAPI v1.2.0
IoT & Maritime Emergency Rescue Platform (Hệ Thống Giám Sát Hải Trình & Cứu Nạn Hàng Hải LoRaWAN)
README.md GFM
Đang kết xuất tài liệu thiết kế README.md...

                        
Thông Số Phần Cứng & Danh Mục Linh Kiện (BOM)
Hardware Specs & BOM
- Giao thức mạng vô tuyến IoT: LoRaWAN 1.0.3 / 1.0.4, băng tần AS923 / EU868, kích hoạt thiết bị OTAA & ABP (DevEUI 64-bit, AppKey 128-bit) - Thiết bị đầu cuối hỗ trợ: + Nút nhấn khẩn cấp SOS công nghiệp: Milesight WS101, MOKOSmart LW006/LW013 + Thiết bị định vị GPS di động: Tracker phương tiện, tàu thuyền cứu hộ cứu nạn hải hành + Trạm kết nối: LoRaWAN Industrial Gateway ngoài trời (ChirpStack Gateway Bridge, Semtech Packet Forwarder) - Chuẩn tích hợp API: OpenAPI Specification v1.2.0 (Maritime IoT Platform), Webhook xác thực Bearer Token - Kỹ thuật mạng & Điều khiển Downlink: + Phát lệnh Downlink ngược xuống thiết bị qua F-Port 1–223 (Hex payload tối đa 242 bytes), hỗ trợ Confirmed Downlink ACK qua cửa sổ RX1/RX2 + Quản lý vòng đời lệnh theo 5 trạng thái: queued ➜ sent ➜ delivered ➜ failed / cancelled + Khử trùng lặp gói tin 24 giờ (FR-11.23 Deduplication cache) và chống trễ gói tin đến muộn (FR-11.22 Out-of-order Protection) dựa theo mốc reported_at (RFC 3339) - Hạ tầng máy chủ & Cơ sở dữ liệu: + Python 3.14, Django 6.1.2 (ASGI/WSGI), Django REST Framework 3.18 + PostgreSQL 16 Alpine với chỉ mục không gian & chuỗi thời gian db_index + Động cơ Server-Sent Events (SSE) Pub/Sub cập nhật tức thì độ trễ 0ms + Đóng gói Docker Compose đa container (App: Port 5000, PostgreSQL: Port 5433)
Sơ Đồ Kiến Trúc & Hoạt Động Server (Server Architecture)
Sơ đồ tự động căn chỉnh vừa vặn bao quát toàn cảnh — sử dụng công cụ bên cạnh để phóng to hoặc mở toàn màn hình
100%
flowchart TB
    subgraph IOT_LAYER["1. TẦNG THIẾT BỊ IOT & NỀN TẢNG CLOUD"]
        DEV_BUTTON["Nút Nhấn Khẩn Cấp (SOS: WS101, LW006/013)"]
        DEV_GPS["Thiết Bị Định Vị GPS (Tàu Thuyền / Xe Cứu Hộ)"]
        DEV_GW["Trạm LoRaWAN Gateway Ngoài Trời"]
        CLOUD_IOT["Maritime IoT Platform (ChirpStack v4 / Mosquitto)"]
        DEV_BUTTON -->|LoRaWAN Uplink AS923/EU868| CLOUD_IOT
        DEV_GPS -->|LoRaWAN Uplink Định Kỳ| CLOUD_IOT
        DEV_GW -->|Trạng Thái Gateway & Link Info| CLOUD_IOT
    end

    subgraph SERVER_INGESTION["2. TẦNG TIẾP NHẬN & XỬ LÝ SỰ KIỆN (BACKEND)"]
        WEBHOOK["hctech_webhook.py\n- Xác thực Bearer Token\n- Khử trùng 24h FR-11.23\n- Chống trễ gói tin FR-11.22\n- Chuẩn hóa OutboundRecord FR-11.15"]
        CLIENT["hctech_client.py\n- Downlink Commands F-Port 1~223\n- Confirmed ACK RX1/RX2\n- Vòng đời lệnh queued ➜ sent ➜ delivered"]
        HB_THREAD["apps.py (HeartbeatCheckerThread)\n- Quét chu kỳ heartbeat ngầm\n- Tự chuyển OFFLINE khi mất sóng"]
        SSE_DISPATCH["sse.py (Server-Sent Events Engine)\n- Pub/Sub tin nhắn real-time\n- Đẩy sự kiện 0ms tới Dashboard"]
        
        CLOUD_IOT -->|POST /api/v1/webhook/ JSON| WEBHOOK
        CLIENT -->|HTTP Downlink / Sync| CLOUD_IOT
        HB_THREAD -->|Kiểm tra timeout chu kỳ| WEBHOOK
    end

    subgraph DATABASE_LAYER["3. TẦNG DỮ LIỆU & LƯỢC ĐỒ (POSTGRESQL 16)"]
        DB[(PostgreSQL Database)]
        MODELS["Server_tenant/models.py\n- Device (DevEUI, GPS, Nhóm Parent)\n- AlertLog (Sự cố SOS, Quy trình tiếp nhận)\n- LocationHistory (Chuỗi GPS, Điểm dừng trôi)\n- WebhookLog & User (Phân quyền 3 cấp)"]
        WEBHOOK -->|Ghi log & Cập nhật| DB
        HB_THREAD -->|Đổi trạng thái OFFLINE| DB
        MODELS -.-> DB
    end

    subgraph WEB_LAYER["4. TẦNG ĐIỀU PHỐI & REST API (DJANGO 6.1)"]
        VIEWS["Server_tenant/views.py (119 KB Logic)\n- Dashboard GIS APIs\n- Quản lý cảnh báo SOS & Điều phối\n- GPS Route Replay & Xuất file GPX\n- Telemetry Explorer /telemetry/aggregated"]
        
        VIEWS <-->|Truy vấn & Cập nhật| DB
        WEBHOOK -->|Bắn sự kiện| SSE_DISPATCH
    end

    subgraph CLIENT_LAYER["5. TẦNG GIAO DIỆN NGƯỜI DÙNG & ĐIỀU HÀNH (FRONTEND)"]
        DASHBOARD["dashboard.html + dashboard.js\n- Bản đồ số MapVina / Leaflet GIS\n- Tự động Zoom-to-fit bao quát thiết bị\n- Tua lại hải trình GPS Route Replay\n- Còi hú báo động SOS âm vang"]
        ADMIN["admin_portal.html\n- Quản trị Downlink F-Port\n- Bộ giả lập Webhook Simulator 5 mẫu\n- Quản lý chuỗi thời gian Telemetry"]
        LOGIN["login.html\n- Đăng nhập bảo mật phân quyền đa cấp"]
        
        VIEWS --> DASHBOARD
        VIEWS --> ADMIN
        VIEWS --> LOGIN
        SSE_DISPATCH -.->|Real-time SSE Stream 0ms| DASHBOARD
        SSE_DISPATCH -.->|Real-time Monitor Stream| ADMIN
    end
Đang nạp sơ đồ kiến trúc...
Dùng nút Bao Quát để ngắm nhìn toàn cảnh hoặc Toàn Màn Hình để phóng to chi tiết Mermaid Interactive Engine
Thư Mục & Quản Lý Tệp Tin Dự Án
media/projects/tenant-site-maritime-emergency-iot-lorawan/ 17 tệp tin • 2.0 MB
Đăng Nhập Quản Lý File
Tên Tệp Tin Phân Loại Dung Lượng Ngày Cập Nhật Thao Tác
docker-compose.yml
Mã Nguồn (Code) 1.1 KB 08/11/2026 00:14
Dockerfile
Tài Liệu 821 B 08/11/2026 00:14
hctech_client.py
Mã Nguồn (Code) 25.3 KB 08/11/2026 00:14
hctech_webhook.py
Mã Nguồn (Code) 59.2 KB 08/11/2026 00:13
logo.jpg
Hình Ảnh (Image) 375.6 KB 08/11/2026 00:13
models.py
Mã Nguồn (Code) 9.3 KB 08/11/2026 00:14
note.txt
Tài Liệu 1.3 KB 08/11/2026 00:14
openapi.yaml
Mã Nguồn (Code) 36.8 KB 08/11/2026 00:13
README.md
Tài Liệu 18.7 KB 08/11/2026 00:13
requirements.txt
Tài Liệu 539 B 08/11/2026 00:14
sse.py
Mã Nguồn (Code) 921 B 08/11/2026 00:14
SYSTEM_ARCHITECTURE_MAP.md
Tài Liệu 16.1 KB 08/11/2026 00:13
tenant_site_source_code.zip
Tệp Nén (Archive) 656.9 KB 08/11/2026 00:13
test_heartbeat.py
Mã Nguồn (Code) 3.8 KB 08/11/2026 00:14
test_route_replay.py
Mã Nguồn (Code) 6.0 KB 08/11/2026 00:14
test_sos.py
Mã Nguồn (Code) 2.1 KB 08/11/2026 00:14
thumb_maritime_rescue.jpg
Hình Ảnh (Image) 873.2 KB 08/11/2026 03:34
Chuyển Nhanh Khung Nhìn
Thông Tin Dự Án
Chuyên mục: Server
Trạng thái: Hoàn thành
Lượt xem: 0
Ngày tạo: 08/11/2026 00:14
Cập nhật: 08/11/2026 22:00