Skip to content

This project showcases an IoT weather monitoring system leveraging AWS, ESP32, and JavaScript. It includes real-time data visualization, secure transmission, and performance optimization techniques. The solution combines cloud services, hardware integration, and web development to deliver a robust solution for weather monitoring applications

License

Notifications You must be signed in to change notification settings

saptajitbanerjee/AWS-IoT-Weather-Monitoring-System

Repository files navigation

AWS IoT Weather Monitoring System Documentation

Table of Contents

Introduction

This documentation presents an AWS IoT Weather Monitoring System, a project that combines IoT, Cloud Computing, and Web Development to create an integrated weather monitoring solution. The project utilizes the ESP32 S2 Feather microcontroller and the BME280 sensor to collect weather data, which is then sent to AWS IoT for processing and storage. The system provides real-time weather data visualization through a web application while ensuring user authentication and data security.

Project Overview

The AWS IoT Weather Monitoring System is designed to collect and visualize real-time weather data, providing users with valuable insights. It leverages the following key components:

  • ESP32 S2 Feather Microcontroller: Collects weather data using the BME280 sensor and securely transmits it to AWS IoT Core.

  • AWS IoT Core: Receives, processes, and stores weather data, ensuring secure and authenticated connections.

  • DynamoDB: Stores weather data along with user authentication data, guaranteeing data integrity and confidentiality.

  • Web Application: Offers real-time weather data visualization through interactive line charts and ensures secure user access through Passport.js authentication.

Watch the Project Video

Hardware and Software Used

Hardware:

  • ESP32 S2 Feather Microcontroller
  • USB Type C Cable

Software:

  • Arduino IDE
  • VS Code Editor
  • AWS Account

System Architecture

The system architecture consists of the ESP32 S2 microcontroller for data collection, AWS IoT Core for data processing and storage, and a web application for real-time data visualization and user interaction.

System Architecture

Full Stack Architecture

Project Implementation

ESP32 Implementation

The ESP32 S2 Feather was programmed using the Arduino IDE to collect temperature, humidity, pressure, and altitude data from the BME280 sensor.

  • MQTT protocol was utilized to establish a secure connection between the ESP32 and AWS IoT Core, where the ESP32 was registered as a single "Thing."

  • Certificates and policies were created to ensure secure and authenticated connections between the ESP32 and AWS IoT Core, guaranteeing data confidentiality and integrity.

Web Application Implementation

The web application was developed using JavaScript, jQuery, Express.js, Passport.js, HighCharts.js, HTML, and CSS.

  • Passport.js was used for user authentication, ensuring secure access to the system.

  • HighCharts.js facilitated real-time weather data visualization through interactive line charts.

Optimizations

To enhance system performance and efficiency:

  • The ESP32 was optimized to disconnect from WiFi immediately after data transmission, minimizing power consumption and networking resources.

  • JavaScript code in the web application was streamlined, memory utilization was improved, and WebSocket connections were optimized for minimal resource consumption.

Conclusion

The AWS IoT Weather Monitoring System demonstrates the potential of combining IoT, Cloud Computing, and Web Development to create a user-friendly and reliable weather monitoring solution. It offers seamless data collection, secure storage, real-time data visualization, and user authentication capabilities.

Resources

About

This project showcases an IoT weather monitoring system leveraging AWS, ESP32, and JavaScript. It includes real-time data visualization, secure transmission, and performance optimization techniques. The solution combines cloud services, hardware integration, and web development to deliver a robust solution for weather monitoring applications

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published