Skip to content

LakshmanRekha is a web-based geofencing and indoor-positioning system designed for monitoring patients using an IoT wristband called Jatayu

Notifications You must be signed in to change notification settings

Nandita10062001/Lakshman-Rekha-2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚧 LakshmanRekha – Indoor Positioning & Geofencing System

Built for Deep Blue Season 6 – National Hackathon • Semifinalist

LakshmanRekha is a web-based indoor-positioning and geofencing platform paired with an IoT wristband called Jatayu (ESP8266/ESP-12). The system estimates a patient’s real-time indoor location using Wi-Fi RSSI signals, visualizes them on hospital floor maps, and triggers alerts on geofence breaches.


🌍 Problem Context

During the COVID-19 pandemic, hospitals needed a low-cost way to track quarantined or at-risk patients indoors without relying on cameras or constant physical supervision.

LakshmanRekha addresses this by:

  • Tracking patients indoors using Wi-Fi RSSI trilateration
  • Allowing hospitals to map floors and define geofenced zones
  • Using a low-cost ESP8266 wristband
  • Triggering alerts when patients leave safe zones
  • Supporting multiple hospitals with isolated accounts

✨ Key Features

  • 🗺️ Upload floor maps and draw custom geofences
  • 📡 Indoor Positioning using Wi-Fi RSSI trilateration
  • 🚨 Alert system for boundary violations
  • 👥 Multi-tenant architecture for hospitals/organisations
  • 📊 Live tracking dashboard
  • 📱 Low-cost IoT wristband built on ESP8266
  • 🧭 Access-point mapping & coordinate calibration

🧱 System Architecture

🏥 1. LakshmanRekha (Django Web App)

Handles:

  • Map uploads & polygon drawing
  • RSSI ingestion endpoints
  • Trilateration & coordinate conversion
  • Alerting logic
  • User & organisation accounts

🎛 2. Jatayu (ESP8266 Wristband)

Handles:

  • Wi-Fi scanning
  • RSSI sampling
  • Posting data to backend
  • Storing patient/floor/org data in EEPROM
  • AP-mode configuration portal

🧰 Tech Stack

  • Backend: Django 3.2
  • Database: MySQL
  • Frontend: Django Templates + JS
  • IoT Hardware: ESP8266 (NodeMCU / ESP-12E)
  • Python Libraries: numpy, opencv-python, Shapely, Pillow, playsound, plyer

🔧 Installation

Clone the repo and run -

  • For windows:
pip install -r requirements.txt

⚙️ Hardware

Change the ip in Jatayu/user_validation on line 4 and Jatayu/wifi_functions on line 36 and line 58. Then connect NodeMCU to your pc and upload the code in the folder.
Then your NodeMCU will go into access point mode if it fails to connect to a wifi. When it does, open your browser and type http://192.168.4.1/ and hit enter.
Then enter the WiFi and Patient/User credentials and hit submit. This will save the data to the eeprom of the NodeMCU.

💻 Software

Download and install xampp. Start the xampp control panel and start Apache and MySQL. Then open your browser and typehttp://localhost/phpmyadmin/.
Then select new and create a new database named lakshmanrekha.

Once done, run the following commands to run the website -

cd LakshmanRekha/
python manage.py runserver

📈 How It Works


Location Setup:
location_setup.mp4

Website Working Demo:

281135981-3a1b22a8-33a6-4089-a9c8-6ff8a5a932e6.mp4

Working:

working.mp4

🎉 Acknowledgment

This project was created for Deep Blue Season 6, a national-level hackathon by Mastek. Our team proudly qualified for the semifinals, and this solution was built end-to-end during the event.

About

LakshmanRekha is a web-based geofencing and indoor-positioning system designed for monitoring patients using an IoT wristband called Jatayu

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published