Skip to content

cs99x/GasMonitorLoRaCloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GasMonitorLoRaCloud

The GasMonitorLoRaCloud project is a comprehensive IoT solution designed to monitor gas levels using LoRa communication, integrate with cloud platforms for data storage and visualization, and provide mobile app support for real-time monitoring.

Features

  • Gas Level Monitoring: Continuously measures gas concentrations using sensors (CH4, CO, LPG, H2).
  • LoRa Communication: Transmits data over long distances using LoRa technology.
  • Cloud Integration: Sends collected data to cloud platforms for storage and analysis.
  • Data Visualization: Offers real-time and historical data visualization through cloud dashboards.
  • iOS Mobile App: Allows users to scan, connect, and interact with Bluetooth-enabled devices, providing real-time sensor data in a user-friendly interface.

Components

1. Hardware

  • Gas Sensor: Detects specific gas concentrations.
  • LoRa Module: Manages long-range wireless communication.
  • Microcontroller: Interfaces with the sensor and LoRa module.
  • Power Supply: Powers the hardware components.

For detailed information on hardware setup, refer to the respective READMEs:

2. Cloud Platform

  • Data Storage: Collects and stores gas level data received from the LoRa gateway.
  • REST API: Provides endpoints for receiving sensor data and querying historical records.
  • API Documentation: Interactive Swagger/OpenAPI documentation for easy API testing and integration.
  • Visualization Tools: Provides dashboards for monitoring real-time and historical data.
  • Alert Mechanisms: Notifies users when gas levels exceed predefined thresholds.

For more details on the backend setup, see the Backend README.

API Endpoints

The backend provides a REST API with the following endpoints:

  • POST /receive-json: Submit sensor data from IoT devices
  • GET /get-last-entity: Retrieve the most recent sensor reading
  • GET /get-data-from-timestamp: Query historical sensor data from a specific timestamp

Interactive API Documentation: Access the Swagger UI at http://<host>:8000/apidocs/ to test the API directly from your browser.

3. iOS App

The iOS app enhances the project by providing real-time monitoring and interaction with gas sensors via Bluetooth and establishing a conectiontion to the cloud.

Key Features

  • Bluetooth Scanning: Discover nearby Bluetooth Low Energy (BLE) devices.
  • Device Connection: Connect to selected devices and subscribe to their data notifications.
  • Real-time Sensor Data: Display detailed information such as battery status, sensor readings, temperature, and alarm statuses.
  • JSON Parsing: Receive and parse JSON data from devices for structured display.

For detailed setup instructions and usage, refer to the Mobile README.

Future Enhancements

  • Support for additional gas sensors.
  • Improved mobile app UI/UX.
  • Development of an Android app.
  • Advanced cloud-based analytics and reporting.
  • Integration with machine learning models for predictive analysis.

License

This project is open-source and licensed under the MIT License. See the LICENSE file for details.

About

This project is a mobile and embedded application for a university course called "Mobile and Embedded Development". It involves building a handheld gasmeter with a cloud connection, using a lora transmission, lora bluetooth gateway, iOS app, and cloud backend with website.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors