Overview
LoRi is an innovative Emergency Communication System (ECS) that leverages LoRa (Long Range) technology to provide reliable, long-range communication during disaster scenarios when traditional communication infrastructure is unavailable. It enables critical communication when it’s needed most.
🎯 The Problem
During emergencies and natural disasters, traditional communication networks often fail due to infrastructure damage or network congestion. Existing solutions face several limitations:
- Cellular Networks: Often overloaded or damaged during disasters
- Wi-Fi/Bluetooth: Limited range (typically <100m)
- Satellite Phones: Expensive and not widely available
- Walkie-Talkies: Limited range and require direct line of sight
💡 Our Solution
LoRi provides an infrastructure-independent emergency communication system with:
- Long-range communication using LoRa technology (up to 15 km in rural areas)
- Multi-hop networking to extend coverage beyond direct line of sight
- Voice activation for hands-free emergency alerts
- Real-time location tracking of distress signals
- Web-based dashboard for monitoring and management
🛠️ System Architecture
Hardware Components
- LoRa Nodes: Arduino-based devices with LoRa modules
- Gateway: Central LoRa receiver connected to the internet
- Sensors: GPS for location tracking, microphone for voice activation
Software Stack
- Node.js Backend: Handles data processing and storage
- MongoDB Database: Stores emergency alerts and location data
- Web Interface: Real-time monitoring dashboard with interactive map
🚀 Key Features
- Long-range Communication: Up to 15 km in optimal conditions
- Low Power Consumption: Battery life of several years
- Secure Data Transmission: Encrypted communication
- Real-time Tracking: GPS-enabled location services
- Multi-hop Networking: Extends coverage through node-to-node communication
- Voice Activation: Hands-free emergency alerts
🏗️ Technical Implementation
Hardware Setup
- Microcontroller: ESP32 or Arduino MKR WAN 1300
- LoRa Module: RFM95/96 for long-range communication
- GPS Module: NEO-6M for location tracking
- Power Source: Rechargeable battery pack
Software Components
- Backend: Node.js with Express
- Database: MongoDB for data storage
- Frontend: Real-time dashboard with interactive map
- Firmware: Arduino-based for LoRa nodes
📱 Web Dashboard
The web interface provides:
- Real-time map view of active nodes
- Emergency alerts with location markers
- Node status monitoring
- Historical data and analytics
- Alert management system
🎯 Use Cases
Disaster Response
- Coordinate rescue operations when traditional networks are down
- Track first responders in the field
- Send emergency alerts to affected areas
Remote Areas
- Provide communication in areas with no cellular coverage
- Enable connectivity for remote communities
- Support for agricultural and environmental monitoring
Event Management
- Temporary communication networks for festivals
- Emergency coordination at large gatherings
- Staff communication in challenging environments
🚀 Getting Started
Prerequisites
- Node.js (v14 or later)
- MongoDB Atlas account (or local MongoDB instance)
- Arduino IDE (for hardware programming)
- LoRa modules (e.g., RFM95/96)
Installation
-
Clone the repository
1 2
git clone https://github.com/johntharian/lori.git cd lori/Node
-
Install dependencies
1
npm install
-
Configure environment Create a
.env
file with your MongoDB connection string:1 2
MONGODB_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/lori PORT=3000
-
Start the server
1
node index.js
-
Access the dashboard Open
http://localhost:3000
in your web browser
🎥 Demo
Check out our YouTube demo to see LoRi in action!
Last modified on 2020-02-09