Giter Site home page Giter Site logo

thanatoslayer6 / petfeederapp Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 1.7 MB

Capstone Project for controlling an IoT Pet Feeder device through a mobile application

Kotlin 0.05% Swift 0.86% Objective-C 0.02% Dart 81.54% CMake 7.49% C++ 8.74% C 0.57% HTML 0.73%

petfeederapp's Introduction

petfeederapp

Capstone Project - Smart Pet Feeder Application

Built using Flutter, MQTT and MongoDB

Tools:

Materials:

  • Wemos D1 R1 ESP8266 (View Code)
  • ESP32-Cam (HW-818) with OV2640 Camera (View Code)
  • SG90 Servo Motor
  • Small/Mini Breadboard
  • 5V Single-Channel Relay Module
  • UV-C Light Tube (around 3-6 inches)

Getting Started:

This application requires a MongoDB Cloud database account to set up, make sure you have an accessible server either locally or globally for its CRUD (Create, Read, Update, Delete) API. The source code for the application's CRUD API written in NodeJS can be seen here petfeederdb. Furthermore, this application requires two MQTT brokers, one that is publicly available (utilizes port 1883) and one that is private (utilizes port 8883).

Compiling/Building:

  1. After setting up the CRUD API, Make sure you have java-11-openjdk version installed and set on your system, after which clone this repository.

  2. Inside assets/ directory create a .env file and follow the format:

    CRUD_API="https://someapi.com/" # Database CRUD API here
    MQTT_SERVER0="private.mqttbroker.com" # This MQTT broker must be private (uses port 8883)
    MQTT_USER="username" # Username for authenticating in MQTT_SERVER0
    MQTT_PASS="password" # Password for authenticating in MQTT_SERVER0
    MQTT_SERVER1="public.mqttbroker.com" # Another MQTT Server must be public (uses port 1883)
  3. For testing purposes run the application in debug mode by executing flutter run -d <device_id> or simply flutter run.

  4. To build the application for production simply execute flutter build apk --release

Progress/Features

  • Themes (Light, Dark, etc)
  • Manual Feeding (On button click)
  • Automatic Feeding (Based on schedule)
  • UV-Light (Enable/Disable)
  • Camera Stream
  • Audio (Playing music, speaking)
  • History Log (Feeding logs, UV-C Light logs)

petfeederapp's People

Contributors

thanatoslayer6 avatar

Stargazers

Gihyun 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.