Giter VIP home page Giter VIP logo

medibox's Introduction

Enhanced Medibox: ESP32-based Medication Management System

This repository contains the implementation of an enhanced Medibox system using ESP32, designed to assist users in managing their medication schedules effectively. The project is part of the EN2853: Embedded Systems and Applications course.

๐ŸŽฏ Objective

The objective of this project is to design, implement, and verify an enhanced Medibox system that monitors light intensity, adjusts a shaded sliding window, and provides a user interface for customization.

๐Ÿ”‘ Key Features

  • ๐Ÿ“ก ESP32-based implementation
  • ๐Ÿ’ก Light intensity monitoring using LDRs
  • ๐ŸชŸ Automated shaded sliding window control
  • ๐Ÿ“Š Real-time data visualization on Node-RED dashboard
  • ๐ŸŽ›๏ธ User-customizable settings for different medicines

๐Ÿ› ๏ธ Hardware and Software Requirements

Hardware:

  • ESP32 development board
  • 2x Light Dependent Resistors (LDRs)
  • Servo motor
  • OLED display
  • Push button
  • Temperature and humidity sensor

Software:

  • Arduino IDE
  • Node-RED
  • MQTT broker (test.mosquitto.org)

๐Ÿ“ Project Structure

  • Arduino/: Contains the ESP32 code for the Medibox system
  • Node-RED/: Contains the Node-RED flow as a JSON file
  • Documentation/: Contains project documentation and reports

๐ŸŽ›๏ธ Functionality

  1. Light Intensity Monitoring

    • Measure light intensity using two LDRs
    • Display highest light intensity on Node-RED dashboard
    • Indicate which LDR detects the highest intensity
  2. Shaded Sliding Window Control

    • Adjust servo motor angle based on light intensity
    • Implement dynamic light regulation algorithm
  3. User Interface

    • Node-RED dashboard for real-time data visualization
    • Customizable settings for minimum angle and controlling factor
    • Preset options for common medicines
  4. Basic Medibox Features

    • Time synchronization with NTP server
    • Alarm setting and management
    • Temperature and humidity monitoring

๐Ÿ“Š Dashboard Features

  • Gauge for real-time highest light intensity
  • Plot for visualizing past light intensity variations
  • Sliders for adjusting minimum angle and controlling factor
  • Dropdown menu for selecting preset medicine options

๐Ÿ”— System Architecture

The system uses MQTT for communication between the ESP32 and the Node-RED dashboard. The MQTT broker used is test.mosquitto.org.

๐Ÿ“‚ Implementation Steps

  1. Set up the ESP32 development environment
  2. Implement light intensity monitoring using LDRs
  3. Program servo motor control based on the provided equation
  4. Create Node-RED flow for dashboard and controls
  5. Implement MQTT communication between ESP32 and Node-RED
  6. Test and verify all functionalities

๐Ÿ“š References

  • EN2853: Embedded Systems and Applications course materials

  • ESP32 documentation

  • Node-RED documentation

  • MQTT protocol specification


This project enhances the basic Medibox system to provide advanced medication management features, including light sensitivity protection and customizable settings for different medicines.

medibox's People

Contributors

jayxtg avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.