Preventing Unauthorized Meters: This system uses smart contracts to manage and verify authorized IoT devices reporting data to the blockchain. Only regulators can register these devices, ensuring data integrity and security.
Detecting IoT Meter Tampering and Data Fraud: We use Exponentially Weighted Moving Averages (EWMA) to predict water volume at future timestamps. Deviations beyond a set threshold trigger alerts, enabling quick response to potential tampering or data fraud.
Smart Contracts Between Regulators & Organizations: Smart contracts enforce compliance with water quality standards set by regulators, ensuring transparent and accountable relationships between organizations and regulators.
Data Transparency with Blockchain: Water usage and quality data are stored on the blockchain, providing immutable records and full transparency.
Tampering Probability Indicator: Utilizes a TensorFlow model to assess the probability of tampering based on water usage patterns. This helps predict and detect fraudulent activities.
Visual Tampering Indicator: Displays a real-time visual indicator (color-coded) showing the validity of meter data—green for valid, red for tampered. This improves clarity for regulators and organizations.
Real-Time Monitoring Dashboard: Built with React.js and Web3.js, this dashboard provides live views of water usage data, tampering status, and alerts. Chart.js is used for data visualization.
Email and SMS Alert System: Integrates with Twilio and SendGrid to send SMS and email notifications when tampering or unusual water usage is detected. This ensures timely communication with authorities.
Smart Contract for Device Authorization: Manages the registration of IoT devices on the blockchain, controlled by regulators.
Tampering Detection: Applies EWMA to forecast water usage and identifies deviations. Alerts are generated for unusual patterns.
Smart Contracts for Water Quality Compliance: Enforces regulatory criteria on water processing, ensuring adherence to set standards.
Data Storage on Blockchain: Provides immutable and transparent storage for water usage data.
Tampering Alerts and Notifications: Automated alerts via SMS and email for detected tampering, supported by a tampering probability indicator.
![]
git clone <repository-url>
cd project-directory
npm install
.env
file in the root of the project and add the following:
TWILIO_ACCOUNT_SID=<Your-Twilio-Account-SID>
TWILIO_AUTH_TOKEN=<Your-Twilio-Auth-Token>
TWILIO_PHONE_NUMBER=<Your-Twilio-Phone-Number>
SENDGRID_API_KEY=<Your-SendGrid-API-Key>
ALERT_EMAIL_RECIPIENT=<Email-Recipient>
.env
file..env
file.npm run dev
Access the Application
Open your browser and navigate to http://localhost:8001
to view the real-time dashboard and manage tampering detection and alerts.
npm run generate-report
Tamper-Proof IoT Sensors: Ensuring IoT sensors are tamper-proof can be costly and varies with deployment scale.
Manual Verification: Despite automated detection, physical checks by regulatory officials may still be necessary, introducing potential delays.