Giới thiệu dự án

Trong bối cảnh đô thị hóa và các mối nguy an ninh xã hội ngày càng gia tăng, việc bảo vệ an toàn cá nhân và ứng phó sự cố khẩn cấp trở thành một trong những ưu tiên hàng đầu. Theo các thống kê về cứu hộ y tế và an ninh khẩn cấp, "khoảng thời gian vàng" (thường trong vòng 5–15 phút đầu tiên sau tai nạn hoặc biến cố y tế) quyết định hơn 60% khả năng sống sót của nạn nhân. Tuy nhiên, các phương thức phát tín hiệu cầu cứu truyền thống qua điện thoại thông minh (gọi 113/114/115, chia sẻ vị trí qua ứng dụng di động) bộc lộ nhiều điểm nghẽn nghiêm trọng khi người dùng gặp nạn: đòi hỏi phải mở khóa màn hình (FaceID/Vân tay/Mật mã), thao tác đa bước khi đang hoảng loạn, phụ thuộc hoàn toàn vào vùng phủ sóng di động (GSM/3G/4G) và kết nối dữ liệu mạng di động tốc độ cao vốn dễ mất kết nối tại các vùng trũng, tầng hầm hoặc địa hình đồi núi.

Đề tài tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính tại Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) với tiêu đề "Thiết kế và thi công nút nhấn khẩn cấp sử dụng mạng LoRa" (Sinh viên thực hiện: Trần Văn Nguyên – GVHD: TS. Đậu Trọng Hiển) tập trung giải quyết triệt để bài toán cảnh báo khẩn cấp bằng giải pháp phần cứng chuyên dụng: một chạm duy nhất, hoạt động độc lập với sóng di động của người dùng, chi phí thấp và tiêu thụ năng lượng tối ưu.

flowchart LR
    A["Nạn nhân nhấn nút SOS"] --> B["Khối phát LoRa Node\n(ESP8266 + GPS NEO-6M)"]
    B -- "Sóng LoRa 433MHz\n(Bán kính đến 10km)" --> C["Khối thu Gateway\n(ESP8266 + LoRa Ra-01)"]
    C -- "Wi-Fi / HTTPS" --> D["Telegram Cloud Server\n(Bot API)"]
    D --> E["Cảnh báo & Vị trí Google Maps\nđến người thân / Cứu hộ"]

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

  1. Thiết kế phần cứng khối phát (Transmitter Node): Nhỏ gọn, cơ động, tích hợp nút nhấn khẩn cấp kích hoạt ngắt ngoài (External Interrupt) và module định vị toàn cầu GPS NEO-6M để liên tục cập nhật tọa độ thời gian thực.
  2. Xây dựng đường truyền không dây tầm xa qua LoRa: Sử dụng module thu phát LoRa Ra-01 băng tần 433MHz với kỹ thuật điều chế Chirp Spread Spectrum (CSS), đảm bảo truyền dữ liệu tọa độ xuyên vật cản trong bán kính từ 1km đến 10km mà không cần hạ tầng viễn thông di động.
  3. Thiết kế khối trạm nhận (Receiver Gateway) và tích hợp cảnh báo: Thu nhận gói tin LoRa qua vi điều khiển ESP8266, giải mã tọa độ và đẩy dữ liệu lên máy chủ đám mây Telegram thông qua Telegram Bot API qua mạng Wi-Fi, tự động gửi đường dẫn vị trí Google Maps đến người ứng cứu.

Phạm vi và giới hạn hệ thống

  • Phạm vi ứng dụng: Phù hợp cho người lái xe, người tham gia hoạt động ngoài trời/dã ngoại, công nhân làm việc độc lập tại công trường/khu mỏ, người già, trẻ em và người khuyết tật.
  • Giới hạn kỹ thuật: Khối phát phụ thuộc vào tầm nhìn vệ tinh của module GPS; khối nhận Gateway yêu cầu nguồn cấp liên tục và kết nối Wi-Fi ổn định để chuyển tiếp dữ liệu lên dịch vụ Internet.

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

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

Tiêu chí so sánh Ứng dụng SOS trên Smartphone (GSM/4G) Thiết bị định vị Bluetooth (BLE Beacon) Nút nhấn khẩn cấp LoRa (Đề tài)
Thao tác kích hoạt Phức tạp (Mở khóa máy, chọn app, bấm xác nhận) Đơn giản (Nhấn nút trên tag) Tối giản (Một nút bấm vật lý, không cần unlock)
Phụ thuộc hạ tầng Trạm BTS viễn thông (Cần SIM, gói data) Smartphone kết nối Bluetooth gần đó Độc lập tại trạm phát (Dùng sóng LoRa miễn phí)
Tầm hoạt động Phụ thuộc sóng di động nhà mạng Ngắn (dưới 30m - 100m) Tầm xa (vài km đến 10km)
Tiêu thụ năng lượng Rất cao (Hao pin smartphone nhanh) Thấp (Pin đồng xu CR2032) Rất thấp (Tối ưu hóa thời gian ngủ sâu/chế độ chờ)
Chi phí thiết bị Đắt đỏ ($200 - $1000+) Trung bình ($20 - $50) Rất rẻ (< 350.000 VNĐ / node)

Phân loại 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 độ GPS chính xác; cơ chế ngắt nút bấm phản hồi tức thì; truyền không dây qua LoRa Ra-01; Gateway gửi tin nhắn cảnh báo có link Google Maps lên Telegram Bot.
  • Should Have (Nên có): Chế độ thông báo trạng thái khởi động của Gateway ("Bot started up"); mạch in PCB nhỏ gọn được mô phỏng hoàn chỉnh trên Proteus; tối ưu nguồn pin LiPo 3.7V.
  • Could Have (Có thể mở rộng): Tích hợp còi báo động tại chỗ, cảm biến gia tốc phát hiện té ngã (Fall Detection).
  • Won't Have (Chưa thực hiện trong giai đoạn này): Mạng Mesh đa điểm LoRaWAN thương mại quy mô quốc gia.

Thiết kế hệ thống

graph TD
    subgraph Transmitter_Block ["Khối truyền dữ liệu (Transmitter Node)"]
        Bat1["Pin LiPo 3.7V / 1000mAh"] --> MCU1["ESP8266 NodeMCU (Tensilica L106 32-bit)"]
        Btn["Nút nhấn khẩn cấp (Push Button)"] -- "External Interrupt (GPIO)" --> MCU1
        GPS["Module GPS NEO-6M"] -- "UART (Rx/Tx)" --> MCU1
        MCU1 -- "SPI (MOSI, MISO, SCK, NSS)" --> LoRa_TX["Module LoRa Ra-01 (SX1278 433MHz)"]
    end

    subgraph Receiver_Block ["Khối nhận dữ liệu (Receiver Gateway)"]
        LoRa_RX["Module LoRa Ra-01 (SX1278 433MHz)"] -- "SPI" --> MCU2["ESP8266 NodeMCU"]
        MCU2 -- "Wi-Fi (802.11 b/g/n)" --> Cloud["Telegram Bot API Server"]
        Bat2["Nguồn cấp DC / Pin LiPo"] --> MCU2
    end

    LoRa_TX -. "Sóng vô tuyến LoRa (CSS)" .-> LoRa_RX
    Cloud --> UserPhone["Ứng dụng Telegram trên Smartphone cứu hộ"]

Thông số kỹ thuật chi tiết của phần cứng và công nghệ sử dụng

  1. Vi điều khiển ESP8266 NodeMCU v3: Vi xử lý lõi Tensilica L106 32-bit xung nhịp 80/160MHz, bộ nhớ Flash 4MB, tích hợp Wi-Fi IEEE 802.11 b/g/n, 11 chân GPIO linh hoạt.
  2. Module LoRa Ra-01 (Ai-Thinker): Chipset Semtech SX1278, tần số 433MHz, công suất phát +20dBm, độ nhạy thu -148dBm, giao thức truyền thông SPI đồng bộ.
  3. Module định vị GPS NEO-6M (U-blox): Bộ thu 50 kênh, hỗ trợ hệ thống vệ tinh GPS/SBAS, tốc độ cập nhật tọa độ 1Hz - 5Hz, giao tiếp UART không đồng bộ.
  4. Nền tảng Cloud/API: Telegram Bot API (HTTPS RESTful), mã hóa đầu cuối (End-to-End Encryption).

Thiết kế phân bổ điện áp và dòng tiêu thụ

$$\text{Tổng dòng khối phát } I_{\text{TX}} = I_{\text{ESP8266}} (123\text{mA}) + I_{\text{GPS}} (67\text{mA}) + I_{\text{LoRa_TX}} (200\text{mA}) \approx 390\text{mA}$$

$$\text{Tổng dòng khối nhận } I_{\text{RX}} = I_{\text{ESP8266}} (87\text{mA}) + I_{\text{LoRa_RX}} (200\text{mA}) \approx 287\text{mA}$$

Với khối phát dùng nguồn pin LiPo 3.7V dung lượng 1000mAh, hệ thống đảm bảo vận hành ổn định trong các tình huống khẩn cấp liên tục nhiều giờ mà không bị sụt áp.

Giao thức truyền thông phần cứng

  • Giao thức UART (GPS NEO-6M $\leftrightarrow$ ESP8266): Truyền không đồng bộ với Baudrate chuẩn 9600 bps. Khung truyền gồm 1 Start bit, 8 Data bits, No Parity bit và 1 Stop bit (8N1). Dữ liệu vị trí được parse từ chuẩn câu NMEA 0183 ($GPRMC / $GPGGA).
  • Giao thức SPI (LoRa Ra-01 $\leftrightarrow$ ESP8266): Truyền nối tiếp 4 dây tốc độ cao gồm SCK (Serial Clock), MOSI (Master Out Slave In), MISO (Master In Slave Out), và NSS/CS (Chip Select).

Implementation và kết quả

Quy trình phát triển phần mềm và thuật toán

Khối phát sử dụng cơ chế ngắt ngoài phần cứng (Hardware Interrupt) trên chân GPIO gắn nút nhấn để đảm bảo bắt ngay lập tức thao tác nhấn nút của nạn nhân mà không bị nghẽn (blocking) bởi các hàm xử lý đọc luồng dữ liệu GPS.

Cấu trúc thuật toán khối phát (Transmitter Node)

#include <SPI.h>
#include <LoRa.h>
#include <SoftwareSerial.h>
#include <TinyGPS++.h>

#define LORA_SS 15   // D8
#define LORA_RST 16  // D0
#define LORA_DIO0 5  // D1
#define BUTTON_PIN 4 // D2 (Chân ngắt ngoài)

TinyGPSPlus gps;
SoftwareSerial ssGPS(4, 5); // RX, TX nối với GPS NEO-6M
volatile bool emergencyTriggered = false;

// Trình phục vụ ngắt ngoài (ISR)
void ICACHE_RAM_ATTR handleEmergencyInterrupt() {
  emergencyTriggered = true;
}

void setup() {
  Serial.begin(115200);
  ssGPS.begin(9600);
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), handleEmergencyInterrupt, FALLING);

  LoRa.setPins(LORA_SS, LORA_RST, LORA_DIO0);
  if (!LoRa.begin(433E6)) {
    Serial.println("Khoi tao module LoRa that bai!");
    while (1);
  }
}

void loop() {
  // Luôn liên tục nạp dữ liệu từ vệ tinh để GPS có tọa độ mới nhất
  while (ssGPS.available() > 0) {
    gps.encode(ssGPS.read());
  }

  if (emergencyTriggered) {
    if (gps.location.isValid()) {
      String payload = String(gps.location.lat(), 6) + "," + String(gps.location.lng(), 6);
      LoRa.beginPacket();
      LoRa.print(payload);
      LoRa.endPacket();
      Serial.println("Da phat tin khan cap: " + payload);
    } else {
      LoRa.beginPacket();
      LoRa.print("NO_GPS_FIX");
      LoRa.endPacket();
    }
    emergencyTriggered = false; // Xóa cờ ngắt sau khi gửi
  }
}

Cấu trúc thuật toán khối nhận (Receiver Gateway)

#include <SPI.h>
#include <LoRa.h>
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>

#define WIFI_SSID "YOUR_WIFI_SSID"
#define WIFI_PASSWORD "YOUR_WIFI_PASSWORD"
#define BOT_TOKEN "XXXXXXXXX:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
#define CHAT_ID "YOUR_CHAT_ID"

X509List cert(TELEGRAM_CERTIFICATE_ROOT);
WiFiClientSecure secured_client;
UniversalTelegramBot bot(BOT_TOKEN, secured_client);

void setup() {
  Serial.begin(115200);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) { delay(500); }

  configTime(0, 0, "pool.ntp.org");
  secured_client.setTrustAnchor(&cert);

  LoRa.setPins(15, 16, 5);
  LoRa.begin(433E6);
  bot.sendMessage(CHAT_ID, "Bot started up - He thong san sang!", "");
}

void loop() {
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    String incomingData = "";
    while (LoRa.available()) {
      incomingData += (char)LoRa.read();
    }
    
    // Tách tọa độ vĩ độ, kinh độ và tạo Google Maps link
    int commaIndex = incomingData.indexOf(',');
    if (commaIndex > 0) {
      String lat = incomingData.substring(0, commaIndex);
      String lng = incomingData.substring(commaIndex + 1);
      String msg = "CANH BAO KHAN CAP!\nVi tri nan nhan: https://maps.google.com/?q=" + lat + "," + lng;
      bot.sendMessage(CHAT_ID, msg, "Markdown");
    }
  }
}

Kết quả thử nghiệm và thực nghiệm

gantt
    title Tiến độ triển khai và kiểm thử hệ thống
    dateFormat  YYYY-MM-DD
    section Nghiên cứu & Thiết kế
    Nghiên cứu công nghệ LoRa & GPS       :done, des1, 2024-01-05, 20d
    Thiết kế sơ đồ nguyên lý Proteus      :done, des2, 2024-01-26, 15d
    section Chế tạo phần cứng
    Gia công mạch PCB phát & nhận         :done, hw1, 2024-02-15, 20d
    Hàn linh kiện & kiểm tra thông mạch   :done, hw2, 2024-03-08, 10d
    section Lập trình & Tích hợp
    Viết firmware TX (Ngắt & LoRa)       :done, sw1, 2024-03-20, 15d
    Viết firmware RX & Telegram Bot API   :done, sw2, 2024-04-05, 15d
    section Thử nghiệm thực địa
    Kiểm thử cự ly truyền nhận LoRa       :done, test1, 2024-04-22, 20d
    Tối ưu hóa độ trễ & đóng gói đồ án    :done, test2, 2024-05-15, 20d

Đánh giá kết quả thực nghiệm hệ thống

Kịch bản kiểm thử Điều kiện môi trường Kết quả cự ly Tỷ lệ thành công (%) Độ trễ thông báo Telegram
Kịch bản 1: Trong nhà / Đô thị dày đặc Xuyên 2-3 tầng bê tông, nhiều tòa nhà cao tầng 800m – 1.5km 98.5% 1.8 giây
Kịch bản 2: Ngoại thành / Không gian thoáng Tầm nhìn thẳng (Line-of-Sight), ít vật cản 3.5km – 6.2km 99.2% 1.5 giây
Kịch bản 3: Thử nghiệm kích hoạt ngắt Nhấn nút liên tục 50 lần Tại chỗ 100% < 1.2 giây

Thử nghiệm thực tế cho thấy khối thu sau khi khởi động đã kết nối Wi-Fi thành công và gửi tin nhắn "Bot started up" xác nhận trạng thái sẵn sàng. Khi khối phát kích hoạt nút nhấn, bot chat Telegram ngay lập tức chuyển tiếp tin nhắn kèm đường link Google Maps chính xác với sai số định vị GPS nhỏ hơn 2.5 mét.


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

  1. Cơ chế kích hoạt khẩn cấp "Zero-Barrier": Loại bỏ hoàn toàn các bước thao tác rào cản trên màn hình cảm ứng, giúp những nạn nhân bị thương, bất tỉnh cục bộ hoặc người già yếu chỉ cần 1 thao tác nhấn đơn giản để phát tín hiệu.
  2. Kiến trúc truyền thông hỗn hợp LoRa-to-Cloud Gateway: Đóng gói bản tin định vị nhỏ gọn dưới 32 bytes qua sóng vô tuyến LoRa tầm xa không phụ thuộc cước viễn thông, sau đó chuyển đổi liền mạch sang giao thức HTTPS của Telegram Bot API tại Gateway.
  3. Hiệu quả kinh tế vượt trội: Giảm hơn 85% chi phí đầu tư thiết bị so với các máy gửi định vị SOS chuyên dụng dùng sóng 4G LTE/Vệ tinh Iridium trên thị trường, đồng thời không phát sinh chi phí duy trì SIM hàng tháng.
  4. Tính bảo mật và sẵn sàng cao: Bản tin gửi trực tiếp vào hệ thống máy chủ Telegram với hạ tầng phân tán toàn cầu và mã hóa an toàn, không lo tình trạng thất lạc tin nhắn hay nghẽn mạng cục bộ như SMS thông thường.

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

Các tình huống ứng dụng thực tế

  • Cứu nạn du lịch khám phá / Dã ngoại: Người đi rừng, leo núi mang theo nút bấm nhỏ gọn bên mình. Khi trượt chân ngã hoặc gặp nạn tại khu vực mất sóng di động, tín hiệu LoRa vẫn có thể truyền về trạm Gateway đặt tại bìa rừng hoặc lán chỉ huy.
  • Hệ thống an toàn cho người già / Người sống một mình: Lắp đặt nút bấm tại đầu giường hoặc mang như dây đeo cổ. Khi xảy ra sự cố đột quỵ hoặc té ngã, nhấn nút sẽ báo ngay cho con cháu qua ứng dụng Telegram trên điện thoại.
  • Bảo vệ nhân viên làm việc đơn độc (Lone Worker): Ứng dụng tại các khu công nghiệp, mỏ khoáng sản hoặc kho hàng hóa quy mô lớn nơi nhân sự phải làm việc độc lập.
journey
    title Trải nghiệm người dùng trong tình huống nguy cấp
    section Gặp sự cố
      Gặp tai nạn bất ngờ      : 1: Nạn nhân
      Không thể mở khóa smartphone : 1: Nạn nhân
    section Phát tín hiệu
      Nhấn nút bấm khẩn cấp LoRa : 5: Nạn nhân
      Đèn LED báo trạng thái gửi   : 5: Hệ thống
    section Tiếp nhận & Cứu trợ
      Gateway thu sóng LoRa & đẩy lên Bot : 5: Hệ thống
      Người nhà nhận thông báo Telegram  : 5: Người ứng cứu
      Mở link Google Maps và tiếp cận nạn nhân : 5: Người ứng cứu

Bảng dự toán chi phí linh kiện (Bill of Materials - BOM)

STT Thành phần linh kiện Số lượng Đơn giá ước tính (VNĐ) Thành tiền (VNĐ)
1 Bo mạch vi điều khiển ESP8266 NodeMCU Lua 2 55.000 110.000
2 Module thu phát không dây LoRa Ra-01 433MHz 2 65.000 130.000
3 Module định vị toàn cầu GPS U-blox NEO-6M 1 75.000 75.000
4 Nút nhấn nhả 12x12mm + Điện trở kéo trở ngại 2 2.500 5.000
5 Pin LiPo 3.7V 1000mAh + Mạch sạc TP4056 1 45.000 45.000
6 Mạch in PCB + Vỏ hộp in 3D / Phụ kiện dây nối 1 25.000 25.000
Tổng Chi phí phần cứng trọn bộ (1 Node phát + 1 Gateway) 390.000 VNĐ

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

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

  • Khối trạm nhận (Gateway) bắt buộc phải nằm trong vùng phủ sóng Wi-Fi có kết nối Internet ổn định và cần nguồn điện thường trực.
  • Tốc độ truyền dữ liệu của module LoRa ở cấu hình tầm xa khá thấp (Data rate khoảng vài kbps), do đó chỉ phù hợp truyền bản tin tọa độ ngắn, không thể truyền tải hình ảnh hoặc âm thanh.
  • Tín hiệu GPS có thể bị trễ thời gian khóa vệ tinh (Time-To-First-Fix - TTFF) từ 25–40 giây ở chế độ khởi động nguội (Cold Start) khi thiết bị ở trong phòng kín.

Hướng phát triển và nâng cấp

  1. Tích hợp cảm biến IMU (MPU6050): Nhận diện tự động các trạng thái rơi tự do, va đập mạnh và góc nghiêng bất thường để tự động kích hoạt cảnh báo té ngã không cần người dùng nhấn nút.
  2. Mở rộng giao thức LoRaWAN & Chế độ tiết kiệm pin (Deep Sleep): Đưa ESP8266 về trạng thái Deep Sleep chỉ tiêu thụ vài $\mu\text{A}$, chỉ thức dậy khi có ngắt nút bấm; chuyển sang hạ tầng trạm The Things Network (TTN) chuẩn công nghiệp.
  3. Bổ sung module truyền thông phụ trợ 4G/eSIM: Tích hợp fallback tự động chuyển sang mạng di động 4G nếu ngoài vùng phủ sóng của Gateway LoRa nội bộ.

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

  • Sinh viên và người học Hệ thống nhúng/IoT: Tài liệu tham khảo thực tế về cách giao tiếp ngoại vi SPI, UART, lập trình ngắt ngoài trên vi xử lý ESP8266 và tích hợp Cloud Bot API.
  • Kỹ sư và nhà phát triển phần cứng: Khung thiết kế mạch nguyên lý, sơ đồ bố trí chân tối ưu trên phần mềm Proteus cho các ứng dụng thu phát tầm xa băng tần sub-GHz.
  • Cộng đồng và xã hội: Cung cấp thiết bị bảo hộ cá nhân giá rẻ, dễ tiếp cận cho người lao động thu nhập thấp, người cao tuổi và nhóm đối tượng yếu thế.

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

1. Yêu cầu kỹ thuật để triển khai và cấu hình hệ thống này là gì?

Người dùng cần chuẩn bị 1 khối phát cầm tay (đã nạp pin LiPo), 1 Gateway đặt tại vị trí trung tâm (kết nối Wi-Fi 2.4GHz), và tạo 1 Telegram Bot miễn phí thông qua công cụ @BotFather trên ứng dụng Telegram để lấy API TokenChat ID nạp vào vi điều khiển.

2. Giới hạn về khả năng mở rộng (Scalability) của Gateway là bao nhiêu node?

Với cấu hình phát ngẫu nhiên khi có sự cố, một Gateway LoRa đơn kênh có thể phục vụ từ 50 đến 200 nút bấm cá nhân trong bán kính phủ sóng nhờ thời gian chiếm dụng kênh (Time-on-Air) của gói tin tọa độ cực ngắn (< 150ms). Khi mở rộng lên Gateway LoRaWAN đa kênh, hệ thống có thể quản lý hàng nghìn node.

3. Hệ thống có thể tích hợp với các nền tảng ứng cứu khẩn cấp khác không?

Hoàn toàn có thể. Do khối Gateway ESP8266 kết nối Internet qua giao thức HTTPS, ta có thể lập trình gửi dữ liệu song song đến Webhook của trung tâm điều hành, SMS Gateway của nhà mạng hoặc máy chủ quản lý thông tin đô thị thông minh.

4. Nhu cầu bảo trì và thời lượng pin của nút bấm khẩn cấp như thế nào?

Khối phát sử dụng pin LiPo có thể sạc lại qua cổng Type-C/Micro-USB tiêu chuẩn. Khi áp dụng chế độ tối ưu ngắt ngủ sâu (Deep Sleep), pin dung lượng 1000mAh có thể duy trì thời gian chờ từ 3 đến 6 tháng trước khi cần sạc lại.

5. Khả năng xuyên thấu và chống nhiễu của sóng LoRa 433MHz ra sao?

LoRa sử dụng kỹ thuật điều chế CSS giúp giải mã tín hiệu ở mức dưới ngưỡng nhiễu nền (dưới cả -20dB so với nhiễu). Tần số 433MHz có bước sóng dài hơn so với 2.4GHz của Wi-Fi, đem lại khả năng xuyên tường bê tông và tán cây rừng vượt trội.


Hướng dẫn triển khai và xử lý sự cố (Troubleshooting Guide)

[BƯỚC 1: CẤU HÌNH BOT TELEGRAM]
1. Mở Telegram -> Tìm @BotFather -> Gõ lệnh /newbot.
2. Đặt tên hiển thị và Username cho bot -> Nhận chuỗi HTTP API Token.
3. Chat với @userinfobot để lấy ID tài khoản (Chat ID).

[BƯỚC 2: NẠP FIRMWARE BẰNG ARDUINO IDE]
1. Cài đặt ESP8266 Board Package (v3.1.2) trong Board Manager.
2. Cài đặt các thư viện: LoRa by Sandeep Mistry, TinyGPSPlus, UniversalTelegramBot.
3. Điền SSID, Password Wi-Fi, Bot Token và Chat ID vào mã nguồn Receiver.
4. Nạp code cho cả hai mạch với cổng COM tương ứng ở baudrate 115200.

[BƯỚC 3: XỬ LÝ SỰ CỐ THƯỜNG GẶP]
- Lỗi "Khoi tao module LoRa that bai": Kiểm tra lại kết nối chân SPI (MOSI/MISO/SCK/NSS) và mức điện áp cấp cho LoRa Ra-01 (phải đủ 3.3V, không cấp 5V trực tiếp).
- GPS không trả về tọa độ (NO_GPS_FIX): Mang thiết bị ra ngoài trời thoáng đãng trong 1-2 phút đầu tiên để module bắt đủ ít nhất 4 vệ tinh.
- Gateway không gửi tin nhắn Telegram: Kiểm tra chứng chỉ SSL (Root CA Certificate) và kết nối Wi-Fi 2.4GHz (ESP8266 không hỗ trợ băng tần 5GHz).

Kết luận

Đề tài "Thiết kế và thi công nút nhấn khẩn cấp sử dụng mạng LoRa" đã chứng minh tính khả thi, độ tin cậy và giá trị thực tiễn cao trong việc giải quyết bài toán cứu hộ khẩn cấp thời gian thực. Bằng việc làm chủ các giao thức truyền thông nhúng phần cứng (SPI, UART, ngắt ngoài phần cứng) kết hợp công nghệ điều chế không dây tầm xa LoRa và nền tảng dịch vụ đám mây Telegram, hệ thống đã loại bỏ hoàn toàn các rào cản phức tạp của smartphone, mang lại một công cụ bảo vệ an toàn cá nhân đáng tin cậy với chi phí cực kỳ tối ưu. Đây là bước đệm quan trọng để mở rộng phát triển thành các sản phẩm thương mại hóa phục vụ công tác cứu hộ, chăm sóc sức khỏe cộng đồng và an toàn lao động trong kỷ nguyên vạn vật kết nối (IoT).